From: Roy Marples Date: Fri, 8 Sep 2017 19:19:02 +0000 (+0100) Subject: Fix prefix delegation. X-Git-Tag: v7.0.0-rc2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a8ed2d41f24fb799424e3a5ee99156d7d6f3498;p=thirdparty%2Fdhcpcd.git Fix prefix delegation. Reviewers: smlx Reviewed By: smlx Subscribers: smlx Differential Revision: https://dev.marples.name/D128 --- diff --git a/src/ipv6.c b/src/ipv6.c index c62ee610..da0f64db 100644 --- a/src/ipv6.c +++ b/src/ipv6.c @@ -1306,7 +1306,6 @@ ipv6_newlinklocal(struct interface *ifp) if (ia != NULL) { ia->prefix_pltime = ND6_INFINITE_LIFETIME; ia->prefix_vltime = ND6_INFINITE_LIFETIME; - ia->addr_flags = IN6_IFF_TENTATIVE; } return ia; } @@ -1497,7 +1496,9 @@ ipv6_newaddr(struct interface *ifp, struct in6_addr *addr, uint8_t prefix_len, } else if (ia->flags & IPV6_AF_RAPFX) { ia->prefix = *addr; return ia; - } else if (ia->flags & IPV6_AF_REQUEST && prefix_len != 128) { + } else if (ia->flags & (IPV6_AF_REQUEST | IPV6_AF_DELEGATEDPFX) && + prefix_len != 128) + { ia->prefix = *addr; cbp = inet_ntop(AF_INET6, &ia->prefix, buf, sizeof(buf)); goto paddr;