Bug 233754 - Router Advertisement configuration and prefixlen
Summary: Router Advertisement configuration and prefixlen
Status: New
Alias: None
Product: Documentation
Classification: Unclassified
Component: Documentation (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-doc mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-03 17:29 UTC by Lapo Luchini
Modified: 2018-12-03 17:29 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lapo Luchini 2018-12-03 17:29:52 UTC
Hi,
    while trying to debug a SLAAC configuration problem of mine, I noticed something strange in the documentation:

https://www.freebsd.org/doc/handbook/network-ipv6.html

chapter 31.9.4 states:

    Next, create the configuration file, /etc/rtadvd.conf as seen in this example: […]
    For a dedicated /64 subnet, nothing else needs to be changed. Otherwise, change the prefixlen# to the correct value.

while `man rtadvd.conf` states:

     As described in rtadvd(8), you do not have to set this configuration file
     up at all, unless you need some special configurations.  You may even
     omit the file as a whole.  In such cases, the rtadvd daemon will
     automatically configure itself using default values specified in the
     specification.

and indeed, I checked with Wireshark and it is broadcasting the correct prefix length (in my case, /80) with no need to have created that file.

Then my problem is that prefixlen ≠ 64 cannot be used by accept_rtadv or, at least, it is what I understand from RTFS nd6_rts.c line 1495, which reads:

    if (ifidlen + pr->ndpr_plen != 128)

(and ifidlen is always 64, as returned by in6_if2idlen())

I'm not sure what's the best solution for the Handbook, but I'd probably remove the `rtadv.conf` example altogether, as it gives no advantage and only the risk of writing it wrong; also, as far as `rtadvd` goes, any prefix length is fine, but then any FreeBSD client won't accept it anyways, so I'm not so sure suggesting what to do "when prefixlen is different" is very useful… a warning about the lack of SLAAC for any other prefixlen could be useful, for people who don't know it already.