conf/103428: devd(8): devd brings up network interfaces early and
sra at hactrn.net
Wed Sep 20 07:40:46 PDT 2006
>Synopsis: devd(8): devd brings up network interfaces early and wrong
>Arrival-Date: Wed Sep 20 14:40:31 GMT 2006
>Originator: Rob Austein
FreeBSD adrilankha.hactrn.net 6.1-STABLE FreeBSD 6.1-STABLE #2: Tue Sep 12 08:43:49 UTC 2006 sra at adrilankha.hactrn.net:/usr/obj/usr/src/sys/GENERIC i386
Initial problem was that a machine with static IP address and route
configuration was losing the 2002::/16 route associated with its stf0
interface. Upon investigation, machine was accepting router advertisements,
which it should not have been since all interfaces were staticly configured.
Following this trail eventually led to pccard_ether, which is not only
bringing up interfaces before the /etc/rc.d/network_ipv6 script has had a
chance to run but is also (incorrectly) enabling net.inet6.ip6.accept_rtadv.
pccard_ether checks for interfaces that are already up, so my guess is that
this mess is an accidental side effect of somebody having re-ordered the
scripts in /etc/rc.d so that devd now comes up earlier than it once did
(I have not checked CVS to confirm this theory). In any case, what it does
now is wrong. :)
Something like the following in /etc/rc.conf, on a network that sends IPv6
ifconfig_foo0="inet 192.0.2.2 netmask 255.255.255.0"
ipv6_ifconfig_foo0="2001:db8::2 prefixlen 64"
Workaround: disable devd. :)
Fix: reorder /etc/rc.d scripts or rewrite /etc/pccard_ether.
More information about the freebsd-bugs