Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Retry Sendto() for IPv6 NA for tentative IPv6 addresses and EADDRNOTA…
…VAIL When kernel initially adds an IPv6 address, it is still tentative and pending DuplicateAddressDetection. Trying to use the address results in EADDRNOTAVAIL error. Detect that error, and retry for up to 3 seconds to send the message. Unfortunately, DAD can easily take more than a second, so this change delays the completion of the CNI binary quite a bit. Also, as we announce IPv4 and IPv6 addresses, with this approach waiting for IPv6 will also delay IPv4 addresses. This problem might be solved by announcing the addresses in parallel. But given the long wait duration, maybe the better approach would be to enable opportunistic DAD on the interface.
- Loading branch information