Hi all,

I have a few APU's I'm using to experiment with some stuff.  I found all
of them unable to sync with NTP because they don't have IPv4
connectivity to the outside world.

Digging a bit deeper, it turns out that v6 is only configured after
ntpd is started.  This means the constraints cannot be reached (ntpd
logs "constraints configured but none available").  Even if v6 becomes
available (shortly after) ntpd is started, ntpd still refuses to try
to connect to the constraints over IPv6.

Simply restarting ntpd when an IPv6 address is configured makes
everything go again: the constraint servers can be reached, so those
are checked, and then the regular NTP servers also work fine.

Address configuration is dynamic:

--- cat /etc/hostname.em0 --------------------------------------------
inet autoconf
inet6 autoconf

I have confirmed the behaviour by removing all config from the
interface, stopping ntpd and then bringing up a v4 address (ifconfig
em0 inet autoconf), starting ntpd and bringing up a v6 address
(ifconfig em0 inet6 autoconf).  ntpd never connects to the constraint
servers, despite having a v6 address (and the constraint servers have
AAAA records, obviously).  Again, restarting ntpd when a v6 address is
configured gets things going: constraint servers are reached just
fine, and time is adjusted according to NTP.

Paul 'WEiRD' de Weerd


Reply via email to