Cisco-IOS-XR-um-pce-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR pce package configuration. This YANG module augments the...

  • Version: 2021-05-10

    Cisco-IOS-XR-um-pce-cfg@2021-05-10


    
      module Cisco-IOS-XR-um-pce-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pce-cfg";
    
        prefix um-pce-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR pce package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-10" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        container pce {
          presence
            "Indicates a pce node is configured.";
          description
            "Path Computation Server configurations";
          container constraints {
            description
              "Assign constraints for the computed paths";
            container bounds {
              description
                "Assign bounds for the path";
              container cumulative {
                description
                  "Cumulative metric bound";
                container type {
                  description
                    "The metric type for the bound";
                  leaf latency {
                    type uint32 {
                      range "1..4294967295";
                    }
                    description
                      "Bound metric type latency";
                  }
                }  // container type
              }  // container cumulative
            }  // container bounds
          }  // container constraints
    
          container address {
            description "Address of PCE server";
            leaf ipv4 {
              type inet:ipv4-address-no-zone;
              description "IPv4 address";
            }
    
            leaf ipv6 {
              type inet:ipv6-address-no-zone;
              description "IPv6 address";
            }
          }  // container address
    
          container state-sync {
            description
              "Forward received reports to other PCE";
            container ipv4s {
              description "IPv4 address";
              list ipv4 {
                key "address";
                description "IPv4 address";
                leaf address {
                  type inet:ipv4-address-no-zone;
                  description "IPv4 address";
                }
              }  // list ipv4
            }  // container ipv4s
    
            container ipv6s {
              description "IPv6 address";
              list ipv6 {
                key "address";
                description "IPv6 address";
                leaf address {
                  type inet:ipv6-address-no-zone;
                  description "IPv6 address";
                }
              }  // list ipv6
            }  // container ipv6s
          }  // container state-sync
    
          container tcp-buffer {
            description
              "TCP buffer configuration";
            leaf size {
              type uint32 {
                range "204800..1024000";
              }
              description
                "Size of buffer in bytes";
            }
          }  // container tcp-buffer
    
          container password {
            description
              "Configure global password for MD5 authentication";
            leaf encrypted {
              type xr:Cisco-ios-xr-string {
                length "1..1024";
              }
              description
                "Specify unencrypted password";
            }
          }  // container password
    
          container tcp-ao {
            presence
              "Indicates a tcp-ao node is configured.";
            description
              "Configure global AO keychain based authentication";
            leaf key-chain-name {
              type xr:Cisco-ios-xr-string {
                length "1..32";
              }
              mandatory true;
              description
                "Configure global AO keychain based authentication";
            }
    
            container include-tcp-options {
              presence
                "Indicates a include-tcp-options node is configured.";
              description
                "Include other TCP options in the header";
            }  // container include-tcp-options
    
            container accept-ao-mismatch-connection {
              presence
                "Indicates a accept-ao-mismatch-connection node is configured.";
              description
                "Accept new connection even if Authentication Option mismatched";
            }  // container accept-ao-mismatch-connection
          }  // container tcp-ao
    
          container trace {
            description
              "Configure PCE trace options";
            container buffer {
              description "PCE Trace buffers";
              container all {
                description
                  "All buffers control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container all
    
              container common {
                description
                  "Common buffer control";
                container gen-error {
                  description
                    "Common generic error buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container gen-error
    
                container lslib {
                  description
                    "lslib trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container lslib
    
                container cspf {
                  description
                    "cspf trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container cspf
    
                container topo {
                  description
                    "topo trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container topo
    
                container mempool {
                  description
                    "mempool trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container mempool
    
                container pcep {
                  description
                    "pcep trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container pcep
    
                container timing {
                  description
                    "timing trace buffer";
                  leaf trace-count {
                    type uint32 {
                      range "0..1000000";
                    }
                    description "Trace count";
                  }
                }  // container timing
              }  // container common
    
              container error {
                description
                  "Error buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container error
    
              container gen-error {
                description
                  "Generic error buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container gen-error
    
              container cfg {
                description
                  "Configuration buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container cfg
    
              container rest {
                description
                  "Rest buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container rest
    
              container treesid {
                description
                  "Treesid buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container treesid
    
              container pcep-lsp {
                description
                  "PCEP lsp buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container pcep-lsp
    
              container pcep-peer {
                description
                  "PCEP peer buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container pcep-peer
    
              container policy {
                description
                  "Policy buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container policy
    
              container cmn-codeflow {
                description
                  "code flow buffer control";
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  description "Trace count";
                }
              }  // container cmn-codeflow
            }  // container buffer
          }  // container trace
    
          container disjoint-path {
            presence
              "Indicates a disjoint-path node is configured.";
            description
              "Disjoint Path Configuration";
            container group-ids {
              description "Group ID";
              list group-id {
                key "group-id";
                description "Group ID";
                leaf group-id {
                  type uint32 {
                    range "1..65535";
                  }
                  description "Group ID";
                }
    
                container type {
                  description
                    "Disjointness type";
                  container link {
                    description
                      "Link Disjointness";
                    container enable {
                      presence
                        "Indicates an enable node is configured.";
                      description
                        "Enable Link Disjointness";
                    }  // container enable
    
                    container sub-ids {
                      description "Sub ID";
                      list sub-id {
                        key "sub-id";
                        description "Sub ID";
                        leaf sub-id {
                          type uint32 {
                            range "1..65535";
                          }
                          description "Sub ID";
                        }
    
                        container lsp {
                          description
                            "Configure lsps in the association";
                          container one {
                            description
                              "Configure first lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container one
    
                          container two {
                            description
                              "Configure second lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container two
                        }  // container lsp
    
                        container strict {
                          presence
                            "Indicates a strict node is configured.";
                          description
                            "Disable Fallback";
                        }  // container strict
                      }  // list sub-id
                    }  // container sub-ids
    
                    container lsp {
                      description
                        "Configure lsps in the association";
                      container one {
                        description
                          "Configure first lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container one
    
                      container two {
                        description
                          "Configure second lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container two
                    }  // container lsp
    
                    container strict {
                      presence
                        "Indicates a strict node is configured.";
                      description
                        "Disable Fallback";
                    }  // container strict
                  }  // container link
    
                  container node {
                    description
                      "Node Disjointness";
                    container enable {
                      presence
                        "Indicates an enable node is configured.";
                      description
                        "Enable Node Disjointness";
                    }  // container enable
    
                    container sub-ids {
                      description "Sub ID";
                      list sub-id {
                        key "sub-id";
                        description "Sub ID";
                        leaf sub-id {
                          type uint32 {
                            range "1..65535";
                          }
                          description "Sub ID";
                        }
    
                        container lsp {
                          description
                            "Configure lsps in the association";
                          container one {
                            description
                              "Configure first lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container one
    
                          container two {
                            description
                              "Configure second lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container two
                        }  // container lsp
    
                        container strict {
                          presence
                            "Indicates a strict node is configured.";
                          description
                            "Disable Fallback";
                        }  // container strict
                      }  // list sub-id
                    }  // container sub-ids
    
                    container lsp {
                      description
                        "Configure lsps in the association";
                      container one {
                        description
                          "Configure first lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container one
    
                      container two {
                        description
                          "Configure second lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container two
                    }  // container lsp
    
                    container strict {
                      presence
                        "Indicates a strict node is configured.";
                      description
                        "Disable Fallback";
                    }  // container strict
                  }  // container node
    
                  container srlg {
                    description
                      "SRLG Disjointness";
                    container enable {
                      presence
                        "Indicates an enable node is configured.";
                      description
                        "Enable SRLG Disjointness";
                    }  // container enable
    
                    container sub-ids {
                      description "Sub ID";
                      list sub-id {
                        key "sub-id";
                        description "Sub ID";
                        leaf sub-id {
                          type uint32 {
                            range "1..65535";
                          }
                          description "Sub ID";
                        }
    
                        container lsp {
                          description
                            "Configure lsps in the association";
                          container one {
                            description
                              "Configure first lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container one
    
                          container two {
                            description
                              "Configure second lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container two
                        }  // container lsp
    
                        container strict {
                          presence
                            "Indicates a strict node is configured.";
                          description
                            "Disable Fallback";
                        }  // container strict
                      }  // list sub-id
                    }  // container sub-ids
    
                    container lsp {
                      description
                        "Configure lsps in the association";
                      container one {
                        description
                          "Configure first lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container one
    
                      container two {
                        description
                          "Configure second lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container two
                    }  // container lsp
    
                    container strict {
                      presence
                        "Indicates a strict node is configured.";
                      description
                        "Disable Fallback";
                    }  // container strict
                  }  // container srlg
    
                  container srlg-node {
                    description
                      "SRLG Node Disjointness";
                    container enable {
                      presence
                        "Indicates an enable node is configured.";
                      description
                        "Enable SRLG Node Disjointness";
                    }  // container enable
    
                    container sub-ids {
                      description "Sub ID";
                      list sub-id {
                        key "sub-id";
                        description "Sub ID";
                        leaf sub-id {
                          type uint32 {
                            range "1..65535";
                          }
                          description "Sub ID";
                        }
    
                        container lsp {
                          description
                            "Configure lsps in the association";
                          container one {
                            description
                              "Configure first lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container one
    
                          container two {
                            description
                              "Configure second lsp in the association";
                            container pcc {
                              presence
                                "Indicates a pcc node is configured.";
                              description
                                "PCC address";
                              leaf address-type {
                                type enumeration {
                                  enum "ipv4" {
                                    value 1;
                                    description
                                      "IPV4 address";
                                  }
                                  enum "ipv6" {
                                    value 2;
                                    description
                                      "IPV6 address";
                                  }
                                }
                                mandatory true;
                                description
                                  "Address type";
                              }
    
                              leaf lsp-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                mandatory true;
                                description
                                  "Name of label switched path";
                              }
    
                              container shortest-path {
                                presence
                                  "Indicates a shortest-path node is configured.";
                                description
                                  "Set LSP to follow shortest-path";
                              }  // container shortest-path
    
                              leaf exclude-srlg {
                                type uint32 {
                                  range
                                    "1..4294967295";
                                }
                                description
                                  "Exclude SRLG";
                              }
                            }  // container pcc
                          }  // container two
                        }  // container lsp
    
                        container strict {
                          presence
                            "Indicates a strict node is configured.";
                          description
                            "Disable Fallback";
                        }  // container strict
                      }  // list sub-id
                    }  // container sub-ids
    
                    container lsp {
                      description
                        "Configure lsps in the association";
                      container one {
                        description
                          "Configure first lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container one
    
                      container two {
                        description
                          "Configure second lsp in the association";
                        container pcc {
                          presence
                            "Indicates a pcc node is configured.";
                          description
                            "PCC address";
                          leaf address-type {
                            type enumeration {
                              enum "ipv4" {
                                value 1;
                                description
                                  "IPV4 address";
                              }
                              enum "ipv6" {
                                value 2;
                                description
                                  "IPV6 address";
                              }
                            }
                            mandatory true;
                            description
                              "Address type";
                          }
    
                          leaf lsp-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..800";
                            }
                            mandatory true;
                            description
                              "Name of label switched path";
                          }
    
                          container shortest-path {
                            presence
                              "Indicates a shortest-path node is configured.";
                            description
                              "Set LSP to follow shortest-path";
                          }  // container shortest-path
    
                          leaf exclude-srlg {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Exclude SRLG";
                          }
                        }  // container pcc
                      }  // container two
                    }  // container lsp
    
                    container strict {
                      presence
                        "Indicates a strict node is configured.";
                      description
                        "Disable Fallback";
                    }  // container strict
                  }  // container srlg-node
                }  // container type
              }  // list group-id
            }  // container group-ids
    
            leaf maximum-attempts {
              type uint32 {
                range "1..100000";
              }
              description
                "Maximum number of attempts during disjoint path computation (default: 1000)";
            }
          }  // container disjoint-path
    
          container peer {
            description "Peer Configuration";
            container ipv4s {
              description "IPv4 address family";
              list ipv4 {
                key "address";
                description
                  "IPv4 address family";
                leaf address {
                  type inet:ipv4-address-no-zone;
                  description
                    "IPv4 address family";
                }
    
                container password {
                  description
                    "Configure peer password for MD5 authentication";
                  leaf encrypted {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Specify unencrypted password";
                  }
                }  // container password
    
                container tcp-ao {
                  presence
                    "Indicates a tcp-ao node is configured.";
                  description
                    "Configure AO keychain based authentication";
                  leaf key-chain-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    mandatory true;
                    description
                      "Configure AO keychain based authentication";
                  }
    
                  container include-tcp-options {
                    presence
                      "Indicates a include-tcp-options node is configured.";
                    description
                      "Include other TCP options in the header";
                  }  // container include-tcp-options
    
                  container accept-ao-mismatch-connection {
                    presence
                      "Indicates a accept-ao-mismatch-connection node is configured.";
                    description
                      "Accept new connection even if Authentication Option mismatched";
                  }  // container accept-ao-mismatch-connection
                }  // container tcp-ao
              }  // list ipv4
            }  // container ipv4s
    
            container ipv6s {
              description "IPv6 address family";
              list ipv6 {
                key "address";
                description
                  "IPv6 address family";
                leaf address {
                  type inet:ipv6-address-no-zone;
                  description
                    "IPv6 address family";
                }
    
                container password {
                  description
                    "Configure peer password for MD5 authentication";
                  leaf encrypted {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Specify unencrypted password";
                  }
                }  // container password
    
                container tcp-ao {
                  presence
                    "Indicates a tcp-ao node is configured.";
                  description
                    "Configure AO keychain based authentication";
                  leaf key-chain-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..32";
                    }
                    mandatory true;
                    description
                      "Configure AO keychain based authentication";
                  }
    
                  container include-tcp-options {
                    presence
                      "Indicates a include-tcp-options node is configured.";
                    description
                      "Include other TCP options in the header";
                  }  // container include-tcp-options
    
                  container accept-ao-mismatch-connection {
                    presence
                      "Indicates a accept-ao-mismatch-connection node is configured.";
                    description
                      "Accept new connection even if Authentication Option mismatched";
                  }  // container accept-ao-mismatch-connection
                }  // container tcp-ao
              }  // list ipv6
            }  // container ipv6s
          }  // container peer
    
          container netconf {
            presence
              "Indicates a netconf node is configured.";
            description "NETCONF Configuration";
            container ssh {
              description
                "SSH configuration used by Netconf";
              leaf user {
                type string {
                  length "1..800";
                }
                description
                  "Specify SSH username that will be used to log on to routers";
              }
    
              container password {
                description
                  "Configure password for Netconf SSH";
                leaf encrypted {
                  type xr:Cisco-ios-xr-string {
                    length "1..1024";
                  }
                  description
                    "Specify unencrypted password";
                }
              }  // container password
            }  // container ssh
          }  // container netconf
    
          container api {
            presence
              "Indicates a api node is configured.";
            description
              "Northbound API Configuration";
            container authentication {
              description
                "Configure desired REST authentication";
              container digest {
                presence
                  "Indicates a digest node is configured.";
                description
                  "Use HTTP Digest authentication (MD5)";
              }  // container digest
            }  // container authentication
    
            container sibling {
              description "Sibling PCE";
              leaf ipv4 {
                type inet:ipv4-address-no-zone;
                description
                  "IPv4 address of the PCE sibling";
              }
            }  // container sibling
    
            leaf vrf {
              type xr:Cisco-ios-xr-string {
                length "1..33";
              }
              description
                "VRF for northbound API and PCE sibling connections.";
            }
    
            container users {
              description
                "Northbound API username";
              list user {
                key "user-name";
                description
                  "Northbound API username";
                leaf user-name {
                  type string {
                    length "1..800";
                  }
                  description
                    "Northbound API username";
                }
    
                container password {
                  description
                    "Configure password for API username";
                  leaf encrypted {
                    type xr:Cisco-ios-xr-string {
                      length "1..1024";
                    }
                    description
                      "Specify unencrypted password";
                  }
                }  // container password
              }  // list user
            }  // container users
    
            container ipv4 {
              description
                "IPv4 specific configuration";
              leaf address {
                type inet:ipv4-address-no-zone;
                description
                  "NB-API server IPv4 address";
              }
            }  // container ipv4
    
            container ipv6 {
              description
                "IPv6 specific configuration";
              leaf address {
                type inet:ipv6-address-no-zone;
                description
                  "NB-API server IPv6 address";
              }
            }  // container ipv6
          }  // container api
    
          container timers {
            description
              "PCE timers configuration";
            leaf reoptimization {
              type uint32 {
                range "600..86400";
              }
              description
                "Topology reoptimization interval";
            }
    
            leaf keepalive {
              type uint32 {
                range "0..255";
              }
              description "Keepalive interval";
            }
    
            leaf minimum-peer-keepalive {
              type uint32 {
                range "0..255";
              }
              description
                "Minimum acceptable peer proposed keepalive interval";
            }
    
            leaf peer-zombie {
              type uint32 {
                range "0..3600";
              }
              description
                "Keep LSP peer in zombie state after disconnect";
            }
    
            leaf init-verify-restart {
              type uint32 {
                range "10..10000";
              }
              description
                "Timer to wait for topology convergence after topology starts populating for restart case";
            }
    
            leaf init-verify-switchover {
              type uint32 {
                range "10..10000";
              }
              description
                "Timer to wait for topology convergence after topology starts populating for switchover case";
            }
    
            leaf init-verify-startup {
              type uint32 {
                range "10..10000";
              }
              description
                "Timer to wait for topology convergence after topology starts populating for startup case";
            }
          }  // container timers
    
          container backoff {
            description
              "PCE backoff configuration";
            leaf ratio {
              type uint32 {
                range "0..255";
              }
              description "Backoff common ratio";
            }
    
            leaf difference {
              type uint32 {
                range "0..255";
              }
              description
                "Backoff common difference";
            }
    
            leaf threshold {
              type uint32 {
                range "0..3600";
              }
              description "Backoff threshold";
            }
          }  // container backoff
    
          container logging {
            description
              "PCE logging configuration";
            container no-path {
              presence
                "Indicates a no-path node is configured.";
              description
                "logging no-path messages";
            }  // container no-path
    
            container fallback {
              presence
                "Indicates a fallback node is configured.";
              description
                "logging fallback messages";
            }  // container fallback
    
            container pcep {
              description
                "Path Computation Element Protocol (PCEP) logging";
              container pcerr-received {
                presence
                  "Indicates a pcerr-received node is configured.";
                description
                  "logging of received PCErr messages";
              }  // container pcerr-received
    
              container api {
                description
                  "API logging configuration";
                container send-queue-congestion {
                  description
                    "logging of peer send queue related messages";
                  container disable {
                    presence
                      "Indicates a disable node is configured.";
                    description
                      "disable messages";
                  }  // container disable
                }  // container send-queue-congestion
              }  // container api
    
              container disjointness-status {
                presence
                  "Indicates a disjointness-status node is configured.";
                description
                  "logging of disjointness status related messages";
              }  // container disjointness-status
            }  // container pcep
          }  // container logging
    
          container segment-routing {
            description
              "PCE segment-routing configuration";
            container strict-sid-only {
              presence
                "Indicates a strict-sid-only node is configured.";
              description "Use strict sids only";
            }  // container strict-sid-only
    
            container traffic-eng {
              presence
                "Indicates a traffic-eng node is configured.";
              description
                "Segment Routing Traffic Engineering";
              container affinity {
                description
                  "Affinity configuration";
                container bit-map {
                  description
                    "Affinity attribute value to color mapping";
                  container affinity-colors {
                    description
                      "Affinity color name";
                    list affinity-color {
                      key "affinity-color-name";
                      description
                        "Affinity color name";
                      leaf affinity-color-name {
                        type string {
                          length "1..32";
                        }
                        description
                          "Affinity color name";
                      }
    
                      leaf affinity-attribute-bit {
                        type uint32 {
                          range "0..255";
                        }
                        mandatory true;
                        description
                          "Affinity attribute bit position";
                      }
                    }  // list affinity-color
                  }  // container affinity-colors
                }  // container bit-map
              }  // container affinity
    
              container segment-lists {
                description
                  "Segment-list configuration";
                list segment-list {
                  key "segment-list-name";
                  description
                    "Segment-list name";
                  leaf segment-list-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..128";
                    }
                    description
                      "Segment-list name";
                  }
    
                  container indexes {
                    description
                      "Next entry index";
                    list index {
                      key "index-number";
                      description
                        "Next entry index";
                      leaf index-number {
                        type uint32 {
                          range "1..65535";
                        }
                        description
                          "Next entry index";
                      }
    
                      container mpls {
                        description
                          "MPLS configuration";
                        leaf label {
                          type uint32 {
                            range "0..1048575";
                          }
                          must
                            "not(../adjacency)";
                          description
                            "MPLS label configuration";
                        }
    
                        leaf adjacency {
                          type inet:ip-address-no-zone;
                          must "not(../label)";
                          description
                            "Specify hop address";
                        }
                      }  // container mpls
                    }  // list index
                  }  // container indexes
                }  // list segment-list
              }  // container segment-lists
    
              container peer {
                description
                  "PCEP peer to configure";
                container ipv4s {
                  description
                    "IPv4 address of the PCEP peer";
                  list ipv4 {
                    key "address";
                    description
                      "IPv4 address of the PCEP peer";
                    leaf address {
                      type inet:ipv4-address-no-zone;
                      description
                        "IPv4 address of the PCEP peer";
                    }
    
                    container policies {
                      description
                        "Name of SR-TE Policy";
                      list policy {
                        key "policy-name";
                        description
                          "Name of SR-TE Policy";
                        leaf policy-name {
                          type xr:Cisco-ios-xr-string {
                            length "1..128";
                          }
                          description
                            "Name of SR-TE Policy";
                        }
    
                        container candidate-paths {
                          presence
                            "Indicates a candidate-paths node is configured.";
                          description
                            "Candidate-paths configuration";
                          container append-sid {
                            description
                              "Append specified SID to the currently used path";
                            leaf mpls {
                              type uint32 {
                                range
                                  "1..1048575";
                              }
                              description
                                "MPLS label";
                            }
                          }  // container append-sid
    
                          container preferences {
                            description
                              "Policy path-option preference entry";
                            list preference {
                              key "preference-id";
                              description
                                "Policy path-option preference entry";
                              leaf preference-id {
                                type uint32 {
                                  range
                                    "1..65535";
                                }
                                description
                                  "Policy path-option preference entry";
                              }
    
                              container dynamic {
                                description
                                  "Dynamically allocated path";
                                container mpls {
                                  presence
                                    "Indicates a mpls node is configured.";
                                  description
                                    "MPLS path type";
                                  container metric {
                                    presence
                                      "Indicates a metric node is configured.";
                                    description
                                      "Path metric configuration";
                                    container type {
                                      description
                                        "Metric type configuration";
                                      container te {
                                        must
                                          "not(../igp or ../hopcount
                                         or ../latency)";
                                        presence
                                          "Indicates a te node is configured.";
                                        description
                                          "TE metric type";
                                      }  // container te
    
                                      container igp {
                                        must
                                          "not(../te or ../hopcount
                                         or ../latency)";
                                        presence
                                          "Indicates a igp node is configured.";
                                        description
                                          "IGP metric type";
                                      }  // container igp
    
                                      container hopcount {
                                        must
                                          "not(../te or ../igp
                                         or ../latency)";
                                        presence
                                          "Indicates a hopcount node is configured.";
                                        description
                                          "Hopcount metric type";
                                      }  // container hopcount
    
                                      container latency {
                                        must
                                          "not(../te or ../igp
                                         or ../hopcount)";
                                        presence
                                          "Indicates a latency node is configured.";
                                        description
                                          "Latency metric type";
                                      }  // container latency
                                    }  // container type
    
                                    leaf sid-limit {
                                      type uint32 {
                                        range
                                          "1..255";
                                      }
                                      description
                                        "SID limit";
                                    }
                                  }  // container metric
                                }  // container mpls
                              }  // container dynamic
    
                              container explicit {
                                description
                                  "Preconfigured path";
                                container segment-list {
                                  description
                                    "Specify Segment-list";
                                }  // container segment-list
    
                                container segment-list-names {
                                  description
                                    "Identifying name for Segment-list";
                                  list segment-list-name {
                                    key "segment-list-name";
                                    description
                                      "Identifying name for Segment-list";
                                    leaf segment-list-name {
                                      type string {
                                        length
                                          "1..128";
                                      }
                                      description
                                        "Identifying name for Segment-list";
                                    }
    
                                    container metric {
                                      presence
                                        "Indicates a metric node is configured.";
                                      description
                                        "Path metric configuration";
                                      container type {
                                        description
                                          "Metric type configuration";
                                        container te {
                                          must
                                            "not(../igp or ../hopcount
                                           or ../latency)";
                                          presence
                                            "Indicates a te node is configured.";
                                          description
                                            "TE metric type";
                                        }  // container te
    
                                        container igp {
                                          must
                                            "not(../te or ../hopcount
                                           or ../latency)";
                                          presence
                                            "Indicates a igp node is configured.";
                                          description
                                            "IGP metric type";
                                        }  // container igp
    
                                        container hopcount {
                                          must
                                            "not(../te or ../igp
                                           or ../latency)";
                                          presence
                                            "Indicates a hopcount node is configured.";
                                          description
                                            "Hopcount metric type";
                                        }  // container hopcount
    
                                        container latency {
                                          must
                                            "not(../te or ../igp
                                           or ../hopcount)";
                                          presence
                                            "Indicates a latency node is configured.";
                                          description
                                            "Latency metric type";
                                        }  // container latency
                                      }  // container type
    
                                      leaf sid-limit {
                                        type uint32 {
                                          range
                                            "1..255";
                                        }
                                        description
                                          "SID limit";
                                      }
                                    }  // container metric
                                  }  // list segment-list-name
                                }  // container segment-list-names
                              }  // container explicit
    
                              container constraints {
                                description
                                  "Candidate path constraints";
                                container segments {
                                  description
                                    "Path segments constraints";
                                  leaf sid-algorithm {
                                    type uint32 {
                                      range
                                        "128..255";
                                    }
                                    description
                                      "Prefix-SID algorithm";
                                  }
    
                                  container protection {
                                    description
                                      "Protection type";
                                    container protected-preferred {
                                      must
                                        "not(../protected-only or ../unprotected-only
                                       or ../unprotected-preferred)";
                                      presence
                                        "Indicates a protected-preferred node is configured.";
                                      description
                                        "Protected adj-SID preferred (default)";
                                    }  // container protected-preferred
    
                                    container protected-only {
                                      must
                                        "not(../protected-preferred or ../unprotected-only
                                       or ../unprotected-preferred)";
                                      presence
                                        "Indicates a protected-only node is configured.";
                                      description
                                        "Protected adj-SID only";
                                    }  // container protected-only
    
                                    container unprotected-only {
                                      must
                                        "not(../protected-preferred or ../protected-only
                                       or ../unprotected-preferred)";
                                      presence
                                        "Indicates a unprotected-only node is configured.";
                                      description
                                        "Unprotected adj-SID only";
                                    }  // container unprotected-only
    
                                    container unprotected-preferred {
                                      must
                                        "not(../protected-preferred or ../protected-only
                                       or ../unprotected-only)";
                                      presence
                                        "Indicates a unprotected-preferred node is configured.";
                                      description
                                        "Unprotected adj-SID preferred";
                                    }  // container unprotected-preferred
                                  }  // container protection
                                }  // container segments
                              }  // container constraints
                            }  // list preference
                          }  // container preferences
    
                          container affinity {
                            description
                              "Assign affinities to path";
                            container include-any {
                              description
                                "Affinity attributes - at least one must be included";
                              container affinity-colors {
                                description
                                  "Affinity color name";
                                list affinity-color {
                                  key "affinity-color-name";
                                  description
                                    "Affinity color name";
                                  leaf affinity-color-name {
                                    type string {
                                      length
                                        "1..32";
                                    }
                                    description
                                      "Affinity color name";
                                  }
                                }  // list affinity-color
                              }  // container affinity-colors
                            }  // container include-any
    
                            container include-all {
                              description
                                "Affinity attributes - all must be included";
                              container affinity-colors {
                                description
                                  "Affinity color name";
                                list affinity-color {
                                  key "affinity-color-name";
                                  description
                                    "Affinity color name";
                                  leaf affinity-color-name {
                                    type string {
                                      length
                                        "1..32";
                                    }
                                    description
                                      "Affinity color name";
                                  }
                                }  // list affinity-color
                              }  // container affinity-colors
                            }  // container include-all
    
                            container exclude {
                              description
                                "Affinity attributes to exclude";
                              container affinity-colors {
                                description
                                  "Affinity color name";
                                list affinity-color {
                                  key "affinity-color-name";
                                  description
                                    "Affinity color name";
                                  leaf affinity-color-name {
                                    type string {
                                      length
                                        "1..32";
                                    }
                                    description
                                      "Affinity color name";
                                  }
                                }  // list affinity-color
                              }  // container affinity-colors
                            }  // container exclude
                          }  // container affinity
                        }  // container candidate-paths
    
                        leaf color {
                          type uint32 {
                            range
                              "1..4294967295";
                          }
                          description
                            "Specify color for policy";
                        }
    
                        container end-point {
                          description
                            "Policy endpoint";
                          leaf ipv4 {
                            type inet:ipv4-address-no-zone;
                            description
                              "IPv4 address";
                          }
                        }  // container end-point
    
                        container binding-sid {
                          description
                            "Bnding Segment Identifier";
                          leaf mpls {
                            type uint32 {
                              range
                                "16..1048575";
                            }
                            description
                              "MPLS label";
                          }
                        }  // container binding-sid
    
                        container shutdown {
                          presence
                            "Indicates a shutdown node is configured.";
                          description
                            "Policy admin-shutdown";
                        }  // container shutdown
    
                        leaf profile-id {
                          type uint32 {
                            range "1..65535";
                          }
                          description
                            "Policy configuration profile that the PCC should apply to this policy";
                        }
    
                        container path-selection {
                          description
                            "Options for path-selection";
                          container protected {
                            must
                              "not(../unprotected)";
                            presence
                              "Indicates a protected node is configured.";
                            description
                              "Use local protected if possible";
                          }  // container protected
    
                          container unprotected {
                            must
                              "not(../protected)";
                            presence
                              "Indicates a unprotected node is configured.";
                            description
                              "Force use of unprotected adjacency SIDs";
                          }  // container unprotected
                        }  // container path-selection
                      }  // list policy
                    }  // container policies
                  }  // list ipv4
                }  // container ipv4s
              }  // container peer
    
              container cspf {
                description
                  "Path computation configuration";
                container anycast-sid-inclusion {
                  presence
                    "Indicates a anycast-sid-inclusion node is configured.";
                  description
                    "Enable Anycast SID Inclusion for all policies";
                }  // container anycast-sid-inclusion
    
                container sr-native {
                  presence
                    "Indicates a sr-native node is configured.";
                  description
                    "Enable SR native algorithm";
                  container force {
                    presence
                      "Indicates a force node is configured.";
                    description
                      "Must use this algorithm for all path computations";
                  }  // container force
                }  // container sr-native
              }  // container cspf
    
              container p2mp {
                description "P2MP configuration";
                container endpoint-sets {
                  description
                    "Endpoint-set configuration";
                  list endpoint-set {
                    key "endpoint-set-name";
                    description
                      "Endpoint-set configuration";
                    leaf endpoint-set-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..128";
                      }
                      description
                        "Endpoint-set configuration";
                    }
    
                    container ipv4s {
                      description
                        "Specify the address AFI";
                      list ipv4 {
                        key "address";
                        description
                          "Specify the address AFI";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Specify the address AFI";
                        }
                      }  // list ipv4
                    }  // container ipv4s
                  }  // list endpoint-set
                }  // container endpoint-sets
    
                container policies {
                  description
                    "Policy configuration";
                  list policy {
                    key "policy-name";
                    description
                      "Policy configuration";
                    leaf policy-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..128";
                      }
                      description
                        "Policy configuration";
                    }
    
                    container candidate-paths {
                      description
                        "Candidate-paths configuration";
                      container constraints {
                        description
                          "Candidate path constraints";
                        container affinity {
                          description
                            "Assign affinities to path";
                          container include-any {
                            description
                              "Affinity attributes - at least one must be included";
                            container affinity-colors {
                              description
                                "Affinity color name";
                              list affinity-color {
                                key "affinity-color-name";
                                description
                                  "Affinity color name";
                                leaf affinity-color-name {
                                  type string {
                                    length
                                      "1..32";
                                  }
                                  description
                                    "Affinity color name";
                                }
                              }  // list affinity-color
                            }  // container affinity-colors
                          }  // container include-any
    
                          container include-all {
                            description
                              "Affinity attributes - all must be included";
                            container affinity-colors {
                              description
                                "Affinity color name";
                              list affinity-color {
                                key "affinity-color-name";
                                description
                                  "Affinity color name";
                                leaf affinity-color-name {
                                  type string {
                                    length
                                      "1..32";
                                  }
                                  description
                                    "Affinity color name";
                                }
                              }  // list affinity-color
                            }  // container affinity-colors
                          }  // container include-all
    
                          container exclude {
                            description
                              "Affinity attributes to exclude";
                            container affinity-colors {
                              description
                                "Affinity color name";
                              list affinity-color {
                                key "affinity-color-name";
                                description
                                  "Affinity color name";
                                leaf affinity-color-name {
                                  type string {
                                    length
                                      "1..32";
                                  }
                                  description
                                    "Affinity color name";
                                }
                              }  // list affinity-color
                            }  // container affinity-colors
                          }  // container exclude
                        }  // container affinity
                      }  // container constraints
    
                      container preferences {
                        description
                          "Policy path preference entry";
                        list preference {
                          key "preference-id";
                          description
                            "Policy path preference entry";
                          leaf preference-id {
                            type uint32 {
                              range "100";
                            }
                            description
                              "Policy path preference entry";
                          }
    
                          container dynamic {
                            presence
                              "Indicates a dynamic node is configured.";
                            description
                              "Dynamically computed path";
                            container metric {
                              description
                                "Path metric configuration";
                              container type {
                                description
                                  "Metric type configuration";
                                container te {
                                  must
                                    "not(../igp or ../latency
                                   or ../hopcount)";
                                  presence
                                    "Indicates a te node is configured.";
                                  description
                                    "TE metric type";
                                }  // container te
    
                                container igp {
                                  must
                                    "not(../te or ../latency
                                   or ../hopcount)";
                                  presence
                                    "Indicates a igp node is configured.";
                                  description
                                    "IGP metric type";
                                }  // container igp
    
                                container latency {
                                  must
                                    "not(../te or ../igp
                                   or ../hopcount)";
                                  presence
                                    "Indicates a latency node is configured.";
                                  description
                                    "Latency metric type";
                                }  // container latency
    
                                container hopcount {
                                  must
                                    "not(../te or ../igp
                                   or ../latency)";
                                  presence
                                    "Indicates a hopcount node is configured.";
                                  description
                                    "Use the least number of hops for path computation";
                                }  // container hopcount
                              }  // container type
                            }  // container metric
                          }  // container dynamic
                        }  // list preference
                      }  // container preferences
                    }  // container candidate-paths
    
                    leaf color {
                      type uint32 {
                        range "1..4294967295";
                      }
                      description
                        "Specify color for policy";
                    }
    
                    leaf endpoint-set {
                      type xr:Cisco-ios-xr-string {
                        length "1..128";
                      }
                      description
                        "Policy endpoint-set";
                    }
    
                    container source {
                      description
                        "Specify source IP address";
                      leaf ipv4 {
                        type inet:ipv4-address-no-zone;
                        description
                          "IPv4 address";
                      }
                    }  // container source
    
                    container shutdown {
                      presence
                        "Indicates a shutdown node is configured.";
                      description
                        "Policy admin-shutdown";
                    }  // container shutdown
    
                    container fast-reroute {
                      description
                        "Enable Fast Re-route protection for this tree";
                      container lfa {
                        presence
                          "Indicates a lfa node is configured.";
                        description
                          "LFA Fast Re-route";
                      }  // container lfa
                    }  // container fast-reroute
    
                    container treesid {
                      description
                        "Specify the TreeSID";
                      leaf mpls {
                        type uint32 {
                          range "16..1048575";
                        }
                        description "MPLS label";
                      }
                    }  // container treesid
                  }  // list policy
                }  // container policies
    
                container timers {
                  description
                    "Timers configuration";
                  leaf reoptimization {
                    type uint32 {
                      range "60..3600";
                    }
                    description
                      "How often to reoptimize all P2MP paths.";
                  }
    
                  leaf cleanup {
                    type uint32 {
                      range "1..86400";
                    }
                    description
                      "Delay before node is excluded from P2MP path computation after PCEP connection with it goes away";
                  }
                }  // container timers
    
                container label-range {
                  description
                    "Label range for dynamic p2mp SR policies";
                  leaf min {
                    type uint32 {
                      range "16..1048575";
                    }
                    must "../max";
                    description
                      "Minimum value of label range";
                  }
    
                  leaf max {
                    type uint32 {
                      range "16..1048575";
                    }
                    must "../min";
                    description
                      "Maximum value of label range";
                  }
                }  // container label-range
    
                container multipath-disable {
                  presence
                    "Indicates a multipath-disable node is configured.";
                  description
                    "Disable load balancing of SR P2MP across ECMP paths";
                }  // container multipath-disable
    
                container fast-reroute {
                  description
                    "Enable Fast Re-route protection for all trees";
                  container lfa {
                    presence
                      "Indicates a lfa node is configured.";
                    description
                      "LFA Fast Re-route";
                  }  // container lfa
                }  // container fast-reroute
    
                container frr-node-set {
                  description
                    "Node set needing Fast Re-route Protection";
                  container from {
                    presence
                      "Indicates a from node is configured.";
                    description
                      "Nodes from which adjacencies are to be protected";
                    container ipv4s {
                      description
                        "Specify the address AFI";
                      list ipv4 {
                        key "address";
                        description
                          "Specify the address AFI";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Specify the address AFI";
                        }
                      }  // list ipv4
                    }  // container ipv4s
                  }  // container from
    
                  container to {
                    presence
                      "Indicates a to node is configured.";
                    description
                      "Nodes to which adjacencies are to be protected";
                    container ipv4s {
                      description
                        "Specify the address AFI";
                      list ipv4 {
                        key "address";
                        description
                          "Specify the address AFI";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Specify the address AFI";
                        }
                      }  // list ipv4
                    }  // container ipv4s
                  }  // container to
                }  // container frr-node-set
              }  // container p2mp
            }  // container traffic-eng
          }  // container segment-routing
    
          container peer-filter {
            description
              "Configure PCE peer filtering";
            container ipv4 {
              description "IPv4 peer filtering";
              leaf access-list {
                type xr:Cisco-ios-xr-string {
                  length "1..800";
                }
                description
                  "Access-list for IPv4 peer filtering";
              }
            }  // container ipv4
          }  // container peer-filter
    
          container hierarchical {
            presence
              "Indicates a hierarchical node is configured.";
            description
              "Configure hierarchical policy computation";
            container underlay {
              presence
                "Indicates a underlay node is configured.";
              description
                "Configure underlay tunnels";
              container enable-all {
                presence
                  "Indicates a enable-all node is configured.";
                description
                  "Use all available tunnels as underlay";
              }  // container enable-all
            }  // container underlay
          }  // container hierarchical
        }  // container pce
      }  // module Cisco-IOS-XR-um-pce-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.