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.com>wrote:

>
> 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