Skip to content

Conversation

miri64
Copy link
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
Member

jia200x commented Nov 8, 2018

thanks for the backport!

jia200x
jia200x previously approved these changes Nov 8, 2018
Copy link
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
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
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
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