-
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_ipv6_ext_frag: remove fragment header when n-th fragment is first #13156
gnrc_ipv6_ext_frag: remove fragment header when n-th fragment is first #13156
Conversation
The reassembly buffer only needs (and stores) the headers *before* the fragment header (called per-fragment headers in RFC 8200, section 4.5). Currently, when a subsequent IPv6 fragment is received before the first fragment the fragment header is however not removed. With this fix it does.
Running multiple runs of the test. But so far the issue seems fixed. |
I performed 5 runs following Release-Specs 4, Task 10 pinging in both directions. I also applied the patch during that run, I had seen the bug testing Release-Specs 4, Task 10. In the details below you can see a couple if times the
|
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!
Thanks a lot for investigating and providing the fix @miri64! |
Backport provided in #13169 |
Contribution description
The reassembly buffer only needs (and stores) the headers before the fragment header (called per-fragment headers in RFC 8200, section 4.5). Currently, when a subsequent IPv6 fragment is received before the first fragment the fragment header is however not removed. With this fix it does.
Testing procedure
See Release-Specs 4, Task 10. They should succeed for multiple runs, especially if packets get lost. To make sure loss is due to the first fragment missing I applied the following patch (which causes an
E
to appear in the output whenever a packet is lost under this circumstance in the given test run):Issues/PRs references
Cause of RIOT-OS/Release-Specs#145 (comment)