summaryrefslogtreecommitdiffstats
path: root/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2014-03-06 19:11:55 +0000
committerRoy Marples <roy@marples.name>2014-03-06 19:11:55 +0000
commit7529fdf1aff5119260cb7c787ff347787f8eeee4 (patch)
tree377e8da1b40ef6f5fac57356934073a909f42076 /if-bsd.c
parentea0bb1e29a41a67678b7f305d9f1259daeed4f5b (diff)
downloaddhcpcd-7529fdf1aff5119260cb7c787ff347787f8eeee4.tar.xz
Tentative does not mean RTM_DELADDR.
This fixes RTM address handling on FreeBSD and OpenBSD. Instead of listening for duplicate address messages for FreeBSD and OpenBSD simply poll for the address flag changing. This means less code to maintain and hopefully less error-prone. Remove dead code which send a DAD as this is, and should, be done entirely in the kernel.
Diffstat (limited to 'if-bsd.c')
-rw-r--r--if-bsd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/if-bsd.c b/if-bsd.c
index de25b28d..b027315b 100644
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -412,7 +412,7 @@ if_route6(const struct rt6 *rt, int action)
char *bp = rtm.buffer;
size_t l;
int s, retval;
- const struct ipv6_addr_l *lla;
+ const struct ipv6_addr *lla;
if ((s = socket(PF_ROUTE, SOCK_RAW, 0)) == -1)
return -1;
@@ -586,7 +586,7 @@ manage_link(struct dhcpcd_ctx *ctx)
#ifdef INET
struct rt rt;
#endif
-#if defined(INET6) && !defined(LISTEN_DAD)
+#ifdef INET6
struct in6_addr ia6;
struct sockaddr_in6 *sin6;
int ifa_flags;
@@ -705,7 +705,7 @@ manage_link(struct dhcpcd_ctx *ctx)
&rt.dest, &rt.net, &rt.gate);
break;
#endif
-#if defined(INET6) && !defined(LISTEN_DAD)
+#ifdef INET6
case AF_INET6:
sin6 = (struct sockaddr_in6*)(void *)
rti_info[RTAX_IFA];