Mercurial > hg > dhcpcd
changeset 4237:db600851438a draft
Fix compile on OpenBSD.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Mon, 19 Mar 2018 20:56:42 +0000 |
| parents | f6be46401658 |
| children | 4ee33042b66e |
| files | src/ipv6.c src/ipv6nd.c |
| diffstat | 2 files changed, 36 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ipv6.c Mon Mar 19 17:26:15 2018 +0000 +++ b/src/ipv6.c Mon Mar 19 20:56:42 2018 +0000 @@ -1973,40 +1973,6 @@ return ia; } -void -ipv6_markaddrsstale(struct interface *ifp, unsigned int flags) -{ - struct ipv6_state *state; - struct ipv6_addr *ia; - - state = IPV6_STATE(ifp); - if (state == NULL) - return; - - TAILQ_FOREACH(ia, &state->addrs, next) { - if (flags == 0 || ia->flags & flags) - ia->flags |= IPV6_AF_STALE; - } -} - -void -ipv6_deletestaleaddrs(struct interface *ifp) -{ - struct ipv6_state *state; - struct ipv6_addr *ia, *ia1; - - state = IPV6_STATE(ifp); - if (state == NULL) - return; - - TAILQ_FOREACH_SAFE(ia, &state->addrs, next, ia1) { - if (ia->flags & IPV6_AF_STALE) - ipv6_handleifa(ifp->ctx, RTM_DELADDR, - ifp->ctx->ifaces, ifp->name, - &ia->addr, ia->prefix_len, 0, 0); - } -} - struct ipv6_addr * ipv6_settemptime(struct ipv6_addr *ia, int flags) { @@ -2128,6 +2094,40 @@ } #endif /* IPV6_MANAGETEMPADDR */ +void +ipv6_markaddrsstale(struct interface *ifp, unsigned int flags) +{ + struct ipv6_state *state; + struct ipv6_addr *ia; + + state = IPV6_STATE(ifp); + if (state == NULL) + return; + + TAILQ_FOREACH(ia, &state->addrs, next) { + if (flags == 0 || ia->flags & flags) + ia->flags |= IPV6_AF_STALE; + } +} + +void +ipv6_deletestaleaddrs(struct interface *ifp) +{ + struct ipv6_state *state; + struct ipv6_addr *ia, *ia1; + + state = IPV6_STATE(ifp); + if (state == NULL) + return; + + TAILQ_FOREACH_SAFE(ia, &state->addrs, next, ia1) { + if (ia->flags & IPV6_AF_STALE) + ipv6_handleifa(ifp->ctx, RTM_DELADDR, + ifp->ctx->ifaces, ifp->name, + &ia->addr, ia->prefix_len, 0, 0); + } +} + static struct rt * inet6_makeroute(struct interface *ifp, const struct ra *rap)
--- a/src/ipv6nd.c Mon Mar 19 17:26:15 2018 +0000 +++ b/src/ipv6nd.c Mon Mar 19 20:56:42 2018 +0000 @@ -870,7 +870,9 @@ rap->expired = 0; rap->hasdns = 0; +#ifdef IPV6_AF_TEMPORARY ipv6_markaddrsstale(ifp, IPV6_AF_TEMPORARY); +#endif TAILQ_FOREACH(ap, &rap->addrs, next) { ap->flags |= IPV6_AF_STALE; }
