summaryrefslogtreecommitdiffstats
path: root/ipv6nd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2014-10-12 19:58:46 +0000
committerRoy Marples <roy@marples.name>2014-10-12 19:58:46 +0000
commitf6794c786816e61547eddf02d791fcbf0a45a3d8 (patch)
tree6706f5249f7351d575e17726f93908fcad8da7a5 /ipv6nd.c
parentb594ce0ddf3eb6a930e856c4ec67a59e8991d3a4 (diff)
downloaddhcpcd-f6794c786816e61547eddf02d791fcbf0a45a3d8.tar.xz
Respect nodhcp6 earlier.
Diffstat (limited to 'ipv6nd.c')
-rw-r--r--ipv6nd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ipv6nd.c b/ipv6nd.c
index 0af3b6af..0786b639 100644
--- a/ipv6nd.c
+++ b/ipv6nd.c
@@ -1093,6 +1093,8 @@ ipv6nd_handlera(struct ipv6_ctx *ctx, struct interface *ifp,
eloop_timeout_delete(ifp->ctx->eloop, NULL, rap); /* reachable timer */
handle_flag:
+ if (!(ifp->options->options & DHCPCD_DHCP6))
+ goto nodhcp6;
if (rap->flags & ND_RA_FLAG_MANAGED) {
if (new_data && dhcp6_start(ifp, DH6S_INIT) == -1)
syslog(LOG_ERR, "dhcp6_start: %s: %m", ifp->name);
@@ -1103,6 +1105,7 @@ handle_flag:
if (new_data)
syslog(LOG_DEBUG, "%s: No DHCPv6 instruction in RA",
ifp->name);
+nodhcp6:
if (ifp->ctx->options & DHCPCD_TEST) {
eloop_exit(ifp->ctx->eloop, EXIT_SUCCESS);
return;