Failover problem with 4.2 on FreeBSD

sthaug at nethelp.no sthaug at nethelp.no
Thu Nov 25 20:29:58 UTC 2010


> I have a problem with a test installation of version 4.2, with failover
> active, on FreeBSD.
> I have tested it against FreeBSD 6.x and 8.x, with both chrooted daemon and
> without chroot,with the same results:

I believe this problem isn't specific to failover configurations. A
little investigation here with 4.1.2 and 4.2.0 both in standalone
configurations on a FreeBSD 7.2-STABLE system:

- 4.2.0 with -d runs okay. 4.2.0 without -d runs in an infinite kevent
loop. ktrace shows:

 40776 dhcpd    RET   kevent -1 errno 9 Bad file descriptor
 40776 dhcpd    CALL  kevent(0x3,0,0,0x2859e800,0x40,0)
 40776 dhcpd    GIO   fd 3 wrote 0 bytes
       ""
 40776 dhcpd    RET   kevent -1 errno 9 Bad file descriptor
 40776 dhcpd    CALL  kevent(0x3,0,0,0x2859e800,0x40,0)
 40776 dhcpd    GIO   fd 3 wrote 0 bytes
       ""

(ad nauseam)

and the process uses all the available CPU time.

- As far as I can see this is caused by the use of the new libisc.a
code. kevent is referenced in bind/bind-9.7.1/lib/isc/unix/socket.c,
which is part of the bind/lib/libisc.a library in the 4.2.0 code.

- 4.2.0, with or without the -d option, has two extra UDP sockets
open compared to 4.1.2. My guess (which hasn't been verified) is that
these are also due to the libisc.a use. Notice the two high numbered
ports here:

sthaug at lab1% sockstat | grep dhcp
root     dhcpd      40842 4  dgram  -> /var/run/logpriv
root     dhcpd      40842 8  udp4   *:67                  *:*
root     dhcpd      40842 20 udp4   *:35288               *:*
root     dhcpd      40842 21 udp6   *:50090               *:*

which are not present when running 4.1.2:

sthaug at lab1% sockstat | grep dhcp
root     dhcpd      40828 3  dgram  -> /var/run/logpriv
root     dhcpd      40828 7  udp4   *:67                  *:*

My conclusion is that 4.2.0 is unfortunately not usable on FreeBSD
until this bug is fixed.

Steinar Haug, Nethelp consulting, sthaug at nethelp.no



More information about the dhcp-users mailing list