how do you bring IPv6 live without reboot?

Mike Makonnen mtm at FreeBSD.Org
Fri Jun 22 08:02:12 UTC 2007

On Wed, Jun 20, 2007 at 09:48:06AM +1000, George Michaelson wrote:
> on a 6-STABLE host, I added:
> ipv6_enable="YES"              
> ipv6_network_interfaces="bge1"
> to rc.conf, and ran /etc/rc.d/network_ipv6
> this did not bring IPv6 live. rtsol reported problems with get_llflag()
> calls. However across reboot, the system came up with IPv6 fine.
> Can somebody explain why this won't work if run after the init sequence
> has run to completion? What is the sequence of commands that when run
> on an active FreeBSD system causes it to successfully bind to IPv6?

IPv6 configuration is still a work in progress. Currently, you can't
enable and auto-configure IPv6 *after* the initial boot. The reason for
this is that the IPv6 configuration subroutines require all IPv6 interfaces
to have a link-local address first. However, the rc.d/auto_linklocal script
is executed before all the networking stuff and if IPv6 is not enabled it sets
a sysctl(8) variable to prevent the IPv6 subsystem in the kernel from
assigning link-local addresses. If you don't want to reboot, then you
have to assign the link-local addresses yourself with ifconfig(8) and then
run rc.d/network_ipv6 (should work in theory, haven't tried it).

Mike Makonnen         | GPG-KEY:
mmakonnen @ | AC7B 5672 2D11 F4D0 EBF8  5279 5359 2B82 7CD4 1F55
mtm @ FreeBSD.Org     | FreeBSD -

More information about the freebsd-net mailing list