summaryrefslogtreecommitdiffstats
path: root/src/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2018-11-30 03:38:06 +0000
committerRoy Marples <roy@marples.name>2018-11-30 03:38:06 +0000
commit9717abf627c67c404b73447034799789afcb0d9d (patch)
tree9f9ce39ec8d11f7546b995707d7afe832d8eb0e7 /src/if-bsd.c
parent642351e6355a614c1a362a9e739f05a680d17703 (diff)
downloaddhcpcd-9717abf627c67c404b73447034799789afcb0d9d.tar.xz
FreeBSD: Mark INET6 addresses as tentative when adding them
This is kind of odd really because the kernel should do this if we're sending DaD probes.
Diffstat (limited to 'src/if-bsd.c')
-rw-r--r--src/if-bsd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/if-bsd.c b/src/if-bsd.c
index 68914b87..bab674ab 100644
--- a/src/if-bsd.c
+++ b/src/if-bsd.c
@@ -797,6 +797,10 @@ if_address6(unsigned char cmd, const struct ipv6_addr *ia)
if (ia->autoconf)
ifa.ifra_flags |= IN6_IFF_AUTOCONF;
#endif
+#if defined(__FreeBSD__) || defined(__DragonFly__)
+ if (ia->addr_flags & IN6_IFF_TENTATIVE)
+ ifa.ifra_flags |= IN6_IFF_TENTATIVE;
+#endif
#ifdef IPV6_MANGETEMPADDR
if (ia->flags & IPV6_AF_TEMPORARY)
ifa.ifra_flags |= IN6_IFF_TEMPORARY;