openconfig-mpls-rsvp

Configuration for RSVP-TE signaling, including global protocol parameters and LSP-specific configuration for constrained-path LS...

  • Version: 2017-03-22

    openconfig-mpls-rsvp@2017-03-22


    
      module openconfig-mpls-rsvp {
    
        yang-version 1;
    
        namespace
          "http://openconfig.net/yang/rsvp";
    
        prefix oc-rsvp;
    
        import openconfig-inet-types {
          prefix inet;
        }
        import openconfig-mpls-types {
          prefix oc-mplst;
        }
        import openconfig-yang-types {
          prefix yang;
        }
        import openconfig-types {
          prefix oc-types;
        }
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-interfaces {
          prefix oc-if;
        }
    
        organization "OpenConfig working group";
    
        contact
          "OpenConfig working group
    netopenconfig@googlegroups.com";
    
        description
          "Configuration for RSVP-TE signaling, including global protocol
    parameters and LSP-specific configuration for constrained-path
    LSPs";
    
        revision "2017-03-22" {
          description
            "Add RSVP calculated-absolute-subscription-bw";
          reference
            "2.3.0";
    
        }
    
        revision "2017-01-26" {
          description
            "Add RSVP Tspec, clarify units for RSVP, remove unused LDP";
          reference
            "2.2.0";
    
        }
    
        revision "2016-12-15" {
          description
            "Add additional MPLS parameters";
          reference
            "2.1.0";
    
        }
    
        revision "2016-09-01" {
          description
            "Revisions based on implementation feedback";
          reference
            "2.0.0";
    
        }
    
        revision "2016-08-08" {
          description
            "Public release of MPLS models";
          reference
            "1.0.1";
    
        }
    
        oc-ext:openconfig-version "2.3.0";
    
        grouping mpls-rsvp-soft-preemption_config {
          description
            "Configuration for MPLS soft preemption";
          leaf enable {
            type boolean;
            default "false";
            description
              "Enables soft preemption on a node.";
          }
    
          leaf soft-preemption-timeout {
            type uint16 {
              range "0..max";
            }
            default "30";
            description
              "Timeout value for soft preemption to revert
    to hard preemption. The default timeout for
    soft-preemption is 30 seconds - after which
    the local system reverts to hard pre-emption.";
            reference
              "RFC5712 MPLS-TE soft preemption";
    
          }
        }  // grouping mpls-rsvp-soft-preemption_config
    
        grouping mpls-rsvp-soft-preemption {
          description
            "Top level group for MPLS soft preemption";
          container soft-preemption {
            description
              "Protocol options relating to RSVP
    soft preemption";
            container config {
              description
                "Configuration parameters relating to RSVP
    soft preemption support";
              uses mpls-rsvp-soft-preemption_config;
            }  // container config
    
            container state {
              config false;
              description
                "State parameters relating to RSVP
    soft preemption support";
              uses mpls-rsvp-soft-preemption_config;
            }  // container state
          }  // container soft-preemption
        }  // grouping mpls-rsvp-soft-preemption
    
        grouping mpls-rsvp-hellos_config {
          description
            "RSVP protocol options configuration.";
          leaf hello-interval {
            type uint16 {
              range "1000..60000";
            }
            units "milliseconds";
            default "9000";
            description
              "set the interval in ms between RSVP hello
    messages";
            reference
              "RFC 3209: RSVP-TE: Extensions to RSVP for
              LSP Tunnels.
               RFC 5495: Description of the Resource
              Reservation Protocol - Traffic-Engineered
              (RSVP-TE) Graceful Restart Procedures";
    
          }
    
          leaf refresh-reduction {
            type boolean;
            default "true";
            description
              "enables all RSVP refresh reduction message
    bundling, RSVP message ID, reliable message delivery
    and summary refresh";
            reference
              "RFC 2961 RSVP Refresh Overhead Reduction
              Extensions";
    
          }
        }  // grouping mpls-rsvp-hellos_config
    
        grouping mpls-rsvp-hellos {
          description
            "Top level grouping for RSVP hellos parameters";
          container hellos {
            description
              "Top level container for RSVP hello parameters";
            container config {
              description
                "Configuration parameters relating to RSVP
    hellos";
              uses mpls-rsvp-hellos_config;
            }  // container config
    
            container state {
              config false;
              description
                "State information associated with RSVP hellos";
              uses mpls-rsvp-hellos_config;
            }  // container state
          }  // container hellos
        }  // grouping mpls-rsvp-hellos
    
        grouping mpls-rsvp-subscription_config {
          description
            "RSVP subscription configuration";
          leaf subscription {
            type oc-types:percentage;
            description
              "percentage of the interface bandwidth that
    RSVP can reserve";
          }
        }  // grouping mpls-rsvp-subscription_config
    
        grouping mpls-rsvp-subscription_state {
          description
            "Operational state parameters relating to the
    bandwidth subscription on an interface";
          leaf calculated-absolute-subscription-bw {
            type uint64;
            units "kilobps";
            description
              "The calculated absolute value of the bandwidth
    which is reservable to RSVP-TE on the interface
    prior to any adjustments that may be made from
    external sources.";
          }
        }  // grouping mpls-rsvp-subscription_state
    
        grouping mpls-rsvp-subscription {
          description
            "Top level group for RSVP subscription options";
          container subscription {
            description
              "Bandwidth percentage reservable by RSVP
    on an interface";
            container config {
              description
                "Configuration parameters relating to RSVP
    subscription options";
              uses mpls-rsvp-subscription_config;
            }  // container config
    
            container state {
              config false;
              description
                "State parameters relating to RSVP
    subscription options";
              uses mpls-rsvp-subscription_config;
    
              uses mpls-rsvp-subscription_state;
            }  // container state
          }  // container subscription
        }  // grouping mpls-rsvp-subscription
    
        grouping mpls-rsvp-graceful-restart_config {
          description
            "Configuration parameters relating to RSVP Graceful-Restart";
          leaf enable {
            type boolean;
            default "false";
            description
              "Enables graceful restart on the node.";
          }
    
          leaf restart-time {
            type uint32;
            description
              "Graceful restart time (seconds).";
            reference
              "RFC 5495: Description of the Resource
              Reservation Protocol - Traffic-Engineered
              (RSVP-TE) Graceful Restart Procedures";
    
          }
    
          leaf recovery-time {
            type uint32;
            description
              "RSVP state recovery time";
          }
        }  // grouping mpls-rsvp-graceful-restart_config
    
        grouping mpls-rsvp-graceful-restart {
          description
            "Top level group for RSVP graceful-restart
    parameters";
          container graceful-restart {
            description
              "Operational state and configuration parameters relating to
    graceful-restart for RSVP";
            container config {
              description
                "Configuration parameters relating to
    graceful-restart";
              uses mpls-rsvp-graceful-restart_config;
            }  // container config
    
            container state {
              config false;
              description
                "State information associated with
    RSVP graceful-restart";
              uses mpls-rsvp-graceful-restart_config;
            }  // container state
          }  // container graceful-restart
        }  // grouping mpls-rsvp-graceful-restart
    
        grouping mpls-rsvp-authentication_config {
          description
            "RSVP authentication parameters container.";
          leaf enable {
            type boolean;
            default "false";
            description
              "Enables RSVP authentication on the node.";
          }
    
          leaf authentication-key {
            type string {
              length "1..32";
            }
            description
              "authenticate RSVP signaling
    messages";
            reference
              "RFC 2747: RSVP Cryptographic Authentication";
    
          }
        }  // grouping mpls-rsvp-authentication_config
    
        grouping mpls-rsvp-authentication {
          description
            "Top level group for RSVP authentication,
    as per RFC2747";
          container authentication {
            description
              "Configuration and state parameters relating to RSVP
    authentication as per RFC2747";
            container config {
              description
                "Configuration parameters relating
    to authentication";
              uses mpls-rsvp-authentication_config;
            }  // container config
    
            container state {
              config false;
              description
                "State information associated
    with authentication";
              uses mpls-rsvp-authentication_config;
            }  // container state
          }  // container authentication
        }  // grouping mpls-rsvp-authentication
    
        grouping mpls-rsvp-protection_config {
          description
            "RSVP facility (link/node) protection configuration";
          leaf link-protection-style-requested {
            type identityref {
              base oc-mplst:PROTECTION_TYPE;
            }
            default
              "oc-mplst:LINK_NODE_PROTECTION_REQUESTED";
            description
              "Style of mpls frr protection desired:
    link, link-node, or unprotected";
          }
    
          leaf bypass-optimize-interval {
            type uint16;
            units "seconds";
            description
              "interval between periodic optimization
    of the bypass LSPs";
          }
        }  // grouping mpls-rsvp-protection_config
    
        grouping mpls-rsvp-link-protection {
          description
            "Top level group for RSVP protection";
          container protection {
            description
              "link-protection (NHOP) related configuration";
            container config {
              description
                "Configuration for link-protection";
              uses mpls-rsvp-protection_config;
            }  // container config
    
            container state {
              config false;
              description
                "State for link-protection";
              uses mpls-rsvp-protection_config;
            }  // container state
          }  // container protection
        }  // grouping mpls-rsvp-link-protection
    
        grouping mpls-rsvp-statistics {
          description
            "Top level grouping for RSVP protocol state";
          uses mpls-rsvp-protocol-state;
        }  // grouping mpls-rsvp-statistics
    
        grouping rsvp-global {
          description
            "Global RSVP protocol configuration";
          container rsvp-te {
            description
              "RSVP-TE global signaling protocol configuration";
            uses mpls-rsvp-session-state;
    
            container neighbors {
              description
                "Configuration and state for RSVP neighbors connecting
    to the device";
              list neighbor {
                key "address";
                config false;
                description
                  "List of RSVP neighbors of the local system";
                leaf address {
                  type leafref {
                    path "../state/address";
                  }
                  description
                    "Reference to the address of the RSVP neighbor";
                }
    
                container state {
                  config false;
                  description
                    "Operational state parameters relating to the
    RSVP neighbor";
                  uses mpls-rsvp-neighbor-state;
                }  // container state
              }  // list neighbor
            }  // container neighbors
    
            container global {
              description
                "Platform wide RSVP configuration and state";
              uses mpls-rsvp-graceful-restart;
    
              uses mpls-rsvp-soft-preemption;
    
              uses mpls-rsvp-hellos;
    
              container state {
                config false;
                description
                  "Platform wide RSVP state, including counters";
                container counters {
                  config false;
                  description
                    "Platform wide RSVP statistics and counters";
                  uses mpls-rsvp-global-protocol-state;
    
                  uses mpls-rsvp-statistics;
                }  // container counters
              }  // container state
            }  // container global
    
            container interface-attributes {
              description
                "Attributes relating to RSVP-TE enabled interfaces";
              list interface {
                key "interface-id";
                description
                  "list of per-interface RSVP configurations";
                leaf interface-id {
                  type leafref {
                    path
                      "../config/interface-id";
                  }
                  description
                    "reference to the interface-id data";
                }
    
                container config {
                  description
                    "Configuration of per-interface RSVP parameters";
                  uses mpls-rsvp-interfaces-config;
                }  // container config
    
                container state {
                  config false;
                  description
                    "Per-interface RSVP protocol and state information";
                  uses mpls-rsvp-interfaces-state;
    
                  uses mpls-rsvp-interfaces-config;
    
                  container counters {
                    config false;
                    description
                      "Interface specific RSVP statistics and counters";
                    uses mpls-rsvp-protocol-state;
                  }  // container counters
                }  // container state
    
                uses oc-if:interface-ref;
    
                uses mpls-rsvp-interface-reservations;
    
                uses mpls-rsvp-hellos;
    
                uses mpls-rsvp-authentication;
    
                uses mpls-rsvp-subscription;
    
                uses mpls-rsvp-link-protection;
              }  // list interface
            }  // container interface-attributes
          }  // container rsvp-te
        }  // grouping rsvp-global
    
        grouping rsvp-p2p-tunnel-attributes_config {
          description
            "properties of RSPP point-to-point paths";
          leaf source {
            when
              "/mpls/lsps/constrained-path/tunnel/config/signaling-protocol = 'PATH_SETUP_RSVP'" {
              description
                "When the signaling protocol is RSVP-TE ";
            }
            type inet:ip-address;
            description
              "RSVP-TE tunnel source address";
          }
    
          leaf soft-preemption {
            when
              "/mpls/lsps/constrained-path/tunnel/config/signaling-protocol = 'PATH_SETUP_RSVP'" {
              description
                "When the signaling protocol is RSVP-TE ";
            }
            type boolean;
            default "false";
            description
              "Enables RSVP soft-preemption on this LSP";
          }
    
          uses rsvp-priorities_config;
        }  // grouping rsvp-p2p-tunnel-attributes_config
    
        grouping rsvp-priorities_config {
          description
            "Configuration paramters related to RSVP-TE priorities";
          leaf setup-priority {
            when
              "/mpls/lsps/constrained-path/tunnel/config/signaling-protocol = 'PATH_SETUP_RSVP'" {
              description
                "When the signaling protocol is RSVP-TE ";
            }
            type uint8 {
              range "0..7";
            }
            default "7";
            description
              "RSVP-TE preemption priority during LSP setup, lower is
    higher priority; default 7 indicates that LSP will not
    preempt established LSPs during setup";
            reference
              "RFC 3209 - RSVP-TE: Extensions to RSVP for
              LSP Tunnels";
    
          }
    
          leaf hold-priority {
            when
              "/mpls/lsps/constrained-path/tunnel/config/signaling-protocol = 'PATH_SETUP_RSVP'" {
              description
                "When the signaling protocol is RSVP-TE ";
            }
            type uint8 {
              range "0..7";
            }
            default "0";
            description
              "preemption priority once the LSP is established,
    lower is higher priority; default 0 indicates other LSPs
    will not preempt the LSPs once established";
            reference
              "RFC 3209 - RSVP-TE: Extensions to RSVP for
              LSP Tunnels";
    
          }
        }  // grouping rsvp-priorities_config
    
        grouping rsvp-p2p-path-attributes_config {
          description
            "properties of RSPP point-to-point paths";
          uses rsvp-priorities_config;
    
          leaf retry-timer {
            when
              "/mpls/lsps/constrained-path/tunnel/config/signaling-protocol = 'PATH_SETUP_RSVP'" {
              description
                "When the signaling protocol is RSVP-TE ";
            }
            type uint16 {
              range "1..600";
            }
            units "seconds";
            description
              "sets the time between attempts to establish the
    LSP";
          }
        }  // grouping rsvp-p2p-path-attributes_config
    
        grouping mpls-rsvp-neighbor-state {
          description
            "State information for RSVP neighbors";
          leaf address {
            type inet:ip-address;
            description
              "Address of RSVP neighbor";
          }
    
          leaf detected-interface {
            type string;
            description
              "Interface where RSVP neighbor was detected";
          }
    
          leaf neighbor-status {
            type enumeration {
              enum "UP" {
                value 0;
                description
                  "RSVP hello messages are detected from the neighbor";
              }
              enum "DOWN" {
                value 1;
                description
                  "RSVP neighbor not detected as up, due to a
    communication failure or IGP notification
    the neighbor is unavailable";
              }
            }
            description
              "Enumuration of possible RSVP neighbor states";
          }
    
          leaf refresh-reduction {
            type boolean;
            description
              "Suppport of neighbor for RSVP refresh reduction";
            reference
              "RFC 2961 RSVP Refresh Overhead Reduction
              Extensions";
    
          }
        }  // grouping mpls-rsvp-neighbor-state
    
        grouping mpls-rsvp-session-state {
          description
            "State information for RSVP TE sessions";
          container sessions {
            description
              "Enclosing container for sessions";
            list session {
              key "local-index";
              config false;
              description
                "List of RSVP sessions";
              leaf local-index {
                type leafref {
                  path "../state/local-index";
                }
                description
                  "Reference to the local index for the RSVP
    session";
              }
    
              uses mpls-rsvp-record-route-object-top;
    
              container state {
                description
                  "Operational state parameters relating to the
    RSVP session";
                leaf local-index {
                  type uint64;
                  description
                    "The index used to identify the RSVP session
    on the local network element. This index is
    generated by the device and is unique only
    to the local network element.";
                }
    
                leaf source-address {
                  type inet:ip-address;
                  description
                    "Origin address of RSVP session";
                }
    
                leaf destination-address {
                  type inet:ip-address;
                  description
                    "Destination address of RSVP session";
                }
    
                leaf tunnel-id {
                  type uint16;
                  description
                    "The tunnel ID is an identifier used in the
    RSVP session, which remains constant over
    the life of the tunnel.";
                  reference
                    "RFC 3209";
    
                }
    
                leaf lsp-id {
                  type uint16;
                  description
                    "The LSP ID distinguishes between two LSPs
    originated from the same headend, and is
    commonly used to distinguish RSVP sessions
    during make before break operations.";
                  reference
                    "RFC 3209";
    
                }
    
                leaf session-name {
                  type string;
                  description
                    "The signaled name of this RSVP session.";
                }
    
                leaf status {
                  type enumeration {
                    enum "UP" {
                      value 0;
                      description
                        "RSVP session is up";
                    }
                    enum "DOWN" {
                      value 1;
                      description
                        "RSVP session is down";
                    }
                  }
                  description
                    "Enumeration of RSVP session states";
                }
    
                leaf type {
                  type identityref {
                    base oc-mplst:LSP_ROLE;
                  }
                  description
                    "The type/role of the RSVP session, signifing
    the session's role on the current device, such as
    a transit session vs. an ingress session.";
                }
    
                leaf protection-requested {
                  type identityref {
                    base oc-mplst:PROTECTION_TYPE;
                  }
                  description
                    "The type of protection requested for the RSVP session";
                }
    
                leaf label-in {
                  type oc-mplst:mpls-label;
                  description
                    "Incoming MPLS label associated with this RSVP session";
                }
    
                leaf label-out {
                  type oc-mplst:mpls-label;
                  description
                    "Outgoing MPLS label associated with this RSVP session";
                }
    
                container sender-tspec {
                  description
                    "Operational state statistics relating to the SENDER_TSPEC
    received for the RSVP session";
                  leaf rate {
                    type oc-types:ieeefloat32;
                    units "Bps";
                    description
                      "The rate at which the head-end device generates traffic,
    expressed in bytes per second.";
                    reference
                      "RFC2210: RSVP with INTSERV";
    
                  }
    
                  leaf size {
                    type oc-types:ieeefloat32;
                    units "bps";
                    description
                      "The size of the token bucket that is used to determine
    the rate at which the head-end device generates traffic,
    expressed in bytes per second.";
                    reference
                      "RFC2210: RSVP with INTSERV";
    
                  }
    
                  leaf peak-data-rate {
                    type union {
                      type oc-types:ieeefloat32;
                      type enumeration {
                        enum "INFINITY" {
                          value 0;
                          description
                            "The head-end device has no maximum data rate.";
                        }
                      }
                    }
                    units "bps";
                    description
                      "The maximum traffic generation rate that the head-end
    device sends traffic at.";
                    reference
                      "RFC2210: RSVP with INTSERV";
    
                  }
                }  // container sender-tspec
              }  // container state
            }  // list session
          }  // container sessions
        }  // grouping mpls-rsvp-session-state
    
        grouping mpls-rsvp-interfaces-config {
          description
            "RSVP configuration information relevant to an interface";
          leaf interface-id {
            type oc-if:interface-id;
            description
              "Identifier for the interface";
          }
        }  // grouping mpls-rsvp-interfaces-config
    
        grouping mpls-rsvp-interfaces-state {
          description
            "RSVP state information relevant to an interface";
        }  // grouping mpls-rsvp-interfaces-state
    
        grouping mpls-rsvp-interface-reservations {
          description
            "Operational state related to interface bandwidth
    reservations";
          container bandwidth-reservations {
            description
              "Enclosing container for bandwidth reservation";
            list bandwidth-reservation {
              key "priority";
              config false;
              description
                "Available and reserved bandwidth by priority on
    the interface.";
              leaf priority {
                type leafref {
                  path "../state/priority";
                }
                description
                  "Reference to the RSVP priority level";
              }
    
              container state {
                description
                  "Operational state parameters relating to a
    bandwidth reservation at a certain priority";
                leaf priority {
                  type union {
                    type uint8 {
                      range "0..7";
                    }
                    type enumeration {
                      enum "ALL" {
                        value 0;
                        description
                          "The ALL keyword represents the overall
    state of the interface - i.e., the union
    of all of the priority levels";
                      }
                    }
                  }
                  description
                    "RSVP priority level for LSPs traversing the interface";
                }
    
                leaf available-bandwidth {
                  type oc-mplst:bandwidth-mbps;
                  description
                    "Bandwidth currently available with the priority level,
    or for the entire interface when the priority is set to
    ALL";
                }
    
                leaf reserved-bandwidth {
                  type oc-mplst:bandwidth-mbps;
                  description
                    "Bandwidth currently reserved within the priority level,
    or the sum of all priority levels when the keyword is set
    to ALL";
                }
    
                leaf active-reservations-count {
                  type yang:gauge64;
                  description
                    "Number of active RSVP reservations in the associated
    priority, or the sum of all reservations when the priority
    level is set to ALL";
                }
    
                leaf highwater-mark {
                  type oc-mplst:bandwidth-mbps;
                  description
                    "Maximum bandwidth reserved on the interface within the
    priority, or across all priorities in the case that the
    priority level is set to ALL";
                }
              }  // container state
            }  // list bandwidth-reservation
          }  // container bandwidth-reservations
        }  // grouping mpls-rsvp-interface-reservations
    
        grouping mpls-rsvp-global-protocol-state {
          description
            "RSVP protocol statistics which may not apply
    on an interface, but are significant globally.";
          leaf path-timeouts {
            type yang:counter64;
            description "TODO";
          }
    
          leaf reservation-timeouts {
            type yang:counter64;
            description "TODO";
          }
    
          leaf rate-limited-messages {
            type yang:counter64;
            description
              "RSVP messages dropped due to rate limiting";
          }
        }  // grouping mpls-rsvp-global-protocol-state
    
        grouping mpls-rsvp-protocol-state {
          description
            "RSVP protocol statistics and message counters";
          leaf in-path-messages {
            type yang:counter64;
            description
              "Number of received RSVP Path messages";
          }
    
          leaf in-path-error-messages {
            type yang:counter64;
            description
              "Number of received RSVP Path Error messages";
          }
    
          leaf in-path-tear-messages {
            type yang:counter64;
            description
              "Number of received RSVP Path Tear messages";
          }
    
          leaf in-reservation-messages {
            type yang:counter64;
            description
              "Number of received RSVP Resv messages";
          }
    
          leaf in-reservation-error-messages {
            type yang:counter64;
            description
              "Number of received RSVP Resv Error messages";
          }
    
          leaf in-reservation-tear-messages {
            type yang:counter64;
            description
              "Number of received RSVP Resv Tear messages";
          }
    
          leaf in-hello-messages {
            type yang:counter64;
            description
              "Number of received RSVP hello messages";
          }
    
          leaf in-srefresh-messages {
            type yang:counter64;
            description
              "Number of received RSVP summary refresh messages";
          }
    
          leaf in-ack-messages {
            type yang:counter64;
            description
              "Number of received RSVP refresh reduction ack
    messages";
          }
    
          leaf out-path-messages {
            type yang:counter64;
            description
              "Number of sent RSVP PATH messages";
          }
    
          leaf out-path-error-messages {
            type yang:counter64;
            description
              "Number of sent RSVP Path Error messages";
          }
    
          leaf out-path-tear-messages {
            type yang:counter64;
            description
              "Number of sent RSVP Path Tear messages";
          }
    
          leaf out-reservation-messages {
            type yang:counter64;
            description
              "Number of sent RSVP Resv messages";
          }
    
          leaf out-reservation-error-messages {
            type yang:counter64;
            description
              "Number of sent RSVP Resv Error messages";
          }
    
          leaf out-reservation-tear-messages {
            type yang:counter64;
            description
              "Number of sent RSVP Resv Tear messages";
          }
    
          leaf out-hello-messages {
            type yang:counter64;
            description
              "Number of sent RSVP hello messages";
          }
    
          leaf out-srefresh-messages {
            type yang:counter64;
            description
              "Number of sent RSVP summary refresh messages";
          }
    
          leaf out-ack-messages {
            type yang:counter64;
            description
              "Number of sent RSVP refresh reduction ack messages";
          }
        }  // grouping mpls-rsvp-protocol-state
    
        grouping mpls-rsvp-record-route-object-top {
          description
            "Top-level structure grouping for list of record route
    objects.";
          container record-route-objects {
            description
              "Enclosing container for MPLS RRO objects associated with the
    traffic engineered tunnel.";
            list record-route-object {
              key "index";
              config false;
              description
                "Read-only list of record route objects associated with the
    traffic engineered tunnel. Each entry in the list
    may contain a hop IP address, MPLS label allocated
    at the hop, and the flags associated with the entry.";
              leaf index {
                type leafref {
                  path "../state/index";
                }
                description
                  "Reference to the index of the record route object.
    The index is used to indicate the ordering of hops in
    the path.";
              }
    
              container state {
                config false;
                description
                  "Information related to RRO objects. The hop, label, and
    optional flags are present for each entry in the list.";
                uses mpls-rsvp-record-route-object-state;
              }  // container state
            }  // list record-route-object
          }  // container record-route-objects
        }  // grouping mpls-rsvp-record-route-object-top
    
        grouping mpls-rsvp-record-route-object-state {
          description
            "Grouping to hold information relating to record route
    objects relevant to a traffic engineering LSP.";
          leaf index {
            type uint8;
            description
              "Index of object in the list. Used for ordering.";
          }
    
          leaf address {
            type inet:ip-address;
            description
              "IP router hop for RRO entry";
          }
    
          leaf reported-label {
            type oc-mplst:mpls-label;
            description
              "Label reported for RRO hop";
          }
    
          leaf reported-flags {
            type uint8;
            description
              "Subobject flags for MPLS label";
          }
        }  // grouping mpls-rsvp-record-route-object-state
      }  // module openconfig-mpls-rsvp
    

© 2023 YumaWorks, Inc. All rights reserved.