Bug 966 - AODV originates new RREQ on each packet, when doesn't have valid route.
AODV originates new RREQ on each packet, when doesn't have valid route.
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: aodv
pre-release
All All
: P5 normal
Assigned To: Elena Buchatskaya
:
Depends on:
Blocks: 940
  Show dependency treegraph
 
Reported: 2010-07-26 23:37 EDT by Elena Buchatskaya
Modified: 2010-08-04 14:00 EDT (History)
2 users (show)

See Also:


Attachments
test case (6.13 KB, text/x-c++src)
2010-07-26 23:37 EDT, Elena Buchatskaya
Details
proposed patch (749 bytes, patch)
2010-07-26 23:39 EDT, Elena Buchatskaya
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Elena Buchatskaya 2010-07-26 23:37:44 EDT
Created attachment 953 [details]
test case

The problem is that AODV in DeferredRouteOutput does not check that route is already looking for and always sends new RREQ. In accordance with RFC 3561:

"After broadcasting a RREQ, a node waits for a RREP (or other control message with current information regarding a route to the appropriate destination).  If a route is not received within NET_TRAVERSAL_TIME milliseconds, the node MAY try again to discover a route by broadcasting another RREQ."

Here is a test case, changing the example in src/routing/aodv.cc to use a UDP application instead of ICMP to generate more packets per second.
Comment 1 Elena Buchatskaya 2010-07-26 23:39:45 EDT
Created attachment 954 [details]
proposed patch
Comment 2 Elena Buchatskaya 2010-08-04 13:51:26 EDT
changeset 5dbb70a41b85