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.
More information about the freebsd-net