Subject: [manet] SWANS - AODV - RERR functionality

From: "Christian Esteve" <[email-masked]>
Date: Fri, 14 Jan 2005 13:43:30 +0100

Dear users or developers of JIST/SWANS,

I've been experiencing with JIST/SWANS with great satisfaction :-) I am
working with the AODV implementation of SWANS
and I found something in the implementation of the RouteAodv.java that
doesn't convince me, may be you can help me to understand it or correct
me.

In my simulation scenario I choosed the option mobility so that Route
ERRors occur.
Testing the RERR messages generation, I have seen that the size of the
LinkedList with the unreachable neighbors is always EMPTY, although
there is indeed a list of unreachable neighbors!
Sending an empty list in the RERR messages leads to an unfunctionality
of handling the route errors.
Taking a look at the RouteAodv.java code, we find in the method:

> helloWaitEvent()

the generation and send of the RERR messages:

> //send RERR message to precursors
> precursorSet.sendRERR(routeTable.destsViaHop(macAddr),
Constants.TTL_DEFAULT);

occurs at the end of a while sentence and AFTER having deleted the route
table entries through the unreachable neighbor:

> //remove all affected routes in routing table
> this.routeTable.removeNextHop(macAddr);

what in my opinion leads to the result that:

> routeTable.destsViaHop(macAddr)

it is always an EMPTY LinkedList.

You may easily proof this, the printing this sentence:
> routeTable.destsViaHop(macAddr).size()
before removing the affected route tables is UNEQUAL to zero.

Placing the code
> //send RERR message to precursors 
> precursorSet.sendRERR(routeTable.destsViaHop(macAddr), 
> Constants.TTL_DEFAULT);

BEFORE removing the affected routing tables could be a solution, but
afterwards a Null Pointer Exception is thrown at another point of the
code. Why this happens and how to solve could we another discusion.

Please let me know if what I told you makes sense and is not a false
interpretation from me. 
I would be glad to have some feedback.

Best regards,

Christian

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet