summaryrefslogtreecommitdiffstats
path: root/ipv6nd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2016-11-29 19:44:32 +0000
committerRoy Marples <roy@marples.name>2016-11-29 19:44:32 +0000
commita3a794d51f5084564a6f2027fb4c5fad3bb58c6e (patch)
treec7d65964be07c1762341bcb8c9d47d9d4a60a84a /ipv6nd.c
parent4a5dbbcb4380c8aa67a146b1c97b31515a0fd074 (diff)
downloaddhcpcd-a3a794d51f5084564a6f2027fb4c5fad3bb58c6e.tar.xz
Continue operation when failing to send packets.
My iwn(4) interface on FreeBSD11 and 12 struggles to associate. A side effect of this is running out of buffer until it does, but we need dhcpcd to continue once association is made and the buffers have emptied.
Diffstat (limited to 'ipv6nd.c')
-rw-r--r--ipv6nd.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ipv6nd.c b/ipv6nd.c
index aed0bcd0..06f79744 100644
--- a/ipv6nd.c
+++ b/ipv6nd.c
@@ -307,9 +307,10 @@ ipv6nd_sendrsprobe(void *arg)
if (sendmsg(ctx->nd_fd, &ctx->sndhdr, 0) == -1) {
logger(ifp->ctx, LOG_ERR,
"%s: %s: sendmsg: %m", ifp->name, __func__);
- ipv6nd_drop(ifp);
- ifp->options->options &= ~(DHCPCD_IPV6 | DHCPCD_IPV6RS);
- return;
+ /* Allow IPv6ND to continue .... at most a few errors
+ * would be logged.
+ * Generally the error is ENOBUFS when struggling to
+ * associate with an access point. */
}
if (state->rsprobes++ < MAX_RTR_SOLICITATIONS)