[Last-Call] Rtgdir last call review of draft-ietf-lsr-multi-tlv-08

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewer: Adrian Farrel
Review result: Has Nits

Reviewer: Adrian Farrel
Document: draft-ietf-lsr-multi-tlv-08
Review result: Ready

Hi,

The Responsible AD has requested a further Routing Area Directorate
review during IETF Last Call. I am the designated reviewer.

This document addresses the challenge of IS-IS TLVs exceeding the 255
octet limit. It describes an existing deployed mechanism for using 
multiple TLVs to carry the content of the over-large TLVs.

The draft is well written and easy to understand from the perspective of
someone more familiar with IS-IS.  There are fewer than 10 pages of 
substance in this draft, the remainder being tables of codepoints, 
references, and boilerplate.

There are, of course, some nits, but I believe the draft is ready to
progress. Resolving the nits is not essential but would, I think,
improve the utility of the document, while nothing technical changes.

Adrian

===

= Nits =

It may be helpful (although obvious?) to add to the Abstract and 
Introduction *why* this document codifies a common mechanism. Clearly,
a number of existing implementations already do this and don't need any 
further guidance.

The answer (of course) is to allow future implementations to 
interoperate and to make it clear what is happening when these multiple
TLVs are seen in the field.

---

Introduction

   Some TLV definitions have addressed this by explicitly stating that a
   TLV may appear multiple times inside of an LSP. 

A reference or two would be nice (but not essential as you explicitly 
list them later).

---

Introduction

   The intent of this document is to clarify and codify the situation by
   explicitly making multiple occurences of a TLV the mechanism for
   scaling TLV contents, except where otherwise explicitly stated.

The last clause is ambiguous. Otherwise stated in this document, or in
other documents?

---

Introduction

   As of this writing, the
   authors are aware of the following TLVs that fall into this category:

This text doesn't age well. I would suggest cutting it to:
   The following TLVs fall into this category:

---

3.1

The RFC editor will ask you to expand BFD, MTID, and NLPID on first use.

---

3.1

It is not clear from reading this document whether you are describing
the previously defined behaviour for type 148. RFC 6213 is not in the 
list in section 1, so we might assume that you are describing what this
document delivers. But the text is very definitive as though the 
mechanism already exists.

Perhaps:
OLD                                                                   
   If more than 255 octets is required to advertise all of
   the MTID/NLPID pairs, multiple BFD-Enabled TLVs would be required.
NEW`
   If more than 255 octets is required to advertise all of
   the MTID/NLPID pairs, they cannot be carried in a single TLV, but 
   using the mechanism described in this document, multiple BFD-Enabled
   TLVs can be present.
END

---

4.

The RFC editor will ask you to expand IIH on first use.

---

4.

Pedantically...
OLD
   In the absence of MP-TLV support, when a router receives an MP-TLV,
   it treats the TLVs as replacements for each other i.e., the receiver
   chooses which TLV will be processed and which TLV will be ignored.
NEW
   In the absence of MP-TLV support, as specified in [ISO10589], when a
   router receives an MP-TLV, it treats one of the TLVs as a replacement
   for the others, i.e., the receiver chooses which TLV will be 
   processed and which TLVs will be ignored.
END

---

4.

   In the presence of MP-TLV support, when a router receives an MP-TLV,
   it treats the TLVs as complementary i.e., information from all the
   TLVs is processed.

But the previous paragraph says that there is a legitimate case where
either a sender makes an error by including multiple versions of a TLV
or in the case of transmitting a TLV from one LSP to another. These 
legitimate cases now run into the MP-TLV handling and must be resolved.

I think the duplication is covered by the concatenation processing 
rules. That is, after concatenation of accidental/erroneous duplicate
TLVs it will be discovered that the TLV contains duplicate sub-TLVs
and so it will be declared malformed and discarded. As with other
points in this review, it is sort-of OK that everything can be worked
out like this, but it would be much nicer if the spec was explicit.

---

5.
   When processing MP-TLVs, implementations MUST NOT impose a minimum
   length check.
The next text gives context to this (i.e., do not require that all bar
one TLV in an MP-TLV set have length 255), this text is ambiguous 
because it appears to say that a TLV with length 0 should be allowed.
Is it?
Further, surely the length must be large enough that the key (if
applicable) is present.
Perhaps, given the subsequent text, this sentence is not needed?

---

5.

   The contents of a multi-part TLV MUST be processed as if they were
   concatenated. 

This is probably the most important sentence in the document!
Combined with:
...and...
   If the internals of the TLV contain key information,
   then replication of the key information MUST be taken to indicate
   that subsequent data MUST be processed as if the subsequent data were
   concatenated after a single copy of the key information.
...we can deduce a lot.
1. Information place in component TLVs must be present such that the
   concatenation may be done in any order. That is, you can't just fill
   up the 255 bytes and then start a new TLV.
2. If a TLV has a fixed part (which may contain a key) it must be 
   present in each component TLV such that the component TLV is
   correctly composed in its own right.

I looked for this guidance in 8.2, but did not find it. While the text
is acceptable as it stands (after all, this can be worked out) it would
not hurt to make it clear by calling out these points explicitly either
in 5 or 8.2.

---

5.

   It is also possible that information which is not part of the fixed
   part of a TLV can be duplicated e.g., the same sub-TLV could appear
   multiple times whether within the same TLV or in different parts of
   an MP-TLV.  This is also an error.

Surely append "unless the TLV's base definition allows multiple sub-TLVs
of the same type to be present." ?

---

5.

   Specifying how to handle such cases is the responsibility of the
   document which defines the TLV.  If such a document is not explicit
   in how to handle such cases, it is RECOMMENDED that the first
   occurrence in the lowest numbered LSP be used.  In the case of IIHs,
   it is RECOMMENDED that the first occurrence in the IIH be used.

This seems broken (although the intent is clear).
Since MP-TLV is intended to be applicable to TLVs that are already
defined, it seems impossible that the documents that defined them can
describe how to handle this situation. They should, of course, already
cover how to handle duplicate TLVs and duplicate sub-TLVs within a 
single TLV.

---

You have "Multi-part TLV" and "Multi-Part TLV". Pick one.
But you also seem to interchange "MP-TLV" and "Multi-part TLV".

---

7.

   Nodes which support MP-TLV for codepoints for which existing
   specifications do not explicitly define such support, but for which
   MP-TLV is applicable, SHOULD include this sub-TLV in a Router
   Capability TLV.

Not clear why this is not a MUST. I don't think it needs to be, but an
implementation might need help to understand why it MAY do otherwise.
But later you say "it is only for information" which is a good enough
reason to leave it out.

And so you could...
OLD
   As an aid to network operators, a new sub-TLV of the IS-IS Router
   CAPABILITY TLV [RFC7981] is defined:
NEW
   As an aid to network operators when diagnosing such situations, a new
   sub-TLV of the IS-IS Router CAPABILITY TLV [RFC7981] is defined:
END


-- 
last-call mailing list -- last-call@xxxxxxxx
To unsubscribe send an email to last-call-leave@xxxxxxxx




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux