Subject: kern/7298: sys/net/if_spppsubr.c enhancement
To: None <gnats-bugs@gnats.netbsd.org>
From: None <salvet@ics.muni.cz>
List: netbsd-bugs
Date: 04/01/1999 19:50:10
>Number: 7298
>Category: kern
>Synopsis: sys/net/if_spppsubr.c enhancement
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Thu Apr 1 10:05:00 1999
>Last-Modified:
>Originator: Zdenek Salvet
>Organization:
>Release: current of Apr 1,1999
>Environment:
>Description:
sppp_cisco_input() can't respond to Cisco address request
>How-To-Repeat:
>Fix:
--- current/if_spppsubr.c Thu Apr 1 19:30:07 1999
+++ if_spppsubr.c Thu Apr 1 19:31:45 1999
@@ -43,7 +43,7 @@
#endif
#if defined(__NetBSD__)
-#include <net/if_ether.h>
+#include <net/ethertypes.h>
#elif defined(__FreeBSD__)
#include <netinet/if_ether.h>
#endif
@@ -872,9 +865,7 @@
sppp_cisco_input (struct sppp *sp, struct mbuf *m)
{
struct cisco_packet *h;
-#if defined(__FreeBSD__)
struct ifaddr *ifa;
-#endif
struct ifnet *ifp = &sp->pp_if;
if (m->m_pkthdr.len < CISCO_PACKET_LEN) {
@@ -927,8 +918,8 @@
}
break;
case CISCO_ADDR_REQ:
-#if defined(__FreeBSD__) /* not yet... This is a quick port XXXMLG */
- for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next)
+ for (ifa=ifp->if_addrlist.tqh_first; ifa;
+ ifa=ifa->ifa_list.tqe_next)
if (ifa->ifa_addr->sa_family == AF_INET)
break;
if (! ifa) {
@@ -940,7 +931,6 @@
sppp_cisco_send (sp, CISCO_ADDR_REPLY,
ntohl (((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr),
ntohl (((struct sockaddr_in*)ifa->ifa_netmask)->sin_addr.s_addr));
-#endif /* FreeBSD above, NetBSD can't do this (yet) -- different structs */
break;
}
}
>Audit-Trail:
>Unformatted: