$NetBSD: patch-af,v 1.2 2000/01/23 10:41:10 itojun Exp $ --- agent/mibgroup/mibII/interfaces.c.orig Fri Jan 21 05:33:12 2000 +++ agent/mibgroup/mibII/interfaces.c Fri Jan 21 05:46:58 2000 @@ -121,7 +121,7 @@ #if defined(freebsd3) # define USE_SYSCTL_IFLIST #else -# if defined(CTL_NET) && !defined(freebsd2) +# if defined(CTL_NET) && !defined(freebsd2) && !defined(netbsd1) # ifdef PF_ROUTE # ifdef NET_RT_IFLIST # define USE_SYSCTL_IFLIST @@ -1549,16 +1549,31 @@ cp = strchr(saveName, '\0'); string_append_int (cp, ifnet.if_unit); #endif - if (1 || strcmp(saveName,"lo0") != 0) { /* XXX */ + if (1) { /* XXX */ /* * Try to find an address for this interface */ auto_nlist(IFADDR_SYMBOL, (char *)&ia, sizeof(ia)); +#ifdef netbsd1 + ia=(struct in_ifaddr *)ifnet.if_addrlist.tqh_first; +#endif while (ia) { klookup((unsigned long)ia , (char *)&in_ifaddr, sizeof(in_ifaddr)); +#ifdef netbsd1 +#define CP(x) ((char *)(x)) +{ char *cp; struct sockaddr * sa; + cp = (CP(in_ifaddr.ia_ifa.ifa_addr) - CP(ia)) + + CP(&in_ifaddr); sa = (struct sockaddr *)cp; +if (sa->sa_family==AF_INET) +#endif if (in_ifaddr.ia_ifp == ifnetaddr) break; +} +#ifdef netbsd1 + ia=(struct in_ifaddr *)in_ifaddr.ia_ifa.ifa_list.tqe_next; +#else ia = in_ifaddr.ia_next; +#endif } #if !defined(netbsd1) && !defined(freebsd2) && !defined(openbsd2) && !defined(STRUCT_IFNET_HAS_IF_ADDRLIST)