Re: [ns] conflicting hello process in aodv rfc and aodv.cc

2013-02-11 Thread Saravanan Kandasamy

Amar,

Your explanation is not clear and not sure if you are messing up with the
codes without knowing what you like to achieve.

1. Create a minimalistic scenario.

2. Enable Hello Packets.
[Do not touch aodv.cc, it is controlled by a flag in aodv.h, comment out
#define AODV_LINK_LAYER_DETECTION in aodv.h]

3. Observe the trace file if it is operating correctly.

4. If it is not, you need to provide clear details on
-your scenario of interest,
-what is the topology
-its configuration/setup/parameters,
-the changes done in the code,
-what you observed in trace file,
-what you are expecting
-what you think is the next way forward to solve the bottle neck you are
facing.

Good Luck.

rgds
Saravanan K

On Fri, Feb 8, 2013 at 5:25 AM, AmarNath Patra amarnath.pa...@gmail.comwrote:


 Hello Everyone,

 In the existing AODV code, HELLO is disabled. I am able to enable it (by
 commenting '#ifndef AODV_LINK_LAYER_DETECTION' and '#endif' in aodv.cc).
 The problem is that after enabling, all the nodes in the network perform
 the hello process.
 But,according to the rfc3561, *A node SHOULD only use hello messages if it
 is part of an active route.*
 Please help me to implement this feature (of selective HELLO) in AODV.

 By the way, is the implementation of hello process in aodv in ns2.34 *
 incorrect*?

 I tried to implement this feature in aodv.cc as below:

 In the function: HelloTimer::handle(Event*), I put the statement:
 agent-sendHello(); inside the condition:* if(agent-rtable.head())*
 So I have now:

 -
 void
 HelloTimer::handle(Event*) {
if(agent-rtable.head()){//amar: allowing only the nodes which are
 part of any active route to use hello msg, in accrdnc to rfc3561
 agent-sendHello();
}
double interval = MinHelloInterval + ((MaxHelloInterval -
 MinHelloInterval) * Random::uniform());
assert(interval = 0);
Scheduler::instance().schedule(this, intr, interval);
 }

 --
 Is this implementation correct?

 Thanks in advance.
 -amar



[ns] conflicting hello process in aodv rfc and aodv.cc

2013-02-07 Thread AmarNath Patra

Hello Everyone,

In the existing AODV code, HELLO is disabled. I am able to enable it (by
commenting '#ifndef AODV_LINK_LAYER_DETECTION' and '#endif' in aodv.cc).
The problem is that after enabling, all the nodes in the network perform
the hello process.
But,according to the rfc3561, *A node SHOULD only use hello messages if it
is part of an active route.*
Please help me to implement this feature (of selective HELLO) in AODV.

By the way, is the implementation of hello process in aodv in ns2.34 *
incorrect*?

I tried to implement this feature in aodv.cc as below:

In the function: HelloTimer::handle(Event*), I put the statement:
agent-sendHello(); inside the condition:* if(agent-rtable.head())*
So I have now:
-
void
HelloTimer::handle(Event*) {
   if(agent-rtable.head()){//amar: allowing only the nodes which are
part of any active route to use hello msg, in accrdnc to rfc3561
agent-sendHello();
   }
   double interval = MinHelloInterval + ((MaxHelloInterval -
MinHelloInterval) * Random::uniform());
   assert(interval = 0);
   Scheduler::instance().schedule(this, intr, interval);
}
--
Is this implementation correct?

Thanks in advance.
-amar