diff options
| author | Roy Marples <roy@marples.name> | 2018-03-02 13:58:52 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2018-03-02 13:58:52 +0000 |
| commit | 48da652a89b3eb9c1d5e11ff8ad8af2f8d1c40c0 (patch) | |
| tree | bc4a5c2bcd785454949c5e3b8e7163b6aca01d83 | |
| parent | f21a8d144e6bb91e6d24e5354be6e4f9c0e3f0d9 (diff) | |
| download | dhcpcd-48da652a89b3eb9c1d5e11ff8ad8af2f8d1c40c0.tar.xz | |
dhcp6: don't drop when still asking for delegation
| -rw-r--r-- | src/dhcp6.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/dhcp6.c b/src/dhcp6.c index 905c7fbe..b05a90d2 100644 --- a/src/dhcp6.c +++ b/src/dhcp6.c @@ -3858,18 +3858,11 @@ dhcp6_free(struct interface *ifp) void dhcp6_dropnondelegates(struct interface *ifp) { -#ifndef SMALL - struct dhcp6_state *state; - struct ipv6_addr *ia; - if ((state = D6_STATE(ifp)) == NULL) - return; - TAILQ_FOREACH(ia, &state->addrs, next) { - if (ia->flags & (IPV6_AF_DELEGATED | IPV6_AF_DELEGATEDPFX)) - return; - } +#ifndef SMALL + if (dhcp6_hasprefixdelegation(ifp) == 0) #endif - dhcp6_drop(ifp, "EXPIRE6"); + dhcp6_drop(ifp, "EXPIRE6"); } void |
