RIOT-OS / RIOT

RIOT - The friendly OS for IoT
https://riot-os.org
GNU Lesser General Public License v2.1
4.94k stars 1.99k forks source link

gnrc_sixlowpan: Header order or UDP and IPv6 swapped #4397

Closed DipSwitch closed 8 years ago

DipSwitch commented 8 years ago

One would expect that when you receive a packet the header order would be like: data -> UDP -> IPv6

However the header is sometimes swapped to: data -> IPv6 -> UDP To search the proper header one must LL_SEARCH_SCALAR

I can't reproduce this behavior on my development board STM32F1xx with an AT86RF212B but on the SAM R21 Xpro this seems to happen more often.

More info about this issue can be found on: https://github.com/RIOT-OS/RIOT/pull/3911#issuecomment-157683297

Work around for the problem can be found here: https://github.com/OlegHahm/RIOT/commit/41569b9657e61266aebc6f8590c75c37b0a10cf3

miri64 commented 8 years ago

Correct me if I'm wrong, but wasn't that a problem related to #4189? Shouldn't this be fixed there before it got merged?

OlegHahm commented 8 years ago

I think it's not 100% clear if it is related to #4189, but we should definitely check.

miri64 commented 8 years ago

Found the bug: https://github.com/RIOT-OS/RIOT/pull/4189/files#r47666253

OlegHahm commented 8 years ago

Nice job!

DipSwitch commented 8 years ago

Whoohoo, good going! :D

DipSwitch commented 8 years ago

So this can be closed?

miri64 commented 8 years ago

No, the PR isn't merged yet.