buglwIP - A Lightweight TCP/IP stack - Bugs: bug #50739, 6lowpan - IPHC de-compression bug


You are not allowed to post comments on this tracker with your current authentication level.

bug #50739: 6lowpan - IPHC de-compression bug

Submitted by:  Aigner B. <aignerb>
Submitted on:  Thu 06 Apr 2017 12:34:52 PM UTC  
Category:  IPv6 Severity:  3 - Normal
Item Group:  Faulty Behaviour Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed Planned Release:  None
lwIP version:  2.0.2

Fri 21 Apr 2017 08:30:55 PM UTC, comment #3: 

Thanks for the fix!

Dirk Ziegelmeier <dziegel>
Project Administrator
Fri 07 Apr 2017 06:26:20 AM UTC, comment #2: 

As I said, I'm working on a different netif, but it uses the same IPHC than 6lowpan.
So regarding the 6lowpan.c: this was only by reading
Regarding my implementation: I changed it and it worked :-)

I will deliver you patches for 6lowpan ASAP and whenever I find a new bug.

Aigner B. <aignerb>
Thu 06 Apr 2017 06:11:30 PM UTC, comment #1: 

Did you see the other bugs for 6lowpan? Unfortunately, the 6lowpan netif driver does not seem to be very actively maintained. I don't know how good it is tested against other implementations... I'm happy for patches :-)

Unfortunately, I can't comment on your change. Have you changed it and fixed your connection or does this come from reading the code only?

Also, did you have to make other changes to get it working? Which hardware do you use to test against?

Simon Goldschmidt <goldsimon>
Project Administrator
Thu 06 Apr 2017 12:34:52 PM UTC, original submission:  

Hi @all,

I'm working on a RFC7668 implementation on the ESP32 (6lowpan over Bluetooth LE).

I found a wrong implementation within the header decompression:


ip6hdr->dest.addr[0] = htonl(0xff000000UL | lowpan6_buffer[lowpan6_offset++]);

This line is the dest. address decompression for the settings Multicast=1, DAC=1, DAM=10.
According to RFC6282, page 9, following address format is used:

10:  32 bits.  The address takes the form ffXX::00XX:XXXX.

So, as I think, the line should be written as following:

ip6hdr->dest.addr[0] = htonl(0xff000000UL | (lowpan6_buffer[lowpan6_offset++]<<16));

Am I right?

Best wishes

Aigner B. <aignerb>


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by dziegel (Posted a comment)
  • -email is unavailable- added by goldsimon (Posted a comment)
  • -email is unavailable- added by aignerb (Submitted the item)
  • -email is unavailable- added by aignerb

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-04-21 dziegel StatusNone => Fixed
        Open/ClosedOpen => Closed
    2017-04-06 aignerb Carbon-Copy- => Added aignerb@technikum-wien.at

    Back to the top

    Powered by Savane 3.5