diff options
| author | Roy Marples <roy@marples.name> | 2016-11-29 19:44:32 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2016-11-29 19:44:32 +0000 |
| commit | a3a794d51f5084564a6f2027fb4c5fad3bb58c6e (patch) | |
| tree | c7d65964be07c1762341bcb8c9d47d9d4a60a84a /ipv6nd.c | |
| parent | 4a5dbbcb4380c8aa67a146b1c97b31515a0fd074 (diff) | |
| download | dhcpcd-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.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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) |
