accept_rtadv
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Sat Feb 27 21:45:30 UTC 2021
On 27 Feb 2021, at 20:34, Doug Hardie wrote:
>
>> On Feb 27, 2021, at 11:06, Michael Gmelin <freebsd at grem.de> wrote:
>>
>>
>>
>>> On 27. Feb 2021, at 19:40, Doug Hardie <bc979 at lafn.org> wrote:
>>>
>>>> On 27 February 2021, at 10:34, Michael Gmelin <freebsd at grem.de>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>> On 27. Feb 2021, at 19:21, Doug Hardie <bc979 at lafn.org> wrote:
>>>>>
>>>>>
>>>>>>> On 27 February 2021, at 04:37, Michael Gmelin <freebsd at grem.de>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On 27. Feb 2021, at 08:21, Doug Hardie <bc979 at 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
More information about the freebsd-net
mailing list