lwIP - A Lightweight TCP/IP stack - Bugs: bug #53803, nd6_cleanup_netif should set the...
You are not allowed to post comments on this tracker with your current authentication level.
bug #53803: nd6_cleanup_netif should set the auto-configured address to invalid
Submitter: | yanhc <yanhc> | ||
Submitted: | Tue 01 May 2018 01:02:08 PM UTC | ||
Category: | IPv6 | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open | Planned Release: | None |
lwIP version: | 2.0.2 |
Jump to the original submission
Mon 18 Jun 2018 07:17:45 PM UTC, comment #13: |
Simon Goldschmidt <goldsimon> |
Sun 17 Jun 2018 08:53:20 PM UTC, comment #12: Alright, I did a little experiment with a VirtualBox network and a MINIX node in IPv6 router configuration (with net.inet6.ip6.forwarding set to '1') and with rtadvd providing router announcements when desired, to test two operating systems on the same virtual network: NetBSD and Linux.
|
David van Moolenbroek <dcvmoole> |
Thu 14 Jun 2018 08:40:33 PM UTC, comment #11: Agreed on the ARP point, and indeed, I think this issue affects few enough people that taking some time to fix it properly is acceptable.. :) With that said, with a little luck I may be able to do some testing this weekend - either way I'll report back here. |
David van Moolenbroek <dcvmoole> |
Thu 14 Jun 2018 07:52:26 PM UTC, comment #10: In other words, it's probably not worth waiting for 2.1.0 for this to be resolved? |
Simon Goldschmidt <goldsimon> |
Thu 14 Jun 2018 07:43:16 PM UTC, comment #9: OK, so in the case of connecting to a different link, the TCP connection will stay open but it won't have connectivity. That's OK, I guess.
|
Simon Goldschmidt <goldsimon> |
Thu 14 Jun 2018 07:33:29 PM UTC, comment #8: When the link stays up, then the solution for your scenario is simple: the router should announce the prefix with zero lifetimes. That is covered explicitly in RFC 4861 Section 12 in general, although for addresses it is not exactly that simple: such announcements will not cause any existing address to be removed immediately (as per Sec. 5.5.3(e) of RFC 4862) - at most they will be changed from PREFERRED to DEPRECATED state right away. Then, any newly announced prefix may cause the addition of a new address next to that address, and that address will end up with the PREFERRED state. As a result, the old address will remain usable on the host for a while (e.g. for existing TCP connections), while the new address will be preferred for source address selection. I believe it is generally best to have at least enough IPv6 address slots for one preferred dynamic (SLAAC) address and one deprecated one, because such situations are normal and any host system should be able to deal with them.
|
David van Moolenbroek <dcvmoole> |
Thu 14 Jun 2018 06:42:56 PM UTC, comment #7: Yeah, well, maybe the OP called netif_set_down() when the link was lost? I don't get it either, but it seems like I haven't read the original post thoroughly... :-)
|
Simon Goldschmidt <goldsimon> |
Thu 14 Jun 2018 06:16:45 PM UTC, comment #6: Aha, well, this was all about link-down events though, right? How did the proposed patch resolve the described problem to begin with? |
David van Moolenbroek <dcvmoole> |
Thu 14 Jun 2018 06:13:23 PM UTC, comment #5: Ehrm, nd6_cleanup_netif() is called from netif_set_down(), not from netif_set_link_down()... |
Simon Goldschmidt <goldsimon> |
Thu 14 Jun 2018 05:19:40 PM UTC, comment #4: Sure! This is a tricky area though: I was unable to find any information on what exactly should happen in a link-down situation, and my own (MINIX) side of the code has a massive "TODO" there. I don't think I ever checked what other operating systems were doing, either. But I can provide some thoughts - first on the policy, then something about the mechanism.
|
David van Moolenbroek <dcvmoole> |
Thu 14 Jun 2018 10:59:03 AM UTC, comment #3: David, could you comment on this (as you committed e0c5e198)?
|
Simon Goldschmidt <goldsimon> |
Wed 13 Jun 2018 08:18:04 PM UTC, comment #2: The commit that changed that was e0c5e198 from 29.12.2016 |
Simon Goldschmidt <goldsimon> |
Wed 23 May 2018 08:00:29 PM UTC, comment #1: This part of the stack has been changed since 2.0.2. struct nd6_prefix_list_entry no longer contains a 'flags' member. As such, your change does not apply.
|
Simon Goldschmidt <goldsimon> |
Tue 01 May 2018 01:02:08 PM UTC, original submission:
nd6_cleanup_netif in nd6.c should set the auto-configured address to invalid. nd6_cleanup_netif is called in netif_set_down.
|
yanhc <yanhc> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 3 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2018-06-14 | goldsimon | Planned Release | 2.1.0 | None | |
2018-06-14 | goldsimon | Carbon-Copy | - | Added -email is unavailable- | |
2018-06-13 | goldsimon | Planned Release | None | 2.1.0 |
Powered by Savane 3.13-d3ae.
Corresponding source code
Thanks for sharing your test results. I'm with you on the solution from comment #8. I'll have to change the drop down menus to allow a "planned release" of "2.2.0" :-)