Subject: Re: [manet] #20 (aodvv2): Idle routes must be marked as active after re-use

From: "Charles E. Perkins" <[email-masked]>
Date: Wed, 28 May 2014 10:29:39 -0700

Hello Martin,

Your points are well taken.  However, the "active status" of a route
is important when determining whether or not to report it as
broken.  Routes that are inactive don't need to be included in an
RERR message even if the next hop link is broken.  The way that
AODVv2 determines whether a route is active or not, is by
keeping track of how recently it has been used.

Less important, but still with some value, is the distinction
between idle routes and expired routes.  An idle route can be
used to forward packets, and an expired route cannot.  However,
even an expired route contains one valuable field, namely the
latest known sequence number.  If there is no penalty, it can
be useful to keep that information in case there are some old
RREQ packets still being retransmitted (say, because of really
full queues at some nodes in the network).  This situation is
rare, but Murphy's law demands that it happen sometimes.
I don't believe there is any significant penalty for trying to
prevent it.

Finally, there comes a time when even the sequence number
is potentially harmful.  This happens when it is so old that it
might have been duplicated by the node after rebooting.
It was shown some years ago that sequence numbers have to
be expunged after a time equal to the hold-down time for nodes
after reboot (MAX_SEQNUM_LIFETIME).

More on this last point later...

On 4/30/2014 2:44 AM, Martin Heusse wrote:
>
 > Does this really belong to the protocol specification? To me, if a
 > node runs out of memory space, it's a local decision to remove a
 > route or the other. The protocol will still operate properly.
 > Granted, it's more efficient if everyone follows pretty much the same
 > policy :-)
 >
 > Now, removing the oldest route may not be the best idea: it's not
 > unlikely that the first route a "node" creates is the most important!
 >
 >
 > Maybe a statement like: "routers should discard routes in order of
 > least recent usage" could be enough? (And then, you don't have to
 > care about idle/inactive/active route status. This information is not
 > exchanged between nodes, anyway.)
 >
 > Martin
 >
 > Le 12 avr. 2014 à 03:21, Charles E. Perkins <[email-masked]> a
 > écrit :
 >
 >> Proposal: after the text:
 >>> When a route is no longer Active, it becomes an Idle route.
 >>
 >> The proposed text:
 >>
 >>> If an Idle route is used to forward a packet, it becomes an
 >>> Active route once again.
 >>
 >>
 >> However, there may be a better solution which requires more
 >> extensive changes. While the distinction between an active route
 >> and an idle route is interesting to consider, the main difference
 >> between them is that an idle route is preferred for deletion
 >> whenever space needs to be reclaimed.  The same effect can be had
 >> by specifying that route table memory space be reclaimed by
 >> deleting the oldest routes first.  I think this will produce some
 >> simplification to the text without any real loss of clarity.
 >>
 >> I am O.K. going either way, and only offer this suggestion for
 >> consideration.
 >
 >

-- 
Regards,
Charlie P.