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

Attachment: pgpVhGC8J4F1T.pgp
Description: PGP signature

Reply via email to