FreeBSD 9.0R, rtadvd, IPv6 default route

Folks,

Just upgraded home router/server from FreeBSD 6.4R to 9.0R. Now my IPv6 hosts are not getting a default route from it. They are getting their prefix from rtadvd but not a default route. My configuration looks good. I've made the changes needed by 9.0R to /etc/rc.conf and I've been over the man pages for rtadvd and rtadvd.conf in detail. Apparently I am missing something.

Can anyone point me at a clue?

Thanks...
Doug
 
solved

Folks,

It appears that the syntax in rtadvd.conf has changed a wee bit. One can no longer say "addr", for example, and must say "addr0". Same goes for "prefixlen". The man page does not reflect this.

Thanks...
Doug
 
Same problem here →

After upgrading to FreeBSD 9.0, I had problems with my IPv6 setup too. rtadvd was not advertising the default route anymore.

I found this message in /var/log/messages:

Code:
rtadvd[1809]: non-zero lifetime RA on RA receiving interface re0.  Ignored.

I found out that the ACCEPT_RTADV flag was set on all interfaces. This makes rtadvd think it is running on a host system and not on a router ("Basically, hosts MUST NOT send Router Advertisement messages at any time (RFC 4861, Section 6.2.3)." – from the man-page of rtadvd).

I have added this line in /etc/rc.conf to clear the ACCEPT_RTADV flag – replace "re0" with the appropriate interface name:

Code:
ifconfig_re0_ipv6="inet6 -accept_rtadv"

I would think that FreeBSD should clear this flag on its own on all interfaces listed in "rtadvd_interfaces" defined in /etc/rc.conf. But maybe I've missed some change in configuration in the step from FreeBSD 8.x to 9.0.
 
Back
Top