buglwIP - A Lightweight TCP/IP stack - Bugs: bug #37585, IPv6 compatibility

 
 

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

bug #37585: IPv6 compatibility

Submitted by:  hanhui <hanhui03>
Submitted on:  Wed 17 Oct 2012 05:06:32 AM UTC  
 
Category: IPv6Severity: 3 - Normal
Item Group: Feature RequestStatus: Fixed
Privacy: PublicAssigned to: Simon Goldschmidt <goldsimon>
Open/Closed: ClosedPlanned Release: None
lwIP version: CVS Head

(Jump to the original submission Jump to the original submission)

Tue 20 May 2014 08:15:55 PM UTC, comment #6:

open issue is IPv6 scope -> task #13106
-> this bug can be closed

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Tue 25 Feb 2014 10:44:35 PM UTC, comment #5:

to 3. Good point raised. Personally i've used distinct subnet prefixes when using multiple netifs, but I suppose we should aim to implement scopes so that we can use link-local addresses in multiple netifs.

Not sure how to accomplish this at the moment, I will add it as a task so we can close this bug report.

Ivan Delamer <idelamer>
Project Member
Tue 25 Feb 2014 08:59:29 PM UTC, comment #4:

to 1: won't do
to 2: done

to 3: What's the sin6_scope_id useful for if we don't have the information in the core IPv6 stack? Ivan, do we need an IPv6 address scope? How do we do without? I'd thought we'd need a scope in the core files too, to correctly separate link local addresses?

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Sat 29 Jun 2013 07:44:29 PM UTC, comment #3:

to 1: I don't want to support nonstandard things too much. To use it with python, you can still add this define to one of the headers like lwipopts.h

to 2: I'll check that in in a minute or so.

to 3: according to the standard, we do need this:
http://pubs.opengroup.org/onlinepubs/009696899/basedefs/netinet/in.h.html
says struct sockaddr_in6 shall include the member "uint32_t sin6_scope_id". It makes our struct bigger although we don't need it, so I wonder: do we really need this? How does our IPv6 implementation decide on which netif to send when getting an IP for sending?

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Fri 28 Jun 2013 07:59:48 PM UTC, comment #2:

I haven;t been able to work much on these issues lately. I think there was a related discussion in a patch submission.

I'm not an expert in the socket API as I use mostly netconn, but I will try to dig up a spec and follow it.

Ivan Delamer <idelamer>
Project Member
Fri 28 Jun 2013 07:52:31 PM UTC, comment #1:

Ivan, any comments on this? I think this is source code compatibility. Always a difficult issue when some OSes use non-standardized structs...

I'd like to make it as compatible as possible though.

What about the missing scope? This is only necessary for multi-netif, isn't it? I haven't used lwIP's IPv6 in such a network, yet. Can we just add the scope as dummy for now so that we don't have to change the struct in the future?

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Wed 17 Oct 2012 05:06:32 AM UTC, original submission:

1:
struct in6_addr {
union {
u8_t u8_addr[16];
u32_t u32_addr[4];
} un;
#define s6_addr un.u32_addr
};

need add

#define s6_addr8 un.u8_addr

(although s6_addr8 is nonstandard, but many software use this, such as Python)

2:
define struct sockaddr_storage in sockets.h

3:
no member "sin6_scope_id" in struct sockaddr_in6

hanhui <hanhui03>

 

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

    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 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 20 May 2014 08:15:55 PM UTCgoldsimonStatusIn Progress=>Fixed
      Assigned toNone=>goldsimon
      Open/ClosedOpen=>Closed
    Sat 29 Jun 2013 07:44:29 PM UTCgoldsimonStatusNone=>In Progress
    Fri 28 Jun 2013 07:53:34 PM UTCgoldsimonPlanned Release1.5.0 beta=>1.5.0 beta1
    Fri 28 Jun 2013 07:52:31 PM UTCgoldsimonPlanned Release=>1.5.0 beta

    Back to the top


    Powered by Savane 3.1-cleanup1