diff options
| author | Roy Marples <roy@marples.name> | 2013-02-17 18:17:29 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2013-02-17 18:17:29 +0000 |
| commit | 83e82504e5fbcb4dad08714ecd77db58642af82e (patch) | |
| tree | 5d00cea1656e2361113b598222985df90a7df2e2 /ipv6rs.c | |
| parent | 3024ea4c154eb6cd48ee7dcf6a3986e7f1cd2009 (diff) | |
| download | dhcpcd-83e82504e5fbcb4dad08714ecd77db58642af82e.tar.xz | |
Work on FreeBSD9 where we fail on some interfaces
Diffstat (limited to 'ipv6rs.c')
| -rw-r--r-- | ipv6rs.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -257,8 +257,12 @@ ipv6rs_sendprobe(void *arg) memcpy(CMSG_DATA(cm), &hoplimit, sizeof(hoplimit)); syslog(LOG_INFO, "%s: sending IPv6 Router Solicitation", ifp->name); - if (sendmsg(sock, &sndhdr, 0) == -1) + if (sendmsg(sock, &sndhdr, 0) == -1) { syslog(LOG_ERR, "%s: sendmsg: %m", ifp->name); + ipv6rs_drop(ifp); + ifp->options->options &= ~DHCPCD_IPV6RS; + return; + } if (state->rsprobes++ < MAX_RTR_SOLICITATIONS) eloop_timeout_add_sec(RTR_SOLICITATION_INTERVAL, |
