Subject: Time To Live

From: Jeff Parker <[email-masked]>
Date: Tue, 18 Nov 2003 16:56:35 -0500

I tried to ask this question yesterday, but it got caught up in other
issues.

There are now at least two versions of the Graceful Restart TLV today:
	Classic, with 1 byte flag and 2 bytes of TTL
	Directed RA, with the flag set to RA and 6 bytes of system ID.

Is the one byte version (w/ non-RA flag) valid as well?  

The examples I see in nature are all 3 byte, even in the flag byte is clear.

- jeff parker

---

From: Les Ginsberg <[email-masked]>
Date: Tue, 18 Nov 2003 17:22:13 -0800

>The examples I see in nature are all 3 byte, even in the flag byte is clear.

V5 of the draft says:

         Length # of octets in the value field (1 to (3 + ID Length))

So the 1 byte version is valid if RA is clear.
Given that the remaining time(TTL) field is only of interest when RA is 
set, it doesn't matter if an implementation based on earlier versions of 
the draft sends a 3 byte version with RA clear. The only interoperability 
problems that I foresee with implementations based on older versions of the 
draft are if the older versions are doing length validation and always 
expect the length to be 3. I would hope this will not be an issue because 
even in V3 of the draft we said:

       Remaining Time (2 octets)
                Remaining holding time (in seconds)
                (note: only required when RA bit is set)

We didn't like changing the format of the TLV in V4 - but saw no 
alternative. However, we did provide a way for backwards compatibility - 
but it does require that pre-V4 versions accept TLVs that have lengths 
other than 3.

    Les