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