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
RPL Mode of Operation 0, Mode of Operation 1 and Mode of Operation 2 #869
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be> Co-authored-by: Diana Deac <diana.deac@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
We now use an intermediate representation of an 6LoWPAN compressed packet. This way we implement `buffer_len` and `emit` functions, making its usage more similar to the other packet types.
Compress IpPayload::Raw when it contains a UDP packet. Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #869 +/- ##
==========================================
+ Coverage 79.96% 80.28% +0.32%
==========================================
Files 82 87 +5
Lines 28378 30130 +1752
==========================================
+ Hits 22693 24191 +1498
- Misses 5685 5939 +254 ☔ View full report in Codecov by Sentry. |
This adds the Routing Protocol for Low-power and lossy networks (RPL) protocol, as defined in RFC6550. I tried making this smaller, but it quickly became difficult to keep track of everything as most features are used for the different modes of operation in RPL. I will try to move changes less related to RPL, but that were required for RPL to work, into different PRs.
At the moment, the following should be working (but still in experimental phase):
The RPL option in the Hop-by-Hop header is used for detecting inconsistencies in the tree. The option contains information about the direction of the data message (where data is a term used in the standard but is ill-defined).
There are still things missing in the implementation, such as handling some options. Examples are prefix information option. There is also room for optimization. An example is the source routing header, where parts of the prefix can just be elided. This is something we don't do yet.
To test the implementation, we added integration tests. These integration tests simulate some networks. The tests then check for expected behaviours.