Hiroki Sato <h...@freebsd.org> wrote in <20121027.165129.351491404794553651....@allbsd.org>:
hr> Brian Somers <br...@freebsd.org> wrote hr> in <20121027072048.gb77...@thong.lan.awfulhak.org>: hr> hr> br> On Sat, Oct 27, 2012 at 03:57:07PM +0900, Hiroki Sato wrote: hr> br> > Brian Somers <br...@freebsd.org> wrote hr> br> > in <20121026235044.ga77...@thong.lan.awfulhak.org>: hr> br> > hr> br> > br> When I reboot and don't use -accept_rtadv (and leave hr> br> > br> net.inet6.ip6.accept_rtadv set to zero), I repeatedly see this in hr> br> > br> /var/log/messages: hr> br> > br> hr> br> > br> Oct 26 16:31:26 gw rtadvd[2879]: non-zero lifetime RA on RA receiving interface sk0. Ignored. hr> br> > br> Oct 26 16:31:33 gw rtadvd[2879]: non-zero lifetime RA on RA receiving interface bridge0. Ignored. hr> br> > br> Oct 26 16:31:42 gw rtadvd[2879]: non-zero lifetime RA on RA receiving interface sk0. Ignored. hr> br> > br> Oct 26 16:31:49 gw rtadvd[2879]: non-zero lifetime RA on RA receiving interface bridge0. Ignored. hr> br> > br> hr> br> > br> This seems to be the problem. Because check_accept_rtadv() (in hr> br> > br> rtadvd) reports the interface as being able to accept RAs (it finds hr> br> > br> the ND6_IFF_ACCEPT_RTADV flag), it drops outgoing RAs and nothing hr> br> > br> happens. hr> br> > hr> br> > Can you send me your /etc/rc.conf and /etc/sysctl.conf? I guess you hr> br> > are still using ipv6_enable=YES on 9.X. hr> br> hr> br> Sure (attached). I'm not sure what is supposed to change in rc.conf hr> br> when upgrading from 8 to 9. There's nothing obvious that I can hr> br> see... maybe I'm looking in the wrong place? hr> br> hr> br> http://www.freebsd.org/releases/9.0R/relnotes.html hr> hr> Thank you. It is explained in section 3.2.4 in hr> hr> http://www.freebsd.org/releases/9.0R/relnotes-detailed.html#UPGRADE hr> hr> I think it will work as 8.X just after removing the ipv6_enable=YES hr> line in your rc.conf, but after investigating the network.subr hr> closely I found a bug in backward compatibility of ipv6_enable=YES on hr> 9.X... Can you try the attached patch? This should fix the issue hr> even if ipv6_enable=YES exists on a 9.X's rc.conf without a patch to hr> rc.d/rtadvd. Gr, sorry. The previous patch was wrong. The correct one is attached to this mail. -- Hiroki
Index: etc/network.subr =================================================================== --- etc/network.subr (revision 242114) +++ etc/network.subr (working copy) @@ -109,7 +109,9 @@ # backward compatibility: $ipv6_enable case $ipv6_enable in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) - _ipv6_opts="${_ipv6_opts} accept_rtadv" + if ! checkyesno ipv6_gateway_enable; then + _ipv6_opts="${_ipv6_opts} accept_rtadv" + fi ;; esac @@ -488,7 +490,11 @@ # backward compatibility: $ipv6_enable case $ipv6_enable in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) - return 0 + if checkyesno ipv6_gateway_enable; then + return 1 + else + return 0 + fi ;; esac
pgpVhGC8J4F1T.pgp
Description: PGP signature