"Bjoern A. Zeeb" <b...@freebsd.org> wrote in <201301170127.r0h1re6y038...@svn.freebsd.org>:
bz> Author: bz bz> Date: Thu Jan 17 01:27:39 2013 bz> New Revision: 245525 bz> URL: http://svnweb.freebsd.org/changeset/base/245525 bz> bz> Log: bz> Add a conditional sleep 1 in case we add any IPv6 addresses to interfaces. bz> Do this per jail started, not per address. This will allow DAD to complete bz> and services to properly start. Before we have seen problems with services bz> trying to start before the IPv6 address was available to use and thus bz> erroring and failing to start. bz> bz> MFC after: 3 days This may be too pedantic, but I think this delay should use DupAddrDetectTransmits (net.inet6.ip6.dad_count). The default value of RETRANS_TIMER and MAX_RTR_SOLICITATION_DELAY in RFC 4861 is 1 sec, so the theoretical delay value is (DupAddrDetectTransmits * RETRANS_TIMER + MAX_RTR_SOLICITATION_DELAY). The rc.d/netif script uses this value (typically 2 seconds) for DAD. I understand a simple 1 second delay works in practice, though. -- Hiroki
pgpbP_ietUiHs.pgp
Description: PGP signature