diff --git a/sys/netinet/fil.c b/sys/netinet/fil.c index 9a2b01557b6c..4689e61baf4e 100644 --- a/sys/netinet/fil.c +++ b/sys/netinet/fil.c @@ -1,4 +1,4 @@ -/* $NetBSD: fil.c,v 1.47 2001/06/02 16:17:09 thorpej Exp $ */ +/* $NetBSD: fil.c,v 1.48 2001/11/04 20:55:25 matt Exp $ */ /* * Copyright (C) 1993-2000 by Darren Reed. @@ -9,7 +9,7 @@ */ #if !defined(lint) #if defined(__NetBSD__) -static const char rcsid[] = "$NetBSD: fil.c,v 1.47 2001/06/02 16:17:09 thorpej Exp $"; +static const char rcsid[] = "$NetBSD: fil.c,v 1.48 2001/11/04 20:55:25 matt Exp $"; #else static const char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-2000 Darren Reed"; static const char rcsid[] = "@(#)Id: fil.c,v 2.35.2.30 2000/12/17 05:49:22 darrenr Exp"; @@ -1879,7 +1879,7 @@ struct in_addr *inp; ifa = TAILQ_FIRST(&ifp->if_addrhead); # else # if defined(__NetBSD__) || defined(__OpenBSD__) - ifa = ifp->if_addrlist.tqh_first; + ifa = TAILQ_FIRST(&ifp->if_addrlist); # else # if defined(__sgi) && defined(IFF_DRVRLOCK) /* IRIX 6 */ ifa = &((struct in_ifaddr *)ifp->in_ifaddr)->ia_ifa; @@ -1958,9 +1958,9 @@ void frsync() # if defined(__OpenBSD__) || ((NetBSD >= 199511) && (NetBSD < 1991011)) || \ (defined(__FreeBSD_version) && (__FreeBSD_version >= 300000)) # if (NetBSD >= 199905) || defined(__OpenBSD__) - for (ifp = ifnet.tqh_first; ifp; ifp = ifp->if_list.tqe_next) + for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_list)) # else - for (ifp = ifnet.tqh_first; ifp; ifp = ifp->if_link.tqe_next) + for (ifp = TAILQ_FIRST(&ifnet); ifp; ifp = TAILQ_NEXT(ifp, if_link)) # endif # else for (ifp = ifnet; ifp; ifp = ifp->if_next) diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 6389cc5282e3..a2a42162a6ed 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -1,4 +1,4 @@ -/* $NetBSD: in.c,v 1.69 2001/09/16 08:49:50 martin Exp $ */ +/* $NetBSD: in.c,v 1.70 2001/11/04 20:55:25 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -167,11 +167,11 @@ in_localaddr(in) struct in_ifaddr *ia; if (subnetsarelocal) { - for (ia = in_ifaddr.tqh_first; ia != 0; ia = ia->ia_list.tqe_next) + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) if ((in.s_addr & ia->ia_netmask) == ia->ia_net) return (1); } else { - for (ia = in_ifaddr.tqh_first; ia != 0; ia = ia->ia_list.tqe_next) + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) if ((in.s_addr & ia->ia_subnetmask) == ia->ia_subnet) return (1); } @@ -251,7 +251,7 @@ in_setmaxmtu() struct ifnet *ifp; unsigned long maxmtu = 0; - for (ia = in_ifaddr.tqh_first; ia != 0; ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { if ((ifp = ia->ia_ifp) == 0) continue; if ((ifp->if_flags & (IFF_UP|IFF_LOOPBACK)) != IFF_UP) @@ -345,8 +345,9 @@ in_control(so, cmd, data, ifp, p) case SIOCDIFADDR: case SIOCGIFALIAS: if (ifra->ifra_addr.sin_family == AF_INET) - for (ia = IN_IFADDR_HASH(ifra->ifra_addr.sin_addr.s_addr).lh_first; - ia != 0; ia = ia->ia_hash.le_next) { + LIST_FOREACH(ia, + &IN_IFADDR_HASH(ifra->ifra_addr.sin_addr.s_addr), + ia_hash) { if (ia->ia_ifp == ifp && in_hosteq(ia->ia_addr.sin_addr, ifra->ifra_addr.sin_addr)) @@ -705,7 +706,7 @@ in_lifaddr_ioctl(so, cmd, data, ifp, p) } } - for (ifa = ifp->if_addrlist.tqh_first; ifa; ifa = ifa->ifa_list.tqe_next) { + TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) { if (ifa->ifa_addr->sa_family != AF_INET6) continue; if (!cmp) @@ -902,7 +903,7 @@ in_addprefix(target, flags) mask = target->ia_sockmask.sin_addr; prefix.s_addr &= mask.s_addr; - for (ia = in_ifaddr.tqh_first; ia; ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { /* easy one first */ if (mask.s_addr != ia->ia_sockmask.sin_addr.s_addr) continue; @@ -955,7 +956,7 @@ in_scrubprefix(target) mask = target->ia_sockmask.sin_addr; prefix.s_addr &= mask.s_addr; - for (ia = in_ifaddr.tqh_first; ia; ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { /* easy one first */ if (mask.s_addr != ia->ia_sockmask.sin_addr.s_addr) continue; @@ -1014,7 +1015,7 @@ in_broadcast(in, ifp) * with a broadcast address. */ #define ia (ifatoia(ifa)) - for (ifa = ifp->if_addrlist.tqh_first; ifa; ifa = ifa->ifa_list.tqe_next) + TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) if (ifa->ifa_addr->sa_family == AF_INET && (in_hosteq(in, ia->ia_broadaddr.sin_addr) || in_hosteq(in, ia->ia_netbroadcast) || @@ -1044,8 +1045,8 @@ in_savemkludge(oia) IFP_TO_IA(oia->ia_ifp, ia); if (ia) { /* there is another address */ - for (inm = oia->ia_multiaddrs.lh_first; inm; inm = next){ - next = inm->inm_list.le_next; + for (inm = LIST_FIRST(&oia->ia_multiaddrs); inm; inm = next){ + next = LIST_NEXT(inm, inm_list); IFAFREE(&inm->inm_ia->ia_ifa); IFAREF(&ia->ia_ifa); inm->inm_ia = ia; diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index 4a8977556652..8f27a8e6359c 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -1,4 +1,4 @@ -/* $NetBSD: in_gif.c,v 1.23 2001/08/16 17:45:26 itojun Exp $ */ +/* $NetBSD: in_gif.c,v 1.24 2001/11/04 20:55:26 matt Exp $ */ /* $KAME: in_gif.c,v 1.66 2001/07/29 04:46:09 itojun Exp $ */ /* @@ -328,8 +328,7 @@ gif_validate4(ip, sc, ifp) return 0; } /* reject packets with broadcast on source */ - for (ia4 = in_ifaddr.tqh_first; ia4; ia4 = ia4->ia_list.tqe_next) - { + TAILQ_FOREACH(ia4, &in_ifaddr, ia_list) { if ((ia4->ia_ifa.ifa_ifp->if_flags & IFF_BROADCAST) == 0) continue; if (ip->ip_src.s_addr == ia4->ia_broadaddr.sin_addr.s_addr) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index cd06b0ebdb6c..35e10a2246d6 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1,4 +1,4 @@ -/* $NetBSD: in_pcb.c,v 1.71 2001/08/06 10:25:00 itojun Exp $ */ +/* $NetBSD: in_pcb.c,v 1.72 2001/11/04 20:55:26 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -224,7 +224,7 @@ in_pcbbind(v, nam, p) int error; #endif - if (in_ifaddr.tqh_first == 0) + if (TAILQ_FIRST(&in_ifaddr) == 0) return (EADDRNOTAVAIL); if (inp->inp_lport || !in_nullhost(inp->inp_laddr)) return (EINVAL); @@ -359,7 +359,7 @@ in_pcbconnect(v, nam) return (EAFNOSUPPORT); if (sin->sin_port == 0) return (EADDRNOTAVAIL); - if (in_ifaddr.tqh_first != 0) { + if (TAILQ_FIRST(&in_ifaddr) != 0) { /* * If the destination address is INADDR_ANY, * use any local address (likely loopback). @@ -368,15 +368,18 @@ in_pcbconnect(v, nam) * which supports broadcast. (loopback does not) */ - if (in_nullhost(sin->sin_addr)) - sin->sin_addr = in_ifaddr.tqh_first->ia_addr.sin_addr; - else if (sin->sin_addr.s_addr == INADDR_BROADCAST) - for (ia = in_ifaddr.tqh_first; ia != NULL; - ia = ia->ia_list.tqe_next) - if (ia->ia_ifp->if_flags & IFF_BROADCAST) { - sin->sin_addr = ia->ia_broadaddr.sin_addr; - break; + if (in_nullhost(sin->sin_addr)) { + sin->sin_addr = + TAILQ_FIRST(&in_ifaddr)->ia_addr.sin_addr; + } else if (sin->sin_addr.s_addr == INADDR_BROADCAST) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { + if (ia->ia_ifp->if_flags & IFF_BROADCAST) { + sin->sin_addr = + ia->ia_broadaddr.sin_addr; + break; + } } + } } /* * If we haven't bound which network number to use as ours, @@ -434,8 +437,7 @@ in_pcbconnect(v, nam) sin->sin_port = fport; if (ia == 0) { /* Find 1st non-loopback AF_INET address */ - for (ia = in_ifaddr.tqh_first ; ia != NULL; - ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { if ((ia->ia_ifp->if_flags & IFF_LOOPBACK) == 0) break; @@ -605,8 +607,8 @@ in_pcbnotify(table, faddr, fport_arg, laddr, lport_arg, errno, notify) nmatch = 0; head = INPCBHASH_CONNECT(table, faddr, fport, laddr, lport); - for (inp = head->lh_first; inp != NULL; inp = ninp) { - ninp = inp->inp_hash.le_next; + for (inp = LIST_FIRST(head); inp != NULL; inp = ninp) { + ninp = LIST_NEXT(inp, inp_hash); if (in_hosteq(inp->inp_faddr, faddr) && inp->inp_fport == fport && inp->inp_lport == lport && @@ -630,10 +632,10 @@ in_pcbnotifyall(table, faddr, errno, notify) if (in_nullhost(faddr) || notify == 0) return; - for (inp = table->inpt_queue.cqh_first; - inp != (struct inpcb *)&table->inpt_queue; + for (inp = CIRCLEQ_FIRST(&table->inpt_queue); + inp != (void *)&table->inpt_queue; inp = ninp) { - ninp = inp->inp_queue.cqe_next; + ninp = CIRCLEQ_NEXT(inp, inp_queue); if (in_hosteq(inp->inp_faddr, faddr)) (*notify)(inp, errno); } @@ -648,10 +650,10 @@ in_pcbpurgeif0(table, ifp) struct ip_moptions *imo; int i, gap; - for (inp = table->inpt_queue.cqh_first; - inp != (struct inpcb *)&table->inpt_queue; + for (inp = CIRCLEQ_FIRST(&table->inpt_queue); + inp != (void *)&table->inpt_queue; inp = ninp) { - ninp = inp->inp_queue.cqe_next; + ninp = CIRCLEQ_NEXT(inp, inp_queue); imo = inp->inp_moptions; if (imo != NULL) { /* @@ -686,10 +688,10 @@ in_pcbpurgeif(table, ifp) { struct inpcb *inp, *ninp; - for (inp = table->inpt_queue.cqh_first; - inp != (struct inpcb *)&table->inpt_queue; + for (inp = CIRCLEQ_FIRST(&table->inpt_queue); + inp != (void *)&table->inpt_queue; inp = ninp) { - ninp = inp->inp_queue.cqe_next; + ninp = CIRCLEQ_NEXT(inp, inp_queue); if (inp->inp_route.ro_rt != NULL && inp->inp_route.ro_rt->rt_ifp == ifp) in_rtchange(inp, 0); @@ -761,9 +763,7 @@ in_pcblookup_port(table, laddr, lport_arg, lookup_wildcard) int matchwild = 3, wildcard; u_int16_t lport = lport_arg; - for (inp = table->inpt_queue.cqh_first; - inp != (struct inpcb *)&table->inpt_queue; - inp = inp->inp_queue.cqe_next) { + CIRCLEQ_FOREACH(inp, &table->inpt_queue, inp_queue) { if (inp->inp_lport != lport) continue; wildcard = 0; @@ -807,7 +807,7 @@ in_pcblookup_connect(table, faddr, fport_arg, laddr, lport_arg) u_int16_t fport = fport_arg, lport = lport_arg; head = INPCBHASH_CONNECT(table, faddr, fport, laddr, lport); - for (inp = head->lh_first; inp != NULL; inp = inp->inp_hash.le_next) { + LIST_FOREACH(inp, head, inp_hash) { if (in_hosteq(inp->inp_faddr, faddr) && inp->inp_fport == fport && inp->inp_lport == lport && @@ -825,7 +825,7 @@ in_pcblookup_connect(table, faddr, fport_arg, laddr, lport_arg) out: /* Move this PCB to the head of hash chain. */ - if (inp != head->lh_first) { + if (inp != LIST_FIRST(head)) { LIST_REMOVE(inp, inp_hash); LIST_INSERT_HEAD(head, inp, inp_hash); } @@ -843,13 +843,13 @@ in_pcblookup_bind(table, laddr, lport_arg) u_int16_t lport = lport_arg; head = INPCBHASH_BIND(table, laddr, lport); - for (inp = head->lh_first; inp != NULL; inp = inp->inp_hash.le_next) { + LIST_FOREACH(inp, head, inp_hash) { if (inp->inp_lport == lport && in_hosteq(inp->inp_laddr, laddr)) goto out; } head = INPCBHASH_BIND(table, zeroin_addr, lport); - for (inp = head->lh_first; inp != NULL; inp = inp->inp_hash.le_next) { + LIST_FOREACH(inp, head, inp_hash) { if (inp->inp_lport == lport && in_hosteq(inp->inp_laddr, zeroin_addr)) goto out; @@ -864,7 +864,7 @@ in_pcblookup_bind(table, laddr, lport_arg) out: /* Move this PCB to the head of hash chain. */ - if (inp != head->lh_first) { + if (inp != LIST_FIRST(head)) { LIST_REMOVE(inp, inp_hash); LIST_INSERT_HEAD(head, inp, inp_hash); } @@ -965,9 +965,7 @@ in_selectsrc(sin, ro, soopts, mopts, errorp) sin->sin_port = fport; if (ia == 0) { /* Find 1st non-loopback AF_INET address */ - for (ia = in_ifaddr.tqh_first; - ia != NULL; - ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { if (!(ia->ia_ifp->if_flags & IFF_LOOPBACK)) break; } diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h index baf74b0fd1f4..19ff5d25fa89 100644 --- a/sys/netinet/in_var.h +++ b/sys/netinet/in_var.h @@ -1,4 +1,4 @@ -/* $NetBSD: in_var.h,v 1.42 2001/11/04 13:42:27 matt Exp $ */ +/* $NetBSD: in_var.h,v 1.43 2001/11/04 20:55:27 matt Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -154,9 +154,7 @@ extern const int inetctlerrmap[]; /* struct in_addr addr; */ \ /* struct in_ifaddr *ia; */ \ { \ - for (ia = IN_IFADDR_HASH((addr).s_addr).lh_first; \ - ia != NULL; \ - ia = ia->ia_hash.le_next) { \ + LIST_FOREACH(ia, &IN_IFADDR_HASH((addr).s_addr), ia_hash) { \ if (in_hosteq(ia->ia_addr.sin_addr, (addr)) && \ (ia->ia_ifp->if_flags & IFF_UP) != 0) \ break; \ @@ -175,7 +173,7 @@ extern const int inetctlerrmap[]; struct in_addr addr; \ addr = ia->ia_addr.sin_addr; \ do { \ - ia = ia->ia_hash.le_next; \ + ia = LIST_NEXT(ia, ia_hash); \ } while ((ia != NULL) && !in_hosteq(ia->ia_addr.sin_addr, addr)); \ } @@ -203,10 +201,10 @@ extern const int inetctlerrmap[]; { \ struct ifaddr *ifa; \ \ - for (ifa = (ifp)->if_addrlist.tqh_first; \ - ifa != NULL && ifa->ifa_addr->sa_family != AF_INET; \ - ifa = ifa->ifa_list.tqe_next) \ - continue; \ + TAILQ_FOREACH(ifa, &(ifp)->if_addrlist, ifa_list) { \ + if (ifa->ifa_addr->sa_family == AF_INET) \ + break; \ + } \ (ia) = ifatoia(ifa); \ } #endif @@ -263,9 +261,9 @@ struct in_multistep { if (ia == NULL) \ (inm) = NULL; \ else \ - for ((inm) = ia->ia_multiaddrs.lh_first; \ + for ((inm) = LIST_FIRST(&ia->ia_multiaddrs); \ (inm) != NULL && !in_hosteq((inm)->inm_addr, (addr)); \ - (inm) = inm->inm_list.le_next) \ + (inm) = LIST_NEXT((inm), inm_list)) \ continue; \ } @@ -281,13 +279,13 @@ struct in_multistep { /* struct in_multi *inm; */ \ { \ if (((inm) = (step).i_inm) != NULL) \ - (step).i_inm = (inm)->inm_list.le_next; \ + (step).i_inm = LIST_NEXT((inm), inm_list); \ else \ while ((step).i_ia != NULL) { \ - (inm) = (step).i_ia->ia_multiaddrs.lh_first; \ - (step).i_ia = (step).i_ia->ia_list.tqe_next; \ + (inm) = LIST_FIRST(&(step).i_ia->ia_multiaddrs); \ + (step).i_ia = TAILQ_NEXT((step).i_ia, ia_list); \ if ((inm) != NULL) { \ - (step).i_inm = (inm)->inm_list.le_next; \ + (step).i_inm = LIST_NEXT((inm), inm_list); \ break; \ } \ } \ @@ -297,7 +295,7 @@ struct in_multistep { /* struct in_multistep step; */ \ /* struct in_multi *inm; */ \ { \ - (step).i_ia = in_ifaddr.tqh_first; \ + (step).i_ia = TAILQ_FIRST(&in_ifaddr); \ (step).i_inm = NULL; \ IN_NEXT_MULTI((step), (inm)); \ } diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 78a738c9ab6d..afed9911def4 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1,4 +1,4 @@ -/* $NetBSD: ip_icmp.c,v 1.64 2001/11/04 13:38:50 matt Exp $ */ +/* $NetBSD: ip_icmp.c,v 1.65 2001/11/04 20:55:27 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -668,8 +668,7 @@ icmp_reflect(m) /* look for packet sent to broadcast address */ if (ia == NULL && (m->m_pkthdr.rcvif->if_flags & IFF_BROADCAST)) { - for (ifa = m->m_pkthdr.rcvif->if_addrlist.tqh_first; - ifa != NULL; ifa = ifa->ifa_list.tqe_next) { + TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrlist, ifa_list) { if (ifa->ifa_addr->sa_family != AF_INET) continue; if (in_hosteq(t,ifatoia(ifa)->ia_broadaddr.sin_addr)) { @@ -722,8 +721,7 @@ icmp_reflect(m) interface. This can happen when routing is asymmetric, or when the incoming packet was encapsulated */ if (sin == (struct sockaddr_in *)0) { - for (ifa = m->m_pkthdr.rcvif->if_addrlist.tqh_first; - ifa != NULL; ifa = ifa->ifa_list.tqe_next) { + TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrlist, ifa_list) { if (ifa->ifa_addr->sa_family != AF_INET) continue; sin = &(ifatoia(ifa)->ia_addr); @@ -738,8 +736,7 @@ icmp_reflect(m) * interface. */ if (sin == (struct sockaddr_in *)0) - for (ia = in_ifaddr.tqh_first; ia != NULL; - ia = ia->ia_list.tqe_next) { + TAILQ_FOREACH(ia, &in_ifaddr, ia_list) { if (ia->ia_ifp->if_flags & IFF_LOOPBACK) continue; sin = &ia->ia_addr; diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 79febc814212..1009b1f0a8b2 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -1,4 +1,4 @@ -/* $NetBSD: ip_input.c,v 1.139 2001/11/04 13:42:27 matt Exp $ */ +/* $NetBSD: ip_input.c,v 1.140 2001/11/04 20:55:27 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -410,7 +410,7 @@ ip_input(struct mbuf *m) * If no IP addresses have been set yet but the interfaces * are receiving, can't do anything with incoming packets yet. */ - if (in_ifaddr.tqh_first == 0) + if (TAILQ_FIRST(&in_ifaddr) == 0) goto bad; ipstat.ips_total++; if (m->m_len < sizeof (struct ip) && @@ -573,9 +573,7 @@ ip_input(struct mbuf *m) * as not mine. */ downmatch = 0; - for (ia = IN_IFADDR_HASH(ip->ip_dst.s_addr).lh_first; - ia != NULL; - ia = ia->ia_hash.le_next) { + LIST_FOREACH(ia, &IN_IFADDR_HASH(ip->ip_dst.s_addr), ia_hash) { if (in_hosteq(ia->ia_addr.sin_addr, ip->ip_dst)) { if ((ia->ia_ifp->if_flags & IFF_UP) != 0) break; @@ -586,9 +584,9 @@ ip_input(struct mbuf *m) if (ia != NULL) goto ours; if (m->m_pkthdr.rcvif->if_flags & IFF_BROADCAST) { - for (ifa = m->m_pkthdr.rcvif->if_addrlist.tqh_first; - ifa != NULL; ifa = ifa->ifa_list.tqe_next) { - if (ifa->ifa_addr->sa_family != AF_INET) continue; + TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrlist, ifa_list) { + if (ifa->ifa_addr->sa_family != AF_INET) + continue; ia = ifatoia(ifa); if (in_hosteq(ip->ip_dst, ia->ia_broadaddr.sin_addr) || in_hosteq(ip->ip_dst, ia->ia_netbroadcast) || @@ -701,7 +699,7 @@ ours: * of this datagram. */ IPQ_LOCK(); - for (fp = ipq.lh_first; fp != NULL; fp = fp->ipq_q.le_next) + LIST_FOREACH(fp, &ipq, ipq_q) if (ip->ip_id == fp->ipq_id && in_hosteq(ip->ip_src, fp->ipq_src) && in_hosteq(ip->ip_dst, fp->ipq_dst) && @@ -857,8 +855,8 @@ ip_reass(ipqe, fp) /* * Find a segment which begins after this one does. */ - for (p = NULL, q = fp->ipq_fragq.lh_first; q != NULL; - p = q, q = q->ipqe_q.le_next) + for (p = NULL, q = LIST_FIRST(&fp->ipq_fragq); q != NULL; + p = q, q = LIST_NEXT(q, ipqe_q)) if (q->ipqe_ip->ip_off > ipqe->ipqe_ip->ip_off) break; @@ -893,7 +891,7 @@ ip_reass(ipqe, fp) m_adj(q->ipqe_m, i); break; } - nq = q->ipqe_q.le_next; + nq = LIST_NEXT(q, ipqe_q); m_freem(q->ipqe_m); LIST_REMOVE(q, ipqe_q); pool_put(&ipqent_pool, q); @@ -910,8 +908,8 @@ insert: LIST_INSERT_AFTER(p, ipqe, ipqe_q); } next = 0; - for (p = NULL, q = fp->ipq_fragq.lh_first; q != NULL; - p = q, q = q->ipqe_q.le_next) { + for (p = NULL, q = LIST_FIRST(&fp->ipq_fragq); q != NULL; + p = q, q = LIST_NEXT(q, ipqe_q)) { if (q->ipqe_ip->ip_off != next) return (0); next += q->ipqe_ip->ip_len; @@ -923,7 +921,7 @@ insert: * Reassembly is complete. Check for a bogus message size and * concatenate fragments. */ - q = fp->ipq_fragq.lh_first; + q = LIST_FIRST(&fp->ipq_fragq); ip = q->ipqe_ip; if ((next + (ip->ip_hl << 2)) > IP_MAXPACKET) { ipstat.ips_toolong++; @@ -934,11 +932,11 @@ insert: t = m->m_next; m->m_next = 0; m_cat(m, t); - nq = q->ipqe_q.le_next; + nq = LIST_NEXT(q, ipqe_q); pool_put(&ipqent_pool, q); for (q = nq; q != NULL; q = nq) { t = q->ipqe_m; - nq = q->ipqe_q.le_next; + nq = LIST_NEXT(q, ipqe_q); pool_put(&ipqent_pool, q); m_cat(m, t); } @@ -985,8 +983,8 @@ ip_freef(fp) IPQ_LOCK_CHECK(); - for (q = fp->ipq_fragq.lh_first; q != NULL; q = p) { - p = q->ipqe_q.le_next; + for (q = LIST_FIRST(&fp->ipq_fragq); q != NULL; q = p) { + p = LIST_NEXT(q, ipqe_q); m_freem(q->ipqe_m); LIST_REMOVE(q, ipqe_q); pool_put(&ipqent_pool, q); @@ -1008,8 +1006,8 @@ ip_slowtimo() int s = splsoftnet(); IPQ_LOCK(); - for (fp = ipq.lh_first; fp != NULL; fp = nfp) { - nfp = fp->ipq_q.le_next; + for (fp = LIST_FIRST(&ipq); fp != NULL; fp = nfp) { + nfp = LIST_NEXT(fp, ipq_q); if (--fp->ipq_ttl == 0) { ipstat.ips_fragtimeout++; ip_freef(fp); @@ -1023,8 +1021,8 @@ ip_slowtimo() if (ip_maxfragpackets < 0) ; else { - while (ip_nfragpackets > ip_maxfragpackets && ipq.lh_first) - ip_freef(ipq.lh_first); + while (ip_nfragpackets > ip_maxfragpackets && LIST_FIRST(&ipq)) + ip_freef(LIST_FIRST(&ipq)); } IPQ_UNLOCK(); #ifdef GATEWAY @@ -1047,9 +1045,9 @@ ip_drain() if (ipq_lock_try() == 0) return; - while (ipq.lh_first != NULL) { + while (LIST_FIRST(&ipq) != NULL) { ipstat.ips_fragdropped++; - ip_freef(ipq.lh_first); + ip_freef(LIST_FIRST(&ipq)); } IPQ_UNLOCK(); diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index fd04b99f2d2b..c6fa10a64913 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -1,4 +1,4 @@ -/* $NetBSD: ip_mroute.c,v 1.56 2001/07/22 13:34:11 wiz Exp $ */ +/* $NetBSD: ip_mroute.c,v 1.57 2001/11/04 20:55:28 matt Exp $ */ /* * IP multicast forwarding procedures @@ -201,8 +201,7 @@ static int pim_assert; struct mfc *_rt; \ (rt) = 0; \ ++mrtstat.mrts_mfc_lookups; \ - for (_rt = mfchashtbl[MFCHASH(o, g)].lh_first; \ - _rt; _rt = _rt->mfc_hash.le_next) { \ + LIST_FOREACH(_rt, &mfchashtbl[MFCHASH(o, g)], mfc_hash) { \ if (in_hosteq(_rt->mfc_origin, (o)) && \ in_hosteq(_rt->mfc_mcastgrp, (g)) && \ _rt->mfc_stall == 0) { \ @@ -472,8 +471,8 @@ ip_mrouter_done() for (i = 0; i < MFCTBLSIZ; i++) { struct mfc *rt, *nrt; - for (rt = mfchashtbl[i].lh_first; rt; rt = nrt) { - nrt = rt->mfc_hash.le_next; + for (rt = LIST_FIRST(&mfchashtbl[i]); rt; rt = nrt) { + nrt = LIST_NEXT(rt, mfc_hash); expire_mfc(rt); } @@ -810,7 +809,7 @@ add_mfc(m) */ nstl = 0; hash = MFCHASH(mfccp->mfcc_origin, mfccp->mfcc_mcastgrp); - for (rt = mfchashtbl[hash].lh_first; rt; rt = rt->mfc_hash.le_next) { + LIST_FOREACH(rt, &mfchashtbl[hash], mfc_hash) { if (in_hosteq(rt->mfc_origin, mfccp->mfcc_origin) && in_hosteq(rt->mfc_mcastgrp, mfccp->mfcc_mcastgrp) && rt->mfc_stall != 0) { @@ -1108,7 +1107,7 @@ ip_mforward(m, ifp) /* is there an upcall waiting for this packet? */ hash = MFCHASH(ip->ip_src, ip->ip_dst); - for (rt = mfchashtbl[hash].lh_first; rt; rt = rt->mfc_hash.le_next) { + LIST_FOREACH(rt, &mfchashtbl[hash], mfc_hash) { if (in_hosteq(ip->ip_src, rt->mfc_origin) && in_hosteq(ip->ip_dst, rt->mfc_mcastgrp) && rt->mfc_stall != 0) @@ -1225,8 +1224,8 @@ expire_upcalls(v) if (nexpire[i] == 0) continue; - for (rt = mfchashtbl[i].lh_first; rt; rt = nrt) { - nrt = rt->mfc_hash.le_next; + for (rt = LIST_FIRST(&mfchashtbl[i]); rt; rt = nrt) { + nrt = LIST_NEXT(rt, mfc_hash); if (rt->mfc_expire == 0 || --rt->mfc_expire > 0) diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 08089e376589..8ed182a2570a 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -1,4 +1,4 @@ -/* $NetBSD: raw_ip.c,v 1.57 2001/07/25 23:28:02 itojun Exp $ */ +/* $NetBSD: raw_ip.c,v 1.58 2001/11/04 20:55:28 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -162,9 +162,7 @@ rip_input(m, va_alist) */ ip->ip_len -= ip->ip_hl << 2; - for (inp = rawcbtable.inpt_queue.cqh_first; - inp != (struct inpcb *)&rawcbtable.inpt_queue; - inp = inp->inp_queue.cqe_next) { + CIRCLEQ_FOREACH(inp, &rawcbtable.inpt_queue, inp_queue) { if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto) continue; if (!in_nullhost(inp->inp_laddr) && @@ -389,7 +387,7 @@ rip_bind(inp, nam) if (nam->m_len != sizeof(*addr)) return (EINVAL); - if (ifnet.tqh_first == 0) + if (TAILQ_FIRST(&ifnet) == 0) return (EADDRNOTAVAIL); if (addr->sin_family != AF_INET && addr->sin_family != AF_IMPLINK) @@ -410,7 +408,7 @@ rip_connect(inp, nam) if (nam->m_len != sizeof(*addr)) return (EINVAL); - if (ifnet.tqh_first == 0) + if (TAILQ_FIRST(&ifnet) == 0) return (EADDRNOTAVAIL); if (addr->sin_family != AF_INET && addr->sin_family != AF_IMPLINK) diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 2738e26df194..d12340c75e88 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -1,4 +1,4 @@ -/* $NetBSD: tcp_input.c,v 1.131 2001/09/17 17:27:00 thorpej Exp $ */ +/* $NetBSD: tcp_input.c,v 1.132 2001/11/04 20:55:28 matt Exp $ */ /* %%% portions-copyright-nrl-95 @@ -304,8 +304,8 @@ tcp_reass(tp, th, m, tlen) /* * Find a segment which begins after this one does. */ - for (p = NULL, q = tp->segq.lh_first; q != NULL; q = nq) { - nq = q->ipqe_q.le_next; + for (p = NULL, q = LIST_FIRST(&tp->segq); q != NULL; q = nq) { + nq = LIST_NEXT(q, ipqe_q); /* * If the received segment is just right after this * fragment, merge the two together and then check @@ -510,7 +510,7 @@ present: */ if (TCPS_HAVEESTABLISHED(tp->t_state) == 0) return (0); - q = tp->segq.lh_first; + q = LIST_FIRST(&tp->segq); if (q == NULL || q->ipqe_seq != tp->rcv_nxt) return (0); if (tp->t_state == TCPS_SYN_RECEIVED && q->ipqe_len) @@ -1348,7 +1348,7 @@ after_listen: return; } } else if (th->th_ack == tp->snd_una && - tp->segq.lh_first == NULL && + LIST_FIRST(&tp->segq) == NULL && tlen <= sbspace(&so->so_rcv)) { /* * this is a pure, in-sequence data packet @@ -2075,7 +2075,7 @@ dodata: /* XXX */ /* NOTE: this was TCP_REASS() macro, but used only once */ TCP_REASS_LOCK(tp); if (th->th_seq == tp->rcv_nxt && - tp->segq.lh_first == NULL && + LIST_FIRST(&tp->segq) == NULL && tp->t_state == TCPS_ESTABLISHED) { TCP_SETUP_ACK(tp, th); tp->rcv_nxt += tlen; diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 119e51024ffd..2cabf8e9e78d 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1,4 +1,4 @@ -/* $NetBSD: tcp_subr.c,v 1.120 2001/11/04 13:42:27 matt Exp $ */ +/* $NetBSD: tcp_subr.c,v 1.121 2001/11/04 20:55:29 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -1057,7 +1057,7 @@ tcp_freeq(tp) TCP_REASS_LOCK_CHECK(tp); - while ((qe = tp->segq.lh_first) != NULL) { + while ((qe = LIST_FIRST(&tp->segq)) != NULL) { #ifdef TCPREASS_DEBUG printf("tcp_freeq[%p,%d]: %u:%u(%u) 0x%02x\n", tp, i++, qe->ipqe_seq, qe->ipqe_seq + qe->ipqe_len, @@ -1084,10 +1084,9 @@ tcp_drain() /* * Free the sequence queue of all TCP connections. */ - inp = tcbtable.inpt_queue.cqh_first; + inp = CIRCLEQ_FIRST(&tcbtable.inpt_queue); if (inp) /* XXX */ - for (; inp != (struct inpcb *)&tcbtable.inpt_queue; - inp = inp->inp_queue.cqe_next) { + CIRCLEQ_FOREACH(inp, &tcbtable.inpt_queue, inp_queue) { if ((tp = intotcpcb(inp)) != NULL) { /* * We may be called from a device's interrupt diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 87f2ccbe1d85..66d2ddd2c546 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1,4 +1,4 @@ -/* $NetBSD: udp_usrreq.c,v 1.88 2001/11/02 02:37:50 itojun Exp $ */ +/* $NetBSD: udp_usrreq.c,v 1.89 2001/11/04 20:55:29 matt Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -635,9 +635,7 @@ udp4_realinput(src, dst, m, off) /* * Locate pcb(s) for datagram. */ - for (inp = udbtable.inpt_queue.cqh_first; - inp != (struct inpcb *)&udbtable.inpt_queue; - inp = inp->inp_queue.cqe_next) { + CIRCLEQ_FOREACH(inp, &udbtable.inpt_queue, inp_queue) { if (inp->inp_lport != *dport) continue; if (!in_nullhost(inp->inp_laddr)) { @@ -701,12 +699,9 @@ in6_mcmatch(in6p, ia6, ifp) if (im6o == NULL) return 0; - for (imm = im6o->im6o_memberships.lh_first; imm != NULL; - imm = imm->i6mm_chain.le_next) { - if ((ifp == NULL || - imm->i6mm_maddr->in6m_ifp == ifp) && - IN6_ARE_ADDR_EQUAL(&imm->i6mm_maddr->in6m_addr, - ia6)) + LIST_FOREACH(imm, &im6o->im6o_memberships, i6mm_chain) { + if ((ifp == NULL || imm->i6mm_maddr->in6m_ifp == ifp) && + IN6_ARE_ADDR_EQUAL(&imm->i6mm_maddr->in6m_addr, ia6)) return 1; } return 0;