Date: Sat, 27 Feb 2021 12:34:56 -0800 From: Doug Hardie <bc979@lafn.org> To: net@FreeBSD.org Subject: Re: accept_rtadv Message-ID: <BC947075-4292-4C87-902B-DC98B60A548E@lafn.org>
next in thread | raw e-mail | index | archive | help
=EF=BB=BF > On Feb 27, 2021, at 11:06, Michael Gmelin <freebsd@grem.de> wrote: > =EF=BB=BF >=20 >=20 >> On 27. Feb 2021, at 19:40, Doug Hardie <bc979@lafn.org> wrote: >> =EF=BB=BF >>> On 27 February 2021, at 10:34, Michael Gmelin <freebsd@grem.de> wrote: >>>=20 >>>=20 >>>=20 >>>> On 27. Feb 2021, at 19:21, Doug Hardie <bc979@lafn.org> wrote: >>>>=20 >>>> =EF=BB=BF >>>>>> On 27 February 2021, at 04:37, Michael Gmelin <freebsd@grem.de> wrote= : >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>>> On 27. Feb 2021, at 08:21, Doug Hardie <bc979@lafn.org> wrote: >>>>>>=20 >>>>>> =EF=BB=BF=46rom the Handbook: >>>>>>=20 >>>>>> 32.9.2. Configuring IPv6 >>>>>> To configure a FreeBSD system as an IPv6 client, add these two lines t= o rc.conf: >>>>>>=20 >>>>>> ifconfig_rl0_ipv6=3D"inet6 accept_rtadv" >>>>>> rtsold_enable=3D"YES" >>>>>>=20 >>>>>> This does not work. I have in rc.conf: >>>>>>=20 >>>>>> ifconfig_bge0_ipv6=3D"inet6 accept_rtadv" >>>>>> ifconfig_ue0_ipv6=3D"inet6 accept_rtadv" >>>>>> ifconfig_ue1_ipv6=3D"inet6 accept_rtadv" >>>>>>=20 >>>>>> On all three interfaces, ifconfig shows: >>>>>> nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL> >>>>>>=20 >>>>>> ACCEPT_RTADV is not listed and sure enough router advertisements are i= gnored. I have to manually enter: >>>>>> ifconfig bge0 ipv6 accept_rtadv >>>>>> for each interface. Then ifconfig shows: >>>>>>=20 >>>>>> nd6 options=3D23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> >>>>>>=20 >>>>>> and the interface now accepts router advertisements. This is a bug, b= ut I don't kn >>>>>> ow if it's in the code or the handbook. >>>>>=20 >>>>> I just tried here on 12.2-p4 with em0 and it worked as expected. I do h= ave ipv4 configured on that interface too though. >>>>>=20 >>>>> Do you have anything else in your rc.conf (especially any other ifconf= ig lines)? >>>>>=20 >>>>> If not, could you try adding >>>>>=20 >>>>> ifconfig_bge0=3D"up" >>>>> etc. >>>>=20 >>>> ### IPv6 Setup ### >>>=20 >>> Well, here you set "ifconfig_bge0_ipv6" to one value >>>=20 >>>> ifconfig_bge0_ipv6=3D"inet6 accept_rtadv" >>>=20 >>> And there you overwrite it with a new value=20 >>>=20 >>>> ifconfig_bge0_ipv6=3D"inet6 fec2::210 prefixlen 64" >>>=20 >>> Therefore, the first line has no effect at all. >>>=20 >>> You can double check this by calling >>>=20 >>> sysrc ifconfig_bge0_ipv6 >>>=20 >>> Setting all things in one config setting might work (haven=E2=80=99t tri= ed it myself), like in >>>=20 >>> ifconfig_bge0_ipv6=3D"inet6 fec2::210 prefixlen 64 accept_rtadv" >>>=20 >>> -m >>>=20 >>>>=20 >>>> ipv6_static_routes=3D"lan1 lan2" >>>> ipv6_route_lan1=3D"fec1:: -prefixlen 64 fec2::205" >>>> ipv6_route_lan2=3D"fec2:: -prefixlen 64 fec2::205" >>>>=20 >>>> That is all associated with IPv6. IPv4 is configured and used. >>>>=20 >>>> -- Doug >>=20 >> You are supposed to be able to sent multiple IP addresses on an interface= and that generally works. =46rom the handbook, I get that the "ifconfig_rl= 0_ipv6=3D"inet6 accept_rtadv" line causes the default link-local addresses t= o be configured and should set accept_rtadv. The other lines should just ad= d additional IP addresses. Logically, adding the accept_rtadv in each seems= a bit much. Although, that is the way it worked in FreeBSD 9. That was do= cumented in the handbook at that time. Adding additional IP addresses shoul= d not clear any of the interface flags unless included in the command. >>=20 >=20 > rc.conf is key value in general, the format is >=20 > key=3Dvalue1 >=20 > If you write further done in the file >=20 > key=3Ddifferentvalue >=20 > the value of key will be "differentvalue", like the first line never exist= ed. (This is unrelated to IPv6 or router advertisements, just the basic prin= ciple of rc.conf). >=20 > One way I used to configure things like that in the past was using one ifc= onfig_<interface>_ipv6 line to set flags etc and then use ifconfig_<interfac= e>_aliases to set ip addresses. >=20 > Something like >=20 > ifconfig_bge0_ipv6=3D"inet6 accept_rtadv" > ifconfig_bge0_aliases=3D"inet6 fec2::210 prefixlen 64" >=20 > (I haven=E2=80=99t tried this, as I=E2=80=99m afk and typed it on the phon= e, which is a bit of a pita, and from the top of my head,so you would have t= o try/verify yourself). >=20 > -m Ahh. The handbook is needing a note about that. There should be something s= imilar to what was done for IPv4 where it shows adding additional addresses u= sing: Ifconfig_bge0_alias0 ... Ifconfig_bge0_alias1 ... That would be very helpful. Thanks for the explinations. =E2=80=94 Doug
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BC947075-4292-4C87-902B-DC98B60A548E>