-
Notifications
You must be signed in to change notification settings - Fork 2.1k
gnrc_sixlowpan_iphc: refactor reception for #8511 #9484
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: refactor reception for #8511 #9484
Conversation
5126267
to
59daa1e
Compare
Also ping @A-Paul. I think this could be interesting regarding GHC. |
Note to self: adapt for rename solicited in #9483 (comment), when rebasing. |
59daa1e
to
2c6b1cf
Compare
Rebased to and adapted for current master. |
(since both dependencies are merged this PR is not waiting for another PR anymore) |
2c6b1cf
to
f6ecdc8
Compare
This refactors reception/decoding part of `gnrc_sixlowpan_iphc` to the more layered approach modeled in RIOT-OS#8511. Since the reception part is already complicated enough I decided to divide send and receive up into separate changes.
f6ecdc8
to
69d9ecc
Compare
Rebased again, since the merging of #9485 created a conflict. |
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.
Code looks fine and verified that frag/iphc is still working. Tested on the testbed w/ and w/o compiling frag/iphc.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR).
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Though this change might seem more complicated, it has the benefit, that after RIOT-OS#9484 we don't have to assume that a received packet within IPv6's receive function can be handed to the function pre-parsed, making that function far less complicated (will be provided in a future PR). Also this might give the forwarding via routing header a little performance boost, as we now don't *receive* the packet first only to forward it later-on.
Contribution description
This refactors reception/decoding part of
gnrc_sixlowpan_iphc
to the more layered approach modeled in #8511. Since the reception part is already complicated enough I decided to divide send and receive up into separate changes.Testing
To test I used the
ping6
andudp {send|server}
server commandtests/gnrc_udp
with different packet sizes and ports (including the NHC UDP compressed range 61616-61631), and also with IPHC (de-)activated withifconfig 6 -iphc
onsamr21-xpro
. I also tested several compile configurations with the following patch (and commenting out the correspondingiphc
/frag
lines):(just resolves the dependency)
Issues/PRs references
Depends on
#9482(merged) and#9483(merged).Adapts IPHC reception for #8511.