From 6817526d14cbd2812ff570e7a0b8b5905ab98b1b Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Tue, 6 Feb 2001 10:12:15 +0000 Subject: Convert if_multiaddrs from LIST to TAILQ so that it can be traversed backwards in the three drivers which want to do that. Reviewed by: mikeh --- sys/dev/sf/if_sf.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'sys/dev/sf') diff --git a/sys/dev/sf/if_sf.c b/sys/dev/sf/if_sf.c index fbaac994506b..2e1cacfee44c 100644 --- a/sys/dev/sf/if_sf.c +++ b/sys/dev/sf/if_sf.c @@ -448,14 +448,7 @@ static void sf_setmulti(sc) SF_SETBIT(sc, SF_RXFILT, SF_RXFILT_ALLMULTI); } else { i = 1; - /* First find the tail of the list. */ - LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { - if (LIST_NEXT(ifma, ifma_link) == NULL) - break; - } - /* Now traverse the list backwards. */ - for (; ifma != NULL && ifma != (void *)&ifp->if_multiaddrs; - ifma = (struct ifmultiaddr *)ifma->ifma_link.le_prev) { + TAILQ_FOREACH_REVERSE(ifma, &ifp->if_multiaddrs, ifmultihead, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; /* -- cgit v1.3