-
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_iphc_nhc: fix NHC UDP decoding for fragmented packets #4935
gnrc_sixlowpan_iphc_nhc: fix NHC UDP decoding for fragmented packets #4935
Conversation
Nice! |
Tested working with a Contiki RPL border router connected to Linux, RIOT gnrc_networking example on mulle and using netcat on linux to send long strings to the RIOT node. Without this patch only strings less than 50-something chars could get through. About the supposed uglyness, I'll leave that to someone more involved with the gnrc stack to decide. |
If this is working, I think we can live with it. I've seen uglier code. |
Somewhat related Q: Is there any risk of leaking memory when fragments get lost or are the partial packets freed somewhere? |
@Yonezawa-T2 already has a PR open for that: #4771. |
Added a fix for compiling without NHC. |
okay, will test with the fix a little bit later. And where is the |
still need to do some tests with a linux-based boarder router. I have no hardware around today, so I can do it tomorrow |
I forward your complaints to the git developers since they still don't allow me to configure the prefix generated by |
(Done) |
👍 couldn't this be fixed with some pre-commit hooks? |
Not if I want the commit still be picked up by |
I understand |
I can try, but as far as I undestand the prefixing is the other way around. |
keep me informed, I would like to copy your fixup process (: |
Nope. Appending or prepending |
|
Last commit is a test of something someone proposed on the [edit: git] mailinglist. |
913c3f6
to
b4452ab
Compare
(and removed: seemed to work). |
@cgundogan did you have a chance to test this today? |
b4452ab
to
ae52bf9
Compare
Done. |
@gebart thanks for the reminder. https://www.cloudshark.org/captures/062253ad8832 @authmillenon looks correct? |
Mh… I don't know your setup, but did you make sure that a RIOT node received the long coap packet? When it successfully received the packet it is correct. :-) |
nope, the coap message from the linux side was very small (coap get). Only the response from riot -> linux was big (: |
That explains why your previous tries were working ;-). This fix is for reception of fragmented NHC encoded packets. So if you are just send those with RIOT you do not test anything touched by this PR ;-) |
An alternative test would be to use my patch in RIOT-OS/Release-Specs#10 (comment) to send 1 KiB sized packets between two RIOT nodes. @cgundogan just needed to go, so if someone else wants to test until monday: knock yourselves out ;-) |
A friendly reminder for @cgundogan to test this tomorrow ;-) |
@cgundogan ping? |
I am having a problem with the BR dropping the entire payload part of a forwarded UDP packet, possibly related to this PR. Currently investigating.. |
Related as in this PR fixes it or this PR causes it? |
The fix for the border router NHC is at #4544 btw. |
@authmillenon Thanks for the hint, I'll try that PR |
will test tomorrow - I promise (; |
I'm waiting in anticipation :) |
I don't say anything else, before I spread out more empty promises (: |
tested together with @authmillenon between two RIOT nodes and also with a RIOT node with a linux node. |
travis is happy, let's see what Murdock has to say. |
I'm still seeing one issue with NHC and multihop routed fragmented packets, but I don't think this PR is the cause |
@gebart is there an issue somewhere describing this? Maybe I can also invest some time debugging that. Nevertheless, travis && murdock are happy! GO |
…x/frag gnrc_sixlowpan_iphc_nhc: fix NHC UDP decoding for fragmented packets
@cgundogan I think the problem is that #4544 does not fix everything with regards to UDP NHC and fragmented packets |
While running my experiments for my masterthesis I realized that our NHC implementation isn't really able to handle fragmented packets. With this fix it does though it's really ugly.