summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2018-03-02 13:58:52 +0000
committerRoy Marples <roy@marples.name>2018-03-02 13:58:52 +0000
commit48da652a89b3eb9c1d5e11ff8ad8af2f8d1c40c0 (patch)
treebc4a5c2bcd785454949c5e3b8e7163b6aca01d83
parentf21a8d144e6bb91e6d24e5354be6e4f9c0e3f0d9 (diff)
downloaddhcpcd-48da652a89b3eb9c1d5e11ff8ad8af2f8d1c40c0.tar.xz
dhcp6: don't drop when still asking for delegation
-rw-r--r--src/dhcp6.c13
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