Cisco-IOS-XR-infra-xtc-agent-oper

This module contains a collection of YANG definitions for Cisco IOS-XR infra-xtc-agent package operational data. This module co...

  • Version: 2021-05-21

    Cisco-IOS-XR-infra-xtc-agent-oper@2021-05-21


    
      module Cisco-IOS-XR-infra-xtc-agent-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-oper";
    
        prefix infra-xtc-agent-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-infra-xtc-agent-oper-sub3 {
          revision-date "2021-05-21";
        }
        include Cisco-IOS-XR-infra-xtc-agent-oper-sub2 {
          revision-date "2021-05-21";
        }
        include Cisco-IOS-XR-infra-xtc-agent-oper-sub1 {
          revision-date "2021-05-21";
        }
    
        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 infra-xtc-agent package operational data.
    
    This module contains definitions
    for the following management objects:
      pcc: Path-computation client in XTC
      xtc: XTC Agent operational data
    
    Copyright (c) 2013-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-05-21" {
          description
            "Added path invalidation drop flag in policy bag.
    2021-04-22
      Added TE metric field for Flex-algo ASLA.
    2021-02-18
      Remove deprecated performance-measurement oper bag and renamed pm config field name in xtc_pm_lsp_info. Added performance-measurement config data bag in lsp bag.
    2021-02-08
      Added performance-measurement config data bag in lsp bag.
    2020-12-13
      Added performance-measurement liveness-detection oper schema.
    2020-10-27
      Added A flag set field in show command to support A flag sent from PM side
    2020-09-16
      Adding operational nodes for new features path invalidation drop protected and unprotected path
    2020-09-04
      Modified the Extended-Affinities and ASLA-Extended-Affinities to be list instead of a leaf-list
    2020-05-12
      Add SRv6TE policy operational data
    2020-05-05
      changes related to treat SRv6 and SID as well-known when parsing XML for yang";
        }
    
        revision "2020-01-16" {
          description
            "Removed event buffer from SR-TE policy model. Implement new statistic info for policy performance-measurement session. Added support for per-flow policy output. Added additional filter for policy type i.e. per-flow and per-destination.";
        }
    
        revision "2019-09-09" {
          description
            "PCE/SRTE topology should display P-flag set for OSPF prefix-SID with explicit-null";
        }
    
        revision "2019-05-01" {
          description
            "Added operational models for interface database.";
        }
    
        revision "2019-04-15" {
          description
            "Hierarchical changes to policy forwarding model to organize the paths under the proper segment lists and LSPs.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-11-28" {
          description
            "Various modifications to policy-related models for better compatibility with the IETF policy draft.";
        }
    
        revision "2017-09-11" {
          description "Initial version";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Xtcigp-protocol {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown protocol";
            }
            enum "isis" {
              value 1;
              description "ISIS protocol";
            }
            enum "ospf" {
              value 2;
              description "OSPF protocol";
            }
            enum "bgp" {
              value 3;
              description "BGP protocol";
            }
            enum "te" {
              value 4;
              description "TE protocol";
            }
          }
          description "Xtcigp protocol";
        }
    
        typedef Xtc-label {
          type uint32 {
            range "16..1048575";
          }
          description "Xtc label";
        }
    
        typedef Xtc-registration-entry {
          type enumeration {
            enum "color" {
              value 0;
              description "Color";
            }
            enum "color-endpoint" {
              value 1;
              description "Color and Endpoint";
            }
            enum "policy-name" {
              value 2;
              description "Policy Name";
            }
          }
          description "Xtc registration entry";
        }
    
        typedef Xtc-address-family {
          type enumeration {
            enum "ipv4" {
              value 1;
              description "IPv4 address family";
            }
            enum "ipv6" {
              value 2;
              description "IPv6 address family";
            }
          }
          description "Xtc address family";
        }
    
        container pcc {
          config false;
          description
            "Path-computation client in XTC";
          container plsps {
            description
              "PCC PLSP database in XTC";
            list plsp {
              key "plsp-id";
              description "PCC PLSP information";
              leaf plsp-id {
                type uint32;
                description "PLSP ID";
              }
    
              container stats {
                description "Stats";
                leaf paths-created {
                  type uint64;
                  description "Paths Created";
                }
    
                leaf paths-destroyed {
                  type uint64;
                  description "Paths Destroyed";
                }
    
                leaf path-create-errors {
                  type uint64;
                  description
                    "Path create errors";
                }
    
                leaf path-destroy-errors {
                  type uint64;
                  description
                    "Path destroy errors";
                }
    
                leaf requests-created {
                  type uint64;
                  description "Requests created";
                }
    
                leaf requests-destroyed {
                  type uint64;
                  description
                    "Requests destroyed";
                }
    
                leaf requests-failed {
                  type uint64;
                  description "Requests failed";
                }
              }  // container stats
    
              leaf plsp-id-xr {
                type uint32;
                description "PLSP ID";
              }
    
              leaf sym-path-name {
                type string;
                description "Symbolic Path Name";
              }
    
              leaf refcnt {
                type int64;
                description "Refcnt";
              }
    
              leaf conn-delegated-to {
                type uint32;
                description "CONN delegated to";
              }
    
              list event-history {
                max-elements 10;
                description "event history";
                leaf ts {
                  type uint64;
                  description "Timestamp";
                }
    
                leaf desc {
                  type string;
                  description "Description";
                }
              }  // list event-history
    
              list path {
                description "path";
                container stats {
                  description "stats";
                  leaf reports-requested {
                    type uint64;
                    description
                      "Reports requested";
                  }
    
                  leaf reports-sent {
                    type uint64;
                    description "Reports sent";
                  }
    
                  leaf reports-failed-to-send {
                    type uint64;
                    description "Reports failed";
                  }
                }  // container stats
    
                leaf pce-group-name {
                  type string;
                  description "PCE group name";
                }
    
                leaf used-bw {
                  type int64;
                  description "used bw";
                }
    
                leaf requested-bw {
                  type int64;
                  description "requested bw";
                }
    
                leaf metric-value {
                  type int64;
                  description "metric value";
                }
    
                leaf refcnt {
                  type int64;
                  description "refcnt";
                }
    
                leaf lsp-plsp-id {
                  type uint32;
                  description "LSP PLSP ID";
                }
    
                leaf binding-sid-value {
                  type uint32;
                  description "Binding SID";
                }
    
                leaf lsp-id-tlv-ext-tunnel-id {
                  type uint32;
                  description "Ext Tun ID";
                }
    
                leaf lsp-id-tlv-tunnel-endpoint-address {
                  type uint32;
                  description
                    "Tun endpoint address";
                }
    
                leaf lsp-id-tlv-tunnel-sender-address {
                  type uint32;
                  description
                    "Tun sender address";
                }
    
                leaf srp-id {
                  type uint32;
                  description "SRP ID";
                }
    
                leaf lsp-id-tlv-lsp-id {
                  type uint16;
                  description "LSP ID";
                }
    
                leaf lsp-id-tlv-tunnel-id {
                  type uint16;
                  description "Tunnel ID";
                }
    
                leaf lsp-id {
                  type uint16;
                  description
                    "Application LSP ID";
                }
    
                leaf binding-sid-type {
                  type uint16;
                  description "Binding SID type";
                }
    
                leaf lsp-oper {
                  type uint8;
                  description "LSP oper flags";
                }
    
                leaf path-setup-type {
                  type uint8;
                  description "Path setup type";
                }
    
                leaf metric-type {
                  type uint8;
                  description "Metric type";
                }
    
                leaf is-reported {
                  type boolean;
                  description "is reported";
                }
    
                leaf lsp-a-flag {
                  type boolean;
                  description "LSP A Flag";
                }
    
                leaf lsp-r-flag {
                  type boolean;
                  description "LSP R Flag";
                }
    
                leaf lsp-s-flag {
                  type boolean;
                  description "LSP S Flag";
                }
    
                leaf lsp-d-flag {
                  type boolean;
                  description "LSP D Flag";
                }
    
                leaf lsp-c-flag {
                  type boolean;
                  description "LSP C Flag";
                }
    
                list ero-hop {
                  description "ero hop";
                  container data {
                    description "data";
                    container ipv4 {
                      when
                        "../hop-type = 'pcep-hop-type-ipv4'" {
                        description
                          "../HopType = 'PCEP_HOP_TYPE_IPV4'";
                      }
                      description
                        "IPv4 hop info";
                      leaf v4-addr {
                        type uint32;
                        description
                          "IPv4 prefix";
                      }
    
                      leaf prefix-len {
                        type uint8;
                        description
                          "Prefix length";
                      }
                    }  // container ipv4
    
                    container sr-v4 {
                      when
                        "../hop-type = 'pcep-hop-type-srv4'" {
                        description
                          "../HopType = 'PCEP_HOP_TYPE_SRV4'";
                      }
                      description
                        "SR IPv4 hop info";
                      leaf type {
                        type uint8;
                        description "SID type";
                      }
    
                      leaf cflag {
                        type boolean;
                        description "C flag";
                      }
    
                      leaf sid {
                        type uint32;
                        description "SID";
                      }
    
                      leaf remote-addr {
                        type uint32;
                        description
                          "Remote address";
                      }
    
                      leaf local-addr {
                        type uint32;
                        description
                          "Local address";
                      }
                    }  // container sr-v4
    
                    leaf hop-type {
                      type uint8;
                      description "HopType";
                    }
                  }  // container data
    
                  leaf loose {
                    type boolean;
                    description "is loose hop";
                  }
                }  // list ero-hop
    
                list rro-hop {
                  description "rro hop";
                  container data {
                    description "data";
                    container ipv4 {
                      when
                        "../hop-type = 'pcep-hop-type-ipv4'" {
                        description
                          "../HopType = 'PCEP_HOP_TYPE_IPV4'";
                      }
                      description
                        "IPv4 hop info";
                      leaf v4-addr {
                        type uint32;
                        description
                          "IPv4 prefix";
                      }
    
                      leaf prefix-len {
                        type uint8;
                        description
                          "Prefix length";
                      }
                    }  // container ipv4
    
                    container sr-v4 {
                      when
                        "../hop-type = 'pcep-hop-type-srv4'" {
                        description
                          "../HopType = 'PCEP_HOP_TYPE_SRV4'";
                      }
                      description
                        "SR IPv4 hop info";
                      leaf type {
                        type uint8;
                        description "SID type";
                      }
    
                      leaf cflag {
                        type boolean;
                        description "C flag";
                      }
    
                      leaf sid {
                        type uint32;
                        description "SID";
                      }
    
                      leaf remote-addr {
                        type uint32;
                        description
                          "Remote address";
                      }
    
                      leaf local-addr {
                        type uint32;
                        description
                          "Local address";
                      }
                    }  // container sr-v4
    
                    leaf hop-type {
                      type uint8;
                      description "HopType";
                    }
                  }  // container data
    
                  leaf loose {
                    type boolean;
                    description "is loose hop";
                  }
                }  // list rro-hop
              }  // list path
            }  // list plsp
          }  // container plsps
    
          container peers {
            description
              "PCC peer database in XTC";
            list peer {
              key "peer-addr";
              description "PCC peer information";
              leaf peer-addr {
                type inet:ip-address-no-zone;
                description "Peer Address";
              }
    
              container socket-info {
                description "socket info";
                leaf fd {
                  type int64;
                  description "file descriptor";
                }
    
                leaf wnotify {
                  type boolean;
                  description "write notify";
                }
    
                leaf rnotify {
                  type boolean;
                  description "read notify";
                }
    
                leaf refcnt {
                  type uint32;
                  description "ref count";
                }
    
                leaf selected {
                  type boolean;
                  description "selected";
                }
    
                leaf owner {
                  type uint32;
                  description "owner";
                }
    
                leaf csockaddr-str {
                  type string;
                  description "client address";
                }
    
                leaf ssockaddr-str {
                  type string;
                  description "server address";
                }
              }  // container socket-info
    
              container pcep-server-addr {
                description
                  "PCEP server address";
                leaf af-name {
                  type Xtc-af-id;
                  description "AFName";
                }
    
                leaf ipv4 {
                  when "../af-name = 'ipv4'" {
                    description
                      "../AFName = 'IPv4'";
                  }
                  type Xtc-ipv4-address;
                  description
                    "IPv4 address type";
                }
    
                leaf ipv6 {
                  when "../af-name = 'ipv6'" {
                    description
                      "../AFName = 'IPv6'";
                  }
                  type Xtc-ipv6-address;
                  description
                    "IPv6 address type";
                }
              }  // container pcep-server-addr
    
              container pcep-client-addr {
                description
                  "PCEP client address";
                leaf af-name {
                  type Xtc-af-id;
                  description "AFName";
                }
    
                leaf ipv4 {
                  when "../af-name = 'ipv4'" {
                    description
                      "../AFName = 'IPv4'";
                  }
                  type Xtc-ipv4-address;
                  description
                    "IPv4 address type";
                }
    
                leaf ipv6 {
                  when "../af-name = 'ipv6'" {
                    description
                      "../AFName = 'IPv6'";
                  }
                  type Xtc-ipv6-address;
                  description
                    "IPv6 address type";
                }
              }  // container pcep-client-addr
    
              container stats {
                description "stats";
                leaf ka-msg-rx {
                  type uint64;
                  description "KA messages rxed";
                }
    
                leaf ka-msg-fail-rx {
                  type uint64;
                  description
                    "KA messages fail rxed";
                }
    
                leaf ka-msg-tx {
                  type uint64;
                  description "KA messages txed";
                }
    
                leaf ka-msg-fail-tx {
                  type uint64;
                  description
                    "KA messages fail txed";
                }
    
                leaf pcreq-msg-rx {
                  type uint64;
                  description
                    "PCREQ messages rxed";
                }
    
                leaf pcreq-msg-fail-rx {
                  type uint64;
                  description
                    "PCREQ messages fail rxed";
                }
    
                leaf pcreq-msg-tx {
                  type uint64;
                  description
                    "PCREQ messages txed";
                }
    
                leaf pcreq-msg-fail-tx {
                  type uint64;
                  description
                    "PCREQ messages fail txed";
                }
    
                leaf pcrep-msg-rx {
                  type uint64;
                  description
                    "PCREP messages rxed";
                }
    
                leaf pcrep-msg-fail-rx {
                  type uint64;
                  description
                    "PCREP messages fail rxed";
                }
    
                leaf pcrep-msg-tx {
                  type uint64;
                  description
                    "PCREP messages txed";
                }
    
                leaf pcrep-msg-fail-tx {
                  type uint64;
                  description
                    "PCREP messages fail txed";
                }
    
                leaf pcrpt-msg-rx {
                  type uint64;
                  description
                    "PCRPT messages rxed";
                }
    
                leaf pcrpt-msg-fail-rx {
                  type uint64;
                  description
                    "PCRPT messages fail rxed";
                }
    
                leaf pcrpt-msg-tx {
                  type uint64;
                  description
                    "PCRPT messages txed";
                }
    
                leaf pcrpt-msg-fail-tx {
                  type uint64;
                  description
                    "PCRPT messages fail txed";
                }
    
                leaf pcupd-msg-rx {
                  type uint64;
                  description
                    "PCUPD messages rxed";
                }
    
                leaf pcupd-msg-fail-rx {
                  type uint64;
                  description
                    "PCUPD messages fail rxed";
                }
    
                leaf pcupd-msg-tx {
                  type uint64;
                  description
                    "PCUPD messages txed";
                }
    
                leaf pcupd-msg-fail-tx {
                  type uint64;
                  description
                    "PCUPD messages fail txed";
                }
    
                leaf open-msg-rx {
                  type uint64;
                  description
                    "OPEN messages rxed";
                }
    
                leaf open-msg-fail-rx {
                  type uint64;
                  description
                    "OPEN messages fail rxed";
                }
    
                leaf open-msg-tx {
                  type uint64;
                  description
                    "OPEN messages txed";
                }
    
                leaf open-msg-fail-tx {
                  type uint64;
                  description
                    "OPEN messages fail txed";
                }
    
                leaf pcerr-msg-rx {
                  type uint64;
                  description
                    "PCERR messages rxed";
                }
    
                leaf pcerr-msg-fail-rx {
                  type uint64;
                  description
                    "PCERR messages fail rxed";
                }
    
                leaf pcerr-msg-tx {
                  type uint64;
                  description
                    "PCERR messages txed";
                }
    
                leaf pcerr-msg-fail-tx {
                  type uint64;
                  description
                    "PCERR messages fail txed";
                }
    
                leaf pcntf-msg-rx {
                  type uint64;
                  description
                    "PCNTF messages rxed";
                }
    
                leaf pcntf-msg-fail-rx {
                  type uint64;
                  description
                    "PCNTF messages fail rxed";
                }
    
                leaf pcntf-msg-tx {
                  type uint64;
                  description
                    "PCNTF messages txed";
                }
    
                leaf pcntf-msg-fail-tx {
                  type uint64;
                  description
                    "PCNTF messages fail txed";
                }
    
                leaf pce-eos-msg-tx {
                  type uint64;
                  description
                    "PCE EOS messages txed";
                }
    
                leaf pce-eos-msg-fail-tx {
                  type uint64;
                  description
                    "PCE EOS messages fail txed";
                }
    
                leaf close-msg-rx {
                  type uint64;
                  description
                    "CLOSE messages rxed";
                }
    
                leaf close-msg-fail-rx {
                  type uint64;
                  description
                    "CLOSE messages fail rxed";
                }
    
                leaf close-msg-tx {
                  type uint64;
                  description
                    "CLOSE messages txed";
                }
    
                leaf close-msg-fail-tx {
                  type uint64;
                  description
                    "CLOSE messages fail txed";
                }
    
                leaf unexpected-msg-rx {
                  type uint64;
                  description
                    "Unexpected messages rxed";
                }
    
                leaf corrupted-msg-rx {
                  type uint64;
                  description
                    "Corrupted messages rxed";
                }
    
                leaf reply-time-index {
                  type uint32;
                  description
                    "index into recorded reply time";
                }
    
                leaf minimum-reply-time {
                  type uint64;
                  description "min reply time";
                }
    
                leaf maximum-reply-time {
                  type uint64;
                  description "max reply time";
                }
    
                leaf requests-timed-out {
                  type uint64;
                  description
                    "requests timed out";
                }
    
                leaf last-pcerr-type-rx {
                  type uint8;
                  description
                    "last PCERR type received";
                }
    
                leaf last-pcerr-val-rx {
                  type uint8;
                  description
                    "last PCERR value received";
                }
    
                leaf last-pcerr-rx-ts {
                  type uint64;
                  description
                    "last time when PCERR was received";
                }
    
                leaf last-pcerr-type-tx {
                  type uint8;
                  description
                    "last PCERR type transmitted";
                }
    
                leaf last-pcerr-val-tx {
                  type uint8;
                  description
                    "last PCERR value transmitted";
                }
    
                leaf last-pcerr-tx-ts {
                  type uint64;
                  description
                    "last time when PCERR was transmitted";
                }
    
                leaf pcinitiate-msg-rx {
                  type uint64;
                  description
                    "PCINITIATE messages rxed";
                }
    
                leaf pcinitiate-msg-fail-rx {
                  type uint64;
                  description
                    "PCINITIATE messages fail rxed";
                }
    
                leaf-list recorded-reply-time {
                  type uint64;
                  max-elements 10;
                  description
                    "Recorded reply time";
                }
              }  // container stats
    
              container password {
                description
                  "Password Information";
                leaf type {
                  type Tcp-auth;
                  description "password type";
                }
    
                leaf keychain-name {
                  type string;
                  description "Keychain Name";
                }
    
                leaf md5-password {
                  type string;
                  description "MD5 Password";
                }
    
                leaf ao-keychain-name {
                  type string;
                  description
                    "Authentication Option Keychain Name";
                }
    
                leaf ao-include-options-enable {
                  type boolean;
                  description
                    "AO Include Option Enable";
                }
    
                leaf ao-accept-mismatch-enable {
                  type boolean;
                  description
                    "AO Accept Mismatch Enable";
                }
              }  // container password
    
              leaf handle {
                type uint32;
                description "internal handle";
              }
    
              leaf state-str {
                type string;
                description "connection state";
              }
    
              leaf pce-group-name {
                type string;
                description "PCE group name";
              }
    
              leaf local-ok {
                type boolean;
                description "local accepted";
              }
    
              leaf remote-ok {
                type boolean;
                description "remote accepted";
              }
    
              leaf open-retry {
                type uint32;
                description "open retry count";
              }
    
              leaf ref-cnt {
                type uint32;
                description "ref count";
              }
    
              leaf rx-state-str {
                type string;
                description "socket state";
              }
    
              leaf holddown-counter {
                type uint16;
                description "holddown counter";
              }
    
              leaf pcep-up-ts {
                type uint64;
                description "PCEP up timestamp";
              }
    
              leaf precedence {
                type uint8;
                description "Precedence";
              }
    
              leaf ka-interval-local {
                type uint32;
                description "KA interval local";
              }
    
              leaf ka-interval-remote {
                type uint32;
                description "KA interval remote";
              }
    
              leaf dead-interval-local {
                type uint32;
                description
                  "Dead interval local";
              }
    
              leaf dead-interval-remote {
                type uint32;
                description
                  "Dead interval remote";
              }
    
              leaf pcep-session-id-local {
                type uint32;
                description
                  "PCEP session ID local";
              }
    
              leaf pcep-session-id-remote {
                type uint32;
                description
                  "PCEP session ID remote";
              }
    
              leaf pcep-server-ipv4-addr {
                type inet:ipv4-address;
                description
                  "PCEP server Ipv4 address";
              }
    
              leaf pcep-client-ipv4-addr {
                type inet:ipv4-address;
                description
                  "PCEP client Ipv4 address";
              }
    
              leaf is-stateful-local {
                type boolean;
                description "is stateful local";
              }
    
              leaf is-stateful-remote {
                type boolean;
                description "is stateful remote";
              }
    
              leaf is-stateful-u-flag-local {
                type boolean;
                description
                  "is stateful with U flag local";
              }
    
              leaf is-stateful-u-flag-remote {
                type boolean;
                description
                  "is stateful with U flag remote";
              }
    
              leaf is-segment-routing-local {
                type boolean;
                description
                  "is segment routing local";
              }
    
              leaf is-segment-routing-remote {
                type boolean;
                description
                  "is segment routing remote";
              }
    
              leaf is-initiate-local {
                type boolean;
                description
                  "local initiate capability";
              }
    
              leaf is-initiate-remote {
                type boolean;
                description
                  "remote initiate capability";
              }
    
              leaf is-best-pce {
                type boolean;
                description
                  "is this the best PCE to delegate to";
              }
    
              leaf sr-msd-local {
                type uint8;
                description "SR MSD local";
              }
    
              leaf sr-msd-remote {
                type uint8;
                description "SR MSD remote";
              }
            }  // list peer
          }  // container peers
        }  // container pcc
    
        container xtc {
          config false;
          description
            "XTC Agent operational data";
          container global-info {
            description "Global information";
            list admin-distance {
              description
                "List of global admin distances";
              leaf metric-type {
                type Cmn-metric;
                description "Metric type";
              }
    
              leaf admin-distance {
                type uint32;
                description "Admin distance";
              }
            }  // list admin-distance
          }  // container global-info
    
          container policies {
            description
              "Policy database in XTC Agent";
            list policy {
              key "id";
              description "Policy information";
              leaf id {
                type uint32;
                description "Policy ID";
              }
    
              container destination-address {
                description
                  "Destination address";
                leaf af-name {
                  type Xtc-af-id;
                  description "AFName";
                }
    
                leaf ipv4 {
                  when "../af-name = 'ipv4'" {
                    description
                      "../AFName = 'IPv4'";
                  }
                  type Xtc-ipv4-address;
                  description
                    "IPv4 address type";
                }
    
                leaf ipv6 {
                  when "../af-name = 'ipv6'" {
                    description
                      "../AFName = 'IPv6'";
                  }
                  type Xtc-ipv6-address;
                  description
                    "IPv6 address type";
                }
              }  // container destination-address
    
              container binding-sid {
                description
                  "Binding SID information";
                container value {
                  description
                    "Binding SID value";
                  leaf sid-type {
                    type Xtc-sid;
                    description "SIDType";
                  }
    
                  leaf label {
                    when "../sid-type = 'mpls'" {
                      description
                        "../SIDType = 'MPLS'";
                    }
                    type uint32;
                    description "MPLS label";
                  }
    
                  leaf ipv6 {
                    when "../sid-type = 'ipv6'" {
                      description
                        "../SIDType = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description "IPv6 address";
                  }
    
                  leaf srv6sid {
                    when "../sid-type = 'srv6'" {
                      description
                        "../SIDType = 'SRV6'";
                    }
                    type Xtc-srv6-sid;
                    description "SRv6 SID";
                  }
                }  // container value
    
                leaf is-fallback-dynamic {
                  type boolean;
                  description
                    "Whether the BSID is in fallback dynamic mode";
                }
    
                leaf is-within-srlb-range {
                  type boolean;
                  description
                    "Whether the BSID is within SRLB range";
                }
    
                leaf is-within-pfp-range {
                  type boolean;
                  description
                    "Whether the BSID is within PFP range";
                }
              }  // container binding-sid
    
              container per-flow {
                description
                  "Per-flow policy information";
                container pfp-config {
                  description
                    "Per-flow Policy Configuration Data";
                  leaf default-forward-class {
                    type uint8;
                    description
                      "Default forward class";
                  }
    
                  list pdp-entry {
                    max-elements 8;
                    description
                      "Per-flow PDP entry table";
                    container stats {
                      description
                        "Forwarding stats of the per-destination policy";
                      leaf packets {
                        type uint64;
                        description
                          "Number of packets forwarded";
                      }
    
                      leaf bytes {
                        type uint64;
                        units "byte";
                        description
                          "Number of bytes forwarded";
                      }
                    }  // container stats
    
                    leaf color {
                      type uint32;
                      description
                        "Per-destination policy Color";
                    }
    
                    leaf state {
                      type boolean;
                      description
                        "Per-destination policy state";
                    }
    
                    leaf forward-class {
                      type uint8;
                      description
                        "Per-destination policy Forward Class";
                    }
                  }  // list pdp-entry
                }  // container pfp-config
    
                container pfp-oper {
                  description
                    "Per-flow Policy Operational Data";
                  container reopt-bsid {
                    description
                      "Reoptimized BSID";
                    container value {
                      description
                        "Binding SID value";
                      leaf sid-type {
                        type Xtc-sid;
                        description "SIDType";
                      }
    
                      leaf label {
                        when
                          "../sid-type = 'mpls'" {
                          description
                            "../SIDType = 'MPLS'";
                        }
                        type uint32;
                        description "MPLS label";
                      }
    
                      leaf ipv6 {
                        when
                          "../sid-type = 'ipv6'" {
                          description
                            "../SIDType = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf srv6sid {
                        when
                          "../sid-type = 'srv6'" {
                          description
                            "../SIDType = 'SRV6'";
                        }
                        type Xtc-srv6-sid;
                        description "SRv6 SID";
                      }
                    }  // container value
    
                    leaf is-fallback-dynamic {
                      type boolean;
                      description
                        "Whether the BSID is in fallback dynamic mode";
                    }
    
                    leaf is-within-srlb-range {
                      type boolean;
                      description
                        "Whether the BSID is within SRLB range";
                    }
    
                    leaf is-within-pfp-range {
                      type boolean;
                      description
                        "Whether the BSID is within PFP range";
                    }
                  }  // container reopt-bsid
    
                  leaf is-enabled {
                    type boolean;
                    description
                      "Whether Per-flow is enabled on Policy";
                  }
    
                  leaf state {
                    type Xtc-pfp-state;
                    description
                      "Per-flow Policy State";
                  }
    
                  leaf transition-count {
                    type uint32;
                    description
                      "State transition count";
                  }
                }  // container pfp-oper
              }  // container per-flow
    
              container last-notify {
                description
                  "Last notification to clients";
                container bsid-value {
                  description
                    "Binding SID value";
                  leaf sid-type {
                    type Xtc-sid;
                    description "SIDType";
                  }
    
                  leaf label {
                    when "../sid-type = 'mpls'" {
                      description
                        "../SIDType = 'MPLS'";
                    }
                    type uint32;
                    description "MPLS label";
                  }
    
                  leaf ipv6 {
                    when "../sid-type = 'ipv6'" {
                      description
                        "../SIDType = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description "IPv6 address";
                  }
    
                  leaf srv6sid {
                    when "../sid-type = 'srv6'" {
                      description
                        "../SIDType = 'SRV6'";
                    }
                    type Xtc-srv6-sid;
                    description "SRv6 SID";
                  }
                }  // container bsid-value
    
                container effective-metric {
                  description
                    "Information about effective metric";
                  leaf metric-type {
                    type uint8;
                    description
                      "Notified metric type";
                  }
    
                  leaf metric-value {
                    type uint32;
                    description
                      "Notified metric value";
                  }
    
                  leaf admin-distance {
                    type uint32;
                    description
                      "Notified administrative distance";
                  }
                }  // container effective-metric
    
                leaf sense {
                  type boolean;
                  description
                    "TRUE if adding, FALSE if removing";
                }
    
                leaf is-state-up {
                  type boolean;
                  description
                    "Oper state of the policy";
                }
    
                leaf steering-disabled {
                  type boolean;
                  description
                    "Steering is disabled for this policy";
                }
    
                leaf ipv6-caps {
                  type boolean;
                  description
                    "Policy has SRv6 capability";
                }
              }  // container last-notify
    
              leaf policy-name {
                type string;
                description "Policy name";
              }
    
              leaf administrative-up {
                type uint32;
                description "Admin up";
              }
    
              leaf operational-up {
                type uint32;
                description "Operational up";
              }
    
              leaf color {
                type uint32;
                description "Color";
              }
    
              leaf transition-count {
                type uint32;
                description
                  "Indicates number of up/down transitions";
              }
    
              leaf forward-class {
                type uint32;
                description
                  "Forward class of the policy";
              }
    
              leaf up-time {
                type uint64;
                units "nanosecond";
                description
                  "Policy up time in nano seconds";
              }
    
              leaf up-age {
                type uint64;
                units "nanosecond";
                description
                  "Policy up age (since) in nano seconds";
              }
    
              leaf down-time {
                type uint64;
                units "nanosecond";
                description
                  "Policy down time in nano seconds";
              }
    
              leaf down-age {
                type uint64;
                units "nanosecond";
                description
                  "Policy down age (since) in nano seconds";
              }
    
              leaf steering-bgp-disabled {
                type boolean;
                description
                  "Whether steering to BGP client is disabled";
              }
    
              leaf steering-labeled-services-disabled {
                type boolean;
                description
                  "Whether steering for labeled-services is
    disabled";
              }
    
              leaf invalidation-drop-enabled {
                type boolean;
                description
                  "Whether invalidation drop is enabled";
              }
    
              leaf invalidated-traffic-dropping {
                type boolean;
                description
                  "TRUE if the traffic on this policy is being
    dropped due to path invalidation";
              }
    
              leaf interface-handle {
                type uint32;
                description "Interface handle";
              }
    
              leaf profile-id {
                type uint16;
                description
                  "deprecated - replaced by key list in
    xtc_pcc_info_bag";
              }
    
              leaf ipv6-caps-enabled {
                type boolean;
                description "IPv6 caps enabled";
              }
    
              list candidate-path {
                description "Candidate paths";
                container originator {
                  description
                    "Candidate path originator";
                  container node-address {
                    description
                      "Originator node address";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container node-address
    
                  leaf autonomous-system-number {
                    type uint32;
                    description
                      "Originator Autonomous System Number";
                  }
                }  // container originator
    
                container sr-path-constraints {
                  description
                    "SR candidate path constraints";
                  container path-metrics {
                    description "Path metrics";
                    leaf margin-relative {
                      type uint32;
                      description
                        "Margin Relative";
                    }
    
                    leaf margin-absolute {
                      type uint32;
                      description
                        "Margin Absolute";
                    }
    
                    leaf maximum-segments {
                      type uint16;
                      description
                        "Maximum number of segments";
                    }
    
                    leaf igp-metric-bound {
                      type uint32;
                      description
                        "IGP Metric Bound";
                    }
    
                    leaf te-metric-bound {
                      type uint32;
                      description
                        "TE Metric Bound";
                    }
    
                    leaf delay-metric-bound {
                      type uint32;
                      description
                        "Delay Metric Bound";
                    }
    
                    leaf hop-count-metric-bound {
                      type uint32;
                      description
                        "Hopcount Metric Bound";
                    }
    
                    leaf config-anycast {
                      type boolean;
                      description
                        "Config Anycast";
                    }
                  }  // container path-metrics
    
                  container segments {
                    description
                      "Segments constraints";
                    leaf segment-algorithm {
                      type uint8;
                      description
                        "Segment Algorithm";
                    }
    
                    leaf protection-type {
                      type Xtc-path-protection;
                      description
                        "Protection Type";
                    }
                  }  // container segments
    
                  list affinity-constraint {
                    description
                      "Affinity constraints list";
                    leaf type {
                      type uint8;
                      description
                        "Affinity type";
                    }
    
                    leaf value {
                      type uint32;
                      description
                        "Affinity value";
                    }
    
                    leaf-list extended-value {
                      type uint32;
                      description
                        "Extended Affinity values";
                    }
    
                    list color {
                      description "Colors";
                      leaf color {
                        type string;
                        description
                          "An affinity color";
                      }
                    }  // list color
                  }  // list affinity-constraint
                }  // container sr-path-constraints
    
                container requested-bsid {
                  description
                    "Requested binding SID";
                  leaf sid-type {
                    type Xtc-sid;
                    description "SIDType";
                  }
    
                  leaf label {
                    when "../sid-type = 'mpls'" {
                      description
                        "../SIDType = 'MPLS'";
                    }
                    type uint32;
                    description "MPLS label";
                  }
    
                  leaf ipv6 {
                    when "../sid-type = 'ipv6'" {
                      description
                        "../SIDType = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description "IPv6 address";
                  }
    
                  leaf srv6sid {
                    when "../sid-type = 'srv6'" {
                      description
                        "../SIDType = 'SRV6'";
                    }
                    type Xtc-srv6-sid;
                    description "SRv6 SID";
                  }
                }  // container requested-bsid
    
                container cleanup-timer {
                  description
                    "Cleanup timer if the candidate path is in the
    process of being cleaned up";
                  leaf running {
                    type boolean;
                    description
                      "Whether the timer is running";
                  }
    
                  leaf remaining-seconds {
                    type int64;
                    units "second";
                    description
                      "Number of remaining seconds";
                  }
    
                  leaf remaining-nano-seconds {
                    type int64;
                    units "nanosecond";
                    description
                      "Number of remaining nanoseconds";
                  }
                }  // container cleanup-timer
    
                container pcc-information {
                  description
                    "PCC PCEP-related information";
                  container orphan-timer {
                    description "Deprecated";
                    leaf running {
                      type boolean;
                      description
                        "Whether the timer is running";
                    }
    
                    leaf remaining-seconds {
                      type int64;
                      units "second";
                      description
                        "Number of remaining seconds";
                    }
    
                    leaf remaining-nano-seconds {
                      type int64;
                      units "nanosecond";
                      description
                        "Number of remaining nanoseconds";
                    }
                  }  // container orphan-timer
    
                  container state-timer {
                    description
                      "State timer for PCE-initiated candidate paths in
    orphan state";
                    leaf running {
                      type boolean;
                      description
                        "Whether the timer is running";
                    }
    
                    leaf remaining-seconds {
                      type int64;
                      units "second";
                      description
                        "Number of remaining seconds";
                    }
    
                    leaf remaining-nano-seconds {
                      type int64;
                      units "nanosecond";
                      description
                        "Number of remaining nanoseconds";
                    }
                  }  // container state-timer
    
                  container fallback-timer {
                    description
                      "Timer for delaying delegation revoke back to LSP
    originator";
                    leaf running {
                      type boolean;
                      description
                        "Whether the timer is running";
                    }
    
                    leaf remaining-seconds {
                      type int64;
                      units "second";
                      description
                        "Number of remaining seconds";
                    }
    
                    leaf remaining-nano-seconds {
                      type int64;
                      units "nanosecond";
                      description
                        "Number of remaining nanoseconds";
                    }
                  }  // container fallback-timer
    
                  leaf symbolic-name {
                    type string;
                    description
                      "Symbolic name of the PLSP";
                  }
    
                  leaf plsp-id {
                    type uint32;
                    description
                      "PLSP-ID associated with the PCC info";
                  }
    
                  leaf is-orphan {
                    type boolean;
                    description
                      "Whether the candidate path is in orphan state";
                  }
    
                  list profile-key {
                    description
                      "List of profile keys";
                    leaf id {
                      type uint16;
                      description
                        "Numeric part of profile key";
                    }
    
                    leaf source-address {
                      type inet:ipv4-address;
                      description
                        "Source IPv4 address";
                    }
                  }  // list profile-key
                }  // container pcc-information
    
                container bfd-config {
                  description
                    "BFD configuration";
                  container session-params {
                    description
                      "BFD session parameters that should be used for
    LSPs created from this CPATH";
                    leaf minimum-interval {
                      type uint32;
                      description
                        "Minimum interval between transmitted BFD packets";
                    }
    
                    leaf multiplier {
                      type uint32;
                      description
                        "Number of missed packets before declaring
    session down";
                    }
    
                    leaf reverse-binding-label {
                      type uint32;
                      description
                        "Reverse binding label";
                    }
                  }  // container session-params
    
                  leaf invalidation-action {
                    type Xtc-bfd-invalidation-action;
                    description
                      "Action to be taken when BFD session is
    invalidated";
                  }
    
                  leaf submode-enable {
                    type boolean;
                    description
                      "Is BFD configured";
                  }
    
                  leaf disable {
                    type boolean;
                    description
                      "Is BFD temporarily disabled";
                  }
    
                  leaf logging-session-state-change {
                    type boolean;
                    description
                      "Should syslog be emitted when session state
    changes";
                  }
                }  // container bfd-config
    
                container bfd-information {
                  description "BFD information";
                  container session-statistics {
                    description
                      "Candidate path session statistics";
                    leaf session-create {
                      type uint64;
                      description
                        "Count of sessions created";
                    }
    
                    leaf session-update {
                      type uint64;
                      description
                        "Count of sessions updated";
                    }
    
                    leaf session-delete {
                      type uint64;
                      description
                        "Count of sessions destroyed";
                    }
    
                    leaf session-up {
                      type uint64;
                      description
                        "Count of session state UP notifications";
                    }
    
                    leaf session-down {
                      type uint64;
                      description
                        "Count of session state DOWN notifications";
                    }
    
                    leaf session-error {
                      type uint64;
                      description
                        "Count of unexpected events or API errors";
                    }
                  }  // container session-statistics
                }  // container bfd-information
    
                container performance-measurement-configuration {
                  description
                    "Performance-measurement configuration";
                  container delay-measurement-configuration {
                    description
                      "Delay-measurement candidate-path configuration";
                    leaf invalidation-action {
                      type Xtc-pm-live-invalidation-action;
                      description
                        "Action to be taken when the PM liveness session
    is invalidated";
                    }
    
                    leaf profile-name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf logging-delay-exceeded {
                      type boolean;
                      description
                        "Should syslog be emitted when delay exceeds
    threshold";
                    }
                  }  // container delay-measurement-configuration
    
                  container liveness-detection-configuration {
                    description
                      "Liveness-detection candidate-path configuration";
                    leaf invalidation-action {
                      type Xtc-pm-live-invalidation-action;
                      description
                        "Action to be taken when the PM liveness session
    is invalidated";
                    }
    
                    leaf profile-name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf logging-session-state-change {
                      type boolean;
                      description
                        "Should syslog be emitted when session state
    changes";
                    }
                  }  // container liveness-detection-configuration
    
                  leaf reverse-path-label {
                    type uint32;
                    description
                      "Reverse-path label";
                  }
    
                  leaf delay-measurement-enabled {
                    type boolean;
                    description
                      "Is delay-measurement enabled";
                  }
    
                  leaf liveness-detection-enabled {
                    type boolean;
                    description
                      "Is delay-measurement enabled";
                  }
                }  // container performance-measurement-configuration
    
                container performance-measurement-info {
                  description
                    "Performance-measurement session information";
                  container liveness-session-statistics {
                    description
                      "Statistics of liveness sessions";
                    leaf session-create-counter {
                      type uint64;
                      description
                        "Counters for session create";
                    }
    
                    leaf session-update-counter {
                      type uint64;
                      description
                        "Counters of sessions updated";
                    }
    
                    leaf session-delete-counter {
                      type uint64;
                      description
                        "Counters for session delete update";
                    }
    
                    leaf session-up-counter {
                      type uint64;
                      description
                        "Counters for session up update";
                    }
    
                    leaf session-down-counter {
                      type uint64;
                      description
                        "Counters for session down update";
                    }
    
                    leaf delay-notification-counter {
                      type uint64;
                      description
                        "Counters for session delay notification";
                    }
    
                    leaf error-counter {
                      type uint64;
                      description
                        "Counters for session error update";
                    }
                  }  // container liveness-session-statistics
                }  // container performance-measurement-info
    
                container per-flow-information {
                  description
                    "Per-flow policy candidate-path information";
                  leaf default-forward-class {
                    type uint8;
                    description
                      "Default forward class";
                  }
    
                  list pdp-entry {
                    max-elements 8;
                    description
                      "Per-flow PDP entry table";
                    container stats {
                      description
                        "Forwarding stats of the per-destination policy";
                      leaf packets {
                        type uint64;
                        description
                          "Number of packets forwarded";
                      }
    
                      leaf bytes {
                        type uint64;
                        units "byte";
                        description
                          "Number of bytes forwarded";
                      }
                    }  // container stats
    
                    leaf color {
                      type uint32;
                      description
                        "Per-destination policy Color";
                    }
    
                    leaf state {
                      type boolean;
                      description
                        "Per-destination policy state";
                    }
    
                    leaf forward-class {
                      type uint8;
                      description
                        "Per-destination policy Forward Class";
                    }
                  }  // list pdp-entry
                }  // container per-flow-information
    
                container srv6-information {
                  description
                    "SRv6 policy candidate-path information";
                  container binding-sid {
                    description
                      "SRv6 Binding SID";
                    leaf sid-type {
                      type Xtc-sid;
                      description "SIDType";
                    }
    
                    leaf label {
                      when
                        "../sid-type = 'mpls'" {
                        description
                          "../SIDType = 'MPLS'";
                      }
                      type uint32;
                      description "MPLS label";
                    }
    
                    leaf ipv6 {
                      when
                        "../sid-type = 'ipv6'" {
                        description
                          "../SIDType = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description "IPv6 address";
                    }
    
                    leaf srv6sid {
                      when
                        "../sid-type = 'srv6'" {
                        description
                          "../SIDType = 'SRV6'";
                      }
                      type Xtc-srv6-sid;
                      description "SRv6 SID";
                    }
                  }  // container binding-sid
    
                  leaf locator-name {
                    type string;
                    description "Locator name";
                  }
    
                  leaf binding-sid-behavior {
                    type uint32;
                    description
                      "Binding SID behavior";
                  }
                }  // container srv6-information
    
                leaf name {
                  type string;
                  description
                    "Candidate path name";
                }
    
                leaf preference {
                  type uint32;
                  description
                    "Candidate path preference";
                }
    
                leaf protocol-originator {
                  type Xtc-policy-cpath-proto-origin;
                  description
                    "Candidate path protocol origin";
                }
    
                leaf discriminator {
                  type uint32;
                  description
                    "Candidate path discriminator";
                }
    
                leaf is-active {
                  type boolean;
                  description
                    "Whether this is the currently active candidate
    path";
                }
    
                leaf is-reoptimizing {
                  type boolean;
                  description
                    "Whether this is the candidate path that the
    policy is reoptimizing to";
                }
    
                leaf shutdown {
                  type boolean;
                  description
                    "If set, the candidate path is administratively
    shutdown";
                }
    
                leaf error {
                  type string;
                  description
                    "Candidate path error (for display only)";
                }
    
                leaf pce-group-name {
                  type string;
                  description "PCE group name";
                }
    
                list segment-list {
                  description
                    "Segment lists of the candidate path";
                  container pce-address-af {
                    description
                      "IPv4 or IPv6 Address of the PCE that computed
    this path";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container pce-address-af
    
                  leaf name {
                    type string;
                    description
                      "Explicit segment list name";
                  }
    
                  leaf type {
                    type Xtc-policy-path;
                    description
                      "Segment list type";
                  }
    
                  leaf active {
                    type boolean;
                    description
                      "Whether the segment list is active (used)";
                  }
    
                  leaf weight {
                    type uint32;
                    description
                      "Weight of the segment list";
                  }
    
                  leaf metric-type {
                    type uint8;
                    description
                      "Metric type of the segment list";
                  }
    
                  leaf metric-value {
                    type uint64;
                    description
                      "Accumulated metric of the segment list";
                  }
    
                  leaf is-valid {
                    type boolean;
                    description
                      "True if path is valid";
                  }
    
                  leaf pce-based-path {
                    type boolean;
                    description
                      "True if the path is to be computed by PCE";
                  }
    
                  leaf pce-address {
                    type inet:ipv4-address;
                    description
                      "Deprecated: IPv4 Address of the PCE that
    computed this path.           Use the PCE Addr
    AF field instead";
                  }
    
                  leaf error {
                    type string;
                    description
                      "Error (for display only)";
                  }
    
                  leaf cumulative-te-metric {
                    type uint32;
                    description
                      "The cumulative TE metric of the path";
                  }
    
                  leaf cumulative-igp-metric {
                    type uint32;
                    description
                      "The cumulative IGP metric of the path";
                  }
    
                  leaf cumulative-latency {
                    type uint32;
                    description
                      "The cumulative latency of the path";
                  }
    
                  leaf hop-count {
                    type uint32;
                    description
                      "The number of hops in the path";
                  }
    
                  leaf kshortest-paths-computed {
                    type uint32;
                    description
                      "Number of computed shortest paths before finding
    the one            that satisfies the
    constraints";
                  }
    
                  list hops {
                    description "SR hop list";
                    container sid {
                      description "SID value";
                      leaf sid-type {
                        type Xtc-sid;
                        description "SIDType";
                      }
    
                      leaf label {
                        when
                          "../sid-type = 'mpls'" {
                          description
                            "../SIDType = 'MPLS'";
                        }
                        type uint32;
                        description "MPLS label";
                      }
    
                      leaf ipv6 {
                        when
                          "../sid-type = 'ipv6'" {
                          description
                            "../SIDType = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf srv6sid {
                        when
                          "../sid-type = 'srv6'" {
                          description
                            "../SIDType = 'SRV6'";
                        }
                        type Xtc-srv6-sid;
                        description "SRv6 SID";
                      }
                    }  // container sid
    
                    container local-address {
                      description
                        "Local address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container local-address
    
                    container remote-address {
                      description
                        "Remote address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container remote-address
    
                    container segment-id-structure {
                      description
                        "The SRv6 strucutre of the SID";
                      leaf locator-block-length {
                        type uint8;
                        description
                          "Block Length";
                      }
    
                      leaf locator-node-length {
                        type uint8;
                        description
                          "Node Length";
                      }
    
                      leaf function-length {
                        type uint8;
                        description
                          "Function Length";
                      }
    
                      leaf argument-length {
                        type uint8;
                        description
                          "Argument Length";
                      }
                    }  // container segment-id-structure
    
                    leaf sid-type {
                      type Xtc-sr-sid;
                      description "SID type";
                    }
    
                    leaf local-interface-index {
                      type uint32;
                      description
                        "SNMP index of the upstream interface of this hop";
                    }
    
                    leaf remote-interface-index {
                      type uint32;
                      description
                        "SNMP index of the downstream interface of this
    hop";
                    }
    
                    leaf algorithm {
                      type uint8;
                      description "Algorithm";
                    }
    
                    leaf sid-behavior {
                      type uint16;
                      description
                        "Endpoint SID behavior";
                    }
                  }  // list hops
                }  // list segment-list
              }  // list candidate-path
    
              list ls-ps {
                description "LSPs";
                container binding-sid {
                  description
                    "Binding SID information";
                  container value {
                    description
                      "Binding SID value";
                    leaf sid-type {
                      type Xtc-sid;
                      description "SIDType";
                    }
    
                    leaf label {
                      when
                        "../sid-type = 'mpls'" {
                        description
                          "../SIDType = 'MPLS'";
                      }
                      type uint32;
                      description "MPLS label";
                    }
    
                    leaf ipv6 {
                      when
                        "../sid-type = 'ipv6'" {
                        description
                          "../SIDType = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description "IPv6 address";
                    }
    
                    leaf srv6sid {
                      when
                        "../sid-type = 'srv6'" {
                        description
                          "../SIDType = 'SRV6'";
                      }
                      type Xtc-srv6-sid;
                      description "SRv6 SID";
                    }
                  }  // container value
    
                  leaf is-fallback-dynamic {
                    type boolean;
                    description
                      "Whether the BSID is in fallback dynamic mode";
                  }
    
                  leaf is-within-srlb-range {
                    type boolean;
                    description
                      "Whether the BSID is within SRLB range";
                  }
    
                  leaf is-within-pfp-range {
                    type boolean;
                    description
                      "Whether the BSID is within PFP range";
                  }
                }  // container binding-sid
    
                container install-timer {
                  description
                    "Install timer information";
                  leaf running {
                    type boolean;
                    description
                      "Whether the timer is running";
                  }
    
                  leaf remaining-seconds {
                    type int64;
                    units "second";
                    description
                      "Number of remaining seconds";
                  }
    
                  leaf remaining-nano-seconds {
                    type int64;
                    units "nanosecond";
                    description
                      "Number of remaining nanoseconds";
                  }
                }  // container install-timer
    
                container cleanup-timer {
                  description
                    "Cleanup timer information";
                  leaf running {
                    type boolean;
                    description
                      "Whether the timer is running";
                  }
    
                  leaf remaining-seconds {
                    type int64;
                    units "second";
                    description
                      "Number of remaining seconds";
                  }
    
                  leaf remaining-nano-seconds {
                    type int64;
                    units "nanosecond";
                    description
                      "Number of remaining nanoseconds";
                  }
                }  // container cleanup-timer
    
                container bfd-information {
                  description "BFD information";
                  container session-params {
                    description
                      "BFD session parameters that are to be used for
    this LSP";
                    leaf minimum-interval {
                      type uint32;
                      description
                        "Minimum interval between transmitted BFD packets";
                    }
    
                    leaf multiplier {
                      type uint32;
                      description
                        "Number of missed packets before declaring
    session down";
                    }
    
                    leaf reverse-binding-label {
                      type uint32;
                      description
                        "Reverse binding label";
                    }
                  }  // container session-params
    
                  leaf last-session-state-change-time {
                    type uint64;
                    description
                      "Time when the last BFD state change occurred";
                  }
    
                  leaf last-session-state-change-age {
                    type uint64;
                    description
                      "Age when the last BFD state change occurred";
                  }
    
                  leaf session-state {
                    type Xtc-bfd-session-state;
                    description
                      "State of the BFD session";
                  }
    
                  leaf is-created {
                    type boolean;
                    description
                      "Is BFD session created";
                  }
    
                  leaf is-update-needed {
                    type boolean;
                    description
                      "Is update needed to BFD";
                  }
    
                  leaf is-stale {
                    type boolean;
                    description
                      "Is the BFD session stale";
                  }
                }  // container bfd-information
    
                container performance-measurement-configuration {
                  description
                    "Performance-measurement configuration";
                  container delay-measurement-configuration {
                    description
                      "Delay-measurement candidate-path configuration";
                    leaf invalidation-action {
                      type Xtc-pm-live-invalidation-action;
                      description
                        "Action to be taken when the PM liveness session
    is invalidated";
                    }
    
                    leaf profile-name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf logging-delay-exceeded {
                      type boolean;
                      description
                        "Should syslog be emitted when delay exceeds
    threshold";
                    }
                  }  // container delay-measurement-configuration
    
                  container liveness-detection-configuration {
                    description
                      "Liveness-detection candidate-path configuration";
                    leaf invalidation-action {
                      type Xtc-pm-live-invalidation-action;
                      description
                        "Action to be taken when the PM liveness session
    is invalidated";
                    }
    
                    leaf profile-name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf logging-session-state-change {
                      type boolean;
                      description
                        "Should syslog be emitted when session state
    changes";
                    }
                  }  // container liveness-detection-configuration
    
                  leaf reverse-path-label {
                    type uint32;
                    description
                      "Reverse-path label";
                  }
    
                  leaf delay-measurement-enabled {
                    type boolean;
                    description
                      "Is delay-measurement enabled";
                  }
    
                  leaf liveness-detection-enabled {
                    type boolean;
                    description
                      "Is delay-measurement enabled";
                  }
                }  // container performance-measurement-configuration
    
                container performance-measurement-info {
                  description
                    "Performance-measurement information";
                  container pm-delay-measurement-info {
                    description
                      "Delay-measurement information";
                    container delay-metrics {
                      description
                        "Last delay-measurement metrics";
                      leaf average-delay {
                        type uint32;
                        description
                          "Average delay";
                      }
    
                      leaf minimum-delay {
                        type uint32;
                        description
                          "Minimum delay";
                      }
    
                      leaf maximum-delay {
                        type uint32;
                        description
                          "Maximum delay";
                      }
    
                      leaf delay-variance {
                        type uint32;
                        description
                          "Delay variance";
                      }
    
                      leaf aflag-set {
                        type boolean;
                        description
                          "A flag is set";
                      }
                    }  // container delay-metrics
    
                    leaf last-delay-change-time {
                      type uint64;
                      description
                        "Time when the last delay change occurred";
                    }
    
                    leaf last-delay-change-age {
                      type uint64;
                      description
                        "Age when the last delay change occurred";
                    }
    
                    leaf delay-session-is-created {
                      type boolean;
                      description
                        "Is delay-measurement session created";
                    }
                  }  // container pm-delay-measurement-info
    
                  container pm-liveness-detection-info {
                    description
                      "Liveness-detection information";
                    container bring-up-timer {
                      description
                        "Bring up timer information";
                      leaf running {
                        type boolean;
                        description
                          "Whether the timer is running";
                      }
    
                      leaf remaining-seconds {
                        type int64;
                        units "second";
                        description
                          "Number of remaining seconds";
                      }
    
                      leaf remaining-nano-seconds {
                        type int64;
                        units "nanosecond";
                        description
                          "Number of remaining nanoseconds";
                      }
                    }  // container bring-up-timer
    
                    leaf last-liveness-state-change-time {
                      type uint64;
                      description
                        "Time when the last liveness state change
    occurred";
                    }
    
                    leaf last-liveness-state-change-age {
                      type uint64;
                      description
                        "Age when the last liveness state change occurred";
                    }
    
                    leaf liveness-session-state {
                      type Xtc-pm-live-session-state;
                      description
                        "Last liveness state change";
                    }
                  }  // container pm-liveness-detection-info
    
                  leaf pm-delay-measurement-enabled {
                    type boolean;
                    description
                      "Is delay-measurement enabled";
                  }
    
                  leaf pm-liveness-detection-enabled {
                    type boolean;
                    description
                      "Is liveness-detection enabled";
                  }
                }  // container performance-measurement-info
    
                container per-flow-rewrite-info {
                  description
                    "Per-flow LSP rewrite information";
                  leaf default-forward-class {
                    type uint8;
                    description
                      "Default forward class";
                  }
    
                  leaf-list ifhandle {
                    type uint32;
                    max-elements 8;
                    description
                      "Ifhandle of per-destination policy at
    forward-class";
                  }
                }  // container per-flow-rewrite-info
    
                leaf lsp-id {
                  type uint16;
                  description "LSP ID";
                }
    
                leaf policy-id {
                  type uint16;
                  description "Policy ID";
                }
    
                leaf local-label {
                  type uint32;
                  description
                    "Local label of the LSP";
                }
    
                leaf state {
                  type Xtc-policy-lsp-sm-state;
                  description
                    "Current LSP state";
                }
    
                leaf is-active-lsp {
                  type boolean;
                  description
                    "Whether this is the active LSP";
                }
    
                leaf is-reoptimized-lsp {
                  type boolean;
                  description
                    "Whether this is the reoptimized LSP";
                }
              }  // list ls-ps
            }  // list policy
          }  // container policies
    
          container first-segments {
            description
              "First segments of all segment-lists";
            list first-segment {
              key "label";
              description
                "first-segment of an SR-TE segment-list";
              leaf label {
                type Xtc-label;
                description "Label";
              }
    
              leaf first-segment-label {
                type uint32;
                description
                  "First segment label as a key";
              }
    
              list egress-group {
                description
                  "Groups of egress hops";
                leaf next-hop-id {
                  type uint32;
                  description "Next-hop ID";
                }
    
                leaf local-label {
                  type uint32;
                  description
                    "Internal label that points to this next-hop";
                }
    
                leaf needs-cleaning-up {
                  type boolean;
                  description
                    "Cleanup to be scheduled";
                }
    
                leaf is-cleaning-up {
                  type boolean;
                  description
                    "Cleanup in progress";
                }
    
                leaf rewrite-refresh-needed {
                  type boolean;
                  description
                    "Need to refresh the rewrite";
                }
    
                leaf-list out-label {
                  type uint32;
                  description
                    "Outgoing label stack";
                }
    
                list next-hop {
                  description
                    "Next-hops within the same egress-group";
                  container next-hop-address {
                    description
                      "IP address of the directly connected neighbour";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container next-hop-address
    
                  leaf interface-handle {
                    type xr:Interface-name;
                    description
                      "Interface handle of the outgoing interface";
                  }
    
                  leaf interface-name {
                    type string;
                    description
                      "Name of the outgoing interface";
                  }
    
                  leaf path-id {
                    type uint8;
                    description
                      "Path index for rewrite";
                  }
    
                  leaf backup-path-id {
                    type uint8;
                    description
                      "Backup Path index for rewrite";
                  }
    
                  leaf path-flags {
                    type uint16;
                    description
                      "Path flags for rewrite";
                  }
                }  // list next-hop
              }  // list egress-group
            }  // list first-segment
          }  // container first-segments
    
          container interfaces {
            description
              "Interface database in XTC Agent";
            list interface {
              key "interface-name";
              description
                "Interface information";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              leaf interface-handle {
                type xr:Interface-name;
                description "Interface handle";
              }
    
              leaf name {
                type string;
                description
                  "Name of the interface";
              }
    
              leaf operational-up {
                type boolean;
                description "Operational up";
              }
            }  // list interface
          }  // container interfaces
    
          container policy-forwardings {
            description
              "Forwarding information for policies";
            list policy-forwarding {
              key "name";
              description
                "Forwarding information for the policy";
              leaf name {
                type xr:Cisco-ios-xr-string;
                description "Policy Name";
              }
    
              container endpoint-address {
                description "Endpoint address";
                leaf af-name {
                  type Xtc-af-id;
                  description "AFName";
                }
    
                leaf ipv4 {
                  when "../af-name = 'ipv4'" {
                    description
                      "../AFName = 'IPv4'";
                  }
                  type Xtc-ipv4-address;
                  description
                    "IPv4 address type";
                }
    
                leaf ipv6 {
                  when "../af-name = 'ipv6'" {
                    description
                      "../AFName = 'IPv6'";
                  }
                  type Xtc-ipv6-address;
                  description
                    "IPv6 address type";
                }
              }  // container endpoint-address
    
              container binding-sid {
                description
                  "Programmed Binding SID";
                leaf sid-type {
                  type Xtc-sid;
                  description "SIDType";
                }
    
                leaf label {
                  when "../sid-type = 'mpls'" {
                    description
                      "../SIDType = 'MPLS'";
                  }
                  type uint32;
                  description "MPLS label";
                }
    
                leaf ipv6 {
                  when "../sid-type = 'ipv6'" {
                    description
                      "../SIDType = 'IPv6'";
                  }
                  type Xtc-ipv6-address;
                  description "IPv6 address";
                }
    
                leaf srv6sid {
                  when "../sid-type = 'srv6'" {
                    description
                      "../SIDType = 'SRV6'";
                  }
                  type Xtc-srv6-sid;
                  description "SRv6 SID";
                }
              }  // container binding-sid
    
              container stats {
                description
                  "Overall forwarding stats of the policy";
                leaf packets {
                  type uint64;
                  description
                    "Number of packets forwarded";
                }
    
                leaf bytes {
                  type uint64;
                  units "byte";
                  description
                    "Number of bytes forwarded";
                }
              }  // container stats
    
              container active-lsp {
                description
                  "Active LSP information";
                container candidate-path {
                  description
                    "Candidate path associated with this LSP";
                  container originator {
                    description
                      "Candidate path originator";
                    container node-address {
                      description
                        "Originator node address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container node-address
    
                    leaf autonomous-system-number {
                      type uint32;
                      description
                        "Originator Autonomous System Number";
                    }
                  }  // container originator
    
                  leaf name {
                    type string;
                    description
                      "Name of the candidate path, if any";
                  }
    
                  leaf preference {
                    type uint32;
                    description
                      "Candidate path preference";
                  }
    
                  leaf protocol-originator {
                    type Xtc-policy-cpath-proto-origin;
                    description
                      "Candidate path protocol origin";
                  }
    
                  leaf discriminator {
                    type uint32;
                    description
                      "Candidate path discriminator";
                  }
                }  // container candidate-path
    
                leaf local-label {
                  type uint32;
                  description
                    "Local label of the LSP";
                }
    
                list forwarding-segment-list {
                  description
                    "Segment lists installed in forwarding";
                  container stats {
                    description
                      "Forwarding stats of the segment list (backward
    compatibility)";
                    leaf packets {
                      type uint64;
                      description
                        "Number of packets forwarded";
                    }
    
                    leaf bytes {
                      type uint64;
                      units "byte";
                      description
                        "Number of bytes forwarded";
                    }
                  }  // container stats
    
                  container full-stats {
                    description
                      "Full forwarding stats of the segment list";
                    list input-protocol {
                      max-elements 5;
                      description
                        "Input protocol";
                      list output-protocol {
                        max-elements 5;
                        description
                          "Output protocol";
                        leaf packets {
                          type uint64;
                          description
                            "Number of packets forwarded";
                        }
    
                        leaf bytes {
                          type uint64;
                          units "byte";
                          description
                            "Number of bytes forwarded";
                        }
                      }  // list output-protocol
    
                      list feature {
                        max-elements 2;
                        description "Feature";
                        leaf packets {
                          type uint64;
                          description
                            "Number of packets forwarded";
                        }
    
                        leaf bytes {
                          type uint64;
                          units "byte";
                          description
                            "Number of bytes forwarded";
                        }
                      }  // list feature
                    }  // list input-protocol
                  }  // container full-stats
    
                  leaf name {
                    type string;
                    description
                      "Name of the segment list, if any";
                  }
    
                  list forwarding-path {
                    description
                      "Segment list paths in forwarding";
                    container stats {
                      description
                        "Forwarding stats of the path (backward
    compatibility)";
                      leaf packets {
                        type uint64;
                        description
                          "Number of packets forwarded";
                      }
    
                      leaf bytes {
                        type uint64;
                        units "byte";
                        description
                          "Number of bytes forwarded";
                      }
                    }  // container stats
    
                    container full-stats {
                      description
                        "Full forwarding stats of the path";
                      list input-protocol {
                        max-elements 5;
                        description
                          "Input protocol";
                        list output-protocol {
                          max-elements 5;
                          description
                            "Output protocol";
                          leaf packets {
                            type uint64;
                            description
                              "Number of packets forwarded";
                          }
    
                          leaf bytes {
                            type uint64;
                            units "byte";
                            description
                              "Number of bytes forwarded";
                          }
                        }  // list output-protocol
    
                        list feature {
                          max-elements 2;
                          description "Feature";
                          leaf packets {
                            type uint64;
                            description
                              "Number of packets forwarded";
                          }
    
                          leaf bytes {
                            type uint64;
                            units "byte";
                            description
                              "Number of bytes forwarded";
                          }
                        }  // list feature
                      }  // list input-protocol
                    }  // container full-stats
    
                    leaf next-hop-ipv6 {
                      type Xtc-ipv6-address;
                      description
                        "IPv6 Next Hop";
                    }
    
                    leaf next-hop-table-id {
                      type uint32;
                      description
                        "Table ID for nexthop address";
                    }
    
                    leaf is-protected {
                      type boolean;
                      description
                        "Is this path protected ?";
                    }
    
                    leaf is-pure-bkup {
                      type boolean;
                      description
                        "Is this path a pure backup ?";
                    }
    
                    leaf is-lfa-or-ecmp-backup {
                      type boolean;
                      description
                        "Whether the path is LFA or ECMP backup";
                    }
    
                    leaf load-metric {
                      type uint32;
                      description
                        "Path's load metric for load balancing";
                    }
    
                    leaf path-id {
                      type uint8;
                      description "path Id";
                    }
    
                    leaf bkup-path-id {
                      type uint8;
                      description
                        "Backup path Id";
                    }
    
                    leaf internal-recursive-label {
                      type uint32;
                      description
                        "Internal Recursive label";
                    }
    
                    leaf-list outgoing-interface {
                      type xr:Interface-name;
                      description
                        "Outgoing interface handle";
                    }
    
                    leaf-list next-hop-ipv4 {
                      type Xtc-ipv4-address;
                      description
                        "IPv4 Next Hop";
                    }
    
                    leaf-list label-stack {
                      type uint32;
                      description
                        "Path outgoing labels";
                    }
    
                    list sid-stack {
                      description
                        "Path outgoing sids";
                      leaf srv6-sid {
                        type Xtc-ipv6-address;
                        description "SRv6 SID";
                      }
    
                      leaf sid-behavior {
                        type uint16;
                        description
                          "Endpoint SID behavior";
                      }
    
                      leaf algorithm {
                        type uint32;
                        description
                          "Prefix-SID algorithm number";
                      }
                    }  // list sid-stack
                  }  // list forwarding-path
                }  // list forwarding-segment-list
              }  // container active-lsp
    
              container reoptimized-lsp {
                description
                  "Reoptimized LSP information";
                container candidate-path {
                  description
                    "Candidate path associated with this LSP";
                  container originator {
                    description
                      "Candidate path originator";
                    container node-address {
                      description
                        "Originator node address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container node-address
    
                    leaf autonomous-system-number {
                      type uint32;
                      description
                        "Originator Autonomous System Number";
                    }
                  }  // container originator
    
                  leaf name {
                    type string;
                    description
                      "Name of the candidate path, if any";
                  }
    
                  leaf preference {
                    type uint32;
                    description
                      "Candidate path preference";
                  }
    
                  leaf protocol-originator {
                    type Xtc-policy-cpath-proto-origin;
                    description
                      "Candidate path protocol origin";
                  }
    
                  leaf discriminator {
                    type uint32;
                    description
                      "Candidate path discriminator";
                  }
                }  // container candidate-path
    
                leaf local-label {
                  type uint32;
                  description
                    "Local label of the LSP";
                }
    
                list forwarding-segment-list {
                  description
                    "Segment lists installed in forwarding";
                  container stats {
                    description
                      "Forwarding stats of the segment list (backward
    compatibility)";
                    leaf packets {
                      type uint64;
                      description
                        "Number of packets forwarded";
                    }
    
                    leaf bytes {
                      type uint64;
                      units "byte";
                      description
                        "Number of bytes forwarded";
                    }
                  }  // container stats
    
                  container full-stats {
                    description
                      "Full forwarding stats of the segment list";
                    list input-protocol {
                      max-elements 5;
                      description
                        "Input protocol";
                      list output-protocol {
                        max-elements 5;
                        description
                          "Output protocol";
                        leaf packets {
                          type uint64;
                          description
                            "Number of packets forwarded";
                        }
    
                        leaf bytes {
                          type uint64;
                          units "byte";
                          description
                            "Number of bytes forwarded";
                        }
                      }  // list output-protocol
    
                      list feature {
                        max-elements 2;
                        description "Feature";
                        leaf packets {
                          type uint64;
                          description
                            "Number of packets forwarded";
                        }
    
                        leaf bytes {
                          type uint64;
                          units "byte";
                          description
                            "Number of bytes forwarded";
                        }
                      }  // list feature
                    }  // list input-protocol
                  }  // container full-stats
    
                  leaf name {
                    type string;
                    description
                      "Name of the segment list, if any";
                  }
    
                  list forwarding-path {
                    description
                      "Segment list paths in forwarding";
                    container stats {
                      description
                        "Forwarding stats of the path (backward
    compatibility)";
                      leaf packets {
                        type uint64;
                        description
                          "Number of packets forwarded";
                      }
    
                      leaf bytes {
                        type uint64;
                        units "byte";
                        description
                          "Number of bytes forwarded";
                      }
                    }  // container stats
    
                    container full-stats {
                      description
                        "Full forwarding stats of the path";
                      list input-protocol {
                        max-elements 5;
                        description
                          "Input protocol";
                        list output-protocol {
                          max-elements 5;
                          description
                            "Output protocol";
                          leaf packets {
                            type uint64;
                            description
                              "Number of packets forwarded";
                          }
    
                          leaf bytes {
                            type uint64;
                            units "byte";
                            description
                              "Number of bytes forwarded";
                          }
                        }  // list output-protocol
    
                        list feature {
                          max-elements 2;
                          description "Feature";
                          leaf packets {
                            type uint64;
                            description
                              "Number of packets forwarded";
                          }
    
                          leaf bytes {
                            type uint64;
                            units "byte";
                            description
                              "Number of bytes forwarded";
                          }
                        }  // list feature
                      }  // list input-protocol
                    }  // container full-stats
    
                    leaf next-hop-ipv6 {
                      type Xtc-ipv6-address;
                      description
                        "IPv6 Next Hop";
                    }
    
                    leaf next-hop-table-id {
                      type uint32;
                      description
                        "Table ID for nexthop address";
                    }
    
                    leaf is-protected {
                      type boolean;
                      description
                        "Is this path protected ?";
                    }
    
                    leaf is-pure-bkup {
                      type boolean;
                      description
                        "Is this path a pure backup ?";
                    }
    
                    leaf is-lfa-or-ecmp-backup {
                      type boolean;
                      description
                        "Whether the path is LFA or ECMP backup";
                    }
    
                    leaf load-metric {
                      type uint32;
                      description
                        "Path's load metric for load balancing";
                    }
    
                    leaf path-id {
                      type uint8;
                      description "path Id";
                    }
    
                    leaf bkup-path-id {
                      type uint8;
                      description
                        "Backup path Id";
                    }
    
                    leaf internal-recursive-label {
                      type uint32;
                      description
                        "Internal Recursive label";
                    }
    
                    leaf-list outgoing-interface {
                      type xr:Interface-name;
                      description
                        "Outgoing interface handle";
                    }
    
                    leaf-list next-hop-ipv4 {
                      type Xtc-ipv4-address;
                      description
                        "IPv4 Next Hop";
                    }
    
                    leaf-list label-stack {
                      type uint32;
                      description
                        "Path outgoing labels";
                    }
    
                    list sid-stack {
                      description
                        "Path outgoing sids";
                      leaf srv6-sid {
                        type Xtc-ipv6-address;
                        description "SRv6 SID";
                      }
    
                      leaf sid-behavior {
                        type uint16;
                        description
                          "Endpoint SID behavior";
                      }
    
                      leaf algorithm {
                        type uint32;
                        description
                          "Prefix-SID algorithm number";
                      }
                    }  // list sid-stack
                  }  // list forwarding-path
                }  // list forwarding-segment-list
              }  // container reoptimized-lsp
    
              container per-flow-information {
                description
                  "Per-flow policy candidate-path information";
                leaf default-forward-class {
                  type uint8;
                  description
                    "Default forward class";
                }
    
                list pdp-entry {
                  max-elements 8;
                  description
                    "Per-flow PDP entry table";
                  container stats {
                    description
                      "Forwarding stats of the per-destination policy";
                    leaf packets {
                      type uint64;
                      description
                        "Number of packets forwarded";
                    }
    
                    leaf bytes {
                      type uint64;
                      units "byte";
                      description
                        "Number of bytes forwarded";
                    }
                  }  // container stats
    
                  leaf color {
                    type uint32;
                    description
                      "Per-destination policy Color";
                  }
    
                  leaf state {
                    type boolean;
                    description
                      "Per-destination policy state";
                  }
    
                  leaf forward-class {
                    type uint8;
                    description
                      "Per-destination policy Forward Class";
                  }
                }  // list pdp-entry
              }  // container per-flow-information
    
              leaf policy-name {
                type string;
                description "Policy name";
              }
    
              leaf color {
                type uint32;
                description "Color";
              }
            }  // list policy-forwarding
          }  // container policy-forwardings
    
          container policy-summary {
            description
              "Summary of all policies";
            leaf total-policy-count {
              type uint32;
              description
                "Total number of policies";
            }
    
            leaf up-policy-count {
              type uint32;
              description
                "Total number of policies that are operationally
    up";
            }
    
            leaf down-policy-count {
              type uint32;
              description
                "Total number of policies that are operationally
    down";
            }
    
            leaf total-candidate-path-count {
              type uint32;
              description
                "Total number of candidate paths";
            }
    
            leaf active-candidate-path-count {
              type uint32;
              description
                "Total number of candidate paths that are active";
            }
    
            leaf inactive-candidate-path-count {
              type uint32;
              description
                "Total number of candidate paths that are
    inactive";
            }
    
            leaf total-lsp-count {
              type uint32;
              description "Total number of LSPs";
            }
    
            leaf active-lsp-count {
              type uint32;
              description
                "Total number of active LSPs";
            }
    
            leaf reoptimized-lsp-count {
              type uint32;
              description
                "Total number of reoptimized LSPs";
            }
    
            leaf cleanup-lsp-count {
              type uint32;
              description
                "Total number of cleanup LSPs";
            }
    
            leaf oor-lsp-count {
              type uint32;
              description
                "Total number of LSPs in OOR state";
            }
    
            leaf pdp-count {
              type uint32;
              description
                "Total number of per-destination policies";
            }
    
            leaf up-pdp-count {
              type uint32;
              description
                "Total number of PDPs that are operationally up";
            }
    
            leaf down-pdp-count {
              type uint32;
              description
                "Total number of PDPs that are operationally down";
            }
    
            leaf pfp-count {
              type uint32;
              description
                "Total number of per-flow policies";
            }
    
            leaf up-pfp-count {
              type uint32;
              description
                "Total number of PFPs that are operationally up";
            }
    
            leaf down-pfp-count {
              type uint32;
              description
                "Total number of PFPs that are operationally down";
            }
          }  // container policy-summary
    
          container p2mp-policy-infos {
            description
              "P2MP policy database indexed by Root address in
    XTC Agent";
            list p2mp-policy-info {
              key "root-address tree-id";
              description "Policy information";
              leaf root-address {
                type inet:ip-address-no-zone;
                description "Root Address";
              }
    
              leaf tree-id {
                type uint32;
                description
                  "P2MP Policy Tree-ID";
              }
    
              container pim-information {
                description
                  "Information from PIM regarding this policy";
                leaf rpf-id {
                  type uint32;
                  description
                    "Reverse-path-forwarding identifier";
                }
    
                leaf mdt-interface-handle {
                  type xr:Interface-name;
                  description
                    "Multicast Distribution Tree interface handle";
                }
    
                leaf rsi-table-id {
                  type uint32;
                  description
                    "Router Space Infrastructure table ID";
                }
              }  // container pim-information
    
              leaf name-xr {
                type string;
                description "Policy name";
              }
    
              leaf root-address-xr {
                type inet:ipv4-address;
                description
                  "Root address of dynamic policy";
              }
    
              leaf tree-id-xr {
                type uint32;
                description
                  "Tree-ID of dynamic policy";
              }
    
              leaf lsm-id {
                type uint32;
                description "LSM Identifier";
              }
    
              leaf role {
                type Xtc-treesid-role;
                description "TreeSID node role";
              }
    
              leaf pce-creator {
                type inet:ipv4-address;
                description
                  "PCE which created/updated this policy";
              }
    
              leaf stale {
                type boolean;
                description
                  "Is this dynamic policy stale";
              }
    
              leaf color {
                type uint32;
                description
                  "On-demand color of dynamic policy";
              }
    
              list end-point {
                description
                  "Endpoints for dynamic policy";
                container addres {
                  description "Endpoint address";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container addres
    
                leaf stale {
                  type boolean;
                  description
                    "Whether the ep is stale";
                }
              }  // list end-point
    
              list replication-hop {
                description "Replication points";
                container remote-address {
                  description "Remote address";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container remote-address
    
                leaf outgoing-label {
                  type uint32;
                  description "Outgoing label";
                }
    
                leaf interface-handle {
                  type xr:Interface-name;
                  description "Interface handle";
                }
    
                leaf central-control-identifier {
                  type uint32;
                  description
                    "Identifier for Central Control instructions";
                }
    
                leaf stale {
                  type boolean;
                  description
                    "Whether the hop is stale";
                }
    
                leaf lfa-protected {
                  type boolean;
                  description
                    "Whether the hop is protected by LFA FRR";
                }
              }  // list replication-hop
    
              list event {
                description "Events";
                leaf event-message {
                  type string;
                  description "Event message";
                }
    
                leaf time-stamp {
                  type uint64;
                  description
                    "Event time, relative to Jan 1, 1970";
                }
              }  // list event
            }  // list p2mp-policy-info
          }  // container p2mp-policy-infos
    
          container trace-buffer-summaries {
            description
              "Summary of all trace buffers";
            list trace-buffer-summary {
              key "name";
              description
                "Summary of specific trace buffer";
              leaf name {
                type xr:Cisco-ios-xr-string;
                description "Trace buffer name";
              }
    
              leaf trace-buffer-name {
                type string;
                description
                  "Name of trace buffer";
              }
    
              leaf unique-trace-count {
                type uint32;
                description "Unique trace count";
              }
    
              leaf wrapping-trace-count-default {
                type uint32;
                description
                  "Default value of wrapping trace count";
              }
    
              leaf wrapping-trace-count-programmed {
                type uint32;
                description
                  "Programmed value of wrapping trace count";
              }
    
              leaf string-buffer-size-default {
                type uint32;
                units "byte";
                description
                  "Default string buffer size for wrapping traces
    in bytes";
              }
    
              leaf string-buffer-size-programmed {
                type uint32;
                units "byte";
                description
                  "Programmed string buffer size for wrapping
    traces in bytes";
              }
            }  // list trace-buffer-summary
          }  // container trace-buffer-summaries
    
          container srv6 {
            description
              "SRv6TE specific information";
            container next-hops {
              description "Next Hop Information";
              list next-hop {
                key "prefix";
                description
                  "Next Hop detailed information";
                leaf prefix {
                  type inet:ip-address-no-zone;
                  description "Prefix";
                }
    
                leaf prefix-xr {
                  type inet:ipv6-address;
                  description "Next Hop Prefix";
                }
    
                leaf create-time {
                  type uint32;
                  description "Create Time";
                }
    
                leaf last-update-time {
                  type uint32;
                  description "Last Update Time";
                }
    
                list paths {
                  description "List of Paths";
                  leaf interface-handle {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf address {
                    type Xtc-ipv6-address;
                    description
                      "Primary Address";
                  }
    
                  leaf path-id {
                    type uint32;
                    description "Path ID";
                  }
    
                  leaf backup-path-id {
                    type uint32;
                    description "Backup Path ID";
                  }
    
                  leaf flags {
                    type uint32;
                    description "Flags";
                  }
    
                  leaf info-source {
                    type Xtc-ipv6-address;
                    description "Info Source";
                  }
    
                  leaf sid-behavior {
                    type uint32;
                    description "SID behavior";
                  }
    
                  leaf-list backup-address {
                    type Xtc-ipv6-address;
                    description
                      "List of Backup Addresses";
                  }
    
                  leaf-list sid {
                    type Xtc-ipv6-address;
                    description
                      "Underlay SID List";
                  }
                }  // list paths
              }  // list next-hop
            }  // container next-hops
    
            container rib-stats {
              description "RIB Stats";
              leaf sid-alloc-count {
                type uint32;
                description "sid alloc count";
              }
    
              leaf sid-free-count {
                type uint32;
                description "sid free count";
              }
    
              leaf ub6-rw-count {
                type uint32;
                description "ub6 rw count";
              }
    
              leaf sid-alloc-fail-count {
                type uint32;
                description
                  "sid alloc fail count";
              }
    
              leaf sid-free-fail-count {
                type uint32;
                description
                  "sid free fail count";
              }
    
              leaf ub6-rw-fail-count {
                type uint32;
                description "ub6 rw fail count";
              }
    
              leaf sid-alloc-success-count {
                type uint32;
                description
                  "sid alloc success count";
              }
    
              leaf sid-free-success-count {
                type uint32;
                description
                  "sid free success count";
              }
    
              leaf ub6-rw-success-count {
                type uint32;
                description
                  "ub6 rw success count";
              }
    
              leaf rib6-conn-up-count {
                type uint32;
                description "rib6 conn up count";
              }
    
              leaf rib6-conn-up-ts-first {
                type uint32;
                description
                  "rib6 conn up ts first";
              }
    
              leaf rib6-conn-up-ts-last {
                type uint32;
                description
                  "rib6 conn up ts last";
              }
    
              leaf rib6-conn-down-count {
                type uint32;
                description
                  "rib6 conn down count";
              }
    
              leaf rib6-conn-down-ts-first {
                type uint32;
                description
                  "rib6 conn down ts first";
              }
    
              leaf rib6-conn-down-ts-last {
                type uint32;
                description
                  "rib6 conn down ts last";
              }
            }  // container rib-stats
    
            container locators {
              description "Locators Information";
              list locator {
                key "name";
                description
                  "Locator detailed information";
                leaf name {
                  type xr:Cisco-ios-xr-string;
                  description "Locator name";
                }
    
                container micro-segment-behavior {
                  description
                    "Micro-segment behavior";
                  leaf type {
                    type Mgmt-srv6-endpoint;
                    description "Behavior type";
                  }
    
                  leaf description {
                    type string;
                    description
                      "Behavior description";
                  }
                }  // container micro-segment-behavior
    
                container sid-format {
                  description "SID Format";
                  leaf type {
                    type Mgmt-srv6-sid-fmt;
                    description "Format type";
                  }
    
                  leaf description {
                    type string;
                    description
                      "Format description";
                  }
                }  // container sid-format
    
                leaf name-xr {
                  type string;
                  description "Locator Name";
                }
    
                leaf prefix {
                  type string;
                  description "Locator Prefix";
                }
    
                leaf flex-algo {
                  type uint8;
                  description "FlexAlgo";
                }
    
                leaf is-operational {
                  type boolean;
                  description "Locator Status";
                }
    
                leaf is-oor {
                  type boolean;
                  description
                    "Locator OOR Status";
                }
              }  // list locator
            }  // container locators
          }  // container srv6
    
          container on-demand-colors {
            description
              "On-Demand Color database in XTC Agent";
            list on-demand-color {
              key "color";
              description
                "On Demand Color information";
              leaf color {
                type uint32;
                description "Color";
              }
    
              container disjoint-path-info {
                description
                  "Disjoint path information";
                leaf disjointness-type {
                  type Xtc-disjointness;
                  description
                    "Disjointness type";
                }
    
                leaf group-id {
                  type uint32;
                  description "Group ID";
                }
    
                leaf sub-id {
                  type uint32;
                  description "Sub ID";
                }
              }  // container disjoint-path-info
    
              container performance-measurement-configuration {
                description
                  "Performance-measurement configuration";
                container delay-measurement-configuration {
                  description
                    "Delay-measurement candidate-path configuration";
                  leaf invalidation-action {
                    type Xtc-pm-live-invalidation-action;
                    description
                      "Action to be taken when the PM liveness session
    is invalidated";
                  }
    
                  leaf profile-name {
                    type string;
                    description "Profile name";
                  }
    
                  leaf logging-delay-exceeded {
                    type boolean;
                    description
                      "Should syslog be emitted when delay exceeds
    threshold";
                  }
                }  // container delay-measurement-configuration
    
                container liveness-detection-configuration {
                  description
                    "Liveness-detection candidate-path configuration";
                  leaf invalidation-action {
                    type Xtc-pm-live-invalidation-action;
                    description
                      "Action to be taken when the PM liveness session
    is invalidated";
                  }
    
                  leaf profile-name {
                    type string;
                    description "Profile name";
                  }
    
                  leaf logging-session-state-change {
                    type boolean;
                    description
                      "Should syslog be emitted when session state
    changes";
                  }
                }  // container liveness-detection-configuration
    
                leaf reverse-path-label {
                  type uint32;
                  description
                    "Reverse-path label";
                }
    
                leaf delay-measurement-enabled {
                  type boolean;
                  description
                    "Is delay-measurement enabled";
                }
    
                leaf liveness-detection-enabled {
                  type boolean;
                  description
                    "Is delay-measurement enabled";
                }
              }  // container performance-measurement-configuration
    
              container per-flow-policy-config {
                description
                  "Per-flow Policy Configuration Data";
                leaf default-forward-class {
                  type uint8;
                  description
                    "Default forward class";
                }
    
                list pdp-entry {
                  max-elements 8;
                  description
                    "Per-flow PDP entry table";
                  container stats {
                    description
                      "Forwarding stats of the per-destination policy";
                    leaf packets {
                      type uint64;
                      description
                        "Number of packets forwarded";
                    }
    
                    leaf bytes {
                      type uint64;
                      units "byte";
                      description
                        "Number of bytes forwarded";
                    }
                  }  // container stats
    
                  leaf color {
                    type uint32;
                    description
                      "Per-destination policy Color";
                  }
    
                  leaf state {
                    type boolean;
                    description
                      "Per-destination policy state";
                  }
    
                  leaf forward-class {
                    type uint8;
                    description
                      "Per-destination policy Forward Class";
                  }
                }  // list pdp-entry
              }  // container per-flow-policy-config
    
              container srv6-information {
                description
                  "SRv6 policy candidate-path information";
                container binding-sid {
                  description "SRv6 Binding SID";
                  leaf sid-type {
                    type Xtc-sid;
                    description "SIDType";
                  }
    
                  leaf label {
                    when "../sid-type = 'mpls'" {
                      description
                        "../SIDType = 'MPLS'";
                    }
                    type uint32;
                    description "MPLS label";
                  }
    
                  leaf ipv6 {
                    when "../sid-type = 'ipv6'" {
                      description
                        "../SIDType = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description "IPv6 address";
                  }
    
                  leaf srv6sid {
                    when "../sid-type = 'srv6'" {
                      description
                        "../SIDType = 'SRV6'";
                    }
                    type Xtc-srv6-sid;
                    description "SRv6 SID";
                  }
                }  // container binding-sid
    
                leaf locator-name {
                  type string;
                  description "Locator name";
                }
    
                leaf binding-sid-behavior {
                  type uint32;
                  description
                    "Binding SID behavior";
                }
              }  // container srv6-information
    
              leaf color-xr {
                type uint32;
                description "Color";
              }
    
              leaf absolute-margin {
                type uint32;
                description
                  "Absolute Metric Margin";
              }
    
              leaf relative-margin {
                type uint32;
                description
                  " Relative Metric Margin";
              }
    
              leaf maximum-sid-depth {
                type uint32;
                description "Maximum SID Depth";
              }
    
              leaf config-anycast {
                type boolean;
                description "Config Anycast";
              }
    
              leaf igp-metric-bound {
                type uint32;
                description "IGP metric bound";
              }
    
              leaf te-metric-bound {
                type uint32;
                description "TE metric bound";
              }
    
              leaf delay-metric-bound {
                type uint32;
                description "Delay metric bound";
              }
    
              leaf hop-count-metric-bound {
                type uint32;
                description
                  "Hopcount metric bound";
              }
            }  // list on-demand-color
          }  // container on-demand-colors
    
          container srv6-prefixes {
            description
              "SRv6 Prefixes database in XTC Agent";
            list srv6-prefix {
              key "srv6-prefix prefix-length";
              description "Prefix information";
              leaf srv6-prefix {
                type inet:ip-address-no-zone;
                description
                  "Match SRv6 prefix address";
              }
    
              leaf prefix-length {
                type uint32;
                description "Address Length";
              }
    
              list srv6-sid {
                description "SRv6 END SIDs";
                leaf srv6-sid {
                  type Xtc-ipv6-address;
                  description "SRv6 SID";
                }
    
                leaf sid-behavior {
                  type uint16;
                  description
                    "Endpoint SID behavior";
                }
    
                leaf algorithm {
                  type uint32;
                  description
                    "Prefix-SID algorithm number";
                }
              }  // list srv6-sid
    
              list srv6-locator {
                description "SRv6 Locators";
                leaf locator {
                  type Xtc-ipv6-address;
                  description "SRv6 Locator";
                }
    
                leaf prefix-length {
                  type uint8;
                  description "Prefix length";
                }
    
                leaf metric {
                  type uint16;
                  description "Metric";
                }
    
                leaf algorithm {
                  type uint32;
                  description
                    "Prefix-SID algorithm number";
                }
              }  // list srv6-locator
    
              list igp-information {
                description
                  "Local node IGP information";
                container igp {
                  description
                    "IGP-specific information";
                  container isis {
                    when "../igp-id = 'isis'" {
                      description
                        "../IGP_ID = 'ISIS'";
                    }
                    description
                      "ISIS information";
                    leaf system-id {
                      type string;
                      description
                        "ISIS system ID";
                    }
    
                    leaf level {
                      type uint32;
                      description "ISIS level";
                    }
                  }  // container isis
    
                  container ospf {
                    when "../igp-id = 'ospf'" {
                      description
                        "../IGP_ID = 'OSPF'";
                    }
                    description
                      "OSPF information";
                    leaf router-id {
                      type Xtc-ipv4-address;
                      description
                        "OSPF router ID";
                    }
    
                    leaf area {
                      type uint32;
                      description "OSPF area";
                    }
                  }  // container ospf
    
                  container bgp {
                    when "../igp-id = 'bgp'" {
                      description
                        "../IGP_ID = 'BGP'";
                    }
                    description
                      "BGP information";
                    leaf router-id {
                      type Xtc-ipv4-address;
                      description
                        "BGP router ID";
                    }
                  }  // container bgp
    
                  leaf igp-id {
                    type Xtc-igp-info-id;
                    description "IGP ID";
                  }
                }  // container igp
    
                leaf domain-identifier {
                  type uint64;
                  description
                    "Domain identifier";
                }
              }  // list igp-information
            }  // list srv6-prefix
          }  // container srv6-prefixes
    
          container controller {
            description "Controller information";
            container policy-requests {
              description
                "Table containing policy requests";
              list policy-request {
                key "source-address endpoint-type endpoint-address color route-distinguisher";
                description
                  "Policy request information";
                leaf source-address {
                  type inet:ip-address-no-zone;
                  description "Source Address";
                }
    
                leaf endpoint-type {
                  type Xtc-address-family;
                  description
                    "Endpoint Address Type";
                }
    
                leaf endpoint-address {
                  type inet:ip-address-no-zone;
                  description "Endpoint Address";
                }
    
                leaf color {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description "Color";
                }
    
                leaf route-distinguisher {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Route Distinguisher";
                }
    
                container end-point {
                  description "End point";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container end-point
    
                leaf source-address-xr {
                  type inet:ipv4-address;
                  description "Source address";
                }
    
                leaf binding-sid {
                  type uint32;
                  description "Binding SID";
                }
    
                leaf preference {
                  type uint32;
                  description "Preference";
                }
    
                leaf color-xr {
                  type uint32;
                  description "Color";
                }
    
                leaf route-distinguisher-xr {
                  type uint32;
                  description
                    "Route distinguisher";
                }
    
                leaf creation-time {
                  type uint32;
                  units "second";
                  description
                    "Creation time of the request in seconds";
                }
    
                leaf last-updated-time {
                  type uint32;
                  units "second";
                  description
                    "Last updated time of the request in seconds";
                }
    
                list segment-list {
                  description "Segment lists";
                  container pce-address-af {
                    description
                      "IPv4 or IPv6 Address of the PCE that computed
    this path";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container pce-address-af
    
                  leaf name {
                    type string;
                    description
                      "Explicit segment list name";
                  }
    
                  leaf type {
                    type Xtc-policy-path;
                    description
                      "Segment list type";
                  }
    
                  leaf active {
                    type boolean;
                    description
                      "Whether the segment list is active (used)";
                  }
    
                  leaf weight {
                    type uint32;
                    description
                      "Weight of the segment list";
                  }
    
                  leaf metric-type {
                    type uint8;
                    description
                      "Metric type of the segment list";
                  }
    
                  leaf metric-value {
                    type uint64;
                    description
                      "Accumulated metric of the segment list";
                  }
    
                  leaf is-valid {
                    type boolean;
                    description
                      "True if path is valid";
                  }
    
                  leaf pce-based-path {
                    type boolean;
                    description
                      "True if the path is to be computed by PCE";
                  }
    
                  leaf pce-address {
                    type inet:ipv4-address;
                    description
                      "Deprecated: IPv4 Address of the PCE that
    computed this path.           Use the PCE Addr
    AF field instead";
                  }
    
                  leaf error {
                    type string;
                    description
                      "Error (for display only)";
                  }
    
                  leaf cumulative-te-metric {
                    type uint32;
                    description
                      "The cumulative TE metric of the path";
                  }
    
                  leaf cumulative-igp-metric {
                    type uint32;
                    description
                      "The cumulative IGP metric of the path";
                  }
    
                  leaf cumulative-latency {
                    type uint32;
                    description
                      "The cumulative latency of the path";
                  }
    
                  leaf hop-count {
                    type uint32;
                    description
                      "The number of hops in the path";
                  }
    
                  leaf kshortest-paths-computed {
                    type uint32;
                    description
                      "Number of computed shortest paths before finding
    the one            that satisfies the
    constraints";
                  }
    
                  list hops {
                    description "SR hop list";
                    container sid {
                      description "SID value";
                      leaf sid-type {
                        type Xtc-sid;
                        description "SIDType";
                      }
    
                      leaf label {
                        when
                          "../sid-type = 'mpls'" {
                          description
                            "../SIDType = 'MPLS'";
                        }
                        type uint32;
                        description "MPLS label";
                      }
    
                      leaf ipv6 {
                        when
                          "../sid-type = 'ipv6'" {
                          description
                            "../SIDType = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address";
                      }
    
                      leaf srv6sid {
                        when
                          "../sid-type = 'srv6'" {
                          description
                            "../SIDType = 'SRV6'";
                        }
                        type Xtc-srv6-sid;
                        description "SRv6 SID";
                      }
                    }  // container sid
    
                    container local-address {
                      description
                        "Local address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container local-address
    
                    container remote-address {
                      description
                        "Remote address";
                      leaf af-name {
                        type Xtc-af-id;
                        description "AFName";
                      }
    
                      leaf ipv4 {
                        when
                          "../af-name = 'ipv4'" {
                          description
                            "../AFName = 'IPv4'";
                        }
                        type Xtc-ipv4-address;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../af-name = 'ipv6'" {
                          description
                            "../AFName = 'IPv6'";
                        }
                        type Xtc-ipv6-address;
                        description
                          "IPv6 address type";
                      }
                    }  // container remote-address
    
                    container segment-id-structure {
                      description
                        "The SRv6 strucutre of the SID";
                      leaf locator-block-length {
                        type uint8;
                        description
                          "Block Length";
                      }
    
                      leaf locator-node-length {
                        type uint8;
                        description
                          "Node Length";
                      }
    
                      leaf function-length {
                        type uint8;
                        description
                          "Function Length";
                      }
    
                      leaf argument-length {
                        type uint8;
                        description
                          "Argument Length";
                      }
                    }  // container segment-id-structure
    
                    leaf sid-type {
                      type Xtc-sr-sid;
                      description "SID type";
                    }
    
                    leaf local-interface-index {
                      type uint32;
                      description
                        "SNMP index of the upstream interface of this hop";
                    }
    
                    leaf remote-interface-index {
                      type uint32;
                      description
                        "SNMP index of the downstream interface of this
    hop";
                    }
    
                    leaf algorithm {
                      type uint8;
                      description "Algorithm";
                    }
    
                    leaf sid-behavior {
                      type uint16;
                      description
                        "Endpoint SID behavior";
                    }
                  }  // list hops
                }  // list segment-list
              }  // list policy-request
            }  // container policy-requests
          }  // container controller
    
          container p2mp-policies {
            description
              "P2MP policy database in XTC Agent";
            list p2mp-policy {
              key "name";
              description "Policy information";
              leaf name {
                type xr:Cisco-ios-xr-string;
                description "Policy name";
              }
    
              container pim-information {
                description
                  "Information from PIM regarding this policy";
                leaf rpf-id {
                  type uint32;
                  description
                    "Reverse-path-forwarding identifier";
                }
    
                leaf mdt-interface-handle {
                  type xr:Interface-name;
                  description
                    "Multicast Distribution Tree interface handle";
                }
    
                leaf rsi-table-id {
                  type uint32;
                  description
                    "Router Space Infrastructure table ID";
                }
              }  // container pim-information
    
              leaf name-xr {
                type string;
                description "Policy name";
              }
    
              leaf root-address-xr {
                type inet:ipv4-address;
                description
                  "Root address of dynamic policy";
              }
    
              leaf tree-id-xr {
                type uint32;
                description
                  "Tree-ID of dynamic policy";
              }
    
              leaf lsm-id {
                type uint32;
                description "LSM Identifier";
              }
    
              leaf role {
                type Xtc-treesid-role;
                description "TreeSID node role";
              }
    
              leaf pce-creator {
                type inet:ipv4-address;
                description
                  "PCE which created/updated this policy";
              }
    
              leaf stale {
                type boolean;
                description
                  "Is this dynamic policy stale";
              }
    
              leaf color {
                type uint32;
                description
                  "On-demand color of dynamic policy";
              }
    
              list end-point {
                description
                  "Endpoints for dynamic policy";
                container addres {
                  description "Endpoint address";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container addres
    
                leaf stale {
                  type boolean;
                  description
                    "Whether the ep is stale";
                }
              }  // list end-point
    
              list replication-hop {
                description "Replication points";
                container remote-address {
                  description "Remote address";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container remote-address
    
                leaf outgoing-label {
                  type uint32;
                  description "Outgoing label";
                }
    
                leaf interface-handle {
                  type xr:Interface-name;
                  description "Interface handle";
                }
    
                leaf central-control-identifier {
                  type uint32;
                  description
                    "Identifier for Central Control instructions";
                }
    
                leaf stale {
                  type boolean;
                  description
                    "Whether the hop is stale";
                }
    
                leaf lfa-protected {
                  type boolean;
                  description
                    "Whether the hop is protected by LFA FRR";
                }
              }  // list replication-hop
    
              list event {
                description "Events";
                leaf event-message {
                  type string;
                  description "Event message";
                }
    
                leaf time-stamp {
                  type uint64;
                  description
                    "Event time, relative to Jan 1, 1970";
                }
              }  // list event
            }  // list p2mp-policy
          }  // container p2mp-policies
    
          container registrations {
            description "Registrations";
            list registration {
              description "Registration";
              leaf entry-type {
                type Xtc-registration-entry;
                description "Entry Type";
              }
    
              leaf color {
                type uint32 {
                  range "1..4294967295";
                }
                description "Color";
              }
    
              leaf endpoint {
                type inet:ip-address-no-zone;
                description "Endpoint Address";
              }
    
              leaf policy-name {
                type xr:Cisco-ios-xr-string;
                description "Policy Name";
              }
    
              container key {
                description "Entry key";
                container endpoint {
                  description "Policy endpoint";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container endpoint
    
                leaf type {
                  type Xtc-regist-entry;
                  description
                    "Type of registration";
                }
    
                leaf color {
                  type uint32;
                  description "Color";
                }
    
                leaf policy-name {
                  type string;
                  description "Policy name";
                }
              }  // container key
    
              container content {
                description "Entry content";
                leaf-list client-id {
                  type uint32;
                  description
                    "Clients that registered";
                }
              }  // container content
            }  // list registration
          }  // container registrations
    
          container topology-nodes {
            description
              "Node database in XTC Agent";
            list topology-node {
              key "node-identifier";
              description "Node information";
              leaf node-identifier {
                type uint32;
                description "Node Identifier";
              }
    
              container node-protocol-identifier {
                description
                  "Node protocol identifier";
                leaf node-name {
                  type string;
                  description "Node Name";
                }
    
                leaf ipv4-bgp-router-id-set {
                  type boolean;
                  description
                    "True if IPv4 BGP router ID is set";
                }
    
                leaf ipv4-bgp-router-id {
                  type inet:ipv4-address;
                  description
                    "IPv4 TE router ID";
                }
    
                leaf ipv4te-router-id-set {
                  type boolean;
                  description
                    "True if IPv4 TE router ID is set";
                }
    
                leaf ipv4te-router-id {
                  type inet:ipv4-address;
                  description
                    "IPv4 BGP router ID";
                }
    
                list igp-information {
                  description "IGP information";
                  container igp {
                    description
                      "IGP-specific information";
                    container isis {
                      when "../igp-id = 'isis'" {
                        description
                          "../IGP_ID = 'ISIS'";
                      }
                      description
                        "ISIS information";
                      leaf system-id {
                        type string;
                        description
                          "ISIS system ID";
                      }
    
                      leaf level {
                        type uint32;
                        description "ISIS level";
                      }
                    }  // container isis
    
                    container ospf {
                      when "../igp-id = 'ospf'" {
                        description
                          "../IGP_ID = 'OSPF'";
                      }
                      description
                        "OSPF information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "OSPF router ID";
                      }
    
                      leaf area {
                        type uint32;
                        description "OSPF area";
                      }
                    }  // container ospf
    
                    container bgp {
                      when "../igp-id = 'bgp'" {
                        description
                          "../IGP_ID = 'BGP'";
                      }
                      description
                        "BGP information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "BGP router ID";
                      }
                    }  // container bgp
    
                    leaf igp-id {
                      type Xtc-igp-info-id;
                      description "IGP ID";
                    }
                  }  // container igp
    
                  leaf domain-identifier {
                    type uint64;
                    description
                      "Domain identifier";
                  }
                }  // list igp-information
              }  // container node-protocol-identifier
    
              leaf node-identifier-xr {
                type uint32;
                description "Node identifier";
              }
    
              leaf overload {
                type boolean;
                description "Node Overload Bit";
              }
    
              list prefix-sid {
                description "Prefix SIDs";
                container sid-prefix {
                  description "Prefix";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container sid-prefix
    
                leaf sid-type {
                  type Xtc-sid1;
                  description "SID Type";
                }
    
                leaf algorithm {
                  type uint32;
                  description
                    "Prefix-SID algorithm number";
                }
    
                leaf mpls-label {
                  type uint32;
                  description "MPLS Label";
                }
    
                leaf xflag {
                  type boolean;
                  description "X Flag";
                }
    
                leaf rflag {
                  type boolean;
                  description "R Flag";
                }
    
                leaf nflag {
                  type boolean;
                  description "N Flag";
                }
    
                leaf pflag {
                  type boolean;
                  description "P Flag";
                }
    
                leaf eflag {
                  type boolean;
                  description "E Flag";
                }
    
                leaf vflag {
                  type boolean;
                  description "V Flag";
                }
    
                leaf lflag {
                  type boolean;
                  description "L Flag";
                }
    
                leaf mflag {
                  type boolean;
                  description "M Flag";
                }
              }  // list prefix-sid
    
              list ipv4-link {
                description
                  "IPv4 Link information";
                container local-igp-information {
                  description
                    "Local node IGP information";
                  container igp {
                    description
                      "IGP-specific information";
                    container isis {
                      when "../igp-id = 'isis'" {
                        description
                          "../IGP_ID = 'ISIS'";
                      }
                      description
                        "ISIS information";
                      leaf system-id {
                        type string;
                        description
                          "ISIS system ID";
                      }
    
                      leaf level {
                        type uint32;
                        description "ISIS level";
                      }
                    }  // container isis
    
                    container ospf {
                      when "../igp-id = 'ospf'" {
                        description
                          "../IGP_ID = 'OSPF'";
                      }
                      description
                        "OSPF information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "OSPF router ID";
                      }
    
                      leaf area {
                        type uint32;
                        description "OSPF area";
                      }
                    }  // container ospf
    
                    container bgp {
                      when "../igp-id = 'bgp'" {
                        description
                          "../IGP_ID = 'BGP'";
                      }
                      description
                        "BGP information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "BGP router ID";
                      }
                    }  // container bgp
    
                    leaf igp-id {
                      type Xtc-igp-info-id;
                      description "IGP ID";
                    }
                  }  // container igp
    
                  leaf domain-identifier {
                    type uint64;
                    description
                      "Domain identifier";
                  }
                }  // container local-igp-information
    
                container remote-node-protocol-identifier {
                  description
                    "Remote node protocol identifier";
                  leaf node-name {
                    type string;
                    description "Node Name";
                  }
    
                  leaf ipv4-bgp-router-id-set {
                    type boolean;
                    description
                      "True if IPv4 BGP router ID is set";
                  }
    
                  leaf ipv4-bgp-router-id {
                    type inet:ipv4-address;
                    description
                      "IPv4 TE router ID";
                  }
    
                  leaf ipv4te-router-id-set {
                    type boolean;
                    description
                      "True if IPv4 TE router ID is set";
                  }
    
                  leaf ipv4te-router-id {
                    type inet:ipv4-address;
                    description
                      "IPv4 BGP router ID";
                  }
    
                  list igp-information {
                    description
                      "IGP information";
                    container igp {
                      description
                        "IGP-specific information";
                      container isis {
                        when
                          "../igp-id = 'isis'" {
                          description
                            "../IGP_ID = 'ISIS'";
                        }
                        description
                          "ISIS information";
                        leaf system-id {
                          type string;
                          description
                            "ISIS system ID";
                        }
    
                        leaf level {
                          type uint32;
                          description
                            "ISIS level";
                        }
                      }  // container isis
    
                      container ospf {
                        when
                          "../igp-id = 'ospf'" {
                          description
                            "../IGP_ID = 'OSPF'";
                        }
                        description
                          "OSPF information";
                        leaf router-id {
                          type Xtc-ipv4-address;
                          description
                            "OSPF router ID";
                        }
    
                        leaf area {
                          type uint32;
                          description
                            "OSPF area";
                        }
                      }  // container ospf
    
                      container bgp {
                        when "../igp-id = 'bgp'" {
                          description
                            "../IGP_ID = 'BGP'";
                        }
                        description
                          "BGP information";
                        leaf router-id {
                          type Xtc-ipv4-address;
                          description
                            "BGP router ID";
                        }
                      }  // container bgp
    
                      leaf igp-id {
                        type Xtc-igp-info-id;
                        description "IGP ID";
                      }
                    }  // container igp
    
                    leaf domain-identifier {
                      type uint64;
                      description
                        "Domain identifier";
                    }
                  }  // list igp-information
                }  // container remote-node-protocol-identifier
    
                container performance-metrics {
                  description
                    "Performance metrics";
                  leaf unidirectional-minimum-delay-microseconds {
                    type uint32;
                    units "microsecond";
                    description
                      "Min delay in microseconds";
                  }
                }  // container performance-metrics
    
                leaf is-unnumbered {
                  type boolean;
                  description
                    "True if this is an IPv4 Unnumbered link";
                }
    
                leaf local-interface-index {
                  type uint32;
                  description
                    "SNMP index of local interface: non-zero if
    IsUnnumbered is True";
                }
    
                leaf remote-interface-index {
                  type uint32;
                  description
                    "SNMP index of remote interface: non-zero if
    IsUnnumbered is True";
                }
    
                leaf local-ipv4-address {
                  type inet:ipv4-address;
                  description
                    "Local IPv4 address";
                }
    
                leaf remote-ipv4-address {
                  type inet:ipv4-address;
                  description
                    "Remote IPv4 address";
                }
    
                leaf igp-metric {
                  type uint32;
                  description "IGP Metric";
                }
    
                leaf te-metric {
                  type uint32;
                  description "TE Metric";
                }
    
                leaf maximum-link-bandwidth {
                  type uint64;
                  description
                    "Max link bandwidth";
                }
    
                leaf max-reservable-bandwidth {
                  type uint64;
                  description
                    "Max Reservable bandwidth";
                }
    
                leaf administrative-groups {
                  type uint32;
                  description
                    "Link admin-groups";
                }
    
                leaf flex-algo-te-metric {
                  type uint32;
                  description
                    "Flex-algo specific TE metric value";
                }
    
                leaf-list srlgs {
                  type uint32;
                  description "SRLG Values";
                }
    
                list extended-administrative-group {
                  description
                    "Link Extended admin-groups";
                  leaf entry {
                    type uint32;
                    description
                      "Link Extended admin-groups";
                  }
                }  // list extended-administrative-group
    
                list adjacency-sid {
                  description "Adjacency SIDs";
                  container sid-prefix {
                    description "Prefix";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container sid-prefix
    
                  leaf sid-type {
                    type Xtc-sid1;
                    description "SID Type";
                  }
    
                  leaf algorithm {
                    type uint32;
                    description
                      "Prefix-SID algorithm number";
                  }
    
                  leaf mpls-label {
                    type uint32;
                    description "MPLS Label";
                  }
    
                  leaf xflag {
                    type boolean;
                    description "X Flag";
                  }
    
                  leaf rflag {
                    type boolean;
                    description "R Flag";
                  }
    
                  leaf nflag {
                    type boolean;
                    description "N Flag";
                  }
    
                  leaf pflag {
                    type boolean;
                    description "P Flag";
                  }
    
                  leaf eflag {
                    type boolean;
                    description "E Flag";
                  }
    
                  leaf vflag {
                    type boolean;
                    description "V Flag";
                  }
    
                  leaf lflag {
                    type boolean;
                    description "L Flag";
                  }
    
                  leaf mflag {
                    type boolean;
                    description "M Flag";
                  }
                }  // list adjacency-sid
    
                list flex-algo-asla-administrative-group {
                  description
                    "Flex-algo specific Link Extended admin-groups";
                  leaf entry {
                    type uint32;
                    description
                      "Flex-algo specific Link Extended admin-groups";
                  }
                }  // list flex-algo-asla-administrative-group
              }  // list ipv4-link
    
              list ipv6-link {
                description
                  "IPv6 Link information";
                container local-igp-information {
                  description
                    "Local node IGP information";
                  container igp {
                    description
                      "IGP-specific information";
                    container isis {
                      when "../igp-id = 'isis'" {
                        description
                          "../IGP_ID = 'ISIS'";
                      }
                      description
                        "ISIS information";
                      leaf system-id {
                        type string;
                        description
                          "ISIS system ID";
                      }
    
                      leaf level {
                        type uint32;
                        description "ISIS level";
                      }
                    }  // container isis
    
                    container ospf {
                      when "../igp-id = 'ospf'" {
                        description
                          "../IGP_ID = 'OSPF'";
                      }
                      description
                        "OSPF information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "OSPF router ID";
                      }
    
                      leaf area {
                        type uint32;
                        description "OSPF area";
                      }
                    }  // container ospf
    
                    container bgp {
                      when "../igp-id = 'bgp'" {
                        description
                          "../IGP_ID = 'BGP'";
                      }
                      description
                        "BGP information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "BGP router ID";
                      }
                    }  // container bgp
    
                    leaf igp-id {
                      type Xtc-igp-info-id;
                      description "IGP ID";
                    }
                  }  // container igp
    
                  leaf domain-identifier {
                    type uint64;
                    description
                      "Domain identifier";
                  }
                }  // container local-igp-information
    
                container remote-node-protocol-identifier {
                  description
                    "Remote node protocol identifier";
                  leaf node-name {
                    type string;
                    description "Node Name";
                  }
    
                  leaf ipv4-bgp-router-id-set {
                    type boolean;
                    description
                      "True if IPv4 BGP router ID is set";
                  }
    
                  leaf ipv4-bgp-router-id {
                    type inet:ipv4-address;
                    description
                      "IPv4 TE router ID";
                  }
    
                  leaf ipv4te-router-id-set {
                    type boolean;
                    description
                      "True if IPv4 TE router ID is set";
                  }
    
                  leaf ipv4te-router-id {
                    type inet:ipv4-address;
                    description
                      "IPv4 BGP router ID";
                  }
    
                  list igp-information {
                    description
                      "IGP information";
                    container igp {
                      description
                        "IGP-specific information";
                      container isis {
                        when
                          "../igp-id = 'isis'" {
                          description
                            "../IGP_ID = 'ISIS'";
                        }
                        description
                          "ISIS information";
                        leaf system-id {
                          type string;
                          description
                            "ISIS system ID";
                        }
    
                        leaf level {
                          type uint32;
                          description
                            "ISIS level";
                        }
                      }  // container isis
    
                      container ospf {
                        when
                          "../igp-id = 'ospf'" {
                          description
                            "../IGP_ID = 'OSPF'";
                        }
                        description
                          "OSPF information";
                        leaf router-id {
                          type Xtc-ipv4-address;
                          description
                            "OSPF router ID";
                        }
    
                        leaf area {
                          type uint32;
                          description
                            "OSPF area";
                        }
                      }  // container ospf
    
                      container bgp {
                        when "../igp-id = 'bgp'" {
                          description
                            "../IGP_ID = 'BGP'";
                        }
                        description
                          "BGP information";
                        leaf router-id {
                          type Xtc-ipv4-address;
                          description
                            "BGP router ID";
                        }
                      }  // container bgp
    
                      leaf igp-id {
                        type Xtc-igp-info-id;
                        description "IGP ID";
                      }
                    }  // container igp
    
                    leaf domain-identifier {
                      type uint64;
                      description
                        "Domain identifier";
                    }
                  }  // list igp-information
                }  // container remote-node-protocol-identifier
    
                leaf local-ipv6-address {
                  type inet:ipv6-address;
                  description
                    "Local IPv6 address";
                }
    
                leaf remote-ipv6-address {
                  type inet:ipv6-address;
                  description
                    "Remote IPv6 address";
                }
    
                leaf igp-metric {
                  type uint32;
                  description "IGP Metric";
                }
    
                leaf te-metric {
                  type uint32;
                  description "TE Metric";
                }
    
                leaf maximum-link-bandwidth {
                  type uint64;
                  description
                    "Max link bandwidth";
                }
    
                leaf max-reservable-bandwidth {
                  type uint64;
                  description
                    "Max Reservable bandwidth";
                }
    
                leaf flex-algo-te-metric {
                  type uint32;
                  description
                    "Flex-algo specific TE metric value";
                }
    
                list adjacency-sid {
                  description "Adjacency SIDs";
                  container sid-prefix {
                    description "Prefix";
                    leaf af-name {
                      type Xtc-af-id;
                      description "AFName";
                    }
    
                    leaf ipv4 {
                      when "../af-name = 'ipv4'" {
                        description
                          "../AFName = 'IPv4'";
                      }
                      type Xtc-ipv4-address;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when "../af-name = 'ipv6'" {
                        description
                          "../AFName = 'IPv6'";
                      }
                      type Xtc-ipv6-address;
                      description
                        "IPv6 address type";
                    }
                  }  // container sid-prefix
    
                  leaf sid-type {
                    type Xtc-sid1;
                    description "SID Type";
                  }
    
                  leaf algorithm {
                    type uint32;
                    description
                      "Prefix-SID algorithm number";
                  }
    
                  leaf mpls-label {
                    type uint32;
                    description "MPLS Label";
                  }
    
                  leaf xflag {
                    type boolean;
                    description "X Flag";
                  }
    
                  leaf rflag {
                    type boolean;
                    description "R Flag";
                  }
    
                  leaf nflag {
                    type boolean;
                    description "N Flag";
                  }
    
                  leaf pflag {
                    type boolean;
                    description "P Flag";
                  }
    
                  leaf eflag {
                    type boolean;
                    description "E Flag";
                  }
    
                  leaf vflag {
                    type boolean;
                    description "V Flag";
                  }
    
                  leaf lflag {
                    type boolean;
                    description "L Flag";
                  }
    
                  leaf mflag {
                    type boolean;
                    description "M Flag";
                  }
                }  // list adjacency-sid
              }  // list ipv6-link
    
              list srv6-sid {
                description "SRv6 END SIDs";
                leaf srv6-sid {
                  type Xtc-ipv6-address;
                  description "SRv6 SID";
                }
    
                leaf sid-behavior {
                  type uint16;
                  description
                    "Endpoint SID behavior";
                }
    
                leaf algorithm {
                  type uint32;
                  description
                    "Prefix-SID algorithm number";
                }
              }  // list srv6-sid
            }  // list topology-node
          }  // container topology-nodes
    
          container topology-summaries {
            description "Node summary table";
            list topology-summary {
              description
                "Node summary database";
              leaf af {
                type Xtc-address-family;
                description
                  "Only show data related to the specified
    address family";
              }
    
              leaf protocol {
                type Xtcigp-protocol;
                description
                  "Match nodes from the specified IGP protocol";
              }
    
              container topology-ready-summary {
                description
                  "Topology ready summary";
                container timer {
                  description
                    "Topology readiness timer";
                  leaf running {
                    type boolean;
                    description
                      "Whether the timer is running";
                  }
    
                  leaf remaining-seconds {
                    type int64;
                    units "second";
                    description
                      "Number of remaining seconds";
                  }
    
                  leaf remaining-nano-seconds {
                    type int64;
                    units "nanosecond";
                    description
                      "Number of remaining nanoseconds";
                  }
                }  // container timer
    
                leaf ready {
                  type boolean;
                  description
                    "Topology readiness";
                }
    
                leaf ha-case {
                  type Cmn-ha-case;
                  description "Last HA case";
                }
    
                leaf timer-value {
                  type uint32;
                  description
                    "Topology ready timer value selected at start";
                }
    
                leaf pcep-allowed {
                  type boolean;
                  description
                    "Whether PCEP is allowed";
                }
              }  // container topology-ready-summary
    
              leaf nodes {
                type uint32;
                description "Number of nodes";
              }
    
              leaf prefixes {
                type uint32;
                description "Number of prefixes";
              }
    
              leaf prefix-sids {
                type uint32;
                description
                  "Number of prefix SIDs";
              }
    
              leaf links {
                type uint32;
                description "Number of links";
              }
    
              leaf adjacency-sids {
                type uint32;
                description
                  "Number of adjacency SIDs";
              }
            }  // list topology-summary
          }  // container topology-summaries
    
          container prefix-infos {
            description
              "Prefixes database in XTC Agent";
            list prefix-info {
              key "node-identifier";
              description "Prefix information";
              leaf node-identifier {
                type uint32;
                description "Node ID";
              }
    
              container node-protocol-identifier {
                description
                  "Node protocol identifier";
                leaf node-name {
                  type string;
                  description "Node Name";
                }
    
                leaf ipv4-bgp-router-id-set {
                  type boolean;
                  description
                    "True if IPv4 BGP router ID is set";
                }
    
                leaf ipv4-bgp-router-id {
                  type inet:ipv4-address;
                  description
                    "IPv4 TE router ID";
                }
    
                leaf ipv4te-router-id-set {
                  type boolean;
                  description
                    "True if IPv4 TE router ID is set";
                }
    
                leaf ipv4te-router-id {
                  type inet:ipv4-address;
                  description
                    "IPv4 BGP router ID";
                }
    
                list igp-information {
                  description "IGP information";
                  container igp {
                    description
                      "IGP-specific information";
                    container isis {
                      when "../igp-id = 'isis'" {
                        description
                          "../IGP_ID = 'ISIS'";
                      }
                      description
                        "ISIS information";
                      leaf system-id {
                        type string;
                        description
                          "ISIS system ID";
                      }
    
                      leaf level {
                        type uint32;
                        description "ISIS level";
                      }
                    }  // container isis
    
                    container ospf {
                      when "../igp-id = 'ospf'" {
                        description
                          "../IGP_ID = 'OSPF'";
                      }
                      description
                        "OSPF information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "OSPF router ID";
                      }
    
                      leaf area {
                        type uint32;
                        description "OSPF area";
                      }
                    }  // container ospf
    
                    container bgp {
                      when "../igp-id = 'bgp'" {
                        description
                          "../IGP_ID = 'BGP'";
                      }
                      description
                        "BGP information";
                      leaf router-id {
                        type Xtc-ipv4-address;
                        description
                          "BGP router ID";
                      }
                    }  // container bgp
    
                    leaf igp-id {
                      type Xtc-igp-info-id;
                      description "IGP ID";
                    }
                  }  // container igp
    
                  leaf domain-identifier {
                    type uint64;
                    description
                      "Domain identifier";
                  }
                }  // list igp-information
              }  // container node-protocol-identifier
    
              leaf node-identifier-xr {
                type uint32;
                description "Node identifier";
              }
    
              list address {
                description "Prefix address";
                container ip-address {
                  description
                    "Prefix IP address";
                  leaf af-name {
                    type Xtc-af-id;
                    description "AFName";
                  }
    
                  leaf ipv4 {
                    when "../af-name = 'ipv4'" {
                      description
                        "../AFName = 'IPv4'";
                    }
                    type Xtc-ipv4-address;
                    description
                      "IPv4 address type";
                  }
    
                  leaf ipv6 {
                    when "../af-name = 'ipv6'" {
                      description
                        "../AFName = 'IPv6'";
                    }
                    type Xtc-ipv6-address;
                    description
                      "IPv6 address type";
                  }
                }  // container ip-address
              }  // list address
            }  // list prefix-info
          }  // container prefix-infos
    
          container interface-summary {
            description
              "Summary of all interfaces";
            leaf interface-count {
              type uint32;
              description "Number of interfaces";
            }
    
            leaf interface-operational-up-count {
              type uint32;
              description
                "Number of interfaces that are operationally up";
            }
    
            leaf interface-operational-down-count {
              type uint32;
              description
                "Number of interfaces that are operationally down";
            }
          }  // container interface-summary
        }  // container xtc
      }  // module Cisco-IOS-XR-infra-xtc-agent-oper
    

© 2023 YumaWorks, Inc. All rights reserved.