Re: rtadvd(8) How to IPv6 tokenize interface identifier

From: <rb_at_gid.co.uk>
Date: Sun, 23 Feb 2025 16:56:11 UTC
Hi,

> On 23 Feb 2025, at 13:52, A FreeBSD User <freebsd@walstatt-de.de> wrote:
> 
> Am Fri, 21 Feb 2025 10:44:12 +0000
> Bob Bishop <rb@gid.co.uk> schrieb:
> 
>> Hi,
>> 
>>> On 21 Feb 2025, at 06:52, A FreeBSD User <freebsd@walstatt-de.de> wrote:
>>> 
>>> Hello,
>>> 
>>> Linux (especially OpenWRT we use) knows about a concept named "IPv6 tokenized interface
>>> identifier". The concept is self explanatory, a interface/router obtains a propagated
>>> prefix and the concept allows the explicit definition of the host portion.
>>> 
>>> I haven't managed to accomplish such a behaviour using FreeBSD's rtadvd(8) daemon. I guess
>>> this task is subject of and performed through the rtadvd.conf(5) configuration file, but I
>>> haven't managed yet to accomplish such a task (to speak simple: I'd like to have a router
>>> of a subnet always at IPv6 Network PREFIX:0:0:0:1).  
>> 
>> Isn’t sufficient just to give the router a static IPv6 address? That’s what we do here.
> 
> Hello.
> 
> The router itself has on all inbound NICs static ULAs, ending as desired on "fc:/7-PREFIX::1".
> Using KAME dhcp6c,

Ah. Nothing good will happen if you mix DHCP6 and SLAAC.

> software from 2008(!), with a configuration obatined for delegating a
> prefix, each NIC - except tun0 for whatever reason - gets a prefix, the inbound NICs then seem
> to get a EUI64 generated IPv6 (although I sepcified "privacy", but this seems to be
> ignored, sadly ...). 
> 
>> 
>>> The only config tag I can imagine is responsible for what I'd like to achive is the "addr"
>>> tag mentioned in rtadvd.conf(5), but whatever I fill this tag with - the desired effect is
>>> never achived (i.e addr="::0.0.0.1"). My "FreeBSD homebrewn" router has several networks,
>>> attached to vlan. Each interface is subject of an ULA prefix and an IPv6 prefix provided
>>> by our ISP. It is possible to pin the ULA toward the desired address, like
>>> addr="fd50:c450::1", but then the ISP provided prefix seems not to be set properly or is
>>> completely absent. Omitting "addr=" provides the interface with ULA prefix and ISP prefix
>>> - but obviously with the randomly generated 64bit host portion.
>>> 
>>> Playing around with mutually suitable tags, like "pinfoflags", "raflags" or "rtflags" and
>>> having probed almost every possible combination (with or without some sense), it seems
>>> impossible to provide a) both ULA and ISP prefix pin the host portion to a desired 64bit
>>> address, like "PREFIX::1".
>>> 
>>> I do not exclude that I'm possibly incapable of comprehension the manpage (the language is
>>> and the deeper semantics seem then to be hidden for me). So, if there is a clear
>>> expalanation how to achive the desired, please point me towards it (thanks in advance!).
>>> 
>>> Linux has this feature since a while and I can not believe that FreeBSD lacks such a
>>> feature.
>>> 
>>> Thank you very much in advance,
>>> 
>>> O. Hartmann
>>> 
>>> 
>>> -- 
>>> 
>>> A FreeBSD user  
>> 
>> --
>> Bob Bishop
>> rb@gid.co.uk
>> 
>> 
>> 
>> 
> 
> 
> 
> -- 
> 
> A FreeBSD user


--
Bob Bishop       t: +44 (0)118 940 1243
rb@gid.co.uk     m: +44 (0)783 626 4518