[Pce] Benjamin Kaduk's Discuss on draft-ietf-pce-stateful-path-protection-10: (with DISCUSS and COMMENT)

Benjamin Kaduk via Datatracker <noreply@ietf.org> Tue, 17 September 2019 23:44 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: pce@ietf.org
Delivered-To: pce@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 4DE0312018B; Tue, 17 Sep 2019 16:44:42 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Benjamin Kaduk via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-pce-stateful-path-protection@ietf.org, Julien Meuric <julien.meuric@orange.com>, pce-chairs@ietf.org, julien.meuric@orange.com, pce@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.101.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Benjamin Kaduk <kaduk@mit.edu>
Message-ID: <156876388231.17411.6094234033866939217.idtracker@ietfa.amsl.com>
Date: Tue, 17 Sep 2019 16:44:42 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/ETpG5Y6DkOCQ4pGr114bFd2aLRo>
Subject: [Pce] Benjamin Kaduk's Discuss on draft-ietf-pce-stateful-path-protection-10: (with DISCUSS and COMMENT)
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pce/>
List-Post: <mailto:pce@ietf.org>
List-Help: <mailto:pce-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Sep 2019 23:44:42 -0000

Benjamin Kaduk has entered the following ballot position for
draft-ietf-pce-stateful-path-protection-10: 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-stateful-path-protection/



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

(1) draft-ietf-pce-association-group notes that "PCEP extensions that define
a new association type should clarify the relationship between the SVEC
object and the association type, if any".  Where do we do so for the
path protection association type?

(2) Section 3.2 says:

      Protection Type (PT): 6 bits - This field is as defined in
      Section 14.1 of [RFC4872] to indicate the LSP protection type in
      use.

There doesn't seem to be a registry created by RFC 4872 to track these
PT values, so I assume that the way to allocate a new value is
"standards-track RFC that Updates: RFC 4872".  Is that also the way to
allocate new PT values for PPAG usage?  How would someone updating RFC
4872 to allocate a new type know to consider/document whether it applies
for PPAG usage?

(3) In Section 4.3:

   A PCE can create/update working and protection LSPs independently.
   As specified in [I-D.ietf-pce-association-group], Association Groups
   can be created by both the PCE and the PCC.  Further, a PCE can

The requirement that source, destination, and tunnel ID of all LSPs
within a PPAG MUST be the same is new to this document, so I think we
need to specify error handling for when attempts to update LSPs
independently would violate that invariant (presumably in Section 4.5).

(4) In Section 6.3:

                                      IANA is requested to allocate new
   error values within the "PCEP-ERROR Object Error Types and Values"
   sub-registry of the PCEP Numbers registry, as follows:

The following table only lists Error-values.  What Error-type(s) should
they be associated with?

(5) We don't say which objects the PPAG TLV can appear in.  (Section 3.2
says "[t]he Path Protection Association TLV is an optional TLV for use
with the Path Protection Association Type", but it's hard to interpret
that as meaning "for use [only] with the ASSOCIATION object defined in
draft-ietf-pce-association-group", especially since there is a "path
protection association type" already (and it's a codepoint in the
"ASSOCIATION Type Field" registry).

(6) I'm not sure if a change to the document is needed here, but perhaps
some discussion is in order: we say that a given LSP can belong to more
than one PPAG, but only allow one PPAG TLV per [some context that
remains unclear; see (5)].  I don't have a good handle for whether these
two requirements are potentially in conflict: that is, whether a single
PPAG TLV would have to specify the flags that apply for both PPAGs that
a given LSP is a member of, or if the containing objects serve to scope
the PPAG TLV flags' interpretation.

(7) Do the Protection Type fields of the PPAG TLV in the various LSPs
that are members of the same PPAG need to match, in the same way that
the source/destination/tunnel-ID do?


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

Section 1

   This document specifies a stateful PCEP extension to associate two or
   more LSPs for the purpose of setting up path protection.  The
   proposed extension covers the following scenarios:

nit: after publication, it doesn't really seem like a *proposed*
extension anymore.

Section 3.1

   LSPs are not associated by listing the other LSPs with which they
   interact, but rather by making them belong to an association group
   referred to as "Path Protection Association Group" (PPAG) in this
   document.  [...]

The first 2/3 of this sentence is a (true) generic statement about all
association groups, which exist outside of this document in a generic
fashion.  I strongly suggest rewording this to make clear that the PPAG
is the specific association (group) type used for this document's
functionality but that other association groups are possible.  The
current wording implies that the PPAG is the only association possible,
and it is just given a special name for this document's purposes.

   [I-D.ietf-pce-association-group] specifies the mechanism for the
   capability advertisement of the Association types supported by a PCEP
   speaker by defining a ASSOC-Type-List TLV to be carried within an
   OPEN object.  This capability exchange for the Association type
   described in this document (i.e.  Path Protection Association Type)
   MAY be done before using the policy association, i.e., the PCEP
   speaker MAY include the Path Protection Association Type (TBD1) in
   the ASSOC-Type-List TLV before using the PPAG in the PCEP messages.

Why is this only MAY and not MUST?

   This Association type is dynamic in nature and created by the PCC or

nit: is it the type that is dynamic or the associations of that type?

      Protecting (P): 1 bit - This bit is as defined in Section 14.1 of
      [RFC4872] to indicate if the LSP is working or protection LSP.

      Secondary (S): 1 bit - This bit is as defined in Section 14.1 of
      [RFC4872] to indicate if the LSP is primary or secondary LSP.  The
      S flag is ignored if the P flag is not set.

Just to check my understanding (no change expected to result): if P is
zero, the LSP is working, and thus we know that it's primary since it's
actively carrying traffic?

Section 3.2

nit(?) The section heading does not match the name of the TLV requested
in the IANA considerations, nor do we mention here that "PPAG TLV" is
synonymous with it.

   If the TLV is missing, it is considered that the LSP is the working
   LSP (i.e. as if P bit is unset).

Is this conditional on the LSP being part of a PPAG, or does it hold
generically as well?

Section 4.5

   As per the processing rules specified in section 5.4 of
   [I-D.ietf-pce-association-group], if a PCEP speaker does not support

There is no Section 5.4 in draft-ietf-pce-association-group-10;
presumably this was supposed to be Section 6.4?

   A given LSP MAY belong to more than one PPAG.  If there is a conflict

While I'm not arguing to remove this option, I'm also a bit confused at
how useful having a single LSP be in multiple PPAGs woud be, given the
need for source/destination/tunnel-ID to match.

   When the protection type is set to 1+1 or 1:N with N=1, there MUST be
   only one working LSP and one protection LSP within a PPAG.  If a PCEP
   speaker attempts to add another working/protection LSP, the PCEP peer
   MUST send PCErr with Error-Type 26 (Association Error)
   [I-D.ietf-pce-association-group] and Error-Value TBD4 (Attempt to add
   another working/protection LSP for Path Protection Association).

This seems to prevent a scenario where there's a need to change the
protection LSP and a desire to do so without removing the protected
nature of the working LSP.  Unless it's presumed that this could always
be done by updating the protection LSP and it would never be necessary
to create a new one?  (Similarly for 1:N, though maybe less severe.)

Section 5

   [RFC4872] introduces the concept and mechanisms to support the
   association of one LSP to another LSP across different RSVP - Traffic
   Engineering (RSVP-TE) sessions using ASSOCIATION and PROTECTION
   object.  The information in the PPAG TLV in PCEP as received from the
   PCE, is used to trigger the signalling of working LSP and protection
   LSP, with the Path Protection Association Flags mapped to the
   corresponding fields in the PROTECTION Object in RSVP-TE.

Just to check my understanding: this paragraph is saying that the
contents of the PPAG TLV received by the PCC is used as input to
populating the PROTECTION object that corresponds to the protection
group?

Section 10.2

I think RFCs 7525 and 8253 need to be normative (and please cite RFC
7525 as BCP 195).