# FreeBSD 9.0R, rtadvd, IPv6 default route



## dougmac (Mar 19, 2012)

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


----------



## dougmac (Mar 19, 2012)

*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


----------



## adam2104 (Mar 19, 2012)

addr and prefixlen work just fine on my FreeBSD 9.0 installation. My clients are getting a default route without issue.


----------



## chris1381 (Apr 22, 2012)

*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:


```
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:


```
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.


----------

