Skip to content

gnrc_ipv6: don't recurse into receive for encapsulated IPv6 [backport 2018.10]#10348

Merged
bergzand merged 2 commits intoRIOT-OS:2018.10-branchfrom
miri64:backport/2018.10/gnrc_ipv6/fix/encaps-ipv6-recursion
Nov 8, 2018
Merged

gnrc_ipv6: don't recurse into receive for encapsulated IPv6 [backport 2018.10]#10348
bergzand merged 2 commits intoRIOT-OS:2018.10-branchfrom
miri64:backport/2018.10/gnrc_ipv6/fix/encaps-ipv6-recursion

Conversation

@miri64
Copy link
Copy Markdown
Member

@miri64 miri64 commented Nov 8, 2018

Backport of #10246

Contribution description

_decapsulate() is called by callees of _receive() so the call to
the latter function within the first creates a recursion we don't want.
Using gnrc_netapi instead removes that and provides the added benefit
that other subscribers to IPv6 are also informed.

Testing procedure

Send an encapsulated IPv6 packet to a node. It should still be parsed properly.

Issues/PRs references

None, but related to the IPv6 refactoring project (the project is not required for the release ;-))

miri64 and others added 2 commits November 8, 2018 13:02
`_decapsulate()` is called by callees of `_receive()` so the call to
the latter function within the first creates a recursion we don't want.
Using `gnrc_netapi` instead removes that and provides the added benefit
that other subscribers to IPv6 are also informed.

(cherry picked from commit 160ccbc)
Otherwise, an encapsulated IPv6 packet is handled twice. Once in the
central function, once in the specialized decapsulation.

(cherry picked from commit d54ac38)
@miri64 miri64 added Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) labels Nov 8, 2018
@miri64 miri64 requested a review from bergzand November 8, 2018 12:02
@miri64 miri64 added this to the Release 2018.10 milestone Nov 8, 2018
@jia200x
Copy link
Copy Markdown
Member

jia200x commented Nov 8, 2018

thanks for the backport!

jia200x
jia200x previously approved these changes Nov 8, 2018
Copy link
Copy Markdown
Member

@jia200x jia200x left a comment

Choose a reason for hiding this comment

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

Commits are the same. Untested ACK. @bergzand could you test it with this backport? It shouldn't break anything though ;)

@miri64
Copy link
Copy Markdown
Member Author

miri64 commented Nov 8, 2018

We should however retest some of the GNRC tests in the release specs when this is merged, just to be sure.

@miri64 miri64 dismissed jia200x’s stale review November 8, 2018 13:03

@jia200x for future references: if you give untested ACKs, don't approve, to prevent accidental merges.

@jia200x
Copy link
Copy Markdown
Member

jia200x commented Nov 8, 2018

@jia200x for future references: if you give untested ACKs, don't approve, to prevent accidental merges.

Sure ;)

Copy link
Copy Markdown
Member

@bergzand bergzand left a comment

Choose a reason for hiding this comment

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

Tested, works here too.

ACK!

@bergzand bergzand merged commit 7aaa8bb into RIOT-OS:2018.10-branch Nov 8, 2018
@miri64 miri64 deleted the backport/2018.10/gnrc_ipv6/fix/encaps-ipv6-recursion branch November 8, 2018 13:33
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 Impact: minor The PR is small in size and might only require a quick look of a knowledgeable reviewer Process: release backport Integration Process: The PR is a release backport of a change previously provided to master Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants