Skip to content

gnrc_sixlowpan_frag: prepare reassembly base types for VRB#10988

Merged
cgundogan merged 7 commits intoRIOT-OS:masterfrom
miri64:gnrc_sixlowpan_frag/enh/expose-interval-type
May 28, 2019
Merged

gnrc_sixlowpan_frag: prepare reassembly base types for VRB#10988
cgundogan merged 7 commits intoRIOT-OS:masterfrom
miri64:gnrc_sixlowpan_frag/enh/expose-interval-type

Conversation

@miri64
Copy link
Copy Markdown
Member

@miri64 miri64 commented Feb 11, 2019

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_networking should still work. tests/gnrc_sixlowpan_frag should still compile and pass.

Issues/PRs references

No dependencies, but provides basis for others:

Route to 6Lo minimal fragment forwarding

@miri64 miri64 added Area: network Area: Networking Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Feb 11, 2019
@miri64 miri64 added this to the Release 2019.04 milestone Feb 11, 2019
@miri64 miri64 requested a review from cgundogan February 11, 2019 14:21
@miri64 miri64 changed the title Gnrc sixlowpan frag/enh/expose interval type [<img alt="@miri64" width="20" height="20" src="https://avatars1.githubusercontent.com/u/675644?s=60&amp;v=4"> ](/miri64) [gnrc_sixlowpan_frag: expose fragment interval type](/RIOT-OS/RIOT/pull/10988/commits/4845f296841a2c9b0b3145a59c8f2b25e4cce045) Feb 11, 2019
@miri64 miri64 changed the title [<img alt="@miri64" width="20" height="20" src="https://avatars1.githubusercontent.com/u/675644?s=60&amp;v=4"> ](/miri64) [gnrc_sixlowpan_frag: expose fragment interval type](/RIOT-OS/RIOT/pull/10988/commits/4845f296841a2c9b0b3145a59c8f2b25e4cce045) gnrc_sixlowpan_frag: expose fragment interval type Feb 11, 2019
@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/expose-interval-type branch from e17ea27 to a945811 Compare February 11, 2019 14:29
@miri64 miri64 changed the title gnrc_sixlowpan_frag: expose fragment interval type gnrc_sixlowpan_frag: expose more members Feb 11, 2019
@miri64 miri64 changed the title gnrc_sixlowpan_frag: expose more members gnrc_sixlowpan_frag: expose more reassembly buffer members Feb 11, 2019
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Feb 11, 2019

Okay, I also exposed the arrival time now. In consequence the members of rbuf_t and gnrc_sixlowpan_rbuf_t became equivalent, so I also removed the internal type rbuf_t.

@miri64 miri64 changed the title gnrc_sixlowpan_frag: expose more reassembly buffer members gnrc_sixlowpan_frag: prepare reassembly base types for VRB Feb 12, 2019
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Feb 12, 2019

I think I'm done with this now.

@miri64 miri64 removed this from the Release 2019.04 milestone Mar 29, 2019
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Mar 29, 2019

#11068 is too experimental so it doesn't make any sense to try to get this into the release => post-poned.

@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/expose-interval-type branch from aca7d48 to debc254 Compare April 18, 2019 14:16
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Apr 18, 2019

Rebased to current master

@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/expose-interval-type branch from debc254 to 4d2c1a5 Compare May 25, 2019 09:06
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented May 25, 2019

Rebased to current master

@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/expose-interval-type branch from eb34ed1 to 6bbafa5 Compare May 27, 2019 11:24
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented May 27, 2019

Rebased and squashed to current master.

Copy link
Copy Markdown
Member

@cgundogan cgundogan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK. Code looks good and tested stress pinging on with 2 iotlab nodes. Everything is as expected.

@cgundogan
Copy link
Copy Markdown
Member

Please squash.

@cgundogan cgundogan added Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines labels May 28, 2019
miri64 added 2 commits May 28, 2019 18:07
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.
@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/expose-interval-type branch from 6bbafa5 to a8c81de Compare May 28, 2019 16:07
@miri64
Copy link
Copy Markdown
Member Author

miri64 commented May 28, 2019

Squashed

@miri64
Copy link
Copy Markdown
Member Author

miri64 commented May 28, 2019

And rebased accidentally ^^"

Copy link
Copy Markdown
Member

@cgundogan cgundogan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-ACK

@cgundogan cgundogan merged commit b6655a2 into RIOT-OS:master May 28, 2019
@miri64 miri64 deleted the gnrc_sixlowpan_frag/enh/expose-interval-type branch May 28, 2019 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants