Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ipv6/nib: do not allocate an NCE for a prefix #20385

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

fabian18
Copy link
Contributor

@fabian18 fabian18 commented Feb 13, 2024

Contribution description

Motivated by the findings in #20371 I would propose this, to not allocate a dummy NCE without an IPv6 for a prefix in the prefix list. Previously the NCE was allocated to store the interface on which the prefix was received, but having an NCE without an address seems weird as NCEs are keyed by their IPv6 address.
If an NCE is only matched by interface, this creates ambiguity as you can imagine multiple neighbors can be present on the same interface.

The implemented approach here is to use the already present flags member in _nib_offl_entry_t to encode the interface.
It is the same as the info member in _nib_onl_entry_t.

CON: The interface information is duplicated for FT and DC entries as they require a real NCE which also stores the interface number.

Having a separate PL data structure would require bigger refactoring, I guess.

Testing procedure

Not really tested in a setup yet.
But at least the test which failed in #20371 with the provided fix to not treat NULL as "don't care" now succeeds.

Issues/PRs references

#20371

@github-actions github-actions bot added Area: network Area: Networking Area: sys Area: System labels Feb 13, 2024
@fabian18 fabian18 added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Feb 13, 2024
@riot-ci
Copy link

riot-ci commented Feb 13, 2024

Murdock results

FAILED

961fb77 ipv6/nib: dont allocate a neighbor cache entry for a prefix

Success Failures Total Runtime
10153 0 10160 28m:30s

Artifacts

@benpicco benpicco added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking Area: sys Area: System CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants