how do you bring IPv6 live without reboot?

ghozzy ghozzy at gmail.com
Fri Jun 22 08:45:25 UTC 2007


On 6/22/07, Mike Makonnen <mtm at freebsd.org> wrote:
> 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).

I've found a way:

# sysctl net.inet6.ip6.auto_linklocal=1
# ifconfig em0 down up
will assign link-local address to interface.

after all required interfaces have link-local addresses,
run /etc/rc.d/network_ipv6 start and all will be set ! :)

--
ghozzy


More information about the freebsd-net mailing list