how do you bring IPv6 live without reboot?

Bruce M. Simpson bms at FreeBSD.org
Sun Jun 24 13:12:45 UTC 2007


George Michaelson wrote:
> its interesting that when I sent-pr'd this, I got tut-tutted back to
> freebsd questions. In my books, not being able to do this kind of V6
> maintenance work on the interface without taking it down probably
> deserves to be kept as an open bug!
>   

I agree. Please mail me the PR number and I'll reopen it. However, I 
can't make any commitment about when I personally would get time to do 
this as I need to go off and work for a living.

It does however strike me as a sound design choice to make. The network 
stack design in Windows mandates that this is how it has to be -- TDI 
bindings must be explicitly made between the stack and the NDIS 
driver(s). Loopback is handled at TDI layer and does not appear until 
the PF_INET6 domain is attached to the system. Linux has gone part of 
the way down this road.

I beleive BSD should do so as well, for a plethora of reasons including 
this one, as well as disentangling protocol domain stuff from struct 
ifnet. As a result ifconfig would get shaken up a bit.

At the moment, the way the BSD stack works, neither IPv4 nor IPv6 are 
attached to struct ifnet until an address is explicitly configured, 
either by the user or by the kernel configuring a link-local address, so 
if you do need to purge protocol domain wide state, your current options 
are to remove the interface (which has been shown to cause problems, 
some of which I have been trying to fix) or reboot.

regards,
BMS


More information about the freebsd-net mailing list