Bug 1629

Summary: Make AODV Default to Disable Hello
Product: ns-3 Reporter: Andrew Stanton <acstanton515>
Component: aodvAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: enhancement CC: john.abraham.in, tomh, tommaso.pecorella
Priority: P5    
Version: pre-release   
Hardware: All   
OS: All   
Bug Depends on: 1522    
Bug Blocks: 1606    
Attachments: Disable hello by default
Disable hello by default, and remove conditional statement
Disable hello by default, and move the action of the conditional statement
All patches testing output
Outputs, notes, and comments of disabled hellos behavior in aodv example
Diff from bug1190 which might also fix Bug1629
Long run tests (2000s) Stability

Description Andrew Stanton 2013-04-19 10:51:36 UTC
Overview
---------
The hello implementation currently has a few behaviors that may not be ideal:

- Hellos are always sent by a node, regardless if node is participating in an active route (bug 1188) or not
- Other features in AODV RP are interacting with hellos that should not like RecvRequest and SendRequest (bug 1193) although this has been turned off
- Hellos are not suppressed if there was a recent broadcast (bug 1190, it was in this bug that the suggestion was made to disable hellos by default if the change could be validated)

Hellos have a requirement level of MAY in RFC (see 6.9.).

Patches
---------

I have a few patches to propose.  I ran the aodv test across all of them and they all passed.  I monitored the behavior of a modified aodv.cc example program to determine behavior changes and have found some behavior that lead me to develop several patches.  

1) Disable hello by default
2) Disable hello by default, and remove the conditional statement on hello bool in the constructor
3) Disable hello by default, and move the action of the conditional statement from the constructor to start method

Build 
---------
This is the dev build I tried the patches on

andrew@ubuntu:~/repos/ns-3-allinone/ns-3-dev$ hg summary
parent: 9694:eb7335c2423c tip
 add virtual destructor
branch: default
commit: 89 unknown (clean)
update: (current)

Ubuntu 10.04
Comment 1 Andrew Stanton 2013-04-19 11:01:20 UTC
Created attachment 1560 [details]
Disable hello by default
Comment 2 Andrew Stanton 2013-04-19 11:02:20 UTC
Created attachment 1561 [details]
Disable hello by default, and remove conditional statement
Comment 3 Andrew Stanton 2013-04-19 11:02:56 UTC
Created attachment 1562 [details]
Disable hello by default, and move the action of the conditional statement
Comment 4 Andrew Stanton 2013-04-19 11:03:24 UTC
Created attachment 1563 [details]
All patches testing output
Comment 5 Andrew Stanton 2013-04-19 11:04:02 UTC
Created attachment 1564 [details]
Outputs, notes, and comments of disabled hellos behavior in aodv example
Comment 6 Tom Henderson 2013-04-26 13:48:00 UTC
Andrew, thanks for these patches; we'll try to get to them soon after the upcoming ns-3.17 release.
Comment 7 Tommaso Pecorella 2013-07-10 15:33:10 UTC
When fixing this, remember to declare fixed also bugs:
- http://www.nsnam.org/bugzilla/﷒0﷓
- http://www.nsnam.org/bugzilla/﷒1﷓

or at least to assess if they're still valid.

From my understanding, the proposed patches should fix these as well.
Comment 8 John Abraham 2013-07-16 10:18:21 UTC
Created attachment 1637 [details]
Diff from bug1190 which might also fix Bug1629

Diff from bug1190 which might also fix Bug1629
Requires Patch for Bug1522
Comment 9 John Abraham 2013-07-16 21:18:26 UTC
Created attachment 1640 [details]
Long run tests (2000s) Stability
Comment 10 John Abraham 2013-08-16 01:40:09 UTC
author	John Abraham <john.abraham.in@gmail.com>
Thu, 15 Aug 2013 22:39:03 -0700 (43 seconds ago)
changeset 10161	7ea12911298b