Date: Sat, 27 Feb 2021 21:45:16 +0000 From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> To: "Doug Hardie" <bc979@lafn.org> Cc: net@FreeBSD.org Subject: Re: accept_rtadv Message-ID: <5DDF778D-4F17-46E8-9B63-81FF9B362639@lists.zabbadoz.net> In-Reply-To: <BC947075-4292-4C87-902B-DC98B60A548E@lafn.org> References: <BC947075-4292-4C87-902B-DC98B60A548E@lafn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 27 Feb 2021, at 20:34, Doug Hardie wrote: > >> On Feb 27, 2021, at 11:06, Michael Gmelin <freebsd@grem.de> wrote: >> >> >> >>> On 27. Feb 2021, at 19:40, Doug Hardie <bc979@lafn.org> wrote: >>> >>>> On 27 February 2021, at 10:34, Michael Gmelin <freebsd@grem.de> >>>> wrote: >>>> >>>> >>>> >>>>> On 27. Feb 2021, at 19:21, Doug Hardie <bc979@lafn.org> wrote: >>>>> >>>>> >>>>>>> On 27 February 2021, at 04:37, Michael Gmelin <freebsd@grem.de> >>>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On 27. Feb 2021, at 08:21, Doug Hardie <bc979@lafn.org> wrote: >>>>>>> >>>>>>> From the Handbook: >>>>>>> >>>>>>> 32.9.2. Configuring IPv6 >>>>>>> To configure a FreeBSD system as an IPv6 client, add these two >>>>>>> lines to rc.conf: >>>>>>> >>>>>>> ifconfig_rl0_ipv6="inet6 accept_rtadv" >>>>>>> rtsold_enable="YES" >>>>>>> >>>>>>> This does not work. I have in rc.conf: >>>>>>> >>>>>>> ifconfig_bge0_ipv6="inet6 accept_rtadv" >>>>>>> ifconfig_ue0_ipv6="inet6 accept_rtadv" >>>>>>> ifconfig_ue1_ipv6="inet6 accept_rtadv" >>>>>>> >>>>>>> On all three interfaces, ifconfig shows: >>>>>>> nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> >>>>>>> >>>>>>> ACCEPT_RTADV is not listed and sure enough router advertisements >>>>>>> are ignored. I have to manually enter: >>>>>>> ifconfig bge0 ipv6 accept_rtadv >>>>>>> for each interface. Then ifconfig shows: >>>>>>> >>>>>>> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> >>>>>>> >>>>>>> and the interface now accepts router advertisements. This is a >>>>>>> bug, but I don't kn >>>>>>> ow if it's in the code or the handbook. >>>>>> >>>>>> I just tried here on 12.2-p4 with em0 and it worked as expected. >>>>>> I do have ipv4 configured on that interface too though. >>>>>> >>>>>> Do you have anything else in your rc.conf (especially any other >>>>>> ifconfig lines)? >>>>>> >>>>>> If not, could you try adding >>>>>> >>>>>> ifconfig_bge0="up" >>>>>> etc. >>>>> >>>>> ### IPv6 Setup ### >>>> >>>> Well, here you set "ifconfig_bge0_ipv6" to one value >>>> >>>>> ifconfig_bge0_ipv6="inet6 accept_rtadv" >>>> >>>> And there you overwrite it with a new value >>>> >>>>> ifconfig_bge0_ipv6="inet6 fec2::210 prefixlen 64" >>>> >>>> Therefore, the first line has no effect at all. >>>> >>>> You can double check this by calling >>>> >>>> sysrc ifconfig_bge0_ipv6 >>>> >>>> Setting all things in one config setting might work (haven’t >>>> tried it myself), like in >>>> >>>> ifconfig_bge0_ipv6="inet6 fec2::210 prefixlen 64 accept_rtadv" >>>> >>>> -m >>>> >>>>> >>>>> ipv6_static_routes="lan1 lan2" >>>>> ipv6_route_lan1="fec1:: -prefixlen 64 fec2::205" >>>>> ipv6_route_lan2="fec2:: -prefixlen 64 fec2::205" >>>>> >>>>> That is all associated with IPv6. IPv4 is configured and used. >>>>> >>>>> -- Doug >>> >>> You are supposed to be able to sent multiple IP addresses on an >>> interface and that generally works. From the handbook, I get that >>> the "ifconfig_rl0_ipv6="inet6 accept_rtadv" line causes the default >>> link-local addresses to be configured and should set accept_rtadv. >>> The other lines should just add 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 documented in the handbook >>> at that time. Adding additional IP addresses should not clear any >>> of the interface flags unless included in the command. >>> >> >> rc.conf is key value in general, the format is >> >> key=value1 >> >> If you write further done in the file >> >> key=differentvalue >> >> the value of key will be "differentvalue", like the first line never >> existed. (This is unrelated to IPv6 or router advertisements, just >> the basic principle of rc.conf). >> >> One way I used to configure things like that in the past was using >> one ifconfig_<interface>_ipv6 line to set flags etc and then use >> ifconfig_<interface>_aliases to set ip addresses. >> >> Something like >> >> ifconfig_bge0_ipv6="inet6 accept_rtadv" >> ifconfig_bge0_aliases="inet6 fec2::210 prefixlen 64" >> >> (I haven’t tried this, as I’m afk and typed it on the phone, >> which is a bit of a pita, and from the top of my head,so you would >> have to try/verify yourself). >> >> -m > > Ahh. The handbook is needing a note about that. There should be > something similar to what was done for IPv4 where it shows adding > additional addresses using: > > Ifconfig_bge0_alias0 ... > Ifconfig_bge0_alias1 ... > > That would be very helpful. Thanks for the explinations. aliases are address family independent; you write =“inet 192.0.2.17/24” or =“inet6 2001:db8::2:17/64” as you wish. /bz
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5DDF778D-4F17-46E8-9B63-81FF9B362639>