retitle 507646 graceful binding to tentative addresses during dnsmasq startup severity 507646 wishlist thanks
also sprach Simon Kelley <[EMAIL PROTECTED]> [2008.12.10.1616 +0100]: > # brctl addbr br4 > # ip addr add 2001:41e0:ff38:fffd::5 dev br4 > > results in the address being marked as tentative. Of course, since without upping the iface, the kernel cannot do duplicate address detection. > # brctl addbr br4 > # ifconfig br4 up > # ip addr add 2001:41e0:ff38:fffd::5 dev br4 > > Doesn't. Yeah, this seems like a bug, if you add an address before upping, the tentative flag stays. I also tried this with a physical interface, so it's not just the bridge. With a sit tunnel, however, the tentative flag is never set, which is logical since DAD is likely not needed in a point-to-point context. I will file a separate bug about this and debbugs-cc this one. > EADDRNOTAVAIL depends only on tentative state. Bringing the > interface up after adding the address doesn't remove the > tentative state or allow dnsmasq to bind(). Okay, this helped me figure out the problem. I was running dnsmasq from an ifupdown up hook, and by the time it ran, the iface state was indeed still tentative, even though it got properly cleared a few seconds later. Inserting a sleep 5 before seems to fix this. I do wonder if it wouldn't be possible to properly fix this in dnsmasq itself? E.g. identify the tentative state, retry n times every second and only give up (and fail, instead of just silently starting without binding) only if it doesn't yield the desired result? Thanks a lot, Simon, for your patience and sharpness in spotting the bug! -- .''`. martin f. krafft <[EMAIL PROTECTED]> Related projects: : :' : proud Debian developer http://debiansystem.info `. `'` http://people.debian.org/~madduck http://vcs-pkg.org `- Debian - when you have better things to do than fixing systems "ah, but a man's reach should exceed his grasp, or what's a heaven for?" -- robert browning
digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)

