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

Reply via email to