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: