2c615e1a64
After a change of devd.conf, devd(8) handles NIC attach/detach event by using /etc/pccard_ether with the interface name as the argument. This model does not work properly with IPv6 configuration because the implementation of IPv6 stateless auto-configuration in the FreeBSD rc.d scripts depends on whether there are any explicit configurations for interfaces or not. It works this way: if no manual configuration, it will perform auto-configuration, but otherwise no auto-configuration will be performed. So, this behavior can only be determined by all of the interfaces on a system, not a single one. For this reason, the network6_interface_setup() function called from the pccard_ether_start() does not work with a single interface name. And what is worse, this combination of devd.conf and pccard_ether_start() caused a bad side-effect that when ipv6_enable=YES, all of interfaces marked as DOWN would be UP unconditionally (and router solicitation was sent) just after devd(8) was invoked. This should be fixed in a more sophisticated way.