Subject: [Isis-wg] RE: Encoding of TE Sub-TLVs

From: Jeff Parker <[email-masked]>
Date: Wed, 3 Jan 2001 09:59:36 -0500

Tony, Henk -

	This is offered to try to make the draft 
unambiguous to implement.  You do refer to the values
as "sub-TLV" throughout.  However, there have been 
enough questions about the need for L in TLV on this and
other lists recently that it would be good to remove doubt.

This draft is being cited by a number of other drafts, so
the effort to make it clear is worthwhile.  

In section in 4.0

   The proposed extended IP reachability TLV contains a new data
   structure, consisting of:
        4 bytes of metric information
        1 byte of control information, consisting of
             1 bit of up/down information
             1 bit indicating the existence of sub-TLVs
             6 bits of prefix length
        0-4 bytes of IPv4 prefix
        0-250 optional octets of sub-TVLs, if present consisting of
             1 octet of length of sub-TLVs
             0-249 octets of sub-TLVs

you could replace the last line with

		 0-249 octets of sub-TLVs, consisting of
			a sequence of
				1 octet of sub-type
				1 octet of length
				1-247 octets of value

and the phrase in section 5.0

   The proposed extended IS reachability TLV contains a new data
   structure, consisting of
        7 octets of system Id and pseudonode number
        3 octets of default metric
        1 octet of length of sub-TLVs
        0-244 octets of sub-TLVs

could be extended by

        0-244 octets of sub-TLVs, consisting of
		a sequence of
			1 octet of sub-type
			1 octet of length
			1-242 octets of value

An example would help: either before section 4.0
or in a final section.  

   For example, the sequence of 41 octets below

	0x16 0x27
		0xAAAA AAAA AAAA 00	0x00000A	0x06	0x03 0x04
0x01020304
		0xBBBB BBBB BBBB 00	0x00000A	0x00
		0xCCCC CCCC CCCC 00	0x00000A	0x00

   is a TLV which describes three IS-IS neighbors.  The first of these has 
   an administrative color, defined by subtype 3, which consists of 4 octets

   of information.

Someone could make the case that this is not prescriptive enough:
it simply describes what should be done in a couple of cases.  Such
a person could argue for a special section describing the rules for 
a sub-TLV.  

- jeff parker
	
> Not doing a TLV is unthinkable, as that would completely 
> break the spirit
> of the IS-IS design.
> 
> If you would like to propose text, that's fine.  It's 
> probably best to give
> it to Henk as he has a bit more spare time than I do at present.
> 
>  | All of the examples given are fixed length, allowing an unwary 
>  | implementor to imagine that they might be implemented as TV's 
>  | rather than TLVs (that is, one is at risk of imagining that 
>  | the length could be omitted).  I can propose text to the list, 
>  | but won't do so if this has been described someplace.    
>  | 
>  | - jeff parker
>  | - axiowave networks
> 
_______________________________________________
Isis-wg mailing list  -  [email-masked]
http://external.juniper.net/mailman/listinfo/isis-wg

---

From: Radia Perlman - Boston Center for Networking <[email-masked]>
Date: Wed, 3 Jan 2001 13:14:12 -0500 (EST)

Jeff's encodings look fine to me. I'm pleased to see "7" for
"system Id and pseudonode number" rather than "ID length + 1 byte".
Has anyone considered getting rid of the kludge about variable
length system IDs, and just saying they are 6? It would
somewhat simplify the IS-IS spec. The alternative is to
change Jeff's encoding to "ID length+1".

Radia

---

From: Jeff Parker <[email-masked]>
Date: Wed, 3 Jan 2001 13:49:53 -0500

> change Jeff's encoding to "ID length+1".

Radia -
	Thanks for the credit, but Tony and Henk
used that language in the original draft.  

	What I think you are asking for is agrement
that System ID has length 6, and a term
that we could define to be the 7 byte quantity above.
Something like "Virtual System ID", but without
all the baggage Virtual suggests.  Using Pseudo in
the name is also bad, as it would suggest that it 
does not apply to real router IDs.  Some suggestions  

	System Descriptor
	OSI Router ID
	Universal Name (Universal Identifier?)
	Vertex Identifier (Vertex Name? Universal Vertex Name?)
	Universal Forwarding OID (UFO)
	...

Then we could talk about the "System Descriptor length"
rather than having to say "System ID Length + 1".  

- jeff parker

---

From: Jeff Parker <[email-masked]>
Date: Wed, 3 Jan 2001 15:00:11 -0500

> Actually, in my note I was talking about how the system ID specified
> in DECnet Phase V as 6 bytes got changed
> by ISO to be variable length, 

The current MIB retains this tradition.  

       SystemID ::= TEXTUAL-CONVENTION
           STATUS       current
           DESCRIPTION
              "A system ID."
         SYNTAX            OCTET STRING (SIZE(0..8))

I will add changing this to fixed length 
of 6 to my todo list.  You can try to 
badger everyone else now.  

- jeff parker

---

From: Jeff Parker <[email-masked]>
Date: Wed, 3 Jan 2001 17:11:50 -0500

> >it would be VERY BAD if we suggested that the "7
> >byte thingie" was an identifier for the system 
> >
> >The 7th byte is officially the "pseudonodeID" 
> >
> >  Les

> That's why "vertex ID" is so appealing.  What the heck is a vertex?
> Well ... it's the thing identified by a vertex ID, of course!
> 
> Jeff

I confess that "Vertex ID" is my favorite of the bunch.  
After all, it is a valid vertex in the SPF calculation.

- jdp