Subject: [Pce] Benjamin Kaduk's Discuss on draft-ietf-pce-wson-rwa-ext-11: (with DISCUSS and COMMENT)

From: Benjamin Kaduk <[email-masked]>
Date: Sat, 02 Feb 2019 19:38:31 -0800

Benjamin Kaduk has entered the following ballot position for
draft-ietf-pce-wson-rwa-ext-11: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-pce-wson-rwa-ext/

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

I'm concerned that this is not sufficiently specified to be implementable
in an interoperable fashion.  In particular, I'm concerned that there need
to be some values allocated from IANA registries that are not currently
mentioned in this document, and there are some potential subtleties
surrounding data structure reuse that I'm not entirely sure about as well.

I include section-by-section comments in this DISCUSS section (populated by
duplicating my COMMENT section and trimming; my apologies is a comment is
duplicated in both ballot sections by mistake).

Section 4.1

   Additionally, given a range of potential labels to allocate, the
   request SHOULD convey the heuristic / mechanism to the allocation.

I can't tell which protocol interaction is being described here.

   <PCReq Message> ::= <Common Header>

                          [<svec-list>]

                          <request-list>

      Where:

         <request-list>::=<request>[<request-list>]

         <request>::= <RP>

                      <ENDPOINTS>

                      <WA>

                      [other optional objects...]

Is this intended to conform to any particular formal language, or is it an
ad hoc description?  Where is <svec-list> defined?  (RFC 5440 spells it as
"<END-POINTS>" and not "<ENDPOINTS>", BTW.)

   If the WA object is present in the request, it MUST be encoded after
   the ENDPOINTS object as defined in [PCEP-GMPLS]. Orderings with
   respect to the other following objects are irrelevant.

The prose and the figure do not exactly match up in this regard (is WA
optional or mandatory; does <WA> need to be the first of the optional
objects?).

     . Wavelength Selection TLV (32 bits): See Section 4.2 for
        details.

Either this is a proper TLV, in which case it has 32 bits of tag and length
plus an additional 32 bits of value, for 64 bits total, or it is not a TLV
and comprises solely of the "value" field of the Wavelength Selection
Sub-TLV.  Section 8.2 allocates a TLV type indicator for it, which suggests
that the full TLV encoding is intended; where are the 32 bits for type and
length reflected in this text and in the figure?

Section 4.3

   The Wavelength Restriction Constraint TLV type is TBD3 (See Section
   8.3). This TLV MAY appear more than once to be able to specify
   multiple restrictions.

This is in conflict with the diagram in Section 4.1 (which does not appear
to depict multiple occurrences).  It's also unclear
that the stated reasoning applies, since the RBNF indicates that (<Link
Identifiers> <Wavelength Restriction>) can repeat, so the need for multiple
TLVs is for different *action* (and count) rather than specifically for the
wavelength restrictions.

How are future "Action" values to be defined?

   Various encoding errors are possible with this TLV (e.g., not
   exactly two link identifiers with the range case, unknown identifier
   types, no matching link for a given identifier, etc.). To indicate
   errors associated with this type, a new Error-Type (TBD8) and an
   Error-value (Error-value=3) MUST be defined so that the PCE MUST
   send a PCErr message with a PCEP-ERROR Object. See Section 5.1 for
   the details.

This normative language is not appropriate -- it in effect is only
constraining the current document, so descriptive language of "a new error
type is assigned" is more appropriate.

What is the mechanism for extensibility of future Link Identifier sub-TLV
types?  Should there be a registry?

Section 4.3.2

RFC 6205 says that the "Identifier" is a per-node assigned and scoped
value that may change on a per-hop basis.  I don't see where our base label
gets scoped to a node (just that it's part of a PCReq message which does
not seem scoped to a node), so this seems problematic.

Section 4.4

   The END-POINTS type generalized endpoint is extended as follows:

   <endpoint-restrictions> ::= <LABEL-REQUEST>

                               <Wavelength Restriction Constraint>

                               [<signal-compatibility-restriction>...]

Where is the original <endpoint-restrictions> definition that is being
updated?  (Why does this definition not include the
<label-restriction-list> component from [PCEP-GMPLS]?)  Why is there no
Updates: relationship to reflect this extension?  Is <Wavelength
Restriction Constraint> supposed to be the same TLV as defined in Section
4.3.2 without a separate containing PCEP object?

Per [PCEP-GMPLS], <LABEL-REQUEST> is a TLV.  Does that not also mean that
<Wavelength Restriction Constraint> and <signal-compatibility-restriction>
need to be (comprised of) sibling TLVs?  This document allocates a TLV type
for Wavelength Restriction Constraint in Section 8.3, but the references to
RFC 7581 for <Optical Interface Class List> and <Client Signal Information>
seem to only be for the encoding of sub-TLVs, with sub-TLV values that live
in the separate "Types for Subfields of WSON Resource Block Information"
registry and are in a colliding namespace.  Don't we need to allocate TLV
values from the same place as <LABEL-REQUEST> (i.e., first-level PCEP TLVs)
in order for this to be en/decodable?

Section 4.4.1

   The permitted sub-sub objects are the Optical Interface Class List
   and the Client Signal information whose encodings are described in
   Section 4.1 and Section 4.2 of [RFC7581], respectively.

Similarly to for the <endpoint-restrictions>, don't we need to allocate XRO
Subobject values in order for these structures to be semantically
en/decodable?

Section 4.4.2

   This is supported by adding the sub-object "WSON Processing Hop
   Attribute TLV" defined for ERO in Section 4.2 [RFC7689] to the PCEP
   IRO object [RFC5440].

The referenced structure is defined as an RSVP-TE LSP attribute.
I cannot find any evidence that its usage in PCEP is defined, nor any TLV
or subobject type allocated for its usage with PCEP.  (Is there some
generic equivalence or mapping between (G)MPLS EROs and IROs and the PCEP
analogues that I haven't encountered yet?)  Don't we need to allocate an
IRO Subobject value for this usage in a PCEP IRO object?  Also, the WSON
Processing Hop Attribute field is encoded as a sequence of sub-TLVs; if we
want to reuse the same sub-TLVs from the existing usage, don't we need to
document the linkage from the existing registry to the new usage somewhere?
How does the error handling translate to PCEP usage?
This seems rather underspecified.

Section 5

I'm very confused by the structure definition.  It claims to be the "TLV
data", but also includes a type and length field so as to indicate that it
is not just the data contents but the header as well.  But the length field
is truncated by a bit for use as the 'M' flag -- how can we modify the
outer TLV header in this way?!  Section 8.4 indicates that this type value
is to be allocated from the "PCEP TLV Type Indicators" subregistry created
by RFC 5440, that uses the full 2 bytes for the "length" field.

Section 5.1

This section describes an Error-value=3 that is not reflected in Section
8.8 in the requests to IANA.

Section 8.5

Isn't this mentioned in Section 4.4 (not 4.3)?

Section 8.6

As above, isn't this mentioned in Section 4.4 (not 4.3)?

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Section 3

   A Lambda Switch Capable (LSC) Label Switched Path (LSP) may span one
   or several transparent segments, which are delimited by 3R
   regenerators (Re-amplification, Re-shaping, Re-timing) typically
   with electronic regenerator and optional wavelength conversion. Each
   transparent segment or path in WSON is referred to as an optical
   path. An optical path may span multiple fiber links and the path
   should be assigned the same wavelength for each link. In such case,
   the optical path is said to satisfy the wavelength-continuity
   constraint. Figure 1 illustrates the relationship between a LSC LSP
   and transparent segments (optical paths).

Some nit-level remarks: using "optical path" for both transparent segments
and paths is perhaps confusing; perhaps "an optical path in WSON refers to
a transparent pathe that can comprise of one or more segments".  If the
path "should be assigned the same wavelength for each link", what kind of
constraint is that?  Is it just a nice "feel-good" thing for humans, is
there some physical requirement for it, does it make planning simpler?  I
understand that this is lowercase and thus not intended to be normative,
but on first read it feels like the implication is that there is some
aspect of the physics that drives this to be the case; I don't actually
believe that to be true, though.  What entities would care if the
"wavelength-continuity constraint" is satisfied?  (That is, is it really a
"constraint" or more of a "property"?)

I'm a little confused by Figure 1, shich weems to imply by link labels that
the middle nodes that are not makred "(3R)" are LSC nodes, but isn't it the
case that if these nodes make use of their lamda switching capabilities
that they will cease to be transparent and instead also be 3Rs?

   Note that two optical paths within a WSON LSP do not need to operate
   on the same wavelength (due to the wavelength conversion
   capabilities). Two optical paths that share a common fiber link
   cannot be assigned the same wavelength; Otherwise, the two signals

Are these "two optical paths" part of the same or different LSPs?  My best
reading of the two instances of the phrase are that the first one is the
same LSP and the second usage is for different LSPs, which is pretty
confusing to the reader (if true).

Please expand PSC and TDM.

                            In order to improve the signal quality and
   limit some optical effects several advanced modulation processing
   capabilities are used. [...]

Used by this document specifically, or in general usage?

   This document, however, does not address optical impairments as part
   of RWA path computation.

Do we need a link/reference for "optical impairments"?

Section 4.1

   o  Reserved (16 bits): Reserved for future use and SHOULD be zeroed.

Do we also want to say "ignored on receipt"?

Please expand TED and NMS (IGP is "well-known" per
https://www.rfc-editor.org/materials/abbrev.expansion.txt).

Section 4.3

   Note that "interfaces" are assumed to be bidirectional.

You haven't used the term "interface" (with or without scare quotes) yet,
so this is a dangling reference.

How are future "Action" values to be defined?

   o  Reserved (16 bits): Reserved for future use and SHOULD be zeroed.

And ignored on receipt?

Section 4.3.2

If you're going to copy the Label Set format here from RFC 7579, maybe you
could say something like "repeated here for convenience, with the base
label internal structure included" to spare the reader from having to go
compare the two formats?  This also holds for the list of Action values and
the other field descriptions not already incorporated from RFC 7579 by
reference.

RFC 6205 says that the "Identifier" is a per-node assigned and scoped
value that may change on a per-hop basis.  I don't see where our base label
gets scoped to a node (just that it's part of a PCReq message which does
not seem scoped to a node), so this seems problematic.

Section 4.4

   Path computation for WSON includes checking of signal processing
   capabilities at each interface against requested capability; this
   requirement MAY be implemented by the IGP.  [...]

How is the IGP supposed to check the processing capabilities of an
interface against a given request?  I'd suggest rephrasing this text to
parallel the text in Section 4.3 about how mechanisms to know the interface
capabilities can include IGP or NMS.

   The supported signal processing capabilities are those described in
   [RFC7446]:

"Supported by what?"  Perhaps rephrase as "The signal processing
capabilities considered in the RWA Information Model [RFC7446] are:".

Section 4.4.1

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |X|  Type = X   |     Length    |   Reserved    | Attribute     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

I strongly suggest using a different placeholder than 'X' in "Type = X"
since there is a separate 'X' bit.

   Reserved bits (8 bits) are for future use and SHOULD be zeroed.

And ignored on receipt?

   The Attribute field (8 bits) indicates how the exclusion sub-object
   is to be interpreted. The Attribute can only be 0 (Interface) or 1
   (Node).

I would suggest phrasing this more like "[RFC5521] defines several
Attribute values; the only permitted Attribute values for this sub-object
are [...]".

Section 4.4.2

   This is supported by adding the sub-object "WSON Processing Hop
   Attribute TLV" defined for ERO in Section 4.2 [RFC7689] to the PCEP
   IRO object [RFC5440].

The referenced structure is defined as an RSVP-TE LSP attribute.
I cannot find any evidence that its usage in PCEP is defined, nor any TLV
or subobject type allocated for its usage with PCEP.  (Is there some
generic equivalence or mapping between (G)MPLS EROs and IROs and the PCEP
analogues that I haven't encountered yet?)  Don't we need to allocate an
IRO Subobject value for this usage in a PCEP IRO object?  Also, the WSON
Processing Hop Attribute field is encoded as a sequence of sub-TLVs; if we
want to reuse the same sub-TLVs from the existing usage, don't we need to
document the linkage from the existing registry to the new usage somewhere?
How does the error handling translate to PCEP usage?
This seems rather underspecified.

Section 5

   Option (b) allows distributed label allocation (performed during
   signaling) to complete wavelength allocation.

   The Wavelength Allocation TLV type is TBD4 (See Section 8.4). The
   TLV data is defined as follows:

Could you maybe give a bit more of transition/explanation, e.g., whether
this TLV is used for both (a) and (b), that it's a hop attribute that
appears in a TLV in the ERO's TLV list, etc.

   This TLV is encoded as an attributes TLV, per [RFC5420], which is
   carried in the ERO LSP Attribute Subobjects per [RFC7570].

RFC 7570 seems to call these "Hop Attribute Subobjects", if I'm finding the
right place.  Using consistent naming would be a big help to the (confused)
reader.

Section 6

Thank you for the Manageability Considerations section; it helps give a
picture of how this slots into the broader ecosystem.

---

From: Leeyoung <[email-masked]>
Date: Thu, 7 Feb 2019 01:27:20 +0000

Hi Benjamin,

Thanks for your detailed comments which are very good. Please see inline for my response.  Attached is v.12 (which was just published) and below is the pointer for the diff file showing the revision has incorporated your comments as well as other IESG members’ comments.

https://www.ietf.org/rfcdiff?url2=draft-ietf-pce-wson-rwa-ext-12

Please let us know if you have further comments.

Thanks & Best regards,

Young

-----Original Message-----

From: Benjamin Kaduk [mailto:[email-masked]]

Sent: Saturday, February 2, 2019 9:39 PM

To: The IESG <[email-masked]>

Cc: [email-masked]; Daniele Ceccarelli <[email-masked]>; [email-masked]; [email-masked]; [email-masked]

Subject: Benjamin Kaduk's Discuss on draft-ietf-pce-wson-rwa-ext-11: (with DISCUSS and COMMENT)

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)

DISCUSS:

I'm concerned that this is not sufficiently specified to be implementable in an interoperable fashion.  In particular, I'm concerned that there need to be some values allocated from IANA registries that are not currently mentioned in this document, and there are some potential subtleties surrounding data structure reuse that I'm not entirely sure about as well.

I include section-by-section comments in this DISCUSS section (populated by duplicating my COMMENT section and trimming; my apologies is a comment is duplicated in both ballot sections by mistake).

Section 4.1

YL>> This is done by the Wavelength Selection TLV (see Section 4.2.) which is a part of the WA Object.

                          [<svec-list>]

                          <request-list>

      Where:

         <request>::= <RP>

                      <ENDPOINTS>

                      <WA>

Is this intended to conform to any particular formal language, or is it an ad hoc description?  Where is <svec-list> defined?  (RFC 5440 spells it as "<END-POINTS>" and not "<ENDPOINTS>", BTW.)

YL>> This is per Section 6.4. of RFC 5440. I will make the reference to RFC 5440 to make it clearer.  The <svec-list> is defined in RFC 5440. I will correct with <END-POINTS>.

I would change the text right before the format as follows:

OLD:

The format of a PCReq message after incorporating the Wavelength Assignment (WA) object is as follows:

NEW:

The format of a PCReq message per [RFC5440] after incorporating the Wavelength Assignment (WA) object is as follows:

The prose and the figure do not exactly match up in this regard (is WA optional or mandatory; does <WA> need to be the first of the optional objects?).

YL>> The WA object is mandatory in this document, which MUST be encoded right after <END-POINT> Object. “Orderings with respect to the other following objects are irrelevant” is meant to say “Orderings for the other optional objects are irrelevant”.

        details.

Either this is a proper TLV, in which case it has 32 bits of tag and length plus an additional 32 bits of value, for 64 bits total, or it is not a TLV and comprises solely of the "value" field of the Wavelength Selection Sub-TLV.  Section 8.2 allocates a TLV type indicator for it, which suggests that the full TLV encoding is intended; where are the 32 bits for type and length reflected in this text and in the figure?

YL>> This is s full TLV. I will modify the figure to 64 bits.

Section 4.3

   multiple restrictions.

This is in conflict with the diagram in Section 4.1 (which does not appear to depict multiple occurrences).  It's also unclear that the stated reasoning applies, since the RBNF indicates that (<Link

Identifiers> <Wavelength Restriction>) can repeat, so the need for

Identifiers> multiple

TLVs is for different *action* (and count) rather than specifically for the wavelength restrictions.

YL>> You’re correct. I deleted “This TLV MAY appear more than once to be able to specify

   multiple restrictions.” from the sentence you listed above. I added a new sentence at

   the  end of RBNF.

  NEW:

   <Link Identifiers> and <Wavelength Restriction> fields together MAY

   appear more than once to be able to specify multiple restrictions.

Please note that wavelength restriction may be applied to a number of link identifiers.

YL>> I added “2-255 – for future use”.

   the details.

This normative language is not appropriate -- it in effect is only constraining the current document, so descriptive language of "a new error type is assigned" is more appropriate.

YL>> Agree.  s/MUST be defined/are assigned

What is the mechanism for extensibility of future Link Identifier sub-TLV types?  Should there be a registry?

YL>>  I am not sure if we need reserve for future interface type. Typical PCEP/GMPLS RFCs do not go beyond this three types and the unnumbered type is flexible enough to accommodate other types than IPv4 and IPv6.

Section 4.3.2

RFC 6205 says that the "Identifier" is a per-node assigned and scoped value that may change on a per-hop basis.  I don't see where our base label gets scoped to a node (just that it's part of a PCReq message which does not seem scoped to a node), so this seems problematic.

YL>> RFC 6205 is written from the perspective of GMPLS signaling which is on a per-hop basis. Here we are using the same encoding, but from the PCEP perspective. In the PCEP, PCC is the head-end node and the head-end node would apply the wavelength restriction to its out-going interfaces. If the restriction applies to globally, then GMPLS signaling will carry this information to sub-sequent nodes. If the restriction locally applies, then PCE-CC mechanism (PCE talks to each node) would allow the restriction to be applied to each node.  This draft was written the restriction would be applied globally (as a mechanism for limiting the tunable range of wavelength globally so that the head-end node can propagate this restriction to other node (via GMPLS signaling mechanism).

Section 4.4

Where is the original <endpoint-restrictions> definition that is being updated?  (Why does this definition not include the <label-restriction-list> component from [PCEP-GMPLS]?)

YL>> <wavelength restriction constraint> is a type of <label-restriction-list>. Wavelength is a type of label.

Why is there no

Updates: relationship to reflect this extension?  Is <Wavelength Restriction Constraint> supposed to be the same TLV as defined in Section

YL>> This draft is extending PCEP TLV for wavelength type of label. <Wavelength Restriction Constraint> is extending generic label field to indicate optical channel grid channel spacing, its identifiers, etc. (the second 4-octet field of 4.3.2).

Per [PCEP-GMPLS], <LABEL-REQUEST> is a TLV.  Does that not also mean that <Wavelength Restriction Constraint> and <signal-compatibility-restriction>

need to be (comprised of) sibling TLVs?  This document allocates a TLV type for Wavelength Restriction Constraint in Section 8.3, but the references to RFC 7581 for <Optical Interface Class List> and <Client Signal Information> seem to only be for the encoding of sub-TLVs, with sub-TLV values that live in the separate "Types for Subfields of WSON Resource Block Information"

registry and are in a colliding namespace.  Don't we need to allocate TLV values from the same place as <LABEL-REQUEST> (i.e., first-level PCEP TLVs) in order for this to be en/decodable?

YL>> This is PCEP where we don’t have WSON Resource Block Information level of TLV. We define a new WA Object in which to define Wavelength Selection TLV, Wavelength Restriction Constraint TLV, etc. while using the same encoding used in GMPLS routing/signaling but in a different context. Regarding the PCEP-GMPLS <Label-request> which is a top level TLV, here we are creating a new object WA in which to define other TLVs. The decision in the WG was to create a new object <WA> due to the different nature of wavelength assignment than general label assignment (there is no label swapping per se in the optical network as GMPLS case; the same wavelength has to be used across all interface of the WSON path) and in doing so, we put all other information field as TLV type.

Section 4.4.1

Similarly to for the <endpoint-restrictions>, don't we need to allocate XRO Subobject values in order for these structures to be semantically en/decodable?

YL>> Yes, this is not clearly explained in the draft. Added are:

The XRO needs to support the new sub-object types:

                             Type                    Sub-sub object

                             TBD9                   Optical Interface Class List

                             TBD10                 Client Signal Information

The PCEP XRO registry will be added in the IANA Section.

Section 4.4.2

   IRO object [RFC5440].

I cannot find any evidence that its usage in PCEP is defined, nor any TLV or subobject type allocated for its usage with PCEP.  (Is there some generic equivalence or mapping between (G)MPLS EROs and IROs and the PCEP analogues that I haven't encountered yet?)  Don't we need to allocate an IRO Subobject value for this usage in a PCEP IRO object?  Also, the WSON Processing Hop Attribute field is encoded as a sequence of sub-TLVs; if we want to reuse the same sub-TLVs from the existing usage, don't we need to document the linkage from the existing registry to the new usage somewhere?

YL>>  Correct. It is implicit. Added are:

The IRO needs to support the new sub-object types as defined in Section 4.2 [RFC7689] “WSON Processing Hop Attribute TLV” (TBD9) defined for ERO in Section 4.2 [RFC7689] to the PCEP IRO object [RFC5440]:

                             Type                    Sub-sub-object

                             TBD11                 Optical Interface Class List

                             TBD12                 Client Signal Information

The existing PCEP IRO will be added in the IANA Section to reflect the above addition.

Section 5

I'm very confused by the structure definition.  It claims to be the "TLV data", but also includes a type and length field so as to indicate that it is not just the data contents but the header as well.  But the length field is truncated by a bit for use as the 'M' flag -- how can we modify the outer TLV header in this way?!  Section 8.4 indicates that this type value is to be allocated from the "PCEP TLV Type Indicators" subregistry created by RFC 5440, that uses the full 2 bytes for the "length" field.

YL>> Good point. I will delete T/L field to make this TLV data as it is claimed while allocating one bit for M bit in the new 32 bit field.

Section 5.1

YL>> Correct. Will add Error-value =3 and its description in Section 8.8.

Section 8.5

Section 8.6

YL>> Yes, in both cases, it should’ve been Section 4.4.

COMMENT:

Section 3

Some nit-level remarks: using "optical path" for both transparent segments and paths is perhaps confusing; perhaps "an optical path in WSON refers to a transparent pathe that can comprise of one or more segments".  If the path "should be assigned the same wavelength for each link", what kind of constraint is that?  Is it just a nice "feel-good" thing for humans, is there some physical requirement for it, does it make planning simpler?  I understand that this is lowercase and thus not intended to be normative, but on first read it feels like the implication is that there is some aspect of the physics that drives this to be the case; I don't actually believe that to be true, though.  What entities would care if the "wavelength-continuity constraint" is satisfied?  (That is, is it really a "constraint" or more of a "property"?)

YL>> The constraint is called wavelength continuity without which no data will be transmitted. This is a MUST constraint physically speaking. LSP can comprise of multiple transparent segments (which are optical paths) via 3R conversion (OEO). That is why we chose to use LSP to differentiate it from optical path. Optical path is used to mean optical transparent path (which does not have any 3R in the path).

I'm a little confused by Figure 1, shich weems to imply by link labels that the middle nodes that are not makred "(3R)" are LSC nodes, but isn't it the case that if these nodes make use of their lamda switching capabilities that they will cease to be transparent and instead also be 3Rs?

YL>> LSC means to switch lambdas from the incoming one to the outgoing one. Transparent means the incoming and outgoing are the same lambas. When you do 3R, it becomes non-transpaent as the incoming lambda has to be converted via OEO (3R).

Are these "two optical paths" part of the same or different LSPs?  My best reading of the two instances of the phrase are that the first one is the same LSP and the second usage is for different LSPs, which is pretty confusing to the reader (if true).

YL>> The same LSP. LSP is an end-to-end notion in the context of WSON. It may comprise multiple segments as shown in the figure.

YL>> OK. Thanks for pointing out. PSC: Packet Switch Capable; TDM: Time Division Multiplexing

YL>> Specifically in this document. See Section 4.4.

   of RWA path computation.

YL>> I can add reference [RFC6566].

Section 4.1

YL>> Certainly. Added.

Please expand TED and NMS (IGP is "well-known" per https://www.rfc-editor.org/materials/abbrev.expansion.txt).

YL>> Done. TED = Traffic Engineering Database; NMS = Network Management System

Section 4.3

You haven't used the term "interface" (with or without scare quotes) yet, so this is a dangling reference.

YL>> I can change to “links”.

And ignored on receipt?

YL>> “Ignored on receipt” is added.

Section 4.3.2

If you're going to copy the Label Set format here from RFC 7579, maybe you could say something like "repeated here for convenience, with the base label internal structure included" to spare the reader from having to go compare the two formats?  This also holds for the list of Action values and the other field descriptions not already incorporated from RFC 7579 by reference.

YL>> Agree and added.

RFC 6205 says that the "Identifier" is a per-node assigned and scoped value that may change on a per-hop basis.  I don't see where our base label gets scoped to a node (just that it's part of a PCReq message which does not seem scoped to a node), so this seems problematic.

YL>> See the comments in the DISCUSS section.

Section 4.4

How is the IGP supposed to check the processing capabilities of an interface against a given request?  I'd suggest rephrasing this text to parallel the text in Section 4.3 about how mechanisms to know the interface capabilities can include IGP or NMS.

YL>> OK. s/this requirement MAY be implemented by the IGP/ the PCE MUST have mechanisms to know the signal processing capabilities at each interface, e.g. by means of the Traffic Engineering Database (TED) either via IGP or Network Management System (NMS).

   [RFC7446]:

"Supported by what?"  Perhaps rephrase as "The signal processing capabilities considered in the RWA Information Model [RFC7446] are:".

YL>> Agreed and changed as such.

Section 4.4.1

YL>> Replaced with TBD.

And ignored on receipt?

YL>> Agree and added.

   (Node).

I would suggest phrasing this more like "[RFC5521] defines several Attribute values; the only permitted Attribute values for this sub-object are [...]".

YL>> Agreed and changed.

Section 4.4.2

   IRO object [RFC5440].

I cannot find any evidence that its usage in PCEP is defined, nor any TLV or subobject type allocated for its usage with PCEP.  (Is there some generic equivalence or mapping between (G)MPLS EROs and IROs and the PCEP analogues that I haven't encountered yet?)  Don't we need to allocate an IRO Subobject value for this usage in a PCEP IRO object?  Also, the WSON Processing Hop Attribute field is encoded as a sequence of sub-TLVs; if we want to reuse the same sub-TLVs from the existing usage, don't we need to document the linkage from the existing registry to the new usage somewhere?

YL>> Please see DISCUSS section.

Section 5

Could you maybe give a bit more of transition/explanation, e.g., whether this TLV is used for both (a) and (b), that it's a hop attribute that appears in a TLV in the ERO's TLV list, etc.

YL>> Added “This TLV is used for both (a) and (b) before the figure. The latter is discussed in the last paragraph of Section 5.

RFC 7570 seems to call these "Hop Attribute Subobjects", if I'm finding the right place.  Using consistent naming would be a big help to the (confused) reader.

YL>> Agreed. Changed.

Section 6

Thank you for the Manageability Considerations section; it helps give a picture of how this slots into the broader ecosystem.

YL>> Thanks.

---

From: <[email-masked]>
Date: Thu, 7 Feb 2019 12:24:36 +0100

Hi Young,

FWIW, the IANA already manages several similar registries with the
same 3 entries (e.g.,
https://www.iana.org/assignments/lmp-parameters/lmp-parameters.xhtml#lmp-parameters-15).
Creating one will help addressing this concern raised by Alexey and
Benjamin.

Thanks,

Julien

On 07/02/2019 02:27, Leeyoung wrote:

What is the mechanism for extensibility of
future Link Identifier sub-TLV types?  Should there be a
registry?

YL>>  I am not sure if we need
reserve for future interface type. Typical PCEP/GMPLS RFCs do
not go beyond this three types and the unnumbered type is
flexible enough to accommodate other types than IPv4 and IPv6.

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

---

From: <[email-masked]>
Date: Thu, 7 Feb 2019 14:57:16 +0100

Hi Benjamin, hi Young,

Sorry for jumping onto the discussion, but it seems to me that there
are 2 slightly different issues tackled below:

1- scoping the wavelength restriction:

* Young's response below remains true from a generic signaling
stand point,

* I would had that the WDM data plane we are controlling in this
context implies a label continuity between hops by default, unless
the node has an additional hardware capability (i.e.
termination/regeneration) it can control; as a result, a restriction
scoped to the PCC from the generic protocol's perspective implicitly
means "restriction till the other end of the wavelength (several
hops downstream)" in our technology-specific context [side note:
facing these multi-hops constraints is part of the use cases for the
PCE architecture];

2- the "Identifier" field, inherited from RFC 6205: my reading of
the definition brings us in the prescriptive/ERO use case, where 0
leaves freedom and non-zero relies on a "MUST"; the latter puzzles
me for 2 reasons:

* from a PCE implementer's perspective, we end up with a
mandatory field whose actual use is fuzzy (maybe Daniele could help
us with his CCAMP chair hat),

* an implementation needing to report an error related to a
blocking issue with that field has no clear specification to follow
(a well define error behavior may be required).

An easy way to address both concerns may be to temper the language
from RFC 6205 when the field is used in a PCEP context.

Thanks,

Julien

Section 4.3.2

RFC 6205 says that the "Identifier" is a
per-node assigned and scoped value that may change on a per-hop
basis.  I don't see where our base label gets scoped to a node
(just that it's part of a PCReq message which does not seem
scoped to a node), so this seems problematic.

YL>> RFC 6205 is written from the
perspective of GMPLS signaling which is on a per-hop basis.
Here we are using the same encoding, but from the PCEP
perspective. In the PCEP, PCC is the head-end node and the
head-end node would apply the wavelength restriction to its
out-going interfaces. If the restriction applies to globally,
then GMPLS signaling will carry this information to
sub-sequent nodes. If the restriction locally applies, then
PCE-CC mechanism (PCE talks to each node) would allow the
restriction to be applied to each node.  This draft was
written the restriction would be applied globally (as a
mechanism for limiting the tunable range of wavelength
globally so that the head-end node can propagate this
restriction to other node (via GMPLS signaling mechanism).