summaryrefslogtreecommitdiffstats
path: root/src/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-06-16 10:26:25 +0000
committerRoy Marples <roy@marples.name>2020-06-16 10:26:25 +0000
commit51954c915aa6914486fc386cbe1e9aece02d368c (patch)
tree49e7966e38a339c45c5963bc2ff69b1be96f9720 /src/if-bsd.c
parent2b6cfac58e2dc2b7509095c0894ce892f64e8cc4 (diff)
downloaddhcpcd-51954c915aa6914486fc386cbe1e9aece02d368c.tar.xz
BSD: Allow non NetBSD and OpenBSD to set IN6_IFF_AUTOCONF
I don't think FreeBSD or DragonFly ever filtered it out, so all the BSD family should now have parity here.
Diffstat (limited to 'src/if-bsd.c')
-rw-r--r--src/if-bsd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/if-bsd.c b/src/if-bsd.c
index b1001715..090b587b 100644
--- a/src/if-bsd.c
+++ b/src/if-bsd.c
@@ -1002,7 +1002,10 @@ if_address6(unsigned char cmd, const struct ipv6_addr *ia)
if (ia->addr_flags & IN6_IFF_TENTATIVE)
ifa.ifra_flags |= IN6_IFF_TENTATIVE;
#endif
-#if !defined(IPV6CTL_ACCEPT_RTADV) && !defined(ND6_IFF_ACCEPT_RTADV)
+#if (defined(__NetBSD__) || defined(__OpenBSD__)) && \
+ (defined(IPV6CTL_ACCEPT_RTADV) || defined(ND6_IFF_ACCEPT_RTADV))
+ /* These kernels don't accept userland setting IN6_IFF_AUTOCONF */
+#else
if (ia->flags & IPV6_AF_AUTOCONF)
ifa.ifra_flags |= IN6_IFF_AUTOCONF;
#endif