summaryrefslogtreecommitdiffstats
path: root/ipv6.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2016-06-30 10:39:28 +0000
committerRoy Marples <roy@marples.name>2016-06-30 10:39:28 +0000
commit4dbfde2bc0bf353e58793a027364a4fd7bbcc87b (patch)
tree1ceaf0f98c16cd0ecab44a9c25cf8e0c1287c4eb /ipv6.c
parent03d87540d27d04f076336b49dfdf2ad9adfb2400 (diff)
downloaddhcpcd-4dbfde2bc0bf353e58793a027364a4fd7bbcc87b.tar.xz
Don't add our own IPv6 LLADDR if the OS doesn't allow us turning the OS doing it off.
Diffstat (limited to 'ipv6.c')
-rw-r--r--ipv6.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ipv6.c b/ipv6.c
index 05c9c3b5..41c2eec3 100644
--- a/ipv6.c
+++ b/ipv6.c
@@ -106,8 +106,14 @@
#define CAN_ADD_LLADDR(ifp) \
(!((ifp)->options->options & DHCPCD_SLAACPRIVATE) || \
(ifp)->carrier != LINK_DOWN)
-#else
+#elif __NetBSD__
+/* Earlier versions of NetBSD don't add duplicate LLADDR's if the interface
+ * is brought up and one already exists. */
#define CAN_ADD_LLADDR(ifp) (1)
+#else
+/* We have no control over the OS adding the LLADDR, so just let it do it
+ * as we cannot force our own view on it. */
+#define CAN_ADD_LLADDR(ifp) (0)
#endif
#ifdef IPV6_MANAGETEMPADDR