[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IPv6, tentative addresses, bind(), wheezy

On 11/03/2012 06:24 AM, martin f krafft wrote:
> Hey folks,
> wheezy will be the first Debian release to feature dependency-based
> booting (insserv). I just finished installing a very simple gateway
> (IPv4 and IPv6) for a customer, and unbound is failing to start
> during a regular boot.
> The reason is that by the time bind() is called, the IPv6 address
> (configured with /e/n/i inet6 static, which unbound should listen
> on) is not yet ready, but "tentative", so the bind() call fails.
> In squeeze, this wasn't usually a problem because enough happened
> before S20unbound got called.
> In wheezy, however, S03unbound gets called in parallel as soon as
> "$network $remote_fs $syslog" are provided, and
> /etc/rcS.d/S10networking turns on $network right after configuring
> the IPv6 address, ignoring that IPv6 assignment comes with the
> "tentative" period, during which duplicate address detection (DAD)
> is being performed.
> I can now disable DAD, or insert "sleep 10" at the top of
> /etc/init.d/unbound, but neither is an acceptable solution.
> IPv6 has been a release goal for years and we are about to release
> another Debian version that does not properly cater for IPv6.
> What can be done?

Are the hooks in /etc/network/if-{down,post-down,up,pre-up} only for
ipv4? If so, shouldn't it be extended to also support v6, and unbound
(patched to) use it? I can see that bind9 has:

"rndc reconfig >/dev/null 2>&1 || true"

in these folders. Wouldn't something similar work with unbound?



Reply to: