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

Implement StoringModeWithMulticast aka RPL MOP3 #7

Merged
merged 25 commits into from
Aug 28, 2024

Conversation

SamClercky
Copy link

@SamClercky SamClercky commented Apr 18, 2024

This PR contains changes to enable RPL MOP3. (This is still a work in progress)

Changes in this PR:

  • Allow motes to have multiple targets
    • Allow distinction between unicast and multicast targets
    • Manage DAO's such that they can send multiple targets at once
    • Update routing logic to take multiple targets into account
  • Enable multicast subscription through sending of multiple DAO's
    • Implementation
    • More tests
  • Enable multicast unsubscription through sending of no-path DAO's
    • Implementation
    • More tests
  • Allow for multicast relations in the DODAG in a way that if multicast is not enabled, does not use extra memory
  • Changes to the routing logic to forward packets to multiple next hops
    • Implementation
    • Add tests
  • Manage incoming DAO's with multicast subscriptions
    • Propagate to root
    • Update relations list
    • Add tests
  • Route multicast packets as described in RFC 6550
    • Implementation
    • Add tests
  • Bugs found along the way
    • Check for solicited mode was not checking the first 14 bytes for correctness (RFC 4291)
    • DAO scheduling was first set to the minimum value of the DIO trickle timer, now it has some randomness to spread the sending of the DAO packets. Multicast packets now also get an extra delay before being transmitted as otherwise the upper motes have difficulty to answer with an DAO-ACK in the unicast DAO has not yet arrived.

@thvdveld thvdveld marked this pull request as ready for review August 28, 2024 08:44
@thvdveld thvdveld merged commit 98ab091 into thvdveld:rpl Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants