Bug 2073 - NDisc cache entries update timer might be stuck in a loop
NDisc cache entries update timer might be stuck in a loop
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: ipv6
ns-3-dev
All All
: P5 normal
Assigned To: Tommaso Pecorella
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-02-27 03:44 UTC by Tommaso Pecorella
Modified: 2015-02-28 09:20 UTC (History)
1 user (show)

See Also:


Attachments
test program (1.84 KB, text/x-csrc)
2015-02-27 03:44 UTC, Tommaso Pecorella
Details
patch (10.54 KB, patch)
2015-02-28 09:05 UTC, Tommaso Pecorella
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tommaso Pecorella 2015-02-27 03:44:56 UTC
Created attachment 1980 [details]
test program

The effect is summarized in the simple example attached. One of the nodes keeps probing the other one, even after receiving the correct reply.

The bug was reported by Julien Vaubourg here:
https://groups.google.com/forum/#!topic/ns-3-users/t_SMjHCjGh0

The problem is in the NDisc cache timers. Each state have its own timer and it's not easy to make sure that the other state timers are expired when a transition occurs.
The solution is a partial code refactoring, in order to simplifying the code and fix the error.
There should be only one timer, and it should be started/stopped by the state transition.
Comment 1 Tommaso Pecorella 2015-02-28 09:05:56 UTC
Created attachment 1981 [details]
patch

The patch simplifies the NUD timers (we just need one).
Of course it also removes the bug, as it was due to a timer not being correctly stopped.
Comment 2 Tommaso Pecorella 2015-02-28 09:20:17 UTC
Pushed in changeset 11225:750bd0fc8706