IPv6: rtsol must be run a second time after boot to pick up default route

Brian Conway bconway at alum.wpi.edu
Thu Feb 4 02:00:53 UTC 2010

On Wed, 3 Feb 2010, Brian Conway wrote:

> I recently set up an HE.net tunnel using the following guides:
> http://www.freebsd.org/doc/handbook/network-ipv6.html
> http://www.freebsddiary.org/ipv6.php
> FreeBSD 7.2-p5 is used for the router and the host, and it works beautifully, 
> except that the host will only pick up the IPv6 prefix on boot and set its IP 
> accordingly (local network functions), but will NOT set the default route 
> unless I wait up to 10 minutes for the advertisement, or manually run rtsol. 
> The same problem happens with OS X 10.6.2, but not with Win7 (and Linux 2.6 
> remains untested at this time). The host has no firewall running currently, 
> and there's no firewalling between the router and the host.  Running rtsol 
> with debugging doesn't show anything out of the ordinary, either during boot 
> or after.  Rtadvd is running on the router and my setup is identical to the 
> guides other than device name:
> $ cat /etc/rtadvd.conf
> vr1:\
>    :addrs#1:addr="2001:470:xxxx:yyyy::":prefixlen#64:tc=ether:
> Any suggestions?  I've tried a few variations of rtadvd.conf without any 
> changes in behavior.  I'm inclined to think it's router-related, given the 
> issue on multiple OSes, but I suppose it could go either way.  I'd much 
> prefer not to add in extra calls of rtsol in /etc/rc.local.  Thanks.
> Brian Conway

A few more (unusual) details as follow-up:

- The missing route doesn't happen on Win7 or Linux 2.6 (Debian 5.0/Lenny)
- The missing route still happens on both OS X 10.6.2 and FreeBSD 7.2-p5
- This ONLY happens after a warm reboot.  Neither FreeBSD nor OS X have 
the issue with a cold boot.  The boot-up's rtsol picks up the default 
route immediately.  Weird.

Brian Conway

More information about the freebsd-questions mailing list