-
Notifications
You must be signed in to change notification settings - Fork 2k
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
gnrc_sixlowpan_frag: initial import of the VRB #11000
gnrc_sixlowpan_frag: initial import of the VRB #11000
Conversation
#11000 🎉 |
5b41025
to
86abdfa
Compare
I moved the minimal forwarding implementation to a separate branch, so I can just focus on the VRB here. |
d3f98b9
to
5c86880
Compare
No longer WIP, as such I squashed and removed the label. Still depending on #10988 though. |
#11068 is too experimental so it doesn't make any sense to try to get this into the release => post-poned. |
6610e1e
to
8ae9648
Compare
Rebased to current master and dependencies |
And added the VRB compile time configurations to |
7398f3f
to
79263e9
Compare
Rebased and squashed to current master |
Ping? I'd like to have this merged (or at least some initial review done) before going on with further 6Lo-forwarding techniques! |
@miri64 don't count on me on this. I'm swamped with other stuff until mid of next week, then is IETF. maybe Semjon can give it a review? |
@SemjonKerner do you have any spare time? |
Fixed up for #11577. |
#else /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_VRB) || defined(DOXYGEN) */ | ||
#define GNRC_SIXLOWPAN_FRAG_VRB_SIZE (0U) | ||
#endif /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_VRB) || defined(DOXYGEN) */ | ||
#endif /* GNRC_SIXLOWPAN_FRAG_VRB_SIZE */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm doing this so complicated, to allow for easy fragment interval multiplicity calculation in #11068 (and coming fragment forwarding solutions):
RIOT/sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c
Lines 50 to 51 in 7d54251
#define RBUF_INT_SIZE (DIV_CEIL(IPV6_MIN_MTU, GNRC_SIXLOWPAN_FRAG_SIZE) * \ | |
(RBUF_SIZE + GNRC_SIXLOWPAN_FRAG_VRB_SIZE)) |
If if gnrc_sixlowpan_frag_vrb
is not used GNRC_SIXLOWPAN_FRAG_VRB_SIZE
is 0 so I just use the fragment intervals required for the real reassembly buffer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two minor findings.
Else everything looks good to me, and the tests work as expected on native
and on the nrf52dk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK, please squash
Squashed |
21bae77
to
c617ee1
Compare
c617ee1
to
1f1ff16
Compare
Addressed findings by Travis and squashed immediately. |
all green, lets go! |
Thanks for the review :-) |
VRB = virtual reassembly buffer (cherry picked from commit 26a526e, see RIOT-OS#11000)
(cherry picked from commit 2cd46e5, see RIOT-OS#11000)
(cherry picked from commit 1f1ff16, see RIOT-OS#11000)
Contribution description
This is my initial import of the virtual reassembly buffer (VRB)
including some minimal forwarding by using it(separated out). It is currently still WIP. The following is still missing:IPHC integration(separated out)Testing procedure
Compile and run unittests for a board of your choice.
Issues/PRs references
Requires #10988.