-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
gnrc/ipv6: nib route
: hide off-link PLEs
#20835
gnrc/ipv6: nib route
: hide off-link PLEs
#20835
Conversation
I'm confused. RFC 4861 does not say anything about the concept of a forwarding table (which $ ip -6 route
[...]
fd01:d470:435e:2000::9 dev eth0 proto kernel metric 100 pref medium
fd01:d470:435e:2000::/64 dev eth0 proto ra metric 100 pref medium
[...] |
Sorry for the confusion, I meant off-link PLEs (changed the PR title and commit title, can't rename the branch without closing the PR, everything else like PR description is correct)! Here's the full sentence I quoted in part:
I.e. if PIO L-flag was never set in any PIO for the prefix, and therefore _PFX_ON_LINK was never set, then - as I understand - the prefix should be effectively ignored for routing, and the default route shall be simply used. |
nib route
: hide on-link prefixesnib route
: hide off-link PLEs
d6f177c
to
48a2417
Compare
This is about sending behavior, not what to show or not to show in a forwarding table. Since with 6LoWPAN, the mesh prefix is always off-link, I am not sure it is a good idea to not list those in the forwarding table (granted RPL would add the downstream addresses that use that prefix anyway, but it would feel weird if the RPL DODAG ID would not show up there). |
For a 6LN, the A-flag is still usually set and therefore the prefix is listed in I think it's wrong that For comparison, |
Ah ok, if this is something that only showed up recently, then nevermind. |
Co-Authored-By: benpicco <benpicco@googlemail.com>
6dbaed6
to
92b77ed
Compare
Amended. |
Contribution description
An off-link prefix with SLAAC (i.e. RA PIO: L flag = 0, A flag = 1):
nib prefix
. Listing it here only means it’s a "managed" prefix (for SLAAC lifetimes), no indication about whether it’s on-link.nib route
❌ Currently falsely displays it as on-link (e.g.
2001:db8::/32 dev #6
)Should not list it, to reflect the actually used routing logic [1]
RIOT/sys/net/gnrc/network_layer/ipv6/nib/_nib-internal.c
Line 653 in 0e7636a
This PR removes it from the
nib route
output.[1] which is correct ("forward the packet to a default router" - https://datatracker.ietf.org/doc/html/rfc4861#section-6.3.4)
Testing procedure
Expand
sudo dist/tools/tapsetup/tapsetup
In any directory:
Set file content of
radvd-offl.conf
to:Run
sudo radvd --nodaemon --config=radvd-offl.conf
In RIOT terminal: command
nib route
In command output, observe unexpected line
2001:db8::/32 dev #6
.Issues/PRs references
#20757 revealed this bug by adding a feature