Bugzilla – Bug 1097
AODV routing entry set to be VALID mistakenly.
Last modified: 2011-05-13 02:16:01 UTC
In aodv source code of ns-3.10, specifically, in aodv::RoutingProtocol::UpdateRouteLifeTime(), rt.SetFlag(VALID) is called. But this will make a IN_SEARCH entry set to VALID without really receiving a valid aodv reply. Then 102.102.102.102 would be used as a VALID nexthop. A quick fix can be something like this; if(rt.GetFlag() ==VALID) rt.SetFlag (VALID);
(In reply to comment #0) > In aodv source code of ns-3.10, specifically, in > aodv::RoutingProtocol::UpdateRouteLifeTime(), rt.SetFlag(VALID) is called. But > this will make a IN_SEARCH entry set to VALID without really receiving a valid > aodv reply. Then 102.102.102.102 would be used as a VALID nexthop. > > A quick fix can be something like this; > > if(rt.GetFlag() ==VALID) > rt.SetFlag (VALID); I can confirm this is being called for INVALID routes. I'm not sure of the suggested fix (which appears to be a no-op). Deleting the SetFlag() call does not solve all of AODV's performance problems (bug 1099).
Created attachment 1111 [details] patch to fix I tested the attached against the scenario file found in bug 1099 and the patch catches a number of mistakenly validated routes, and improves performance.
changeset: 4082270126b5