Bug 966

Summary: AODV originates new RREQ on each packet, when doesn't have valid route.
Product: ns-3 Reporter: Elena Buchatskaya <sunnmy>
Component: aodvAssignee: Elena Buchatskaya <sunnmy>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs, tomh
Priority: P5    
Version: pre-release   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 940    
Attachments: test case
proposed patch

Description Elena Buchatskaya 2010-07-26 23:37:44 UTC
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 UTC
Created attachment 954 [details]
proposed patch
Comment 2 Elena Buchatskaya 2010-08-04 13:51:26 UTC
changeset 5dbb70a41b85