lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [task #13957] there is always a delay to send the first Nei


From: shu chen
Subject: [lwip-devel] [task #13957] there is always a delay to send the first Neighbor Solicitation for the new add INCOMPLETE state neighbor entry
Date: Sat, 09 Apr 2016 00:04:52 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36

URL:
  <http://savannah.nongnu.org/task/?13957>

                 Summary: there is always a delay to send the first Neighbor
Solicitation for the new add INCOMPLETE state neighbor entry
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: chenshu
            Submitted on: Sat 09 Apr 2016 12:04:51 AM GMT
                Category: IPv6
         Should Start On: Fri 08 Apr 2016 12:00:00 AM GMT
   Should be Finished on: Fri 08 Apr 2016 12:00:00 AM GMT
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

The bug is found during the ping test in our project, all the first ping to
the new neighbor exceeds one second.

In the current Neighbor Discovery implementation of LwIP, there is always a
delay to send the first Neighbor Solicitation for the new add INCOMPLETE state
neighbor entry. The delay blocks all the first packet to the neighbors. 

In the RFC-4861, the INCOMPLETE state is described as follows (section
7.3.2):
"Address resolution is being performed on the entry. Specifically, a Neighbor
Solicitation has been sent to the solicited-node multicast address of the
target, but the corresponding Neighbor Advertisement has not yet been
received."

But the current LwIP process:
 - create a new neighbor entry, init it as INCOMPLETE
 - wait for the nd6_tmr timer (once a second)
 - nd6_tmr is triggered, send neighbor solicit if the entry's state is
INCOMPLETE

The current process is a little non-conformant with the RFC-4861, the correct
way is to send Neighbor Solicitation immediately for the new neighbor entry,
and then mark it as INCOMPLETE. So there should not be any delay to send the
first Neighbor Discovery which blocks the first packet to the neighbor.




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?13957>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

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