Bug 1097 - AODV routing entry set to be VALID mistakenly.
AODV routing entry set to be VALID mistakenly.
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: aodv
ns-3.10
PC Linux
: P5 trivial
Assigned To: Elena Buchatskaya
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-04-12 16:52 UTC by Yang Chi
Modified: 2011-05-13 02:16 UTC (History)
2 users (show)

See Also:


Attachments
patch to fix (782 bytes, patch)
2011-05-12 09:42 UTC, Tom Henderson
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yang Chi 2011-04-12 16:52:25 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);
Comment 1 Tom Henderson 2011-04-15 19:14:43 UTC
(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).
Comment 2 Tom Henderson 2011-05-12 09:42:34 UTC
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.
Comment 3 Tom Henderson 2011-05-13 02:16:01 UTC
changeset: 4082270126b5