summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/nd6.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/nd6.c')
-rw-r--r--sys/netinet6/nd6.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index e5fa6ae2..8cfb135 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -626,8 +626,7 @@ nd6_timer(void *arg)
* rather separate address lifetimes and prefix lifetimes.
*/
addrloop:
- for (ia6 = V_in6_ifaddr; ia6; ia6 = nia6) {
- nia6 = ia6->ia_next;
+ TAILQ_FOREACH_SAFE(ia6, &V_in6_ifaddrhead, ia_link, nia6) {
/* check address lifetime */
lt6 = &ia6->ia6_lifetime;
if (IFA6_IS_INVALID(ia6)) {
@@ -1329,10 +1328,8 @@ nd6_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp)
continue; /* XXX */
/* do we really have to remove addresses as well? */
- for (ia = V_in6_ifaddr; ia; ia = ia_next) {
- /* ia might be removed. keep the next ptr. */
- ia_next = ia->ia_next;
-
+ TAILQ_FOREACH_SAFE(ia, &V_in6_ifaddrhead, ia_link,
+ ia_next) {
if ((ia->ia6_flags & IN6_IFF_AUTOCONF) == 0)
continue;
OpenPOWER on IntegriCloud