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: IPv6Severity: 3 - Normal
Item Group: Faulty BehaviourStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: ClosedPlanned 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 Member
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:

lowpan6.c:841

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
  • -unavailable- added by dziegel (Posted a comment)
  • -unavailable- added by goldsimon (Posted a comment)
  • -unavailable- added by aignerb (Submitted the item)
  • -unavailable- added by aignerb
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 21 Apr 2017 08:30:55 PM UTCdziegelStatusNone=>Fixed
      Open/ClosedOpen=>Closed
    Thu 06 Apr 2017 12:34:52 PM UTCaignerbCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1