Subject: Re: RFC 2961 - detectoin of out-of-order msg

From: Martin Karsten <[email-masked]>
Date: Mon, 6 Aug 2001 17:54:15 +0200 (CEST)

Unfortunately, I don't have the original mail from Mark available (the mail
archive doesn't seem to exist for 2001?), but as far as I understand, in the
following algorithm in RFC 2961

       if ((int) old_id - (int) new_id > 0) {
          new value is less than old value;
       }

'old_id' does not refer to the previous id for this particular state
information, but to the previous id received from the particular sending hop
(i.e. across all state information).

I've been puzzled by the wording in the paragraph a lot, but with the above
interpretation, it seems to make sense to me.

Greetings,
Martin

> > Hi,
> > 
> > RFC 2961 describes a mechanism to detect out-of-order messages for a
> > particular state (Please see the quote below). I am not sure the mechanism
> > works all the time. The test should work if the new number does not wrap
> > around too far. However, since the message ID is per generator's IP address,
> > it could be sent to multiple receivers; and there could be numbers of
> > connections/states on each receiver. In this case, if a particular state
> > does not experience any change of state for a substantial long period of
> > time, the next state change could result in the receiver getting a trigger
> > message with a message ID that wraps around far enough so that the test will
> > fail (e.g. let's say old id is 0x8fffffff, the new value is 0x00000002, the
> > test fails)
> > 
> > Please correct me if I am wrong.
> > 
> 
> Mark,
> 
> One solution is that when the message id becomes too big, the router
> simply changes the epoch value, and start to send the id from a low
> number again. In this case, if you use the Ack-extension only, the
> receiving node will simply update the states to the new id's in the next
> refresh cycle. If you use the summary-refresh extension, the receiving
> node will nack the summary-refresh messages due to epoch change. The
> sending node will have to reply a bunch of messages to sync up the id's.
> 
> I know the RFC said something like epoch value should not change unless
> the router has restarted.... Well, the router does restart the message
> id now. :-)
> 
> - Ping
> 
> > Thanks in advance.
> > 
> > Mark
> >
>

---

From: Ping Pan <[email-masked]>
Date: Tue, 7 Aug 2001 02:32:49 -0700 (PDT)

> (i.e. across all state information).

Exactly.

> interpretation, it seems to make sense to me.

Well, if you find more problems, let's talk. :-)

- Ping