lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #55972] The Neighbour Solicitation used to do IPv6 add


From: Gao Qingshui
Subject: [lwip-devel] [bug #55972] The Neighbour Solicitation used to do IPv6 address resolution was wrong
Date: Thu, 21 Mar 2019 09:16:37 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36

URL:
  <https://savannah.nongnu.org/bugs/?55972>

                 Summary: The Neighbour Solicitation used to do IPv6 address
resolution was wrong
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: kevingao
            Submitted on: Thu 21 Mar 2019 01:16:36 PM UTC
                Category: IPv6
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
            lwIP version: git head

    _______________________________________________________

Details:

The Neighbour Solicitation was used to do IPv6 address resolution or Duplicate
Address Detection. For IPv6 address resolution, lwip always use the link local
address as the source address, this could cause network unreachable in below
scenario.
1,configure one global IPv6 address on one netif, such as 2001::2 on eth0 whos
MAC address was 00:00:00:00:00:22;
2,ping the peer side which was Linux, ping succeed and on Linux one new
neighbour cahe was created, 2001::2 + 00:00:00:00:00:22,
3,change the MAC address of netif eth0 from 00:00:00:00:00:22 to
00:00:00:00:00:33;
4,Ping the peer side again, ping failed and last about 10s, after then, ping
succeed;
5,the reason of ping failed was that Linux still using the old neighbour cache
(2001::2 + 00:00:00:00:00:22), after 10s, Linux get the new MAC address by
multicast Neighbour Solicitation (2001::2 +  00:00:00:00:00:33), then ping
succeed.
6, why the ping failure last 10s, it was the sum of 5s(Neighbour cache changed
from STALE to Delay, and then from Delay to Probe)+ 3s (Linux send 3 unicast
NS, and each one was 1s) + 2s(Ping interval).

The attached file was one real example, pls check. The other attach file was
my modification, pls review.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Thu 21 Mar 2019 01:16:36 PM UTC  Name: 11.pcap  Size: 5KiB   By:
kevingao

<http://savannah.nongnu.org/bugs/download.php?file_id=46601>
-------------------------------------------------------
Date: Thu 21 Mar 2019 01:16:36 PM UTC  Name:
choose-source-address-based-on-target-address.patch  Size: 1KiB   By: kevingao

<http://savannah.nongnu.org/bugs/download.php?file_id=46602>

    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?55972>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]