gnrc/ipv6_auto_subnets: add option to derive subnet prefix from EUI#21080
Merged
benpicco merged 2 commits intoRIOT-OS:masterfrom Jan 16, 2025
Merged
gnrc/ipv6_auto_subnets: add option to derive subnet prefix from EUI#21080benpicco merged 2 commits intoRIOT-OS:masterfrom
benpicco merged 2 commits intoRIOT-OS:masterfrom
Conversation
mguetschow
reviewed
Dec 16, 2024
Contributor
mguetschow
left a comment
There was a problem hiding this comment.
I don't have enough knowledge on 6lo to judge the impact and fitness of this approach, but one minor comment below.
fabian18
reviewed
Dec 21, 2024
sys/net/gnrc/routing/ipv6_auto_subnets/gnrc_ipv6_auto_subnets.c
Outdated
Show resolved
Hide resolved
fabian18
reviewed
Jan 10, 2025
Contributor
fabian18
left a comment
There was a problem hiding this comment.
Code looks fine. As auto_subnets is your creation I trust you testing.
You may squash and I will approve
Contributor
Author
|
Actually we can do a little better and preserve the unused bits e.g. when combining a /8 with a EUI-48 from an ethernet interface: |
3fa9881 to
1f3c056
Compare
fabian18
approved these changes
Jan 10, 2025
74a311a to
a07f473
Compare
Contributor
|
Ok, I dont't wanna start bikeshedidng now, but since you did some changes with |
a07f473 to
c4465fd
Compare
c4465fd to
698d414
Compare
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
This adds the
gnrc_ipv6_auto_subnets_euipseudo-module.We have a number of wireless 802.15.4 nodes that each have a set of wired nodes connected locally.
To limit communication over the wireless link (The
gnrc_ipv6_auto_subnetssync algorithm creates O(n) messages and does not deal well with lost messages) an alternative scheme of assigning subnet prefixes is needed.Since this is a local sensor network, we can just choose a sufficiently small upstream prefix (e.g.
fd12::/16) and create the downstream network by filling in the remaining bits with the EUI of the downstream wired interface.Testing procedure
We have an upstream router that distributes the
fd12::/16prefix on the wireless network:make PREFIX_CONF=static IPV6_PREFIX="fd12::/16" -C examples/gnrc_border_router all termA routing node that receives that prefix will create subnets for it's downstream interfaces based on their EUI
A node on the downstream (wired) network is able to ping the 6LBR:
Issues/PRs references