diff options
author | wollman <wollman@FreeBSD.org> | 1996-12-13 21:29:07 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1996-12-13 21:29:07 +0000 |
commit | 3417f9411098d1cd19c5db539c0768e778b83a1c (patch) | |
tree | 782c07e423375f5e3235e7a677261301a91e59c6 /sys/netipx | |
parent | 4ad813db29ba756a35db6540961c86a4c1f5592b (diff) | |
download | FreeBSD-src-3417f9411098d1cd19c5db539c0768e778b83a1c.zip FreeBSD-src-3417f9411098d1cd19c5db539c0768e778b83a1c.tar.gz |
Convert the interface address and IP interface address structures
to TAILQs. Fix places which referenced these for no good reason
that I can see (the references remain, but were fixed to compile
again; they are still questionable).
Diffstat (limited to 'sys/netipx')
-rw-r--r-- | sys/netipx/ipx.c | 31 | ||||
-rw-r--r-- | sys/netipx/ipx_input.c | 6 | ||||
-rw-r--r-- | sys/netipx/ipx_ip.c | 7 | ||||
-rw-r--r-- | sys/netipx/ipx_usrreq.c | 5 |
4 files changed, 18 insertions, 31 deletions
diff --git a/sys/netipx/ipx.c b/sys/netipx/ipx.c index b33a7ac..764e597 100644 --- a/sys/netipx/ipx.c +++ b/sys/netipx/ipx.c @@ -33,7 +33,7 @@ * * @(#)ipx.c * - * $Id: ipx.c,v 1.3 1995/11/04 09:02:34 julian Exp $ + * $Id: ipx.c,v 1.4 1996/03/11 15:13:46 davidg Exp $ */ #include <sys/param.h> @@ -142,20 +142,14 @@ ipx_control(so, cmd, data, ifp) } else ipx_ifaddr = oia; ia = oia; - if ((ifa = ifp->if_addrlist)) { - for ( ; ifa->ifa_next; ifa = ifa->ifa_next) - ; - ifa->ifa_next = (struct ifaddr *) ia; - } else - ifp->if_addrlist = (struct ifaddr *) ia; + ifa = (struct ifaddr *)ia; + TAILQ_INSERT_TAIL(&ifp->if_addrhead, ifa, ifa_link); ia->ia_ifp = ifp; - ia->ia_ifa.ifa_addr = (struct sockaddr *)&ia->ia_addr; + ifa->ifa_addr = (struct sockaddr *)&ia->ia_addr; - ia->ia_ifa.ifa_netmask = - (struct sockaddr *)&ipx_netmask; + ifa->ifa_netmask = (struct sockaddr *)&ipx_netmask; - ia->ia_ifa.ifa_dstaddr = - (struct sockaddr *)&ia->ia_dstaddr; + ifa->ifa_dstaddr = (struct sockaddr *)&ia->ia_dstaddr; if (ifp->if_flags & IFF_BROADCAST) { ia->ia_broadaddr.sipx_family = AF_IPX; ia->ia_broadaddr.sipx_len = sizeof(ia->ia_addr); @@ -188,17 +182,8 @@ ipx_control(so, cmd, data, ifp) case SIOCDIFADDR: ipx_ifscrub(ifp, ia); - if ((ifa = ifp->if_addrlist) == (struct ifaddr *)ia) - ifp->if_addrlist = ifa->ifa_next; - else { - while (ifa->ifa_next && - (ifa->ifa_next != (struct ifaddr *)ia)) - ifa = ifa->ifa_next; - if (ifa->ifa_next) - ifa->ifa_next = ((struct ifaddr *)ia)->ifa_next; - else - printf("Couldn't unlink ipxifaddr from ifp\n"); - } + ifa = (struct ifaddr *)ia; + TAILQ_REMOVE(&ifp->if_addrhead, ifa, ifa_link); oia = ia; if (oia == (ia = ipx_ifaddr)) { ipx_ifaddr = ia->ia_next; diff --git a/sys/netipx/ipx_input.c b/sys/netipx/ipx_input.c index b49c79d..e1b5b8b 100644 --- a/sys/netipx/ipx_input.c +++ b/sys/netipx/ipx_input.c @@ -33,7 +33,7 @@ * * @(#)ipx_input.c * - * $Id: ipx_input.c,v 1.8 1996/03/11 15:13:48 davidg Exp $ + * $Id: ipx_input.c,v 1.9 1996/08/18 08:38:15 jhay Exp $ */ #include <sys/param.h> @@ -512,8 +512,8 @@ struct ifnet *ifp; ipx->ipx_sna.x_net = ipx_zeronet; ipx->ipx_sna.x_host = ipx_thishost; if (ifp && (ifp->if_flags & IFF_POINTOPOINT)) - for(ifa = ifp->if_addrlist; ifa; - ifa = ifa->ifa_next) { + for(ifa = ifp->if_addrhead.tqh_first; ifa; + ifa = ifa->ifa_link.tqe_next) { if (ifa->ifa_addr->sa_family==AF_IPX) { ipx->ipx_sna = IA_SIPX(ifa)->sipx_addr; break; diff --git a/sys/netipx/ipx_ip.c b/sys/netipx/ipx_ip.c index e336205..d12a8ef 100644 --- a/sys/netipx/ipx_ip.c +++ b/sys/netipx/ipx_ip.c @@ -33,7 +33,7 @@ * * @(#)ipx_ip.c * - * $Id: ipx_ip.c,v 1.8 1996/05/08 19:31:45 jhay Exp $ + * $Id: ipx_ip.c,v 1.9 1996/06/12 05:10:27 gpalmer Exp $ */ /* @@ -334,11 +334,12 @@ ipxip_route(so, m) register struct in_ifaddr *ia; struct ifnet *ifp = ro.ro_rt->rt_ifp; - for (ia = in_ifaddr; ia; ia = ia->ia_next) + for (ia = in_ifaddrhead.tqh_first; ia; + ia = ia->ia_link.tqe_next) if (ia->ia_ifp == ifp) break; if (ia == 0) - ia = in_ifaddr; + ia = in_ifaddrhead.tqh_first; if (ia == 0) { RTFREE(ro.ro_rt); return (EADDRNOTAVAIL); diff --git a/sys/netipx/ipx_usrreq.c b/sys/netipx/ipx_usrreq.c index 9746f47..0601e93 100644 --- a/sys/netipx/ipx_usrreq.c +++ b/sys/netipx/ipx_usrreq.c @@ -33,7 +33,7 @@ * * @(#)ipx_usrreq.c * - * $Id: ipx_usrreq.c,v 1.7 1996/05/08 19:31:48 jhay Exp $ + * $Id: ipx_usrreq.c,v 1.8 1996/11/24 08:25:48 jhay Exp $ */ #include <sys/param.h> @@ -100,7 +100,8 @@ ipx_input(m, ipxp) if (ipx_neteqnn(ipx->ipx_sna.x_net, ipx_zeronet) && ifp) { register struct ifaddr *ifa; - for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next) { + for (ifa = ifp->if_addrhead.tqh_first; ifa; + ifa = ifa->ifa_link.tqe_next) { if (ifa->ifa_addr->sa_family == AF_IPX) { ipx_ipx.sipx_addr.x_net = IA_SIPX(ifa)->sipx_addr.x_net; |