gnrc_sixlowpan_frag: prepare reassembly base types for VRB#10988
Merged
cgundogan merged 7 commits intoRIOT-OS:masterfrom May 28, 2019
Merged
gnrc_sixlowpan_frag: prepare reassembly base types for VRB#10988cgundogan merged 7 commits intoRIOT-OS:masterfrom
cgundogan merged 7 commits intoRIOT-OS:masterfrom
Conversation
[gnrc_sixlowpan_frag: expose fragment interval type](/RIOT-OS/RIOT/pull/10988/commits/4845f296841a2c9b0b3145a59c8f2b25e4cce045)
[gnrc_sixlowpan_frag: expose fragment interval type](/RIOT-OS/RIOT/pull/10988/commits/4845f296841a2c9b0b3145a59c8f2b25e4cce045)e17ea27 to
a945811
Compare
Member
Author
|
Okay, I also exposed the arrival time now. In consequence the members of |
Member
Author
|
I think I'm done with this now. |
1 task
Member
Author
|
#11068 is too experimental so it doesn't make any sense to try to get this into the release => post-poned. |
aca7d48 to
debc254
Compare
Member
Author
|
Rebased to current master |
debc254 to
4d2c1a5
Compare
Member
Author
|
Rebased to current master |
eb34ed1 to
6bbafa5
Compare
Member
Author
|
Rebased and squashed to current master. |
cgundogan
approved these changes
May 28, 2019
Member
cgundogan
left a comment
There was a problem hiding this comment.
ACK. Code looks good and tested stress pinging on with 2 iotlab nodes. Everything is as expected.
Member
|
Please squash. |
For the [VRB] I also need to track which the intervals of the fragments already received (mostly for finding out when I am able to get rid of a VRB entry, see [this conversation][VRB entry removal]), so to be able to incorporate it into the common type for both reassembly buffer and VRB I need to expose that type first. [VRB]: https://tools.ietf.org/html/draft-ietf-lwig-6lowpan-virtual-reassembly-00 [VRB entry removal]: https://mailarchive.ietf.org/arch/msg/6lo/bTm2REo4PpVcMFH04mF_SlPvS_M
The fragment intervals are also required by the VRB, so make them part of the public representation of a reassembly buffer.
The arrival time is also needed for the VRB's garbage collection.
The members of `rbuf_t` and `gnrc_sixlowpan_rbuf_t` are now identical so we can remove the internal type.
6bbafa5 to
a8c81de
Compare
Member
Author
|
Squashed |
Member
Author
|
And rebased accidentally ^^" |
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
For the VRB I also need to track which the intervals of the fragments already received (mostly for finding out when I am able to get rid of a VRB entry, see this conversation) and the arrival time for garbage collection. This resulted in some refactoring in the data structures of the reassembly buffer.
Testing procedure
Sending and receiving fragmented packets with
gnrc_networkingshould still work.tests/gnrc_sixlowpan_fragshould still compile and pass.Issues/PRs references
No dependencies, but provides basis for others: