Subject: [Manet-dt] DYMO Routing Information Freshness Check

From: "Ian Chakeres" <[email-masked]>
Date: Sat, 24 Jun 2006 10:01:07 -0700

In DYMO when a RREQ/RREP is received a node needs to check whether the
information is fresh. In the soon to be released new version I have
revised the description of the process (and categories) for routing
information freshness.

I would like you comments before submitting the ID. Please let me know
if you suggest any changes.

Thanks.
Ian

5.2.1.  Judging New Routing Information's Usefulness

   Given a routing table entry (Route.SeqNum, Route.HopCnt, and
   Route.ValidTimeout) and new routing information for a particular node
   in a RM (Node.SeqNum, Node.HopCnt, and RM message type - RREQ/RREP),
   the quality of the new routing information is evaluated to determine
   its usefulness.  The following comparisons are performed in order:

   1. Stale
      If Node.SeqNum - Route.SeqNum > 0 (using signed 16-bit arithmetic)
      the information is stale.  Using stale routing information is not
      allowed, since doing so might result in routing loops.

   2. Loop-prone
      If Node.SeqNum = Route.SeqNum the information maybe loop-prone,
      additional information must be examined.  If Route.HopCnt is
      unknown or set to zero (0), then the routing information is loop-
      prone.  Likewise, if Node.HopCnt is unknown or set to zero (0),
      then the routing information is loop-prone.  If Node.HopCnt >
      Route.HopCnt + 1, then the routing information is loop-prone.
      Using loop-prone routing information is not allowed, since doing
      so might result in routing loops.

   3. Inferior
      If Node.SeqNum == Route.SeqNum the information may be inferior,
      additional information must be examined.  If the route is valid
      (by examining Route.ValidTimeout and the current time), then the
      new information is inferior if Node.HopCnt > Route.HopCnt.
      Additionally, if the route is valid, then the new information is
      inferior if Node.HopCnt == Route.HopCnt and the Message containing
      the new information is a RREQ.

   4. Fresh
      Routing information that does not match any of the above criteria
      is loop-free and better than the information existing in the
      routing table.  This information should be used to update the
      routing table.

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

---

From: "Koojana Kuladinithi" <[email-masked]>
Date: Sun, 25 Jun 2006 14:01:33 +0200

Hi Ian

Statement 1 abt Stale is wrong. Isn't it "Node.SeqNum - Route.SeqNum" <
0 ??

Staement 2 abt Loop prone -> "If Node.HopCnt > Route.HopCnt + 1, then
the routing information is loop-prone" should valid only for invalid
routes????

Kind regards

Koojana

> -----Original Message-----
> From: Ian Chakeres [mailto:[email-masked]] 
> Sent: 24 June 2006 19:01
> To: [email-masked]
> Subject: [Manet-dt] DYMO Routing Information Freshness Check
> 
> 
> In DYMO when a RREQ/RREP is received a node needs to check 
> whether the information is fresh. In the soon to be released 
> new version I have revised the description of the process 
> (and categories) for routing information freshness.
> 
> I would like you comments before submitting the ID. Please 
> let me know if you suggest any changes.
> 
> Thanks.
> Ian
> 
> [email-masked] https://www1.ietf.org/mailman/listinfo/manet-dt
>

---

From: "Ian Chakeres" <[email-masked]>
Date: Sun, 25 Jun 2006 12:07:14 -0700

Thanks Koojana. I made a mistake when switching > to &lt; in the xml.

Ian

---

From: "Ian Chakeres" <[email-masked]>
Date: Sun, 25 Jun 2006 13:15:30 -0700

About the second part of your email. I've revised that area
(inferior). Here is the new text. This allows Node.SeqNum ==
Route.SeqNum+1 if the route is invalid. It also allows Node.SeqNum ==
Route.SeqNum if the message is a RREP. I might be missing a case,
please give it a read and let me have your comments.

Thanks.
Ian

   1. Stale
      If Node.SeqNum - Route.SeqNum < 0 (using signed 16-bit arithmetic)
      the information is stale.  Using stale routing information is not
      allowed, since doing so might result in routing loops.

   2. Loop-prone
      If Node.SeqNum == Route.SeqNum the information maybe loop-prone,

   3. Inferior
      If Node.SeqNum == Route.SeqNum the information may be inferior,
      additional information must be examined.  If the route is valid
      (by examining Route.ValidTimeout and the current time), then the
      new information is inferior if Node.HopCnt > Route.HopCnt.  If the
      route is valid, then the new information is also inferior if
      Node.HopCnt == Route.HopCnt AND this RM is a RREQ.

   4. Fresh

---

From: "Koojana Kuladinithi" <[email-masked]>
Date: Mon, 26 Jun 2006 17:58:55 +0200

Hi Ian,

Under the Node.SeqNum == Route.SeqNum condition, you now assume that RM
information is loop prone, if If Node.HopCnt >
      Route.HopCnt + 1,.

In the earlier version, you have checked the above condition when
comparing only with invalid routes. Now, you are doing it for both valid
& invalid route info. Is there any reason that you have changed this?

Koojana 

> Sent: 25 June 2006 22:16
> To: Koojana Kuladinithi
> Cc: [email-masked]
> Subject: Re: [Manet-dt] DYMO Routing Information Freshness Check
> 
> 
> Route.SeqNum+1 if the route is invalid. It also allows 
> Node.SeqNum == Route.SeqNum if the message is a RREP. I might 
> be missing a case, please give it a read and let me have your 
> comments.
> 
> Thanks.
> Ian
>

---

From: "Ian Chakeres" <[email-masked]>
Date: Mon, 26 Jun 2006 09:08:36 -0700

In the previous version since comparison with a valid routing entry is
even more strict (Node.HopCnt > Route.HopCnt), the statement was not
required.

This version makes it very explicit which information is stale,
loop-prone, inferior (but still loop-free) and fresh.

Ian