gnrc/ipv6: Store all SLAAC prefixes#20757
Merged
benpicco merged 1 commit intoRIOT-OS:masterfrom Jul 29, 2024
Merged
Conversation
benpicco
reviewed
Jul 26, 2024
Contributor
benpicco
left a comment
There was a problem hiding this comment.
The explanation makes sense - do we still need the check for _multihop_p6c() then?
Incl. off-link ones, since lifetimes for the autoconfigured addresses are managed by the prefix entry.
benpicco
approved these changes
Jul 29, 2024
This was referenced Aug 26, 2024
xnumad
added a commit
to xnumad/RIOT
that referenced
this pull request
Oct 17, 2024
Increases readability Was previously also needed to enable regen to work on 6LN, because a 6LN did not store SLAAC prefix prior to PR RIOT-OS#20757.
xnumad
added a commit
to xnumad/RIOT
that referenced
this pull request
Jun 18, 2025
Increases readability Was previously also needed to enable regen to work on 6LN, because a 6LN did not store SLAAC prefix prior to PR RIOT-OS#20757.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contribution description
In GNRC's architecture, lifetimes are associated with prefixes (and not to any addresses themselves). The prefixes from a PIO are stored in the prefix list. Even if a prefix is not on-link, it needs to be stored in the prefix list if the A flag (SLAAC) is set, so that auto configured addresses in the prefix have their lifetimes managed. Otherwise these addresses would remain configured possibly longer than what the prefix lifetimes were set for.
This PR stores the prefix in the prefix list as soon as / whenever the A flag is set. The test is modified accordingly.
Background: Generally, by RFC definition (https://datatracker.ietf.org/doc/html/rfc4861#section-5.1) the prefix list only contains on-link prefixes, but in GNRC, this is determined for a prefix list entry by the
_PFX_ON_LINKflag.Testing procedure
Receive a RA PIO with A flag but not L flag (e.g. 6LN host). Observe how autoconfigured addresses will not be deprecated and invalidated/removed when preferred resp. valid lifetime expire, since this prefix information is never stored anywhere.