Mercurial > hg > dhcpcd
changeset 4181:4224319f0887 draft
BSD: Strip scope from link-local addresses for KAME stacks
This fixes DHCPv6 and IPv6ND trying to send messages from
DETACHED or TENTATIVE addresses when carrier comes back.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Tue, 14 Nov 2017 12:16:26 +0000 |
| parents | 772a53ed65f2 |
| children | 4d1dbe479752 |
| files | src/if-bsd.c |
| diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if-bsd.c Mon Nov 06 21:51:34 2017 +0000 +++ b/src/if-bsd.c Tue Nov 14 12:16:26 2017 +0000 @@ -1164,6 +1164,12 @@ } #endif +#ifdef __KAME__ + if (IN6_IS_ADDR_LINKLOCAL(&addr6)) + /* Remove the scope from the address */ + addr6.s6_addr[2] = addr6.s6_addr[3] = '\0'; +#endif + ipv6_handleifa(ctx, ifam->ifam_type, NULL, ifp->name, &addr6, ipv6_prefixlen(&mask6), addrflags); break;
