Subject: Re: [Lsr] AD Review of draft-ietf-isis-te-app-09

From: "Les Ginsberg (ginsberg)" <[email-masked]>
Date: Fri, 7 Feb 2020 06:50:52 +0000

Alvaro -

Thanx for your patience.
We have published V10 of the draft addressing your comments.

Note that the authors of the IS-IS and OSPF drafts are "synchronizing" as there is a lot of similarity in your comments regarding the two drafts. We have decided to close all issues with you for the IS-IS draft first - then hopefully the equivalent changes can be made for the OSPF draft can be made and resolved more quickly.

Detailed responses inline.

> -----Original Message-----
> From: Alvaro Retana <[email-masked]>
> Sent: Thursday, January 09, 2020 9:17 AM
> To: [email-masked]
> Cc: Acee Lindem (acee) <[email-masked]>; [email-masked]; [email-masked]
> Subject: AD Review of draft-ietf-isis-te-app-09
> 
> Dear Authors:
> 
> Happy New Year!
> 
> I have finished reading this document, reviewing the e-mail archive
> and all the various reviews and comments.  Quoting one of the authors,
> "it is essential that the two IGPs provide equivalent functionality"
> [1] -- so I have considered draft-ietf-ospf-te-link-attr-reuse-10 in
> parallel with this one (I'm sending out a separate yet very similar
> review for it).
> 
> In general, I think both drafts need some work.  When appropriate, I
> have used "[c]" to highlight comparisons.  I tried to put equivalent
> comments in both documents, but may have missed a few...
> 
> I have some significant concerns (see details inline) about this
> document -- and as a result about the OSPF draft.  I want to point out
> a couple of them here:
> 
> (A) Deployment Considerations
> 
> This document contains what I would characterize as a "distributed"
> Deployment Considerations section through §5, §6 and §7.  There is a
> lot of content, but I still made some comments in-line about other
> important information.  Please consider consolidating all the
> deployment-related information in one place.  rfc5706 (specially §2)
> may be useful, please take a look.
> 
> 
[Les:] This comment covers three sections:

5.  Deployment Considerations 
6.  Attribute Advertisements and Enablement 
7.  Interoperability, Backwards Compatibility and Migration
       Concerns

Of these I think 5 and 7 have been combined and fall under the heading of "Deployment Considerations".
Section 6 is discussing a particular aspect of the protocol extensions - what the advertisement of link attributes associated with a particular applications says about the state of that application on that link. This isn't a deployment consideration and has been retained as a separate section.

> (B) I was able to identify one significant functional difference which
> warrants a discussion of the reason for it and maybe the pros/cons:
> 
>    §4.1 talks about the behavior when "both SABM Length and UDABM Length
> are
>    zero".  This document makes the use of the attributes optional while the
>    OSPF draft mandates their use (§3).
> 
[Les:] Both drafts use the word "MAY" in the respective sections entitled
"Use of Zero Length Application Identifier Bit Masks".

"MAY" - or perhaps "may" - makes sense to me because in the absence of SABM
bits there is no way to know if a given application will have any reason to use 
the attributes advertised. The text is intended to say use by any application
is "permitted".  I have changed the text in this way.

> 
> I will wait for this review to be addressed before moving both
> documents forward together.
> 
> Thanks!
> 
> Alvaro.
> 
> [1]
> https://mailarchive.ietf.org/arch/msg/ospf/7zkoaLfUe19JxTOWaKWO51wK9
> gg
> 
> 
> [Line numbers from idnits.]
> 
> 
> idnits 2.16.02
> 
> ...
> 16	Abstract
> 
> 18	   Existing traffic engineering related link attribute advertisements
> 19	   have been defined and are used in RSVP-TE deployments.  Since
> the
> 20	   original RSVP-TE use case was defined, additional applications (e.g.,
> 21	   SRTE, LFA) have been defined which also make use of the link
> 22	   attribute advertisements.  In cases where multiple applications wish
> 23	   to make use of these link attributes the current advertisements do
> 24	   not support application specific values for a given attribute nor do
> 25	   they support indication of which applications are using the
> 26	   advertised value for a given link.
> 
> [minor] Expand SRTE and LFA.
> 
[Les:] DONE

> 28	   This draft introduces new link attribute advertisements which
> address
> 29	   both of these shortcomings.  It also discusses backwards
> 30	   compatibility issues and how to minimize duplicate advertisements
> in
> 31	   the presence of routers which do not support the extensions
> defined
> 32	   in this document.
> 
> [nit] s/draft/document
> 
> [c] The OSPF abstract is more general, while this one provides more
> specifics...
> 
[Les:] I have shortened the abstract - though the text is still somewhat different than the OSPF draft because in IS-IS we provide a way to migrate RSVP-TE to the new advertisements whereas in OSPF the recommendation is NOT to migrate OSPF-TE. This difference exists largely because in IS-IS we are more sensitive to the total amount of space advertisements consume.

> 
> ...
> 107	1.  Introduction
> 
> 109	   Advertisement of link attributes by the Intermediate-System-to-
> 110	   Intermediate-System (IS-IS) protocol in support of traffic
> 111	   engineering (TE) was introduced by [RFC5305] and extended by
> 112	   [RFC5307], [RFC6119], and [RFC8570].  Use of these extensions has
> 113	   been associated with deployments supporting Traffic Engineering
> over
> 114	   Multiprotocol Label Switching (MPLS) in the presence of Resource
> 115	   Reservation Protocol (RSVP) - more succinctly referred to as RSVP-
> TE.
> 
> [nit] s/presence of Resource/presence of the Resource
> 
[Les:] Done.

> [minor] Please add a reference for RSVP-TE.
> 
[Les:] Done.

> 117	   In recent years new applications have been introduced which have
> use
> 118	   cases for many of the link attributes historically used by RSVP-TE.
> 119	   Such applications include Segment Routing Traffic Engineering
> (SRTE)
> 120	   and Loop Free Alternates (LFA).  This has introduced ambiguity in
> 121	   that if a deployment includes a mix of RSVP-TE support and SRTE
> 122	   support (for example) it is not possible to unambiguously indicate
> 123	   which advertisements are to be used by RSVP-TE and which
> 124	   advertisements are to be used by SRTE.  If the topologies are fully
> 125	   congruent this may not be an issue, but any incongruence leads to
> 126	   ambiguity.
> 
> [minor] What is an application?  From the examples above I think I can
> tell the difference between an "application", as used in this
> document, and an "application" as what the ART area does: "The ART
> area develops application protocols and architectures in the IETF."
> [1] Please define what an application is in the context of this
> document.
> 
[Les:] Done.

> [1] https://datatracker.ietf.org/group/art/about/
> 
> [minor] Add references for SRTE and LFA...and any use
> cases/requirements that support the need (or a forward reference to
> §2, for this last point).  All Informational.
> 
> 
> ...
> 177	3.  Legacy Advertisements
> 
> 179	   There are existing advertisements used in support of RSVP-
> TE.  These
> 180	   advertisements include sub-TLVs for TLVs 22, 23, 25, 141, 222, and
> 181	   223 and TLVs for SRLG advertisement.
> 
> [minor] Expand SRLG on first use.
> 
[Les:] Done.

> [minor] Please add references to where all the values in this section
> are defined...if the same as the references above.
> 
[Les:] Done.

> 183	3.1.  Legacy sub-TLVs
> 184	   Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223
> 
> 186	   Code Point/Attribute Name
> 187	   --------------------------
> 188	    3 Administrative group (color)
> 189	    9 Maximum link bandwidth
> 190	   10 Maximum reservable link bandwidth
> 191	   11 Unreserved bandwidth
> 192	   14 Extended Administrative Group
> 193	   18 TE Default Metric
> 194	   33 Unidirectional Link Delay
> 195	   34 Min/Max Unidirectional Link Delay
> 196	   35 Unidirectional Delay Variation
> 197	   36 Unidirectional Link Loss
> 198	   37 Unidirectional Residual Bandwidth
> 199	   38 Unidirectional Available Bandwidth
> 200	   39 Unidirectional Utilized Bandwidth
> 
> [nit] To be consistent with the registry, rename the headings to Type
> and Description.
> 
[Les:] Done.

> [nit] A Table could be nice.

[Les:] Done.

> 
> 
> ...
> 231	4.1.  Application Identifier Bit Mask
> 
> 233	   Identification of the set of applications associated with link
> 234	   attribute advertisements utilizes two bit masks.  One bit mask is for
> 235	   standard applications where the definition of each bit is defined in
> 236	   a new IANA controlled registry.  A second bit mask is for non-
> 237	   standard User Defined Applications(UDAs).
> 
> [nit] s/Applications(UDAs)/Applications (UDAs)
> 
[Les:] Done.

> [minor] Include a forward reference to the IANA Considerations.
> 
[Les:] I have decided not to do this. I don't think it is needed and I don't
see it as clarifying. This applies to the other cases where you suggested this as well.

> [minor] "second bit mask is for non-standard User Defined
> Applications"  The explicit point is made here that the UDAs are used
> for *non-standard* applications.  Given that these bits are for *user
> defined* applications, the user can make the bits mean anything they
> want (including SRTE, LFA, etc.), right?  If so, then highlighting
> *non-standard* seems not to be needed.   s/for non-standard User
> Defined Applications/for User Defined Applications
> 
[Les:] In theory it is possible for a User Defined Application to perform the same functions as a standard application (such as SRTE). However, if it did so it
would not be "Standard SRTE" and the bit could NOT be considered as the same as
"standard SRTE".

> [c] The OSPF draft doesn't make the same emphasis.
> 
[Les:] The OSPF draft does not have the equivalent paragraph - maybe it should. But I do not see anything incorrect in the current text.
> 
> ...
> 262	      L-flag: When set, applications listed (both Standard
> 263	       and User Defined) MUST use the legacy advertisements
> 264	       for the corresponding link found in TLVs 22, 23,
> 265	       25, 141, 222, and 223 or TLV 138 or TLV 139 as
> 266	       appropriate.
> 
> [major] The corollary seems to be that if the L-flag is not set then
> the applications MUST (?) use the Application Specific Link Attributes
> sub-TLV.  Is that correct?  Please be specific.
> 
[Les:] I have removed this text and referenced the next Section 4.2 which
contains a more complete description of how the content of the sub-TLV
is used.

> [major] In a mixed network, where some routers support this
> specification, but other don't, it seems that setting the L-flag would
> be useful as all applications would "fall back" to the legacy
> advertisements.  However, not setting the L-flag seems to have the
> potential for the routers to use different information resulting in
> (at best) inconsistent decisions if the values are not the same.
> 
[Les:] The revised Deployment considerations section now addresses this.

> [minor] I think that some of the issues related to whether all nodes
> support something or not is an operational/deployment consideration;
> it should be made clear (in the Deployment Considerations section)
> what the requirements are inside a domain.  I would think that the
> support requirements change depending on the deployment model -- what
> are the assumptions?
> 
[Les:] The revised Deployment considerations section now addresses this.

> 268	      SABM Length: Indicates the length in octets (0-127) of the
> 269	       Bit Mask for Standard Applications.
> 
> [minor] s/Bit Mask for Standard Applications/Standard Application
> Identifier Bit Mask
> 
[Les:] Done.

> 
> ...
> 283	      UDABM Length: Indicates the length in octets (0-127) of the
> 284	       Bit Mask for User Defined Applications.
> 
> [minor] s/Bit Mask for User Defined Applications/User Defined
> Application Identifier Bit Mask
> 
[Les:] Done.

> 286	   SABM  (variable length)
> 287	      Standard Application Identifier Bit Mask
> 
> 289	      (SABM Length * 8) bits
> 
> 291	      This is omitted if SABM Length is 0.
> 
> [nit] s/This is omitted/This field is omitted/g
> 
[Les:] Done

> 
> ...
> 303	         F-bit: Set to specify Loop Free Alternate (LFA)
> 304	          (includes all LFA types)
> 
> [just wondering] Given that we're trying to future-proof...  Can there
> be cases where the link attributes for "normal" LFA, vs Remote LFA
> (for example) might need to be different?  Considering that part of
> the justification for this work is the need to potentially advertise
> different attributes per application, and given that the question
> "what is meant by LFA?" came up more than once on the mailing list, I
> guess the answer might be yes (at least for some use cases).  Knowing
> that the user has their own bits to play with, I'm sure they can
> accommodate if the need comes up.   Just thinking out loud...
> 
[Les:] I don't see the need - but if it arises a new application bit
can be defined.

> 306	    UDABM  (variable length)
> 307	      User Defined Application Identifier Bit Mask
> 
> 309	      (UDABM Length * 8) bits
> 
> 311	             0 1 2 3 4 5 6 7 ...
> 312	            +-+-+-+-+-+-+-+-+...
> 313	            |                ...
> 314	            +-+-+-+-+-+-+-+-+...
> 
> 316	      This is omitted if UDABM Length is 0.
> 
> 318	   NOTE: If both SABM Length and UDABM Length are zero, then the
> 319	   attributes associated with this Attribute Identifier Bit Mask
> 320	   MAY be used by any Standard Application and any User Defined
> 321	   Application.
> 
> [major] This is what happens today: any application can use the
> attributes, but they don't have to, right?  I think that the MAY
> (Normative) is not needed because it is not really specifying a
> behavior that requires interoperability...but it is just mentioning a
> fact.  s/MAY/may
> 
[Les:] As per earlier response, I have changed this to use "permitted".
This will (hopefully) avoid anyone thinking that "may" should have been "MAY".

> [major] [c] The OSPF draft makes it mandatory for all applications to
> use the attributes when no bits are set while this document makes it
> optional.  I think this is a significant functional difference.
>
[Les:] Answered above.

> [minor] The same behavior is specified (again!) in §5.2; please
> specify it only once.
> 
[Les:] Section 5.2 is the winner.

> 323	   Standard Application Identifier Bits are defined/sent starting with
> 324	   Bit 0.  Additional bit definitions that may be defined in the future
> 325	   SHOULD be assigned in ascending bit order so as to minimize the
> 326	   number of octets that will need to be transmitted.  Undefined bits
> 327	   MUST be transmitted as 0 and MUST be ignored on receipt.  Bits
> that
> 328	   are NOT transmitted MUST be treated as if they are set to 0 on
> 329	   receipt.
> 
> [major] "Additional bit definitions that may be defined in the future
> SHOULD be assigned in ascending bit order so as to minimize the number
> of octets that will need to be transmitted."  This statement about
> assignment belongs in the IANA Consideration section as part of the
> instructions to IANA on how to manage the space.
> 
[Les:] Done.

> [major] When would it be ok for IANA not to assign the values in
> order?  IOW, why is that a SHOULD and not a MUST?
> 
[Les:] The most likely case (which isn't very likely) is that the designated
experts are aware of some currently non-standardized use of a bit which they
anticipate will be submitted to the WG for standardization and they are
"nice people" and temporarily skip a bit.
But do you REALLY think this is a MAJOR concern?

> [minor] Given the intent to minimize the transmissions, should there
> be a statement standardizing that behavior?  I'm thinking of something
> like: "In order to minimize the number of octets transmitted, the
> sender SHOULD transmit only the minimum necessary amount of
> information..."  IOW, the assignment policy, and the ability to
> advertise the *ABM Length is useless unless the sender takes advantage
> of it.
> 
[Les:] Done

> [major] "Undefined bits MUST be transmitted as 0 and MUST be ignored
> on receipt."  What if the sender and the receiver support a different
> set of applications?  For example, suppose that the sender supports a
> new application identified by the N-bit, and sets only that bit; the
> receiver treats the N-bit as undefined and ignores it.  The result is
> that, for the receiver, there seems to be no indication of an
> application.  Is "no application" a valid indication, or should at
> least one bit always be set?
> 
[Les:] Just like unknown TLVs, unknown bits MUST be ignored.
I have added text.

> [minor] Following on the previous comment...  It seems that a
> requirement is for the routers/nodes in the domain to agree on the
> meaning of the bits: support the same Standard Applications and
> interpret the User Defined bit mask the same way.  Please add this
> type of information to the Deployment Considerations Section.
> 
[Les:] Standard Applications by definition have bits which are assigned 
by IANA. There is therefore no need to say routers have to agree
on their meaning.
User Defined Applications are - by definition - outside the scope of this
specification. They can do whatever they want.

> [nit] "Bits that are NOT transmitted MUST be..."  While I understand
> what you mean, having Normative language for the behavior of things
> that are not received doesn't seem appropriate.  How about something
> like this: "Any omitted bits MUST be..."?
> 
[Les:] Please define "omitted". The term suggests to me that they could be
in the middle of a transmitted stream - which isn't possible here.
For me there are the bits that were transmitted - and the ones that weren't.
???

> 
> ...
> 337	4.2.  Application Specific Link Attributes sub-TLV
> ...
> 343	      Type: 16 (temporarily assigned by IANA)
> 344	      Length: Variable (1 octet)
> 
> [major] I hope I'm missing something...  The maximum Length is 254
> octets, but the Application Identifier Bit Masks (both together) could
> be as big as 256 octets.  I realize that (1) it'll take a while (a
> long while) before so many applications are defined, and (2) the SABM
> and UDABM fields can be advertised in different sub-TLVs.  It might be
> a good idea to say something about separating the
> advertisements...given that the assignment of values is the only
> protection against someone forcing the advertisement of all the
> bits...
> 
[Les:] Base protocol rules (absent RFC 7356 extensions) limit TLVs to
255 bytes in length. It is already possible to generate more information
about a link than will fit in a single TLV. In such cases implementations
already do send multiple TLVs for the same link. I do not believe that
we need to document base protocol behavior yet again for this new
TLV.

> 345	      Value:
> 
> 347	        Application Identifier Bit Mask
> 348	        (as defined in Section 4.1)
> 
> 350	        Link Attribute sub-sub-TLVs - format matches the
> 351	        existing formats defined in [RFC5305] and [RFC8570]
> 
> 353	   When the L-flag is set in the Application Identifier Bit Mask, all of
> 354	   the applications specified in the bit mask MUST use the link
> 355	   attribute sub-TLV advertisements listed in Section 3.1 for the
> 356	   corresponding link.  Link attribute sub-sub-TLVs for the
> 357	   corresponding link attributes MUST NOT be advertised for the set
> of
> 358	   applications specified in the Standard/User Application Identifier
> 359	   Bit Masks and all such advertisements MUST be ignored on receipt.
> 
> [major] "When the L-flag is set...MUST use the link attribute sub-TLV
> advertisements listed in Section 3.1"
> 
> (a) The behavior of the L-flag is already specified in §4.1.  Please
> only specify behaviors in one place.
> 
[Les:] Done.

> (b) The specification here is not the same as what §4.1 says.  The
> text in §4.1 says that "legacy advertisements for the corresponding
> link found in TLVs 22, 23, 25, 141, 222, and 223 or TLV 138 or TLV
> 139", which I interpret as using any current or new (!) sub-TLVs for
> those TLVs.  OTOH, the text in this section limits the use to the
> "link attribute sub-TLV advertisements listed in Section 3.1".   I'm
> assuming the correct specification is the one in §4.1.  IOW, this
> document doesn't preclude continued extensions to RFC5305, RFC5307,
> RFC6119, or RFC8570, right?
> 
[Les:] Good catch. Fixed.

> [?] Just to make sure I understand: "Link attribute sub-sub-TLVs for
> the corresponding link attributes MUST NOT be advertised..."  This
> means that if the L-flag is set, all the attributes will be advertised
> using legacy means, right?
> 
[Les:] Correct - for that specific link.

> 361	   Multiple Application Specific Link Attribute sub-TLVs for the same
> 362	   link MAY be advertised.  When multiple sub-TLVs for the same link
> are
> 363	   advertised, they SHOULD advertise non-conflicting application/
> 364	   attribute pairs.  A conflict exists when the same application is
> 365	   associated with two different values of the same link attribute for a
> 366	   given link.  In cases where conflicting values for the same
> 367	   application/attribute/link are advertised all the conflicting values
> 368	   MUST be ignored.
> 
> 370	   For a given application, the setting of the L-flag MUST be the same
> 371	   in all sub-TLVs for a given link.  In cases where this constraint is
> 372	   violated, the L-flag MUST be considered set for this application.
> 
> [major] Tying these two paragraphs together...  If one of the sub-TLVs
> has the L-flag set, then all the sub-TLVs that include at least one
> common application MUST be considered as having the L-flag set as
> well.  This seems to become an attack vector: a rogue IS can set the
> L-flag (and/or set application bits) in all/some of the
> sub-TLVs...which may result in no attribute information (if the
> sub-sub-TLVs were the only source of information and are ignored) for
> a link...
> 
[Les:] The text says:

"Link attribute sub-sub-TLVs for the corresponding link attributes MUST NOT be advertised for the set of applications specified in the Standard/User Application Identifier Bit Masks and all such advertisements MUST be ignored on receipt."

There is no reason to send multiple sub-TLVs w L-bit set on a given link
because by definition such a sub-TLV MUST NOT have any sub-sub-TLVs.

Authentication (as always) is our protection against attacks.

> 374	   A new registry of sub-sub-TLVs is to be created by IANA which
> defines
> 375	   the link attribute sub-sub-TLV code points.  This document defines
> a
> 376	   sub-sub-TLV for each of the existing sub-TLVs listed in Section 3.1
> 377	   except as noted below.  The format of the sub-sub-TLVs matches
> the
> 378	   format of the corresponding legacy sub-TLV and IANA is requested
> to
> 379	   assign the legacy sub-TLV identifer to the corresponding sub-sub-
> TLV.
> 
> [minor] Include a forward reference to the IANA Considerations...
> 
[Les:] As noted above, decided against this.

> [major] "...and IANA is requested to assign the legacy sub-TLV
> identifer to the corresponding sub-sub-TLV." (s/identifer/identifier)
> Is this assignment something that should also be done going forward
> (for new "legacy sub-TLVs"), or just for the initial values in the
> registry?   The new registry has a registration policy of "Expert
> Review", please include any instructions for the DEs-to-be in the IANA
> Considerations section...and maybe a (Normative) pointer to rfcxxx for
> completeness.
> 
[Les:] I have added text in the IANA section.

> 381	4.2.1.  Special Considerations for Maximum Link Bandwidth
> 
> 383	   Maximum link bandwidth is an application independent attribute of
> the
> 384	   link.  When advertised using the Application Specific Link Attributes
> 385	   sub-TLV, multiple values for the same link MUST NOT be
> advertised.
> 386	   This can be accomplished most efficiently by having a single
> 387	   advertisement for a given link where the Application Identifier Bit
> 388	   Mask identifies all the applications which are making use of the
> 389	   value for that link.
> 
> [minor] I understand why the "Maximum link bandwidth is an application
> independent attribute of the link".  But I am having a harder time
> understanding why other bandwidth-related metrics (specifically
> Unidirectional Residual Bandwidth, Unidirectional Available Bandwidth
> and Unidirectional Utilized Bandwidth) are not treated the same way.
> A similar question was raised on the list and the treatment was
> justified in order to support use cases where the bandwidth is managed
> per application [1].  I don't want to revisit the discussion here
> about the treatment, but it is important for the reader to understand
> the existence of those use cases.  Please add a paragraph or two
> talking about the consideration.
> 
> [1] https://mailarchive.ietf.org/arch/msg/ospf/xl8HWDeQqYNcv_X_568-
> xv6rfvk
> 
[Les:] Addressed in new Section 4.2.3

> 391	   It is also possible to advertise the same value for a given link
> 392	   multiple times with disjoint sets of applications specified in the
> 393	   Application Identifier Bit Mask.  This is less efficient but still
> 394	   valid.
> 
> [minor] This attribute and other bandwidth-related ones are prone to
> interaction as multiple applications may want to use the resources.
> While the use of the resources is out of scope, it would be helpful to
> include that type of information in a Deployment Considerations
> section, as mentioned already on the mailing list [1].
> 
> [1] https://mailarchive.ietf.org/arch/msg/isis-
> wg/2M2pho1EZcVTkOOQssLQUVO0HY4
> 
[Les:] Added a sub-section in Section 4.

> 396	   If different values for Maximum Link Bandwidth for a given link are
> 397	   advertised, all values MUST be ignored.
> 
> [major] Also an attack vector: for a specific link, a rogue IS can
> advertise multiple values, rendering the information unusable for all
> applications.
> 
[Les:] As always, authentication is your friend.
A rogue who has access to the network can insert all manner of
bogus TLVs - nothing special about these advertisements.

> 399	4.2.2.  Special Considerations for Reservable/Unreserved Bandwidth
> 
> 401	   Maximum Reservable Link Bandwidth and Unreserved Bandwidth
> are
> 402	   attributes specific to RSVP.  When advertised using the Application
> 403	   Specific Link Attributes sub-TLV, bits other than the RSVP-TE(R-bit)
> 404	   MUST NOT be set in the Application Identifier Bit Mask.  If an
> 405	   advertisement of Maximum Reservable Link Bandwidth or
> Unreserved
> 406	   Bandwidth is received with bits other than the RSVP-TE bit set, the
> 407	   advertisement MUST be ignored.
> 
> [nit] s/specific to RSVP/specific to RSVP-TE
> 
[Les:] Done.

> [nit] s/RSVP-TE(R-bit)/RSVP-TE (R-bit)
> 
[Les:] Done.

> [major] It seems to me that "the L-flag MUST be set" is missing above.
> 
[Les:] The text is describing "When advertised using the Application Specific Link Attributes sub-TLV..." - which means the L-bit is NOT set. If the L-bit were set then the attribute sub-sub-TLV would NOT be present.

> 409	4.3.  Application Specific SRLG TLV
> 
> 411	   A new TLV is defined to advertise application specific SRLGs for a
> 412	   given link.  Although similar in functionality to TLV 138 (defined by
> 413	   [RFC5307]) and TLV 139 (defined by [RFC6119], a single TLV provides
> 414	   support for IPv4, IPv6, and unnumbered identifiers for a link.
> 415	   Unlike TLVs 138/139, it utilizes sub-TLVs to encode the link
> 416	   identifiers in order to provide the flexible formatting required to
> 417	   support multiple link identifier types.
> 
> [nit] s/TLV 138 (defined by [RFC5307]) and TLV 139 (defined by
> [RFC6119],/TLV 138 [RFC5307] and TLV 139 [RFC6119],
> 
[Les:] Done.

> 419	       Type: 238 (Temporarily assigned by IANA)
> 420	       Length: Number of octets in the value field (1 octet)
> 
> [major] As with the other sub-TLV, the length is < the potential size
> of the Application Identifier Bit Mask...
> 
[Les:] See reply above.

> 421	       Value:
> 422	         Neighbor System-ID + pseudo-node ID (7 octets)
> 423	         Application Identifier Bit Mask
> 424	          (as defined in Section 4.1)
> 425	         Length of sub-TLVs (1 octet)
> 426	         Link Identifier sub-TLVs (variable)
> 427	         0 or more SRLG Values (Each value is 4 octets)
> 
> 429	       The following Link Identifier sub-TLVs are defined. The type
> 430	       values are suggested and will be assigned by IANA - but as
> 431	       the formats are identical to existing sub-TLVs defined for
> 432	       TLVs 22, 23, 25, 141, 222, and 223 the use of the suggested
> 433	       sub-TLV types is strongly encouraged.
> 
> [major] "The type values are suggested and will be assigned by
> IANA..."  No.  These values are part of a new registry, so this
> document can define any value it wants.
> 
[Les:] Done.

> [minor] Instead of the text above, include a forward reference to the
> IANA Considerations where the whole registry in included.
> 
[Les:] As mentioned above, chose not to do this.

> 435	       Type    Description
> 436	        4      Link Local/Remote Identifiers (see [RFC5307])
> 437	        6      IPv4 interface address (see [RFC5305])
> 438	        8      IPv4 neighbor address (see [RFC5305])
> 439	       12      IPv6 Interface Address (see [RFC6119])
> 440	       13      IPv6 Neighbor Address (see [RFC6119])
> 
> [nit] s/(see [RFCxxxx])/[RFCxxxx]/g
> 
[Les:] Done.

> 442	   At least one set of link identifiers (IPv4, IPv6, or unnumbered)
> MUST
> 443	   be present.  TLVs which do not meet this requirement MUST be
> ignored.
> 
> [major] "one set of link identifiers...MUST be present"  Is a set one
> of those sub-TLVs or more than one?
> 
[Les:] I believe the text is clear. Since there are two IPv4 and two IPv6 sub-TLVs
you need two sub-TLVs in that case, but as the Link Local/Remote Identifiers are combined in one sub-TLV you only need one in that case.

> 
> ...
> 463	5.1.  Use of Legacy Advertisements
> 
> [c] I made the same comments in §8.1 of the OSPF draft.
> 
> 465	   Bit Identifers for Standard Applications are defined in Section 4.1.
> 466	   All of the identifiers defined in this document are associated with
> 467	   applications which were already deployed in some networks prior
> to
> 468	   the writing of this document.  Therefore, such applications have
> been
> 469	   deployed using the legacy advertisements.  The Standard
> Applications
> 470	   defined in this document MAY continue to use legacy
> advertisements
> 471	   for a given link so long as at least one of the following conditions
> 472	   is true:
> 
> [nit] s/Identifers/Identifiers
> 
[Les:] Done.

> [major] Even if specifying the behavior for the Standard Applications,
> this document cannot Normatively specify anything affecting the case
> where "applications have been deployed using the legacy
> advertisements".  s/MAY/may
> 
> [] I think that the text in this section can be generalized to any
> application, not just ones defined in this document.  s/The Standard
> Applications defined in this document MAY continue/The Standard
> Applications may continue
> 
[Les:] The existing applications have the special property that they are
already deployed using legacy advertisements. This cannot be said for
any as yet to be defined applications. You can insist in the documents
that define new applications that they discuss whether legacy advertisements
can/cannot be used, but this document cannot speak to new applications
without being clairvoyant.

> 474	   o  The application is RSVP-TE
> 
> 476	   o  The application is SRTE or LFA and RSVP-TE is not deployed
> 477	      anywhere in the network
> 
> 479	   o  The application is SRTE or LFA, RSVP-TE is deployed in the
> 480	      network, and both the set of links on which SRTE and/or LFA
> 481	      advertisements are required and the attribute values used by
> SRTE
> 482	      and/or LFA on all such links is fully congruent with the links and
> 483	      attribute values used by RSVP-TE
> 
> [] To generalize:
> 
>    o  A single application is deployed in the network
> 
>    o  Multiple applications are deployed in the network and all the links and
>       attribute values are fully congruent between them.
> 
> 485	   Under the conditions defined above, implementations which
> support the
> 486	   extensions defined in this document have the choice of using
> legacy
> 487	   advertisements or application specific advertisements in support of
> 488	   SRTE and/or LFA.  This will require implementations to provide
> 489	   controls specifying which type of advertisements are to be sent/
> 490	   processed on receive for these applications.  Further discussion of
> 491	   the associated issues can be found in Section 7.
> 
> [] To generalize: s/in support of SRTE and/or LFA/in support of other
> applications
> 
> 493	   New applications which future documents define to make use of
> the
> 494	   advertisements defined in this document MUST NOT make use of
> legacy
> 495	   advertisements.
> 
> [major] Why not?  Just as the cases above, the application may run my
> itself on the network, and/or the attributes may be fully congruent.
> 
[Les:] If we allow new applications to use legacy, this further complicates deployment of new applications as implementations have to deal with cases where advertisements are in legacy exclusively, in new sub-TLV exclusively, and a transition between the two. Such complexity is unavoidable for the existing applications as they are already deployed using legacy. But such complexity is unnecessary in the case of new applications. I have added some text in this regard.

> 497	5.2.  Use of Zero Length Application Identifier Bit Masks
> 
> [minor] This section is partially redundant with the behavior
> specified in §4.1.  Please make the specification only once.
> 
[Les:] Done.

> 499	   If link attributes are advertised associated with zero length
> 500	   Application Identifier Bit Masks for both standard applications and
> 501	   user defined applications, then that set of link attributes MAY be
> 502	   used by any application.  If support for a new application is
> 503	   introduced on any node in a network in the presence of such
> 504	   advertisements, these advertisements MAY be used by the new
> 505	   application.  If this is not what is intended, then existing
> 506	   advertisements MUST be readvertised with an explicit set of
> 507	   applications specified before a new application is introduced.
> 
> [major] s/MAY be used/may be used
> It is just a statement of fact...
> 
[Les:] Done.

> 509	6.  Attribute Advertisements and Enablement
> 
> [c] This section is pretty much the same in both drafts.  Consider
> making the specification only once (maybe here  -- because the
> applications are defined here) and then referencing it.  Note the
> generalization comment below.
> 
[Les:] For codepoints this makes sense - but for readability it is better to have the text in both drafts.
> 
> ...
> 520	   In the case of RSVP-TE, the advertisement of application specific
> 521	   link attributes implies that RSVP is enabled on that link.  The
> 522	   absence of RSVP-TE application specific link attributes in
> 523	   combination with the absence of legacy advertisements implies
> that
> 524	   RSVP is NOT enabled on that link.
> 
> [minor] Specifying by implication sounds confusing to me.  Can we come
> up with Normative language to accompany the text above?
> 
[Les:] This is the existing behavior based on experience. 
No existing document (to my knowledge) specified what constituted 
enablement and it isn't the role of this document to do so.
We are just documenting existing behavior.
Figure 1 in https://tools.ietf.org/html/draft-hegde-isis-advertising-te-protocols-03#section-1 is informative here.
(Thanx to Chris Bowers for investigating this.)

> Suggestion>
>    The R-bit in the SABM MUST be set only if RSVP is enabled on the
>    corresponding link.  All RSVP-enabled links MUST have a corresponding link
>    attributes advertisement.
> 
[Les:] AS  discussed above, this seems inappropriate for this document and so was not done.

> 526	   In the case of SRTE, advertisement of application specific link
> 527	   attributes does NOT indicate enablement of SRTE.  The
> advertisements
> 528	   are only used to support constraints which may be applied when
> 529	   specifying an explicit path.  SRTE is implicitly enabled on all links
> 530	   which are part of the Segment Routing enabled topology
> independent of
> 531	   the existence of link attribute advertisements
> 
> 533	   In the case of LFA, advertisement of application specific link
> 534	   attributes does NOT indicate enablement of LFA on that link.
> 535	   Enablement is controlled by local configuration.
> 
> 537	   If, in the future, additional standard applications are defined to
> 538	   use this mechanism, the specification defining this use MUST define
> 539	   the relationship between application specific link attribute
> 540	   advertisements and enablement for that application.
> 
> [] To generalize:
> 
> Suggestion>
>    For Standard Applications, advertisement of application specific link
>    attributes does NOT indicate enablement of the application on that link.  If
>    additional Standard Applications are defined with a different enablement
>    expectation, then the corresponding specification MUST define the
> alternate
>    relationship between application specific link attribute advertisements and
>    enablement for that application.
> 
[Les:] The discussion of enablement (now in Section 5) I think covers all the points clearly. I prefer the text we currently have.

> 542	   This document allows the advertisement of application specific link
> 543	   attributes with no application identifiers i.e., both the Standard
> 544	   Application Identifier Bit Mask and the User Defined Application
> 545	   Identifier Bit Mask are not present (See Section 4.1).  This supports
> 546	   the use of the link attribute by any application.  In the presence of
> 547	   an application where the advertisement of link attribute
> 548	   advertisements is used to infer the enablement of an application on
> 549	   that link (e.g., RSVP-TE), the absence of the application identifier
> 550	   leaves ambiguous whether that application is enabled on such a
> link.
> 551	   This needs to be considered when making use of the "any
> application"
> 552	   encoding.
> 
> [major] What does the use of the "any application" encoding say about
> RSVP-TE?  My interpretation is that if RSVP-TE is used, then the "any
> application" encoding can't be used.  Is that correct?  Please be
> specific.
> 
[Les:] If RSVP-TE uses application specific advertisements, then it behaves just
like any other application - meaning it can use advertisements with an empty
application bit mask. But this introduces ambiguity as far as enablement - 
which we state in the text.
We could prohibit applications which infer enablement from advertisement from using advertisements with 0 length bit masks???

> 
> ...
> 572	7.1.  Multiple Applications: Common Attributes with RSVP-TE
> 
> 574	   In cases where multiple applications are utilizing a given link, one
> 575	   of the applications is RSVP-TE, and all link attributes for a given
> 576	   link are common to the set of applications utilizing that link,
> 577	   interoperability is achieved by using legacy advertisements and
> 578	   sending application specific advertisements with L-bit set and no
> 579	   link attribute values.  This avoids duplication of link attribute
> 580	   advertisements.
> 
> [nit] s/L-bit/L-flag/g
> 
[Les:] Done

> [nit] s/with L-bit set/with the L-flag set
> 
[Les:] Done

> 582	7.2.  Multiple Applications: All Attributes Not Shared w RSVP-TE
> 
> [nit] s/w/with
> 
[Les:] Done

> 584	   In cases where one or more applications other than RSVP-TE are
> 585	   utilizing a given link and one or more link attribute values are NOT
> 586	   shared with RSVP-TE, it is necessary to use application specific
> 587	   advertisements as defined in this document.  Attributes for
> 588	   applications other than RSVP-TE MUST be advertised using
> application
> 589	   specific advertisements which have the L-bit clear.  In cases where
> 590	   some link attributes are shared with RSVP-TE, this requires
> duplicate
> 591	   advertisements for those attributes.
> 
> [major] "Attributes for applications other than RSVP-TE MUST be
> advertised using application specific advertisements..."  §7 sets up
> the section mentioning the need "to co-exist with use of the legacy
> advertisements by routers which do not support the extensions defined
> in this document."  In this case, the routers which support the
> extensions will have a different view compared to the routers which
> don't.  This can result in sub-optimal routing, loops, etc..  It is
> obviously not a backwards compatible deployment.  How can that be
> addressed/mitigated?
> 
[Les:] I have added a discussion of this in the new Section 6.
> 
> ...
> 598	7.3.  Use of Application Specific Advertisements for RSVP-TE
> ...
> 605	   1)Upgrade all routers to support extensions in this document
> 
> [nit] s/support extensions/support the extensions
> 
[Les:] Done.

> 607	   2)Readvertise all legacy link attributes using application specific
> 608	   advertisements with L-bit clear and R-bit set.
> 
> [minor] s/Readvertise/Advertise
> 
[Les:] Done.

> 610	   3)Remove legacy advertisements
> 
> 612	   Migrating RSVP-TE away from legacy advertisements could result in
> 613	   some implementation simplification as it allows the removal of code
> 614	   which encodes/decodes the legacy advertisements.  Whether this
> is
> 615	   seen as desirable is something for the marketplace to determine

---

From: Alvaro Retana <[email-masked]>
Date: Tue, 25 Feb 2020 04:41:44 -0800

On February 7, 2020 at 1:50:58 AM, Les Ginsberg wrote:

Les:

Hi!

> We have published V10 of the draft addressing your comments.

It looks like your copy of my review was truncated (not sure why).
The archive has the complete version, and I pasted the remaining
comments at the end of this message.

https://mailarchive.ietf.org/arch/msg/lsr/Q39ilCqsDo0WIhayZ57RTqHEHCQ/

> Note that the authors of the IS-IS and OSPF drafts are "synchronizing" as
> there is a lot of similarity in your comments regarding the two drafts. We
> have decided to close all issues with you for the IS-IS draft first - then
> hopefully the equivalent changes can be made for the OSPF draft can be made
> and resolved more quickly.

Makes sense!

> Detailed responses inline.

I have some responses myself; most of them not-major.  I've indicated
the ones that I consider major -- it would be ideal if others in the
WG chimed in with any opinions.

Thanks!

Alvaro.

...
> > are zero". This document makes the use of the attributes optional while the
> bits there is no way to know if a given application will have any reason to
> use the attributes advertised. The text is intended to say use by any
> application is "permitted". I have changed the text in this way.

I'm fine with the changes you made.

This is the text from the OSPF draft that I was referring to:

   When neither the Standard Application Bits nor the User Defined
   Application bits are set (i.e., both SABM Length and UDABM Length are
   0) in the ASLA sub-TLV, then the link attributes included in it MUST
   be considered as being applicable to all applications.

>From your explanation, I see the intent, but the use of "MUST" gives
the impression that there's no choice.

...
...
> > are defined...if the same as the references above.

Sorry, I meant the RFCs where the sub-TLVs are defined, not the registries.

...
...
> [Les:] In theory it is possible for a User Defined Application to perform the
> same functions as a standard application (such as SRTE). However, if it did
> so it would not be "Standard SRTE" and the bit could NOT be considered as the
> same as "standard SRTE".

I didn't mean just the same function, but the same application.  Let
me try again.

Can an operator do the following:  define a bit (call it X) in the
UDABM to mean SRTE (*the* SRTE)?  IOW, for the routers operating in
the network (which all would be aware of the X-bit), when the X-bit is
set it indicates that SRTE will use the information.  This operation
would result in exactly the same thing as if the S-bit was set.

Why would anyone want to do this?  For security reasons (for example):
by not using the defined bit, anyone eavesdropping on the LSPs would
not know which application is enabled.

In any case, this is just a nit/minor comment...

...
> [Les:] The revised Deployment considerations section now addresses this.

[nit] In the new §6.3.3 (Interoperability with Legacy Routers) it
might be good to mention the setting of the L-flag.  For example,
extend Step 1, "Receiving routers continue to use legacy
advertisements" to include a mention of the L-flag being set.

...
> [Les:] Just like unknown TLVs, unknown bits MUST be ignored.

Yes, that is ok.

[major] But you didn't answer my question: Is "no application" a valid
indication, or should at least one bit always be set?  I guess that
the receiver wouldn't see anything it understands...  Would this be
equivalent to zero-length masks?

> specification. They can do whatever they want.

Let me try again...

What issues can arise from the routers supporting a different set of
applications/bits?  I can imagine several ways for this to occur, for
example: routers that have not been upgraded to support the latest
assignments...bad configuration practices there the UDAs are not
consistently instantiated in the whole network...

IOW, if a new application is implemented in the network, but not all
the routers are aware of the corresponding bit (because they're
running old software or were not configured correctly, for example),
then it is possible that the network will not operate as expected.

...
...
> > 362 link MAY be advertised. When multiple sub-TLVs for the same link are
> "Link attribute sub-sub-TLVs for the corresponding link attributes MUST NOT
> be advertised for the set of applications specified in the Standard/User
> Application Identifier Bit Masks and all such advertisements MUST be ignored
> on receipt."
>

[major] No, not against an IS that has been taken over: an attacker
has access to it, its configuration, etc., it is rogue.
Authentication only proves that the IS is the IS it says it is, not
that it is not sending malicious information.

To be clear, I'm not asking for the rogue node problem to be solved in
this document.  Just that the risks are recognized.

I'm mentioning this point about rogue nodes because that is the new
focus of the SEC area.  I really don't want to go forward with
Security Considerations consisting of a single line...but if you
prefer to discuss with the SecDir/SEC AD, I'm fine with it. :-)

...
> [Les:] I have added text in the IANA section.

[minor] Please remove the remaining IANA-instructions-related text
from this section.

...
...
> without being clairvoyant.

I still think that the text can be generalized...but I won't insist on
it since no one else in the WG is.

[major] I do however want to contrast the last sentence above:

   You can insist in the documents that define new applications that they
   discuss whether legacy advertisements can/cannot be used...

...with the first sentence of the last paragraph:

   New applications which future documents define to make use of the
   advertisements defined in this document MUST NOT make use of legacy
   advertisements.

If "future documents...MUST NOT make use of legacy advertisements",
then no one can't ask them to justify their use.  It's like trying to
be clairvoyant...

I would be ok if s/MUST NOT/SHOULD NOT, which (given the rest of the
paragraph) puts the burden on new documents to justify using legacy
advertisements.

...
> > 614 which encodes/decodes the legacy advertisements. Whether this is

Your reply ends here...but my comments kept going. ;-)  I'm not sure
of the reason, but I've seen long messages be truncated.  The archive
has the full review:
https://mailarchive.ietf.org/arch/msg/lsr/Q39ilCqsDo0WIhayZ57RTqHEHCQ/

You added rfc8402 as a reference for SRTE, but the text also says
(§2): "...SRTE which is defined in
[I-D.ietf-spring-segment-routing-policy]."  Pick one.

I am pasting below the remaining comments (based on the -09 text):

612	   Migrating RSVP-TE away from legacy advertisements could result in
613	   some implementation simplification as it allows the removal of code
614	   which encodes/decodes the legacy advertisements.  Whether this is
615	   seen as desirable is something for the marketplace to determine.

[?] "allows the removal of code which encodes/decodes the legacy
advertisements"  If the sub-sub-TLVs used are the same as the legacy
ones, wouldn't the code be pretty much the same??  Either way,
considerations which may be implementation-dependent seems out of
place is a section talking about deployment.

617	8.  IANA Considerations

[minor] For clarity, consider using sub-sections below.

619	   This document defines a new sub-TLV for TLVs 22, 23, 25, 141, 222,
620	   and 223.

[major] Please explicitly include the name of the registry.

622	    Type  Description             22   23   25  141  222  223
623	    ----  ---------------------  ---- ---- ---- ---- ---- ----
624	     16   Application Specific     y    y  y(s)   y    y    y
625	           Link Attributes

627	   This document defines one new TLV:

[major] Explicitly mention the name of the registry.

629	    Type  Description             IIH LSP SNP Purge
630	    ----  ---------------------   --- --- --- -----
631	     238  Application Specific     n   y   n    n
632	           SRLG

634	   This document requests a new IANA registry be created to control the
635	   assignment of sub-sub-TLV codepoints for the Application Specific
636	   Link Attributes sub-TLV.  The suggested name of the new registry is
637	   "sub-sub-TLV code points for application specific link attributes".
638	   The registration procedure is "Expert Review" as defined in
639	   [RFC8126].  The following assignments are made by this document:

[major] Explicitly indicate where the new sub-registries should be
created.  In this case in the "IS-IS TLV Codepoints" registry.

[minor] Adding a reference to rfc7370 would be useful.  Make it Normative.

[major] If the legacy specifications are extended, is it expected that
new sub-sub-TLVs will also be created?  If so, there need to be
explicit instructions to the DEs in the legacy registries.

...
663	   This document requests a new IANA registry be created, under the
664	   category of "Interior Gateway Protocol (IGP) Parameters", to control
665	   the assignment of Application Identifier Bits.  The suggested name of
666	   the new registry is "Link Attribute Applications".  The registration
667	   policy for this registry is "Standards Action" ([RFC8126] and
668	   [RFC7120]).  The following assignments are made by this document:

[minor] If we're setting up a applications, why not make it generic:
"IGP Applications", for example...??

[minor] s/"Standards Action" ([RFC8126] and [RFC7120])./"Standards
Action" [RFC8126].     Standards Action is only defined in rfc8126;
the reference to rfc7120 is not needed.

670	    Bit #   Name
671	   ---------------------------------------------------------
672	     0      RSVP-TE (R-bit)
673	     1      Segment Routing Traffic Engineering (S-bit)
674	     2      Loop Free Alternate (F-bit)

[major]  Add a line to cover the rest of the range and call it "Unassigned".

676	   This document requests a new IANA registry be created to control the
677	   assignment of sub-TLV types for the application specific SRLG TLV.
678	   The suggested name of the new registry is "Sub-TLVs for TLV 238".
679	   The registration procedure is "Expert Review" as defined in
680	   [RFC8126].  The following assignments are made by this document:

[major] Indicate where this registry should be created.

[minor] Adding a reference to rfc7370 would be useful. Make it Normative.

682	    Value    Description
683	    ---------------------------------------------------------
684	     0-3     Unassigned
685	      4      Link Local/Remote Identifiers (see [RFC5307])
686	      5      Unassigned
687	      6      IPv4 interface address (see [RFC5305])
688	      7      Unassigned
689	      8      IPv4 neighbor address (see [RFC5305])
690	     9-11    Unassigned
691	     12      IPv6 Interface Address (see [RFC6119])
692	     13      IPv6 Neighbor Address (see [RFC6119])
693	    14-255   Unassigned

[major] Do you want the reference to the assignments to be this
document, the RFC where the encoding is defined, or both?  I would
suggest both.  Please add a column to reflect that: e.g.,
"[RFC5307] [This Document]"...and take out the "(see ...)" text.

695	9.  Security Considerations

697	   Security concerns for IS-IS are addressed in [ISO10589, [RFC5304],
698	   and [RFC5310].

[major] ISO10589 is not in the References section.  It should be a
Normative reference.

[major] rfc5304/rfc5310 only talk about authentication.  What about
vulnerabilities specifically introduced by the new functionality?
This document doesn't define new TE-related attributes, just a new way
to advertise them...perhaps include something like this:

   This document defines a new way to advertise already defined TE Attributes.
   As these TLVs are not used for SPF computation or normal routing, the
   extensions specified here have no direct effect on IP routing.  Tampering
   with the information defined in this document may have an effect on
   applications using it, including potential sub-optimal Traffic Engineering.
   This is not new...see [RFC5305], [RFC5307], [RFC6119], and [RFC8570].

And then there are possible vulnerabilities introduced by this
document.  I put some comments above about the ability of a rogue
router to render the data unusable by setting, for example the L-flag,
or sending conflicting values.  At best, this action could result in
sub-optimal paths (by taking some links out of consideration)...
Consider adding text related to that.

---

From: "Les Ginsberg (ginsberg)" <[email-masked]>
Date: Fri, 28 Feb 2020 04:00:12 +0000

Alvaro -

Thanx for the continued review.
V11 of the draft has been posted to address your additional comments.

More inline.

> Sent: Tuesday, February 25, 2020 4:42 AM
> To: Les Ginsberg (ginsberg) <[email-masked]>; draft-ietf-isis-te-
> [email-masked]
> Cc: Acee Lindem (acee) <[email-masked]>; [email-masked]; [email-masked]
> Subject: RE: AD Review of draft-ietf-isis-te-app-09
> 
[Les:] The OSPF text will be changed to be consistent with what is in the IS-IS draft.

> Sorry, I meant the RFCs where the sub-TLVs are defined, not the registries.

[Les:] Well, the IANA registry identifies the Reference RFCs - and has the advantage that it gets updated should that ever change. So I would suggest providing a link to the registry is actually better than identifying the RFC for each code point. :-)
?? 

> In any case, this is just a nit/minor comment...

[Les:] (I am repeating myself but...)
UDAs can do whatever they like - and by definition are out of scope of the draft.
The notion of using a UDA to implement an SDA as a means of security seems very unwise to me. The point of providing standard code points is to insure interoperability.

> advertisements" to include a mention of the L-flag being set.
[Les:] This isn't a nit - it is a misunderstanding.
We aren't using L-bit here at all. 
We are accommodating the coexistence of legacy/non-legacy routers.

Legacy routers only send/receive legacy advertisements. They don't understand
the new advertisements - let alone the L-bit.

To migrate to all new routers - at which point legacy advertisements can be deprecated - you must follow the three steps described. The transition between steps is controlled by some implementation specific knob.

Please reread and let me know if it is clear.

> equivalent to zero-length masks?
[Les:] There are three cases:

1)You have application specific advertisements - which you send with the appropriate bit(s) set in the mask.

2)You have application specific advertisements but want all applications to use
them. You send with zero-length bit mask.

3)You have no advertisements.

> then it is possible that the network will not operate as expected.
[Les:] How a router indicates that it supports a given application is outside the
scope of this specification.
For example, https://tools.ietf.org/html/draft-ietf-lsr-flex-algo-06#section-10  describes how this is done for flex-algo.

> prefer to discuss with the SecDir/SEC AD, I'm fine with it. :-)
[Les:] Security discussions always seem to be a bit of a tug-of-war.
What you seem to be saying is that if an attacker gets "the keys", it
can fill a TLV with misinformation. I totally agree. But how are the new
TLVs defined in this document any different in this regard than existing
TLVs?

An attacker today - given it has the keys - could advertise bogus neighbors or bogus metrics or...

??

> [minor] Please remove the remaining IANA-instructions-related text
[Les:] Not sure what text you want removed. ??

> paragraph) puts the burden on new documents to justify using legacy
[Les:] You are correct that I misspoke in my email reply to your review - but I believe the document itself is unambiguous in this regard. New applications MUST NOT use legacy. This simplifies things for new deployments and I'd like to stick to the current text.

> https://mailarchive.ietf.org/arch/msg/lsr/Q39ilCqsDo0WIhayZ57RTqHEHCQ/
[Les:] Yes - sorry. I noticed this in the OSPF spec review because it was severely truncated, but missed it in the IS-IS review because the truncated portion was much smaller than the non-truncated.

My selective survey shows this happens with some frequency to other authors for reviews you post,
but only for emails sent to the authors. The email to members of the WG list alias seem to be unaffected. What that tells us about root cause I am not sure.

> [I-D.ietf-spring-segment-routing-policy]."  Pick one.
[Les:] Fixed

> place is a section talking about deployment.
[Les:] I have removed this text.

[Les:] Done

[Les:] Done

[Les:] Done

[Les:] Done

> [minor] Adding a reference to rfc7370 would be useful.  Make it Normative.
[Les:] I added this - but at the beginning of the IANA section.

> explicit instructions to the DEs in the legacy registries.
[Les:] Since the draft specifies that new applications MUST NOT use legacy sub-TLVs, the case you are concerned with cannot arise.

> "IGP Applications", for example...??
[Les:] Because this is defining bit positions which only apply to the SABM/UDABM fields in the new ASLA sub-TLV.

> the reference to rfc7120 is not needed.
[Les:] I copied this from RFC8665. Are you saying that document is incorrect?
Happy to do whatever is most correct.

[Les:] Done

[Les:] Done

> [minor] Adding a reference to rfc7370 would be useful. Make it Normative.
[Les:] See earlier reply.

> 682	    Value    Description
[Les:] I added another column for "Encoding Reference"

>    This is not new...see [RFC5305], [RFC5307], [RFC6119], and [RFC8570].
[Les:] I adapted your suggested text.

> Consider adding text related to that.

[Les:] I have a harder time with this suggestion and so did not incorporate it. See my replies above.

   Les