Skip to main content

A YANG Data Model for Segment Routing (SR) Policy and SR in IPv6 (SRv6) support in Path Computation Element Communications Protocol (PCEP)
draft-ietf-pce-pcep-srv6-yang-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Cheng Li , Siva Sivabalan , Shuping Peng , Mike Koldychev , Luc-Fabrice Ndifor
Last updated 2023-09-08 (Latest revision 2023-03-07)
Replaces draft-li-pce-pcep-srv6-yang
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-pce-pcep-srv6-yang-03
PCE Working Group                                                  C. Li
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                            S. Sivabalan
Expires: 11 March 2024                                 Ciena Corporation
                                                                 S. Peng
                                                     Huawei Technologies
                                                            M. Koldychev
                                                     Cisco Systems, Inc.
                                                               L. Ndifor
                                                            MTN Cameroon
                                                        8 September 2023

A YANG Data Model for Segment Routing (SR) Policy and SR in IPv6 (SRv6)
   support in Path Computation Element Communications Protocol (PCEP)
                    draft-ietf-pce-pcep-srv6-yang-03

Abstract

   This document augments a YANG data model for the management of Path
   Computation Element Communications Protocol (PCEP) for communications
   between a Path Computation Client (PCC) and a Path Computation
   Element (PCE), or between two PCEs in support for Segment Routing in
   IPv6 (SRv6) and SR Policy.  The data model includes configuration
   data and state data (status information and counters for the
   collection of statistics).

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
   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 11 March 2024.

Copyright Notice

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

Li, et al.                Expires 11 March 2024                 [Page 1]
Internet-Draft                PCEP-SR-YANG                September 2023

   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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Terminology and Notation  . . . . . . . . . . . . . . . . . .   3
     3.1.  Tree Diagrams . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Prefixes in Data Node Names . . . . . . . . . . . . . . .   4
     3.3.  References in the Model . . . . . . . . . . . . . . . . .   5
     3.4.  Further Discussion  . . . . . . . . . . . . . . . . . . .   6
   4.  The Design of YANG Data Model . . . . . . . . . . . . . . . .   6
     4.1.  The Overview of PCEP SRv6 Data Model  . . . . . . . . . .   6
     4.2.  The Overview of PCEP SR Policy Data Model . . . . . . . .   7
   5.  The YANG Modules  . . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  ietf-pcep-srv6 module . . . . . . . . . . . . . . . . . .   8
     5.2.  ietf-pcep-srpolicy module . . . . . . . . . . . . . . . .  13
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  19
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  19
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  19
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  19
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  22
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  23

1.  Introduction

   The Path Computation Element (PCE) defined in [RFC4655] is an entity
   that is capable of computing a network path or route based on a
   network graph, and applying computational constraints.  A Path
   Computation Client (PCC) may make requests to a PCE for paths to be
   computed.

   PCEP is the communication protocol between a PCC and PCE and is
   defined in [RFC5440].  PCEP interactions include path computation
   requests and path computation replies as well as notifications of
   specific states related to the use of a PCE in the context of
   Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS)
   Traffic Engineering (TE).  [RFC8231] specifies extensions to PCEP to
   enable stateful control of MPLS TE LSPs.

Li, et al.                Expires 11 March 2024                 [Page 2]
Internet-Draft                PCEP-SR-YANG                September 2023

   [I-D.ietf-pce-segment-routing-ipv6] extends [RFC8664] to support SR
   for IPv6 data plane.

   [I-D.ietf-pce-pcep-yang] defines a YANG [RFC7950] data model for the
   management of PCEP speakers.  This document contains a specification
   of the PCEP-SRv6 YANG module, "ietf-pcep-srv6" which provides the
   PCEP-SRv6 [I-D.ietf-pce-segment-routing-ipv6] data model.  This
   document also contains the PCEP SR Policy YANG module, "ietf-pcep-
   srpolicy" which provides a reference to SR Policies [RFC9256].

   The PCEP operational state is included in the same tree as the PCEP
   configuration consistent with Network Management Datastore
   Architecture (NMDA) [RFC8342].  The origin of the data is indicated
   as per the origin metadata annotation.

2.  Requirements Language

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

3.  Terminology and Notation

   This document also uses the following terms defined in [RFC7420]:

   *  PCEP entity: a local PCEP speaker.

   *  PCEP peer: a remote PCEP speaker.

   *  PCEP speaker: where it is not necessary to distinguish between
      local and remote.

   Further, this document also uses the following terms defined in
   [RFC8231] :

   *  Stateful PCE, Passive Stateful PCE, Active Stateful PCE.

   *  Delegation, Revocation, Redelegation.

   *  LSP State Report, Path Computation Report message (PCRpt).

   *  LSP State Update, Path Computation Update message (PCUpd).

   [RFC8281] :

Li, et al.                Expires 11 March 2024                 [Page 3]
Internet-Draft                PCEP-SR-YANG                September 2023

   *  PCE-initiated LSP, Path Computation LSP Initiate Message
      (PCInitiate).

   [RFC8408] :

   *  Path Setup Type (PST).

   [RFC8664] :

   *  Segment Routing (SR).

   [I-D.ietf-pce-segment-routing-ipv6] :

   *  Segment Routing in IPv6 (SRv6).

   [RFC9256] :

   *  SR Policy.

3.1.  Tree Diagrams

   A simplified graphical representation of the data model is used in
   this document.  The meaning of the symbols in these diagrams is
   defined in [RFC8340].

3.2.  Prefixes in Data Node Names

   In this document, names of data nodes and other data model objects
   are often used without a prefix, as long as it is clear from the
   context in which YANG module each name is defined.  Otherwise, names
   are prefixed using the standard prefix associated with the
   corresponding YANG module, as shown in Table 1.

Li, et al.                Expires 11 March 2024                 [Page 4]
Internet-Draft                PCEP-SR-YANG                September 2023

    +============+=================+==================================+
    | Prefix     | YANG module     | Reference                        |
    +============+=================+==================================+
    | inet       | ietf-inet-types | [RFC6991]                        |
    +------------+-----------------+----------------------------------+
    | te-types   | ietf-te-types   | [RFC8776]                        |
    +------------+-----------------+----------------------------------+
    | pcep       | ietf-pcep       | [I-D.ietf-pce-pcep-yang]         |
    +------------+-----------------+----------------------------------+
    | srv6-types | ietf-srv6-types | [I-D.ietf-spring-srv6-yang]      |
    +------------+-----------------+----------------------------------+
    | sr-policy- | ietf-sr-policy- | [I-D.ietf-spring-sr-policy-yang] |
    | types      | types           |                                  |
    +------------+-----------------+----------------------------------+

              Table 1: Prefixes and corresponding YANG modules

3.3.  References in the Model

   Following additional documents are referenced in the model defined in
   this document -

Li, et al.                Expires 11 March 2024                 [Page 5]
Internet-Draft                PCEP-SR-YANG                September 2023

    +=====================+==========================================+
    | Title               | Reference                                |
    +=====================+==========================================+
    | PCEP Extensions for | [I-D.ietf-pce-segment-routing-ipv6]      |
    | Segment Routing     |                                          |
    | leveraging the IPv6 |                                          |
    | data plane          |                                          |
    +---------------------+------------------------------------------+
    | Carrying Binding    | [I-D.ietf-pce-binding-label-sid]         |
    | Label/Segment       |                                          |
    | Identifier (SID) in |                                          |
    | PCE-based Networks  |                                          |
    +---------------------+------------------------------------------+
    | Segment Routing     | [RFC9256]                                |
    | Policy Architecture |                                          |
    +---------------------+------------------------------------------+
    | PCEP Extensions for | [I-D.ietf-pce-multipath]                 |
    | Signaling Multipath |                                          |
    | Information         |                                          |
    +---------------------+------------------------------------------+
    | PCEP extension to   | [I-D.ietf-pce-segment-routing-policy-cp] |
    | support Segment     |                                          |
    | Routing Policy      |                                          |
    | Candidate Paths     |                                          |
    +---------------------+------------------------------------------+

                 Table 2: References in the YANG modules

3.4.  Further Discussion

   [I-D.ietf-pce-multipath] defines a mechanism to encode multiple paths
   for a single set of objectives and constraints.  This is a generic
   PCEP mechanism, not specific to any path setup type or dataplane but
   the key usecase is SR.

   Further discussion is needed on how to model it in PCEP YANG.

4.  The Design of YANG Data Model

4.1.  The Overview of PCEP SRv6 Data Model

   The PCEP-SRv6 YANG module defined in this document has all the common
   building blocks for the PCEP-SRv6 extension.  The model augments PCEP
   capabilities at the Entity and peer level with SRv6 capability in
   PCEP, support for NAI, MSD and the SID structure.  The model also
   extends the LSP in the LSP-DB to maintain SRv6 paths.

Li, et al.                Expires 11 March 2024                 [Page 6]
Internet-Draft                PCEP-SR-YANG                September 2023

module: ietf-pcep-srv6

  augment /pcep:pcep/pcep:entity/pcep:capabilities:
    +--rw srv6 {srv6}?
    |  +--rw enabled?     boolean
    |  +--rw nai?         boolean
    |  +--rw msd-limit?   boolean
    |  +--rw srv6-msd* [msd-type]
    |     +--rw msd-type     uint8
    |     +--rw msd-value?   uint8
    +--rw sid-str {sid-str}?
       +--rw lb?   uint8
       +--rw ln?   uint8
       +--rw fn?   uint8
       +--rw an?   uint8

  augment /pcep:pcep/pcep:entity/pcep:peers/pcep:peer/pcep:capabilities:
    +--rw srv6 {srv6}?
       +--rw enabled?     boolean
       +--rw nai?         boolean
       +--rw msd-limit?   boolean
       +--rw srv6-msd* [msd-type]
          +--rw msd-type     uint8
          +--rw msd-value?   uint8

  augment /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp:
    +--ro srv6 {srv6}?
       +--ro segment-list
          +--ro segment* [index]
             +--ro index                uint32
             +--ro sid-value?           srv6-types:srv6-sid
             +--ro sid-str {sid-str}?
             |  +--ro lb?   uint8
             |  +--ro ln?   uint8
             |  +--ro fn?   uint8
             |  +--ro an?   uint8
             +--ro endpoint-behavior?   identityref

4.2.  The Overview of PCEP SR Policy Data Model

   The PCEP-SRPolicy YANG module defined in this document has all the
   common building blocks for the PCEP-SR Policy extension.  The model
   augments the LSP in the LSPDB to have information refering to the SR
   Policy and the candidate path.

Li, et al.                Expires 11 March 2024                 [Page 7]
Internet-Draft                PCEP-SR-YANG                September 2023

 module: ietf-pcep-srpolicy

   augment /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp:
     +--ro sr-policy
        +--ro headend?    inet:ip-address-no-zone
        +--ro color?      uint32
        +--ro endpoint?   inet:ip-address-no-zone
        +--ro name?       string
        +--ro cp
           +--ro protocol-origin?   sr-policy-types:protocol-origin-type
           +--ro originator?        string
           +--ro discriminator?     uint32
           +--ro name?              string

   The sr-policy container is applicable for both SR-MPLS and SRv6.

5.  The YANG Modules

5.1.  ietf-pcep-srv6 module

   RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
   actual RFC number and all occurrences of the revision date below with
   the date of RFC publication (and remove this note).

   <CODE BEGINS> file "ietf-pcep-srv6@2023-03-07.yang"
   module ietf-pcep-srv6 {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srv6";
     prefix pcep-srv6;

     import ietf-srv6-types {
       prefix srv6-types;
       reference
         "I-D.ietf-spring-srv6-yang: YANG Data Model for SRv6
          Base and Static";
     }
     import ietf-te-types {
       prefix te-types;
       reference
         "RFC 8776: Common YANG Data Types for Traffic Engineering";
     }
     import ietf-pcep {
       prefix pcep;
       reference
         "I-D.ietf-pce-pcep-yang: A YANG Data Model for Path
          Computation Element Communications Protocol (PCEP)";
     }

Li, et al.                Expires 11 March 2024                 [Page 8]
Internet-Draft                PCEP-SR-YANG                September 2023

     organization
       "IETF PCE (Path Computation Element) Working Group";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/pce/>
        WG List:  <mailto:pce@ietf.org>
        Editor:   Cheng Li
                  <mailto:c.l@huawei.com>
                  Shuping Peng
                  <mailto:pengshuping@huawei.com>";
     description
       "The YANG module augments the Path Computation Element
        Communications Protocol (PCEP) YANG operational model
        with Segment Routing in IPv6 (SRv6).

        Copyright (c) 2023 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject
        to the license terms contained in, the Revised BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (https://trustee.ietf.org/license-info).

        This version of this YANG module is part of RFC XXXX; see the
        RFC itself for full legal notices.";

     revision 2023-03-07 {
       description
         "Initial revision.";
       reference
         "RFC XXXX:  A YANG Data Model for Segment Routing (SR) Policy
          and SRv6 support in Path Computation Element Communications
          Protocol (PCEP)";
     }

     /* Features */

     feature srv6 {
       description
         "Support Segment Routing in IPv6 (SRv6) for PCE.";
       reference
         "I-D.ietf-pce-segment-routing-ipv6: PCEP Extensions
          for Segment Routing leveraging the IPv6 data plane";
     }

     feature bsid {
       description

Li, et al.                Expires 11 March 2024                 [Page 9]
Internet-Draft                PCEP-SR-YANG                September 2023

         "Support Binding SID for PCE.";
       reference
         "I-D.ietf-pce-binding-label-sid: Carrying Binding
          Label/Segment Identifier (SID) in PCE-based Networks.";
     }

     feature sid-str {
       description
         "Support for SID Structure";
       reference
         "I-D.ietf-pce-segment-routing-ipv6: PCEP Extensions
          for Segment Routing leveraging the IPv6 data plane";
     }

     /* Identity */

     identity path-setup-srv6 {
       if-feature "srv6";
       base te-types:path-signaling-type;
       description
         "SRv6 path setup type";
     }

     /* Groupings */

     grouping srv6-msd {
       description
         "SRv6 MSD";
       leaf msd-type {
         type uint8;
         description
           "SRv6 Maximum Segment Depth (MSD) Type";
       }
       leaf msd-value {
         type uint8;
         description
           "SRv6 MSD value for the type";
       }
       reference
         "I-D.ietf-pce-segment-routing-ipv6: PCEP Extensions
          for Segment Routing leveraging the IPv6 data plane";
     }

     grouping srv6 {
       description
         "SRv6";
       container srv6 {
         if-feature "srv6";

Li, et al.                Expires 11 March 2024                [Page 10]
Internet-Draft                PCEP-SR-YANG                September 2023

         description
           "If SRv6 is supported";
         leaf enabled {
           type boolean;
           description
             "Enabled or Disabled; set to true when
              Enabled";
         }
         leaf nai {
           type boolean;
           default "false";
           description
             "True indicates capability to resolve Node or
              Adjacency Identifier (NAI) to SRv6 Segment
              Identifier (SID)";
         }
         leaf msd-limit {
           type boolean;
           default "false";
           description
             "True indicates no limit on MSD, the
              list srv6-msd is ignored";
         }
         list srv6-msd {
           key "msd-type";
           description
             "list of SRv6 MSD";
           uses srv6-msd;
         }
       }
     }

     grouping segment-list {
       description
         "Segment list grouping";
       container segment-list {
         description
           "Segments for given segment list";
         list segment {
           key "index";
           description
             "Configure Segment/hop at the index";
           uses segment-properties;
         }
       }
     }

     grouping segment-properties {

Li, et al.                Expires 11 March 2024                [Page 11]
Internet-Draft                PCEP-SR-YANG                September 2023

       description
         "Segment properties grouping";
       leaf index {
         type uint32;
         description
           "Segment index";
       }
       leaf sid-value {
         type srv6-types:srv6-sid;
         description
           "SRv6 SID value";
       }
       uses sid-str;
       leaf endpoint-behavior {
         type identityref {
           base srv6-types:srv6-endpoint-type;
         }
         description
           "The behavior associated with the SRv6 SIDs.";
       }
       /*Query: Add NAI?*/
     }

     grouping sid-str {
       description
         "The default SID Structure";
       container sid-str {
         if-feature "sid-str";
         description
           "The default SID Structure";
         leaf lb {
           type uint8;
           description
             "SRv6 SID Locator Block length in bits";
         }
         leaf ln {
           type uint8;
           description
             "SRv6 SID Locator Node length in bits";
         }
         leaf fn {
           type uint8;
           description
             "SRv6 SID Function length in bits";
         }
         leaf an {
           type uint8;
           description

Li, et al.                Expires 11 March 2024                [Page 12]
Internet-Draft                PCEP-SR-YANG                September 2023

             "SRv6 SID Arguments length in bits";
         }
       }
     }

     /*
      * Augment modules to add SRv6
      */

     augment "/pcep:pcep/pcep:entity/pcep:capabilities" {
       description
         "Augmenting SRv6";
       uses srv6;
       uses sid-str;
     }

     augment "/pcep:pcep/pcep:entity/pcep:peers/pcep:peer"
           + "/pcep:capabilities" {
       description
         "Augmenting SRv6";
       uses srv6;
     }

     augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" {
       description
         "Augmenting SRv6";
       container srv6 {
         when
           "derived-from-or-self
            (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
             'path-setup-srv6')" {
           description
             "For SRv6 path";
         }
         if-feature "srv6";
         uses segment-list;
         description
           "SRv6";
       }
     }
   }
   <CODE ENDS>

5.2.  ietf-pcep-srpolicy module

   RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
   actual RFC number and all occurrences of the revision date below with
   the date of RFC publication (and remove this note).

Li, et al.                Expires 11 March 2024                [Page 13]
Internet-Draft                PCEP-SR-YANG                September 2023

   <CODE BEGINS> file "ietf-pcep-srpolicy@2023-03-07.yang"
   module ietf-pcep-srpolicy {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy";
     prefix pcep-srp;

     import ietf-inet-types {
       prefix inet;
       reference
         "RFC 6991: Common YANG Data Types";
     }
     import ietf-te-types {
       prefix te-types;
       reference
         "RFC 8776: Common YANG Data Types for Traffic Engineering";
     }
     import ietf-pcep {
       prefix pcep;
       reference
         "I-D.ietf-pce-pcep-yang: A YANG Data Model for Path
          Computation Element Communications Protocol (PCEP)";
     }
     import ietf-sr-policy-types {
       prefix sr-policy-types;
       reference
         "I-D.ietf-spring-sr-policy-yang: YANG Data Model for
          Segment Routing Policy";
     }

     organization
       "IETF PCE (Path Computation Element) Working Group";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/pce/>
        WG List:  <mailto:pce@ietf.org>
        Editor:   Cheng Li
                  <mailto:c.l@huawei.com>
                  Shuping Peng
                  <mailto:pengshuping@huawei.com>";
     description
       "The YANG module augments the Path Computation Element
        Communications Protocol (PCEP) YANG model with Segment
        Routing (SR) Policy.

        Copyright (c) 2023 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject

Li, et al.                Expires 11 March 2024                [Page 14]
Internet-Draft                PCEP-SR-YANG                September 2023

        to the license terms contained in, the Revised BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (https://trustee.ietf.org/license-info).

        This version of this YANG module is part of RFC XXXX; see the
        RFC itself for full legal notices.";

     revision 2023-03-07 {
       description
         "Initial revision.";
       reference
         "RFC XXXX:  A YANG Data Model for Segment Routing (SR) Policy
          and SRv6 support in Path Computation Element Communications
          Protocol (PCEP)";
     }

     /* Features */

     feature multipath {
       description
         "Support for multipath ERO.";
       reference
         "I-D.ietf-pce-multipath: PCEP Extensions for Signaling
          Multipath Information";
     }

     /* Identities */

     identity sr-policy {
       base te-types:association-type;
       description
         "SR Policy Association";
       reference
         "I-D.ietf-pce-segment-routing-policy-cp: PCEP extension to
          support Segment Routing Policy Candidate Paths";
     }

     /* Groupings */

     grouping sr-policy {
       description
         "Segment Routing Policy grouping";
       leaf headend {
         type inet:ip-address-no-zone;
         description
           "SR Policy headend";
         reference

Li, et al.                Expires 11 March 2024                [Page 15]
Internet-Draft                PCEP-SR-YANG                September 2023

           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf color {
         type uint32 {
           range "1..max";
         }
         description
           "SR Policy Color";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf endpoint {
         type inet:ip-address-no-zone;
         description
           "SR Policy Endpoint";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf name {
         type string;
         description
           "SR Policy name";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
     }

     grouping sr-policy-cp {
       description
         "Segment Routing Policy Candidate Path grouping";
       leaf protocol-origin {
         type sr-policy-types:protocol-origin-type;
         description
           "SR Policy Candidate Path Protocol";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf originator {
         type string;
         description
           "SR Policy Candidate Path Originator";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf discriminator {
         type uint32 {
           range "1..max";
         }

Li, et al.                Expires 11 March 2024                [Page 16]
Internet-Draft                PCEP-SR-YANG                September 2023

         description
           "SR Policy Candidate Path Discriminator";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
       leaf name {
         type string;
         description
           "SR Policy Candidate Path name";
         reference
           "RFC 9256: Segment Routing Policy Architecture";
       }
     }

     augment "/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp" {
       description
         "Augmenting SR Policy";
       container sr-policy {
         when
           "derived-from-or-self
            (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
             'path-setup-sr') or
            derived-from-or-self
            (/pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep:pst,
             'path-setup-srv6')" {
           description
             "Applicable for SR or SRv6";
         }
         uses sr-policy;
         container cp {
           uses sr-policy-cp;
           description
             "SR Policy Candidate Path";
         }
         description
           "SR Policy";
       }
     }
   }
   <CODE ENDS>

Li, et al.                Expires 11 March 2024                [Page 17]
Internet-Draft                PCEP-SR-YANG                September 2023

6.  Security Considerations

   The YANG module defined in this document is designed to be accessed
   via network management protocol such as NETCONF [RFC6241] or RESTCONF
   [RFC8040].  The lowest NETCONF layer is the secure transport layer
   and the mandatory-to-implement secure transport is SSH [RFC6242].
   The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement
   secure transport is TLS [RFC8446]

   The NETCONF access control model [RFC8341] provides the means to
   restrict access for particular NETCONF or RESTCONF users to a pre-
   configured subset of all available NETCONF or RESTCONF protocol
   operations and content.

   There are a number of data nodes defined in the YANG module which are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g., <edit-config>)
   to these data nodes without proper protection can have a negative
   effect on network operations.  These are the subtrees and data nodes
   and their sensitivity/vulnerability:

      /pcep:pcep/pcep:entity/pcep:capabilities/pcep-srv6:srv6 -
      configure local SRv6 capability and parameters.

      /pcep:pcep/pcep:entity/pcep:peers/pcep:peer/pcep:capabilities/
      pcep-srv6:srv6 - configure peer's SRv6 capability and parameters.

   Unauthorized access to above list can adversely affect the PCEP
   session between the local entity and the peers.  This may lead to
   inability to compute new paths, stateful operations on the delegated
   as well as PCE-initiated LSPs.

   Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability:

      /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep-srv6:srv6 - The
      SRv6 SID in the network.  Unauthorized access to this could
      provide entire path and network usage information.

      /pcep:pcep/pcep:entity/pcep:lsp-db/pcep:lsp/pcep-srpolicy:sr-
      policy - The reference to SR Policy.  Unauthorized access to this
      could provide SR Policy usage information.

Li, et al.                Expires 11 March 2024                [Page 18]
Internet-Draft                PCEP-SR-YANG                September 2023

7.  IANA Considerations

   This document registers a URI in the "IETF XML Registry" [RFC3688].
   Following the format in RFC 3688, the following registration has been
   made.

   URI:  urn:ietf:params:xml:ns:yang:ietf-pcep-srv6

   Registrant Contact:  The PCE WG of the IETF.

   XML:  N/A; the requested URI is an XML namespace.

   URI:  urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy

   Registrant Contact:  The PCE WG of the IETF.

   XML:  N/A; the requested URI is an XML namespace.

   This document registers a YANG module in the "YANG Module Names"
   registry [RFC6020].

       Name:         ietf-pcep-srv6
       Namespace:    urn:ietf:params:xml:ns:yang:ietf-pcep-srv6
       Prefix:       pcep-srv6
       Reference:    This I-D

       Name:         ietf-pcep-srpolicy
       Namespace:    urn:ietf:params:xml:ns:yang:ietf-pcep-srpolicy
       Prefix:       pcep-srp
       Reference:    This I-D

8.  Acknowledgements

   The authors would like to thank Dhruv Dhody for the initial YANG
   model.

9.  References

9.1.  Normative References

   [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>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

Li, et al.                Expires 11 March 2024                [Page 19]
Internet-Draft                PCEP-SR-YANG                September 2023

   [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>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [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>.

   [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>.

Li, et al.                Expires 11 March 2024                [Page 20]
Internet-Draft                PCEP-SR-YANG                September 2023

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

   [RFC8408]  Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J.
              Hardwick, "Conveying Path Setup Type in PCE Communication
              Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408,
              July 2018, <https://www.rfc-editor.org/info/rfc8408>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

   [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>.

   [RFC8776]  Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
              "Common YANG Data Types for Traffic Engineering",
              RFC 8776, DOI 10.17487/RFC8776, June 2020,
              <https://www.rfc-editor.org/info/rfc8776>.

   [I-D.ietf-spring-srv6-yang]
              Raza, S., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah,
              H. C., Voyer, D., Matsushima, S., Horiba, K.,
              Rajamanickam, J., and A. Abdelsalam, "YANG Data Model for
              SRv6 Base and Static", Work in Progress, Internet-Draft,
              draft-ietf-spring-srv6-yang-02, 23 September 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              srv6-yang-02>.

   [I-D.ietf-pce-pcep-yang]
              Dhody, D., Beeram, V. P., Hardwick, J., and J. Tantsura,
              "A YANG Data Model for Path Computation Element
              Communications Protocol (PCEP)", Work in Progress,
              Internet-Draft, draft-ietf-pce-pcep-yang-21, 6 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-pce-
              pcep-yang-21>.

Li, et al.                Expires 11 March 2024                [Page 21]
Internet-Draft                PCEP-SR-YANG                September 2023

   [I-D.ietf-pce-segment-routing-ipv6]
              Li, C., Negi, M. S., Sivabalan, S., Koldychev, M., and Y.
              Zhu, "Path Computation Element Communication Protocol
              (PCEP) Extensions for Segment Routing leveraging the IPv6
              dataplane", Work in Progress, Internet-Draft, draft-ietf-
              pce-segment-routing-ipv6-19, 6 September 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-pce-
              segment-routing-ipv6-19>.

   [I-D.ietf-spring-sr-policy-yang]
              Raza, S., Sawaya, R., Shunwan, Z., Voyer, D., Durrani, M.,
              Matsushima, S., and V. P. Beeram, "YANG Data Model for
              Segment Routing Policy", Work in Progress, Internet-Draft,
              draft-ietf-spring-sr-policy-yang-02, 23 September 2022,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              sr-policy-yang-02>.

   [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", Work in Progress, Internet-Draft, draft-
              ietf-pce-segment-routing-policy-cp-12, 24 July 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-pce-
              segment-routing-policy-cp-12>.

9.2.  Informative References

   [RFC4655]  Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
              Computation Element (PCE)-Based Architecture", RFC 4655,
              DOI 10.17487/RFC4655, August 2006,
              <https://www.rfc-editor.org/info/rfc4655>.

   [RFC7420]  Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
              Hardwick, "Path Computation Element Communication Protocol
              (PCEP) Management Information Base (MIB) Module",
              RFC 7420, DOI 10.17487/RFC7420, December 2014,
              <https://www.rfc-editor.org/info/rfc7420>.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore Architecture
              (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC9256]  Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
              A., and P. Mattes, "Segment Routing Policy Architecture",
              RFC 9256, DOI 10.17487/RFC9256, July 2022,
              <https://www.rfc-editor.org/info/rfc9256>.

Li, et al.                Expires 11 March 2024                [Page 22]
Internet-Draft                PCEP-SR-YANG                September 2023

   [I-D.ietf-pce-binding-label-sid]
              Sivabalan, S., Filsfils, C., Tantsura, J., Previdi, S.,
              and C. Li, "Carrying Binding Label/Segment Identifier
              (SID) in PCE-based Networks.", Work in Progress, Internet-
              Draft, draft-ietf-pce-binding-label-sid-16, 27 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-pce-
              binding-label-sid-16>.

   [I-D.ietf-pce-multipath]
              Koldychev, M., Sivabalan, S., Saad, T., Beeram, V. P.,
              Bidgoli, H., Yadav, B., Peng, S., and G. S. Mishra, "PCEP
              Extensions for Signaling Multipath Information", Work in
              Progress, Internet-Draft, draft-ietf-pce-multipath-09, 24
              July 2023, <https://datatracker.ietf.org/doc/html/draft-
              ietf-pce-multipath-09>.

Authors' Addresses

   Cheng Li
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing
   100095
   China
   Email: c.l@huawei.com

   Siva Sivabalan
   Ciena Corporation
   Email: ssivabal@ciena.com

   Shuping Peng
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing
   100095
   China
   Email: pengshuping@huawei.com

   Mike Koldychev
   Cisco Systems, Inc.
   Email: mkoldych@cisco.com

Li, et al.                Expires 11 March 2024                [Page 23]
Internet-Draft                PCEP-SR-YANG                September 2023

   Luc-Fabrice Ndifor
   MTN Cameroon
   Cameroon
   Email: Luc-Fabrice.Ndifor@mtn.com

Li, et al.                Expires 11 March 2024                [Page 24]