Subject: [manet] Dymo - judging routing information

From: Henner Jakob <[email-masked]>
Date: Wed, 14 Feb 2007 12:36:06 +0100

Hello,

my question concerns the DYMO protocol and it's check if it should modify a route entry.
I am working on a java implementation of dymo for the Java in Simulation Time(JiST) environment.
So far I have implemented that nodes create route entries when they receive a route request
or a route reply. No additional info is appended to those messages nor used to create route
entries.
For checking if new routing information is superior I use the logic in the draft (page 15).
The last line says the new info is superior if the new hop count is equal or less than the
known hop count and that the known route must be valid. In my example below this leads to using a
route with a lower sequence number and equal hops. I am not sure if that was intended or if I
misunderstood something.

In my example, node 20 wants to send data to node 1.
The following routes are discovered:
20->19->18->17->16->11->06->01  (sequencenumber of originator node 20 is 2)
20->15->10->09->08->07->02->01  (sequencenumber of originator node 20 is 2)
After node 01 receives the first route request, it increases its sequencenumber to 2
and sends a route reply.
Then it receives the 2nd route request (which is superior, Node.HopCnt(7) < RouteHopCnt +1 (8) AND
Route.Broken(false) == false), increases its sequencenumber to 3 and sends another rrep.
In my simulation, the 2nd rrep arrives first at node 20, which creates a route entry towards node 01
with following info:
 routeAddr: 0.0.0.1
 routeNextHopAddr: 0.0.0.15
 routeSeqNum: 3
 routeHopCnt: 7
Then the 2nd route reply is received with following info:
 nodeAddr: 0.0.0.1
 IPsource: 0.0.0.20
 nodeSeqNum: 2
 nodeHopCnt: 7
Due to the fact that the existing route is not broken and that the hop count for both routes are equal,
the route entry is updated with the 'new' information, which results in a route entry with a lower sequence
number.
Should it be this way? Maybe I made a mistake somewhere else in my code.

Thanks for your help.
sincerly,
Henner Jakob

Example of simulation setup. A line marks a bidirectional link between two nodes.
 05 - 04 - 03 - 02 - 01
 |    |    |    |    |
 10 - 09 - 08 - 07 - 06
 |    |    |    |    |
 15 - 14 - 13 - 12 - 11
 |    |    |    |    |
 20 - 19 - 18 - 17 - 16
 |    |    |    |    |
 25 - 24 - 23 - 22 - 21

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

---

From: "Ian Chakeres" <[email-masked]>
Date: Wed, 14 Feb 2007 08:14:41 -0800

A higher sequence number is always superior. Therefore the "first"
rrep issued (seq num 7), but second received rrep, will be
disregarded. As the seq num 7 information is considered stale.

Please see the most recent text. I think it is clear there.

http://ianchak.com/dymo/draft-ietf-manet-dymo-07.html#test

As you mentioned, in the case of comparing messages with equal
sequence numbers the conditions are more complex.

Ian Chakeres