Path Computation Element Communication Protocol (PCEP) Extensions to Enable IFIT
draft-chen-pce-pcep-ifit-02

Document Type Active Internet-Draft (individual)
Authors Huanan Chen  , Hang Yuan  , Tianran Zhou  , Weidong Li  , Giuseppe Fioccola  , Yali Wang 
Last updated 2021-02-09
Replaces draft-chen-pce-sr-policy-ifit
Stream (None)
Intended RFC status (None)
Formats plain text pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
PCE                                                              H. Chen
Internet-Draft                                             China Telecom
Intended status: Standards Track                                 H. Yuan
Expires: August 13, 2021                                        UnionPay
                                                                 T. Zhou
                                                                   W. Li
                                                             G. Fioccola
                                                                 Y. Wang
                                                                  Huawei
                                                        February 9, 2021

  Path Computation Element Communication Protocol (PCEP) Extensions to
                              Enable IFIT
                      draft-chen-pce-pcep-ifit-02

Abstract

   This document defines PCEP extensions to distribute In-situ Flow
   Information Telemetry (IFIT) information.  So that IFIT behavior can
   be enabled automatically when the path is instantiated.  In-situ Flow
   Information Telemetry (IFIT) refers to network OAM data plane on-path
   telemetry techniques, in particular the most popular are In-situ OAM
   (IOAM) and Alternate Marking.  The IFIT attributes here described can
   be generalized for all path types but the application to Segment
   Routing (SR) is considered in this document.  This document extends
   PCEP to carry the IFIT attributes under the stateful PCE model.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in in BCP 14 [RFC2119]
   [RFC8174] when, and only when, they appear in all capitals, as shown
   here.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any

Chen, et al.             Expires August 13, 2021                [Page 1]
Internet-Draft                  pcep-ifit                  February 2021

   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 13, 2021.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  PCEP Extensions for IFIT Attributes . . . . . . . . . . . . .   4
     2.1.  IFIT for SR Policies  . . . . . . . . . . . . . . . . . .   4
   3.  IFIT capability advertisement TLV . . . . . . . . . . . . . .   5
   4.  IFIT Attributes TLV . . . . . . . . . . . . . . . . . . . . .   7
     4.1.  IOAM Sub-TLVs . . . . . . . . . . . . . . . . . . . . . .   8
       4.1.1.  IOAM Pre-allocated Trace Option Sub-TLV . . . . . . .   8
       4.1.2.  IOAM Incremental Trace Option Sub-TLV . . . . . . . .   9
       4.1.3.  IOAM Directly Export Option Sub-TLV . . . . . . . . .  10
       4.1.4.  IOAM Edge-to-Edge Option Sub-TLV  . . . . . . . . . .  11
     4.2.  Enhanced Alternate Marking Sub-TLV  . . . . . . . . . . .  12
   5.  PCEP Messages . . . . . . . . . . . . . . . . . . . . . . . .  13
     5.1.  The PCInitiate Message  . . . . . . . . . . . . . . . . .  13
     5.2.  The PCUpd Message . . . . . . . . . . . . . . . . . . . .  13
     5.3.  The PCRpt Message . . . . . . . . . . . . . . . . . . . .  13
   6.  Example of application to SR Policy . . . . . . . . . . . . .  14
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  15
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   9.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  17
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  17
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  17
     11.2.  Informative References . . . . . . . . . . . . . . . . .  19
   Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  20

Chen, et al.             Expires August 13, 2021                [Page 2]
Internet-Draft                  pcep-ifit                  February 2021

1.  Introduction

   In-situ Flow Information Telemetry (IFIT) refers to network OAM
   (Operations, Administration, and Maintenance) data plane on-path
   telemetry techniques, including In-situ OAM (IOAM)
   [I-D.ietf-ippm-ioam-data] and Alternate Marking [RFC8321].  It can
   provide flow information on the entire forwarding path on a per-
   packet basis in real time.

   An automatic network requires the Service Level Agreement (SLA)
   monitoring on the deployed service.  So that the system can quickly
   detect the SLA violation or the performance degradation, hence to
   change the service deployment.

   This document defines extensions to PCEP to distribute paths carrying
   IFIT information.  So that IFIT behavior can be enabled automatically
   when the path is instantiated.

   RFC 5440 [RFC5440] describes the Path Computation Element Protocol
   (PCEP) as a communication mechanism between a Path Computation Client
   (PCC) and a Path Computation Element (PCE), or between a PCE and a
   PCE.

   RFC 8231 [RFC8231] specifies extensions to PCEP to enable stateful
   control and it describes two modes of operation: passive stateful PCE
   and active stateful PCE.  Further, RFC 8281 [RFC8281] describes the
   setup, maintenance, and teardown of PCE-initiated LSPs for the
   stateful PCE model.

   When a PCE is used to initiate paths using PCEP, it is important that
   the head end of the path also understands the IFIT behavior that is
   intended for the path.  When PCEP is in use for path initiation it
   makes sense for that same protocol to be used to also carry the IFIT
   attributes that describe the IOAM or Alternate Marking procedure that
   needs to be applied to the data that flow those paths.

   The PCEP extension defined in this document allows to signal the IFIT
   capabilities.  In this way IFIT methods are automatically activated
   and running.  The flexibility and dynamicity of the IFIT applications
   are given by the use of additional functions on the controller and on
   the network nodes, but this is out of scope here.

   The Use Case of Segment Routing (SR) is discussed considering that
   IFIT methods are becoming mature for Segment Routing over the MPLS
   data plane (SR-MPLS) and Segment Routing over IPv6 data plane (SRv6).
   In this way SR policy native IFIT can facilitate the closed loop
   control and enable the automation of SR service.

Chen, et al.             Expires August 13, 2021                [Page 3]
Internet-Draft                  pcep-ifit                  February 2021

   Segment Routing (SR) policy [I-D.ietf-spring-segment-routing-policy]
   is a set of candidate SR paths consisting of one or more segment
   lists and necessary path attributes.  It enables instantiation of an
   ordered list of segments with a specific intent for traffic steering.

   It is to be noted the companion document [I-D.qin-idr-sr-policy-ifit]
   that proposes the BGP extension to enable IFIT methods for SR policy.

2.  PCEP Extensions for IFIT Attributes

   This document is to add IFIT attribute TLVs as PCEP Extensions.  The
   following sections will describe the requirement and usage of
   different IFIT modes, and define the corresponding TLV encoding in
   PCEP.

   The IFIT attributes here described can be generalized and included as
   TLVs carried inside the LSPA (LSP Attributes) object in order to be
   applied for all path types, as long as they support the relevant data
   plane telemetry method.  IFIT Attributes TLVs are optional and can be
   taken into account by the PCE during path computation and by the PCC
   during path setup.  In general, the LSPA object can be carried within
   a PCInitiate message, a PCUpd message, or a PCRpt message in the
   stateful PCE model.

   In this document it is considered the case of SR Policy since IOAM
   and Alternate Marking are more mature especially for Segment Routing
   (SR) and for IPv6.

   It is to be noted that, if it is needed to apply different IFIT
   methods for each Segment List, the IFIT attributes can be added into
   the PATH-ATTRIB object, instead of the LSPA object, according to
   [I-D.koldychev-pce-multipath] that defines PCEP Extensions for
   Signaling Multipath Information.

2.1.  IFIT for SR Policies

   RFC 8664 [RFC8664] and [I-D.ietf-pce-segment-routing-ipv6] specify
   extensions to the Path Computation Element Communication Protocol
   (PCEP) that allow a stateful PCE to compute and initiate Traffic-
   Engineering (TE) paths, as well as a Path Computation Client (PCC) to
   request a path subject to certain constraints and optimization
   criteria in SR networks both for SR-MPLS and SRv6.

   IFIT attibutes, here defined as TLVs for the LSPA object, complement
   both RFC 8664 [RFC8664], [I-D.ietf-pce-segment-routing-ipv6] and
   [I-D.ietf-pce-segment-routing-policy-cp].

Chen, et al.             Expires August 13, 2021                [Page 4]
Internet-Draft                  pcep-ifit                  February 2021

3.  IFIT capability advertisement TLV

   During the PCEP initialization phase, PCEP speakers (PCE or PCC)
   SHOULD advertise their support of IFIT methods (e.g.  IOAM and
   Alternate Marking).

   A PCEP speaker includes the IFIT-CAPABILITY TLVs in the OPEN object
   to advertise its support for PCEP IFIT extensions.  The presence of
   the IFIT-CAPABILITY TLV in the OPEN object indicates that the IFIT
   methods are supported.

   RFC 8664 [RFC8664] and [I-D.ietf-pce-segment-routing-ipv6] define a
   new Path Setup Type (PST) for SR and also define the SR-PCE-
   CAPABILITY sub-TLV.  This document defined a new IFIT-CAPABILITY TLV,
   that is an optional TLV for use in the OPEN Object for IFIT
   attributes via PCEP capability advertisement.

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Type                |            Length=4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Flags                     |P|I|D|E|M|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. 1 IFIT-CAPABILITY TLV Format

   Where:

   Type: to be assigned by IANA.

   Length: 4.

   Flags: The following flags are defined in this document:

      P: IOAM Pre-allocated Trace Option Type-enabled flag
      [I-D.ietf-ippm-ioam-data].  If set to 1 by a PCC, the P flag
      indicates that the PCC allows instantiation of the IOAM Pre-
      allocated Trace feature by a PCE.  If set to 1 by a PCE, the P
      flag indicates that the PCE supports the IOAM Pre-allocated Trace
      feature instantiation.  The P flag MUST be set by both PCC and PCE
      in order to support the IOAM Pre-allocated Trace instantiation

      I: IOAM Incremental Trace Option Type-enabled flag
      [I-D.ietf-ippm-ioam-data].  If set to 1 by a PCC, the I flag
      indicates that the PCC allows instantiation of the IOAM
      Incremental Trace feature by a PCE.  If set to 1 by a PCE, the I
      flag indicates that the PCE supports the relative IOAM Incremental

Chen, et al.             Expires August 13, 2021                [Page 5]
Internet-Draft                  pcep-ifit                  February 2021

      Trace feature instantiation.  The I flag MUST be set by both PCC
      and PCE in order to support the IOAM Incremental Trace feature
      instantiation

      D: IOAM DEX Option Type-enabled flag
      [I-D.ietf-ippm-ioam-direct-export].  If set to 1 by a PCC, the D
      flag indicates that the PCC allows instantiation of the relative
      IOAM DEX feature by a PCE.  If set to 1 by a PCE, the D flag
      indicates that the PCE supports the relative IOAM DEX feature
      instantiation.  The D flag MUST be set by both PCC and PCE in
      order to support the IOAM DEX feature instantiation

      E: IOAM E2E Option Type-enabled flag [I-D.ietf-ippm-ioam-data].
      If set to 1 by a PCC, the E flag indicates that the PCC allows
      instantiation of the relative IOAM E2E feature by a PCE.  If set
      to 1 by a PCE, the E flag indicates that the PCE supports the
      relative IOAM E2E feature instantiation.  The E flag MUST be set
      by both PCC and PCE in order to support the IOAM E2E feature
      instantiation

      M: Alternate Marking enabled flag RFC 8321 [RFC8321].  If set to 1
      by a PCC, the M flag indicates that the PCC allows instantiation
      of the relative Alternate Marking feature by a PCE.  If set to 1
      by a PCE, the M flag indicates that the PCE supports the relative
      Alternate Marking feature instantiation.  The M flag MUST be set
      by both PCC and PCE in order to support the Alternate Marking
      feature instantiation

      Unassigned bits are considered reserved.  They MUST be set to 0 on
      transmission and MUST be ignored on receipt.

   Advertisement of the IFIT-CAPABILITY TLV implies support of IFIT
   methods (IOAM and/or Alternate Marking) as well as the objects, TLVs,
   and procedures defined in this document.  It is worth mentioning that
   IOAM and Alternate Marking can be activated one at a time or can
   coexist; so it is possible to have only IOAM or only Alternate
   Marking enabled but they are recognized in general as IFIT
   capability.

   The IFIT Capability Advertisement can imply the following cases:

   o  The PCEP protocol extensions for IFIT MUST NOT be used if one or
      both PCEP speakers have not included the IFIT-CAPABILITY TLV in
      their respective OPEN message.

   o  A PCEP speaker that does not recognize the extensions defined in
      this document would simply ignore the TLVs as per RFC 5440
      [RFC5440].

Chen, et al.             Expires August 13, 2021                [Page 6]
Internet-Draft                  pcep-ifit                  February 2021

   o  If a PCEP speaker supports the extensions defined in this document
      but did not advertise this capability, then upon receipt of IFIT-
      ATTRIBUTES TLV in the LSP Attributes (LSPA) object, it SHOULD
      generate a PCErr with Error-Type 19 (Invalid Operation) with the
      relative Error-value "IFIT capability not advertised" and ignore
      the IFIT-ATTRIBUTES TLV.

4.  IFIT Attributes TLV

   The IFIT-ATTRIBUTES TLV provides the configurable knobs of the IFIT
   feature, and it can be included as an optional TLV in the LSPA object
   (as described in RFC 5440 [RFC5440]).

   For a PCE-initiated LSP RFC 8281 [RFC8281], this TLV is included in
   the LSPA object with the PCInitiate message.  For the PCC-initiated
   delegated LSPs, this TLV is carried in the Path Computation State
   Report (PCRpt) message in the LSPA object.  This TLV is also carried
   in the LSPA object with the Path Computation Update Request (PCUpd)
   message to direct the PCC (LSP head-end) to make updates to IFIT
   attributes.

   The TLV is encoded in all PCEP messages for the LSP if IFIT feature
   is enabled.  The absence of the TLV indicates the PCEP speaker wishes
   to disable the feature.  This TLV includes multiple IFIT-ATTRIBUTES
   sub-TLVs.  The IFIT-ATTRIBUTES sub-TLVs are included if there is a
   change since the last information sent in the PCEP message.  The
   default values for missing sub-TLVs apply for the first PCEP message
   for the LSP.

   The format of the IFIT-ATTRIBUTES TLV is shown in the following
   figure:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Type              |           Length              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                            sub-TLVs                          //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. 2 IFIT-ATTRIBUTES TLV Format

   Where:

   Type: to be assigned by IANA.

Chen, et al.             Expires August 13, 2021                [Page 7]
Internet-Draft                  pcep-ifit                  February 2021

   Length: The Length field defines the length of the value portion in
   bytes as per RFC 5440 [RFC5440].

   Value: This comprises one or more sub-TLVs.

   The following sub-TLVs are defined in this document:

     Type    Len   Name
   -----------------------------------------------------
     1       8     IOAM Pre-allocated Trace Option

     2       8     IOAM Incremental Trace Option

     3      12     IOAM Directly Export Option

     4       4     IOAM Edge-to-Edge Option

     5       4     Enhanced Alternate Marking

              Fig. 3 Sub-TLV Types of the IFIT-ATTRIBUTES TLV

4.1.  IOAM Sub-TLVs

   In-situ Operations, Administration, and Maintenance (IOAM)
   [I-D.ietf-ippm-ioam-data] records operational and telemetry
   information in the packet while the packet traverses a path between
   two points in the network.  In terms of the classification given in
   RFC 7799 [RFC7799] IOAM could be categorized as Hybrid Type 1.  IOAM
   mechanisms can be leveraged where active OAM do not apply or do not
   offer the desired results.

   For the SR use case, when SR policy enables IOAM, the IOAM header
   will be inserted into every packet of the traffic that is steered
   into the SR paths.  Since this document aims to define the control
   plane, it is to be noted that a relevant document for the data plane
   is [I-D.ietf-ippm-ioam-ipv6-options] for Segment Routing over IPv6
   data plane (SRv6).

4.1.1.  IOAM Pre-allocated Trace Option Sub-TLV

   The IOAM tracing data is expected to be collected at every node that
   a packet traverses to ensure visibility into the entire path a packet
   takes within an IOAM domain.  The preallocated tracing option will
   create pre-allocated space for each node to populate its information.

   The format of IOAM pre-allocated trace option Sub-TLV is defined as
   follows:

Chen, et al.             Expires August 13, 2021                [Page 8]
Internet-Draft                  pcep-ifit                  February 2021

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-------------------------------+-------------------------------+
   |          Type=1               |           Length=8            |
   +---------------------------------------------------------------+
   |       Namespace ID            |            Rsvd1              |
   +-------------------------------+-----------------------+-------+
   |         IOAM Trace Type                      | Flags  | Rsvd2 |
   +----------------------------------------------+--------+-------+

              Fig. 4 IOAM Pre-allocated Trace Option Sub-TLV

   Where:

   Type: 1 (to be assigned by IANA).

   Length: 8.  It is the total length of the value field not including
   Type and Length fields.

   Namespace ID: A 16-bit identifier of an IOAM-Namespace.  The
   definition is the same as described in section 4.4 of
   [I-D.ietf-ippm-ioam-data].

   IOAM Trace Type: A 24-bit identifier which specifies which data types
   are used in the node data list.  The definition is the same as
   described in section 4.4 of [I-D.ietf-ippm-ioam-data].

   Flags: A 4-bit field.  The definition is the same as described in
   [I-D.ietf-ippm-ioam-flags] and section 4.4 of
   [I-D.ietf-ippm-ioam-data].

   Rsvd1: A 16-bit field reserved for further usage.  It MUST be zero
   and ignored on receipt.

   Rsvd2: A 4-bit field reserved for further usage.  It MUST be zero and
   ignored on receipt.

4.1.2.  IOAM Incremental Trace Option Sub-TLV

   The incremental tracing option contains a variable node data fields
   where each node allocates and pushes its node data immediately
   following the option header.

   The format of IOAM incremental trace option Sub-TLV is defined as
   follows:

Chen, et al.             Expires August 13, 2021                [Page 9]
Internet-Draft                  pcep-ifit                  February 2021

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-------------------------------+-------------------------------+
   |          Type=2               |           Length=8            |
   +---------------------------------------------------------------+
   |       Namespace ID            |            Rsvd1              |
   +-------------------------------+-----------------------+-------+
   |         IOAM Trace Type                      | Flags  | Rsvd2 |
   +----------------------------------------------+--------+-------+

               Fig. 5 IOAM Incremental Trace Option Sub-TLV

   Where:

   Type: 2 (to be assigned by IANA).

   Length: 8.  It is the total length of the value field not including
   Type and Length fields.

   All the other fields definition is the same as the pre-allocated
   trace option Sub-TLV in the previous section.

4.1.3.  IOAM Directly Export Option Sub-TLV

   IOAM directly export option is used as a trigger for IOAM data to be
   directly exported to a collector without being pushed into in-flight
   data packets.

   The format of IOAM directly export option Sub-TLV is defined as
   follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-------------------------------+-------------------------------+
   |           Type=3              |         Length=12             |
   +---------------------------------------------------------------+
   |        Namespace ID           |            Flags              |
   +-------------------------------+---------------+---------------+
   |               IOAM Trace Type                 |      Rsvd     |
   +-----------------------------------------------+---------------+
   |                         Flow ID                               |
   +---------------------------------------------------------------+

                Fig. 6 IOAM Directly Export Option Sub-TLV

   Where:

   Type: 3 (to be assigned by IANA).

Chen, et al.             Expires August 13, 2021               [Page 10]
Internet-Draft                  pcep-ifit                  February 2021

   Length: 12.  It is the total length of the value field not including
   Type and Length fields.

   Namespace ID: A 16-bit identifier of an IOAM-Namespace.  The
   definition is the same as described in section 4.4 of
   [I-D.ietf-ippm-ioam-data].

   IOAM Trace Type: A 24-bit identifier which specifies which data types
   are used in the node data list.  The definition is the same as
   described in section 4.4 of [I-D.ietf-ippm-ioam-data].

   Flags: A 16-bit field.  The definition is the same as described in
   section 3.2 of [I-D.ietf-ippm-ioam-direct-export].

   Flow ID: A 32-bit flow identifier.  The definition is the same as
   described in section 3.2 of [I-D.ietf-ippm-ioam-direct-export].

   Rsvd: A 4-bit field reserved for further usage.  It MUST be zero and
   ignored on receipt.

4.1.4.  IOAM Edge-to-Edge Option Sub-TLV

   The IOAM edge to edge option is to carry data that is added by the
   IOAM encapsulating node and interpreted by IOAM decapsulating node.

   The format of IOAM edge-to-edge option Sub-TLV is defined as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-------------------------------+-------------------------------+
   |         Type=4                |          Length=4             |
   +---------------------------------------------------------------+
   |        Namespace ID           |         IOAM E2E Type         |
   +-------------------------------+-------------------------------+

                  Fig. 7 IOAM Edge-to-Edge Option Sub-TLV

   Where:

   Type: 4 (to be assigned by IANA).

   Length: 4.  It is the total length of the value field not including
   Type and Length fields.

   Namespace ID: A 16-bit identifier of an IOAM-Namespace.  The
   definition is the same as described in section 4.6 of
   [I-D.ietf-ippm-ioam-data].

Chen, et al.             Expires August 13, 2021               [Page 11]
Internet-Draft                  pcep-ifit                  February 2021

   IOAM E2E Type: A 16-bit identifier which specifies which data types
   are used in the E2E option data.  The definition is the same as
   described in section 4.6 of [I-D.ietf-ippm-ioam-data].

4.2.  Enhanced Alternate Marking Sub-TLV

   The Alternate Marking [RFC8321]technique is an hybrid performance
   measurement method, per RFC 7799 [RFC7799] classification of
   measurement methods.  Because this method is based on marking
   consecutive batches of packets.  It can be used to measure packet
   loss, latency, and jitter on live traffic.

   For the SR use case, since this document aims to define the control
   plane, it is to be noted that a relevant document for the data plane
   is [I-D.ietf-6man-ipv6-alt-mark] for Segment Routing over IPv6 data
   plane (SRv6).

   The format of Enhanced Alternate Marking (EAM) Sub-TLV is defined as
   follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-------------------------------+-------------------------------+
   |            Type=5             |           Length=4            |
   +-------------------------------+-------+---------------+-------+
   |           FlowMonID                   |     Period    |H|E| R |
   +---------------------------------------+---------------+-------+

                 Fig. 8 Enhanced Alternate Marking Sub-TLV

   Where:

   Type: 5 (to be assigned by IANA).

   Length: 4.  It is the total length of the value field not including
   Type and Length fields.

   FlowMonID: A 20-bit identifier to uniquely identify a monitored flow
   within the measurement domain.  The definition is the same as
   described in section 5.3 of [I-D.ietf-6man-ipv6-alt-mark].  It is to
   be noted that PCE also needs to maintain the uniqueness of FlowMonID
   as described in [I-D.ietf-6man-ipv6-alt-mark].

   Period: Time interval between two alternate marking period.  The unit
   is second.

   H: A flag indicating that the measurement is Hop-By-Hop.

Chen, et al.             Expires August 13, 2021               [Page 12]
Internet-Draft                  pcep-ifit                  February 2021

   E: A flag indicating that the measurement is end to end.

   R: A 2-bit field reserved for further usage.  It MUST be zero and
   ignored on receipt.

5.  PCEP Messages

5.1.  The PCInitiate Message

   A PCInitiate message is a PCEP message sent by a PCE to a PCC to
   trigger LSP instantiation or deletion RFC 8281 [RFC8281].

   For the PCE-initiated LSP with the IFIT feature enabled, IFIT-
   ATTRIBUTES TLV MUST be included in the LSPA object with the
   PCInitiate message.

   The Routing Backus-Naur Form (RBNF) definition of the PCInitiate
   message RFC 8281 [RFC8281] is unchanged by this document.

5.2.  The PCUpd Message

   A PCUpd message is a PCEP message sent by a PCE to a PCC to update
   the LSP parameters RFC 8231 [RFC8231].

   For PCE-initiated LSPs with the IFIT feature enabled, the IFIT-
   ATTRIBUTES TLV MUST be included in the LSPA object with the PCUpd
   message.  The PCE can send this TLV to direct the PCC to change the
   IFIT parameters.

   The RBNF definition of the PCUpd message RFC 8231 [RFC8231] is
   unchanged by this document.

5.3.  The PCRpt Message

   The PCRpt message RFC 8231 [RFC8231] is a PCEP message sent by a PCC
   to a PCE to report the status of one or more LSPs.

   For PCE-initiated LSPs RFC 8281 [RFC8281], the PCC creates the LSP
   using the attributes communicated by the PCE and the local values for
   the unspecified parameters.  After the successful instantiation of
   the LSP, the PCC automatically delegates the LSP to the PCE and
   generates a PCRpt message to provide the status report for the LSP.

   The RBNF definition of the PCRpt message RFC 8231 [RFC8231] is
   unchanged by this document.

   For both PCE-initiated and PCC-initiated LSPs, when the LSP is
   instantiated the IFIT methods are applied as specified for the

Chen, et al.             Expires August 13, 2021               [Page 13]
Internet-Draft                  pcep-ifit                  February 2021

   corresponding data plane.  [I-D.ietf-ippm-ioam-ipv6-options] and
   [I-D.ietf-6man-ipv6-alt-mark] are the relevant documents for Segment
   Routing over IPv6 data plane (SRv6).

6.  Example of application to SR Policy

   A PCC or PCE sets the IFIT-CAPABILITY TLV in the Open message during
   the PCEP initialization phase to indicate that it supports the IFIT
   procedures.

   [I-D.ietf-pce-segment-routing-policy-cp] defines the PCEP extension
   to support Segment Routing Policy Candidate Paths and in this regard
   the SRPAG Association object is introduced.

   The Examples of PCC Initiated SR Policy with single or multiple
   candidate-paths and PCE Initiated SR Policy with single or multiple
   candidate-paths are reported in
   [I-D.ietf-pce-segment-routing-policy-cp].

   In case of PCC Initiated SR Policy, PCC sends PCReq message to the
   PCE, encoding the SRPAG ASSOCIATION object and IFIT-ATTRIBUTES TLV
   via the LSPA object.  This is valid for both single and multiple
   candidate-paths.  Finally PCE returns the path in PCRep message, and
   echoes back the SRPAG object that were used in the computation and
   IFIT LSPA TLVs too.  Additionally, PCC sends PCRpt message to the
   PCE, including the LSP object and the SRPAG ASSOCIATION object and
   IFIT-ATTRIBUTES TLV via the LSPA object.  Then PCE computes path and
   finally PCE updates the SR policy candidate path's ERO using PCUpd
   message considering the IFIT LSPA TLVs too.

   In case of PCE Initiated SR Policy, PCE sends PCInitiate message,
   containing the SRPAG Association object and IFIT-ATTRIBUTES TLV via
   the LSPA object.  This is valid for both single and multiple
   candidate-paths.  Then PCC uses the color, endpoint and preference
   from the SRPAG object to create a new candidate path considering the
   IFIT LSPA TLVs too.  Finally PCC sends a PCRpt message back to the
   PCE to report the newly created Candidate Path.  The PCRpt message
   contains the SRPAG Association object and IFIT-ATTRIBUTES
   information.

   The procedure of enabling/disabling IFIT is simple, indeed the PCE
   can update the IFIT-ATTRIBUTES of the LSP by sending subsequent Path
   Computation Update Request (PCUpd) messages.  PCE can update the
   IFIT-ATTRIBUTES of the LSP by sending Path Computation State Report
   (PCRpt) messages.

Chen, et al.             Expires August 13, 2021               [Page 14]
Internet-Draft                  pcep-ifit                  February 2021

7.  IANA Considerations

   This document defines the new IFIT-CAPABILITY TLV and IFIT-ATTRIBUTES
   TLV.  IANA is requested to make the assignment from the "PCEP TLV
   Type Indicators" subregistry of the "Path Computation Element
   Protocol (PCEP) Numbers" registry as follows:

   Value        Description                      Reference
   -------------------------------------------------------------
   TBD1         IFIT-CAPABILITY                  This document

   TBD2         IFIT-ATTRIBUTES                  This document

   This document specifies the IFIT-CAPABILITY TLV Flags field.  IANA is
   requested to create a registry to manage the value of the IFIT-
   CAPABILITY TLV's Flags field within the "Path Computation Element
   Protocol (PCEP) Numbers" registry.

   New values are to be assigned by Standards Action RFC 8126 [RFC8126].
   Each bit should be tracked with the following qualities:

      * Bit number (count from 0 as the most significant bit)

      * Flag Name

      * Reference

   IANA is requested to set 5 new bits in the IFIT-CAPABILITY TLV Flags
   Field registry, as follows:

   Bit no.   Flag Name                                   Reference
   ---------------------------------------------------------------------
   27        P: IOAM Pre-allocated Trace Option flag     This document

   28        I: IOAM Incremental Trace Option flag       This document

   29        D: IOAM Directly Export Option flag         This document

   30        E: IOAM Edge-to-Edge Option                 This document

   31        M: Alternate Marking Flag                   This document

   This document also specifies the IFIT-ATTRIBUTES sub-TLVs.  IANA is
   requested to create an "IFIT-ATTRIBUTES Sub-TLV Types" subregistry
   within the "Path Computation Element Protocol (PCEP) Numbers"
   registry.

Chen, et al.             Expires August 13, 2021               [Page 15]
Internet-Draft                  pcep-ifit                  February 2021

   IANA is requested to set the Registration Procedure for this registry
   to read as follows:

     Range            Registration Procedure
   ------------------------------------------
     0-65503          IETF Review

     65504-65535      Experimental Use

   This document defines the following types:

   Type          Description                         Reference
   ---------------------------------------------------------------
   0             Reserved                            This document

   1             IOAM Pre-allocated Trace Option     This document

   2             IOAM Incremental Trace Option       This document

   3             IOAM Directly Export Option         This document

   4             IOAM Edge-to-Edge Option            This document

   5             Enhanced Alternate Marking          This document

   6-65503       Unassigned                          This document

   65504-65535   Experimental Use                    This document

   This document defines a new Error-value for PCErr message of Error-
   Type 19 (Invalid Operation).  IANA is requested to allocate a new
   Error-value within the "PCEP-ERROR Object Error Types and Values"
   subregistry of the "Path Computation Element Protocol (PCEP) Numbers"
   registry as follows:

   Error-Type   Meaning     Error-value          Reference
   ---------------------------------------------------------------
   19           Invalid     TBD3: IFIT             This document
                Operation   capability not
                            advertised

8.  Security Considerations

   This document defines the new IFIT-CAPABILITY TLV and IFIT Attributes
   TLVs, which do not add any substantial new security concerns beyond
   those already discussed in RFC 8231 [RFC8231] and RFC 8281 [RFC8281]
   for stateful PCE operations.  As per RFC 8231 [RFC8231], it is

Chen, et al.             Expires August 13, 2021               [Page 16]
Internet-Draft                  pcep-ifit                  February 2021

   RECOMMENDED that these PCEP extensions only be activated on
   authenticated and encrypted sessions across PCEs and PCCs belonging
   to the same administrative authority, using Transport Layer Security
   (TLS) RFC 8253 [RFC8253], as per the recommendations and best current
   practices in BCP 195 RFC 7525 [RFC7525] (unless explicitly set aside
   in RFC 8253 [RFC8253]).

   Implementation of IFIT methods (IOAM and Alternate Marking) are
   mindful of security and privacy concerns, as explained in
   [I-D.ietf-ippm-ioam-data] and RFC 8321 [RFC8321].  Anyway incorrect
   IFIT parameters in the IFIT-ATTRIBUTES sub-TLVs SHOULD not have an
   adverse effect on the LSP as well as on the network, since it affects
   only the operation of the telemetry methodology.

9.  Contributors

   The following people provided relevant contributions to this
   document:

   Dhruv Doody, Huawei Technologies, dhruv.ietf@gmail.com

10.  Acknowledgements

   The authors of this document would like to thank Huaimo Chen for the
   comments and review of this document.

11.  References

11.1.  Normative References

   [I-D.ietf-6man-ipv6-alt-mark]
              Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R.
              Pang, "IPv6 Application of the Alternate Marking Method",
              draft-ietf-6man-ipv6-alt-mark-02 (work in progress),
              October 2020.

   [I-D.ietf-ippm-ioam-data]
              Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields
              for In-situ OAM", draft-ietf-ippm-ioam-data-11 (work in
              progress), November 2020.

   [I-D.ietf-ippm-ioam-direct-export]
              Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F.,
              Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ
              OAM Direct Exporting", draft-ietf-ippm-ioam-direct-
              export-02 (work in progress), November 2020.

Chen, et al.             Expires August 13, 2021               [Page 17]
Internet-Draft                  pcep-ifit                  February 2021

   [I-D.ietf-ippm-ioam-flags]
              Mizrahi, T., Brockners, F., Bhandari, S., Sivakolundu, R.,
              Pignataro, C., Kfir, A., Gafni, B., Spiegel, M., and J.
              Lemon, "In-situ OAM Flags", draft-ietf-ippm-ioam-flags-03
              (work in progress), October 2020.

   [I-D.ietf-ippm-ioam-ipv6-options]
              Bhandari, S., Brockners, F., Pignataro, C., Gredler, H.,
              Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B.,
              Lapukhov, P., Spiegel, M., Krishnan, S., Asati, R., and M.
              Smith, "In-situ OAM IPv6 Options", draft-ietf-ippm-ioam-
              ipv6-options-04 (work in progress), November 2020.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <https://www.rfc-editor.org/info/rfc5440>.

   [RFC7525]  Sheffer, Y., Holz, R., and P. Saint-Andre,
              "Recommendations for Secure Use of Transport Layer
              Security (TLS) and Datagram Transport Layer Security
              (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
              2015, <https://www.rfc-editor.org/info/rfc7525>.

   [RFC7799]  Morton, A., "Active and Passive Metrics and Methods (with
              Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799,
              May 2016, <https://www.rfc-editor.org/info/rfc7799>.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8231]  Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
              Computation Element Communication Protocol (PCEP)
              Extensions for Stateful PCE", RFC 8231,
              DOI 10.17487/RFC8231, September 2017,
              <https://www.rfc-editor.org/info/rfc8231>.

Chen, et al.             Expires August 13, 2021               [Page 18]
Internet-Draft                  pcep-ifit                  February 2021

   [RFC8253]  Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
              "PCEPS: Usage of TLS to Provide a Secure Transport for the
              Path Computation Element Communication Protocol (PCEP)",
              RFC 8253, DOI 10.17487/RFC8253, October 2017,
              <https://www.rfc-editor.org/info/rfc8253>.

   [RFC8281]  Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
              Computation Element Communication Protocol (PCEP)
              Extensions for PCE-Initiated LSP Setup in a Stateful PCE
              Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
              <https://www.rfc-editor.org/info/rfc8281>.

   [RFC8321]  Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
              L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
              "Alternate-Marking Method for Passive and Hybrid
              Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
              January 2018, <https://www.rfc-editor.org/info/rfc8321>.

   [RFC8664]  Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
              and J. Hardwick, "Path Computation Element Communication
              Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
              DOI 10.17487/RFC8664, December 2019,
              <https://www.rfc-editor.org/info/rfc8664>.

11.2.  Informative References

   [I-D.ietf-pce-segment-routing-ipv6]
              Li, C., Negi, M., Sivabalan, S., Koldychev, M.,
              Kaladharan, P., and Y. Zhu, "PCEP Extensions for Segment
              Routing leveraging the IPv6 data plane", draft-ietf-pce-
              segment-routing-ipv6-08 (work in progress), November 2020.

   [I-D.ietf-pce-segment-routing-policy-cp]
              Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H.
              Bidgoli, "PCEP extension to support Segment Routing Policy
              Candidate Paths", draft-ietf-pce-segment-routing-policy-
              cp-02 (work in progress), January 2021.

   [I-D.ietf-spring-segment-routing-policy]
              Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
              P. Mattes, "Segment Routing Policy Architecture", draft-
              ietf-spring-segment-routing-policy-09 (work in progress),
              November 2020.

Chen, et al.             Expires August 13, 2021               [Page 19]
Internet-Draft                  pcep-ifit                  February 2021

   [I-D.koldychev-pce-multipath]
              Koldychev, M., Sivabalan, S., Saad, T., Beeram, V.,
              Bidgoli, H., Yadav, B., and S. Peng, "PCEP Extensions for
              Signaling Multipath Information", draft-koldychev-pce-
              multipath-04 (work in progress), October 2020.

   [I-D.qin-idr-sr-policy-ifit]
              Qin, F., Yuan, H., Zhou, T., Fioccola, G., and Y. Wang,
              "BGP SR Policy Extensions to Enable IFIT", draft-qin-idr-
              sr-policy-ifit-04 (work in progress), October 2020.

Appendix A.

Authors' Addresses

   Huanan Chen
   China Telecom
   Guangzhou
   China

   Email: chenhuan6@chinatelecom.cn

   Hang Yuan
   UnionPay
   1899 Gu-Tang Rd., Pudong
   Shanghai
   China

   Email: yuanhang@unionpay.com

   Tianran Zhou
   Huawei
   156 Beiqing Rd., Haidian District
   Beijing
   China

   Email: zhoutianran@huawei.com

   Weidong Li
   Huawei
   156 Beiqing Rd., Haidian District
   Beijing
   China

   Email: poly.li@huawei.com

Chen, et al.             Expires August 13, 2021               [Page 20]
Internet-Draft                  pcep-ifit                  February 2021

   Giuseppe Fioccola
   Huawei
   Riesstrasse, 25
   Munich
   Germany

   Email: giuseppe.fioccola@huawei.com

   Yali Wang
   Huawei
   156 Beiqing Rd., Haidian District
   Beijing
   China

   Email: wangyali11@huawei.com

Chen, et al.             Expires August 13, 2021               [Page 21]