huawei-mpls-te

Specifies the multi-protocol label switching protocol.

  • Version: 2020-09-23

    huawei-mpls-te@2020-09-23


    
      module huawei-mpls-te {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-mpls-te";
    
        prefix mpls-te;
    
        import huawei-extension {
          prefix ext;
        }
        import huawei-mpls {
          prefix mpls;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-te {
          prefix te;
        }
        import huawei-tunnel-management {
          prefix tnlm;
        }
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-routing-policy {
          prefix rtp;
        }
    
        include huawei-mpls-te-type;
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
    Bantian, Longgang
    Shenzhen 518129
    People's Republic of China
    Website: http://www.huawei.com
    Email: support@huawei.com";
    
        description
          "Specifies the multi-protocol label switching protocol.";
    
        revision "2020-09-23" {
          description
            "Added a private syntax to the keychain name. Added a label stack and a stitch label.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-05-08" {
          description "Modify some conditions.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-04-14" {
          description
            "Modify the type of the affinity attribute.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-17" {
          description "Fixed some descriptions.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-03" {
          description
            "Modify the reverse LSP model.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-25" {
          description
            "Description of some nodes and locations of some read-only nodes are fixed.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-17" {
          description
            "New add nodes to associate-groups.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-14" {
          description
            "Self-ping and self-ping-duration are added.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-13" {
          description
            "New add nodes to associate-groups.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-23" {
          description
            "New add nodes to configure global.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-14" {
          description
            "Modify the value range of the node tunnel-ID.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-10" {
          description
            "Added tunnel-locks model nodes.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-03" {
          description
            "Added auto tunnels and rsvp statistics model nodes.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-17" {
          description
            "Adjusting path-type definitions for some nodes.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-07" {
          description
            "Adjusting the tunnel-group and associated-groups model.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-11-14" {
          description
            "New add nodes to configure frr switch degrade.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-11-12" {
          description
            "Fixed some issues where YANG models are inappropriate.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-26" {
          description
            "Fixed some issues where YANG models are inappropriate.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-16" {
          description
            "New add nodes to display MPLS TE tunnel statistic information.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-14" {
          description
            "New add nodes to configure p2mp templates and p2p templates.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-08" {
          description
            "New add nodes to display MPLS rsvp-te neighbor information.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-03-27" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "mpls-te";
    
        rpc cspf-pre-calculate {
          description
            "To obtain the path which is calculated by cspf and meets certain ristrict conditions.";
          input {
            leaf destination {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "Destination IP address.";
            }
    
            leaf explicit-path-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Name of an explicit path. The name is case-insensitive.";
            }
    
            leaf ct0-bandwidth {
              type uint32 {
                range "0..4000000000";
              }
              units "kbit/s";
              description
                "The value of CT0 bandwith.";
            }
    
            leaf priority {
              type uint8 {
                range "0..7";
              }
              description
                "Specifies a tunnel setup priority. The smaller the value, the higher the setup priority. 0 is the highest priority. Limit: the setup priority of a tunnel must be equal to or smaller than its holding priority.";
            }
    
            leaf hop-limit {
              type uint32 {
                range "1..32";
              }
              description
                "Hop limit on a TE LSP.";
            }
    
            leaf include-any {
              type pub-type:hex-binary;
              description
                "Tunnel path management attribute: Include-any. The attribute is a 32-bit vector. If the management attribute of a link contain any bit in the Include-any attribute field of an LSP, the link can be a candidate LSP link.";
            }
    
            leaf exclude-any {
              type pub-type:hex-binary;
              description
                "Tunnel path management attribute: Exclude-any. The management attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Exclude-any attribute field of an LSP, the link cannot be a candidate LSP link.";
            }
    
            leaf srlg-strict-exclude-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Specifies Exclude Explicit Path by Strict srlg. The name is case-insensitive.";
            }
    
            leaf tie-breaking {
              type tebase-tie-breaking;
              description
                "Rules for selecting multiple equal-cost routes. In path computation, if multiple paths meet constraints, a device uses this rule to select a path.
    Random: randomly selects a path.
    Least Fill: selects a link with the lowest proportion of used bandwidth to the maximum reservable bandwidth.
    Most Fill: selects a link with the highest proportion of used bandwidth to the maximum reservable bandwidth.";
            }
    
            leaf path-metric-type {
              type global-path-metric-type;
              description
                "Pre-calculated path metric type.";
            }
    
            leaf hotstandby-calculate {
              type boolean;
              default "false";
              description
                "Enable/disable HSB PathCalc.";
            }
    
            leaf hotstandby-overlap {
              type boolean;
              default "false";
              description
                "Enable/disable Overlap.";
            }
    
            leaf hotstandby-hop-limit {
              type uint32 {
                range "1..32";
              }
              default "32";
              description
                "Maximum number of route hops that a TE LSP allows.";
            }
    
            leaf hotstandby-include-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel HSB path management attribute: Include-any. The attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Include-any attribute field of an LSP, the link can be a candidate LSP link.";
            }
    
            leaf hotstandby-exclude-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel HSB path management attribute: Exclude-any. The default value is 0x0. The management attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Exclude-any attribute field of an LSP, the link cannot be a candidate LSP link.";
            }
    
            leaf hotstandby-explicit-path-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Name of an explicit path (HSB). The name is case-insensitive.";
            }
    
            leaf hotstandby-srlg-calculate-mode {
              type cspf-srlg-path-calculate-mode;
              default "default";
              description
                "Srlg Precalc Path Mode (HSB).";
            }
          }
    
          output {
            container hops {
              description
                "List of hops in CSPF pre-calculation.";
              list hop {
                key "path-type";
                description
                  "Configure hops in the CSPF pre-calculation data list.";
                leaf path-type {
                  type cspf-calculated-lsp-path-type;
                  description
                    "The path type, primary or hotstandby.";
                }
    
                leaf total-metrics {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Total metrics information.";
                }
    
                container lists {
                  description
                    "List of Container.";
                  list list {
                    key "index";
                    description
                      "Configure hops in the CSPF pre-calculation data.";
                    leaf index {
                      type uint32 {
                        range "1..255";
                      }
                      description "Hop Index.";
                    }
    
                    leaf ip-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Hop Ip Address.";
                    }
    
                    leaf address-type {
                      type chop-address-type;
                      description
                        "Route hop-specific IP address type. The value is a link IP address or LSR ID.";
                    }
    
                    leaf hop-type {
                      type chop-type;
                      description
                        "Specifies an LSP route selection types based on the local hop. Strict type: Only an LSP route that includes the local hop can be selected. Loose type: An LSP route that includes the local node is selected preferentially. If the local hop does not meet path limits, it will be not included in the selected route. Excluding type: Only an LSP route that does not include the local hop can be selected.";
                    }
    
                    leaf reach-ability {
                      type chop-reach-ability;
                      description
                        "HopReachability: reachable or unreachable.";
                    }
                  }  // list list
                }  // container lists
              }  // list hop
            }  // container hops
          }
        }  // rpc cspf-pre-calculate
    
        rpc cspf-srte-pre-calculate {
          description
            "To obtain the path which is calculated by cspf and meets certain ristrict conditions.";
          input {
            leaf destination {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "Destination IP address.";
            }
    
            leaf is-adjacency-sid {
              type boolean;
              default "false";
              description
                "CSPF path select label type adjacency or not.";
            }
    
            leaf explicit-path-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Name of an explicit path. The name is case-insensitive.";
            }
    
            leaf hop-limit {
              type uint32 {
                range "1..32";
              }
              default "32";
              description
                "Hop limit on a TE LSP.";
            }
    
            leaf include-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel path management attribute: Include-any. The attribute is a 32-bit vector. If the management attribute of a link contain any bit in the Include-any attribute field of an LSP, the link can be a candidate LSP link.";
            }
    
            leaf exclude-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel path management attribute: Exclude-any. The management attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Exclude-any attribute field of an LSP, the link cannot be a candidate LSP link.";
            }
    
            leaf srlg-strict-exclude-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Specifies Exclude Explicit Path by Strict srlg. The name is case-insensitive.";
            }
    
            leaf tie-breaking {
              type tebase-tie-breaking;
              default "random";
              description
                "Rules for selecting multiple equal-cost routes. In path computation, if multiple paths meet constraints, a device uses this rule to select a path.
    Random: randomly selects a path.
    Least Fill: selects a link with the lowest proportion of used bandwidth to the maximum reservable bandwidth.
    Most Fill: selects a link with the highest proportion of used bandwidth to the maximum reservable bandwidth.";
            }
    
            leaf path-metric-type {
              type global-path-metric-type;
              default "te";
              description
                "Pre-calculated path metric type.";
            }
    
            leaf hotstandby-calculate {
              type boolean;
              default "false";
              description
                "Enable/disable HSB PathCalc.";
            }
    
            leaf hotstandby-explicit-path-name {
              type string {
                length "0..128";
                pattern '[^ \?]*';
              }
              description
                "Name of an explicit path (HSB). The name is case-insensitive.";
            }
    
            leaf hotstandby-overlap {
              type boolean;
              default "false";
              description
                "Enable/disable Overlap.";
            }
    
            leaf hotstandby-hop-limit {
              type uint32 {
                range "1..32";
              }
              default "32";
              description
                "Maximum number of route hops that a TE LSP allows.";
            }
    
            leaf hotstandby-include-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel HSB path management attribute: Include-any. The attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Include-any attribute field of an LSP, the link can be a candidate LSP link.";
            }
    
            leaf hotstandby-exclude-any {
              type pub-type:hex-binary;
              default "0x0";
              description
                "Tunnel HSB path management attribute: Exclude-any. The default value is 0x0. The management attribute is a 32-bit vector. If the management attribute of a link contains any bit in the Exclude-any attribute field of an LSP, the link cannot be a candidate LSP link.";
            }
    
            leaf hotstandby-srlg-calculate-mode {
              type cspf-srlg-path-calculate-mode;
              default "default";
              description
                "Srlg Precalc Path Mode (HSB).";
            }
    
            leaf path-verify {
              type boolean;
              default "false";
              description "Path verification.";
            }
          }
    
          output {
            container hops {
              description
                "List of hops in CSPF pre-calculation.";
              list hop {
                key "path-type";
                description
                  "Configure hops in the CSPF pre-calculation data list.";
                leaf path-type {
                  type cspf-calculated-lsp-path-type;
                  description
                    "The path type, primary or hotstandby.";
                }
    
                leaf total-metrics {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Total metrics information.";
                }
    
                container lists {
                  description
                    "List of Container.";
                  list list {
                    key "index";
                    description
                      "Configure hops in the CSPF pre-calculation data.";
                    leaf index {
                      type uint32 {
                        range "1..255";
                      }
                      description "Hop Index.";
                    }
    
                    leaf label {
                      type uint32 {
                        range "16..1048575";
                      }
                      description
                        "Hop label calculated by CSPF.";
                    }
    
                    leaf label-type {
                      type sr-te-label-type;
                      description
                        "SR-TE Label type.";
                    }
    
                    leaf local-ip-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Local IP Address.";
                    }
    
                    leaf remote-ip-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Remote IP Address.";
                    }
    
                    leaf node-ip-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Node IP Address.";
                    }
                  }  // list list
                }  // container lists
              }  // list hop
            }  // container hops
          }
        }  // rpc cspf-srte-pre-calculate
    
        rpc set-sr-te-label-stack {
          description
            "Set the SR-MPLS TE label stack.";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description "Tunnel name.";
            }
    
            leaf lsp-type {
              type sr-te-tunnel-path-type;
              mandatory true;
              description "LSP type.";
            }
    
            leaf label1 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the first hop.";
            }
    
            leaf label1-type {
              when "../label1";
              type label-type;
              default "link";
              description
                "Label type of the first hop.";
            }
    
            leaf next-hop1 {
              when "../label1";
              type inet:ipv4-address-no-zone;
              description
                "Address of the first hop.";
            }
    
            leaf label2 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the second hop.";
            }
    
            leaf label2-type {
              when "../label2";
              type label-type;
              default "link";
              description
                "Label type of the second hop.";
            }
    
            leaf next-hop2 {
              when "../label2";
              type inet:ipv4-address-no-zone;
              description
                "Address of the second hop.";
            }
    
            leaf label3 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the third hop.";
            }
    
            leaf label3-type {
              when "../label3";
              type label-type;
              default "link";
              description
                "Label type of the third hop.";
            }
    
            leaf next-hop3 {
              when "../label3";
              type inet:ipv4-address-no-zone;
              description
                "Address of the third hop.";
            }
    
            leaf label4 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the forth hop.";
            }
    
            leaf label4-type {
              when "../label4";
              type label-type;
              default "link";
              description
                "Label type of the forth hop.";
            }
    
            leaf next-hop4 {
              when "../label4";
              type inet:ipv4-address-no-zone;
              description
                "Address of the forth hop.";
            }
    
            leaf label5 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the fifth hop.";
            }
    
            leaf label5-type {
              when "../label5";
              type label-type;
              default "link";
              description
                "Label type of the fifth hop.";
            }
    
            leaf next-hop5 {
              when "../label5";
              type inet:ipv4-address-no-zone;
              description
                "Address of the fifth hop.";
            }
    
            leaf label6 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the sixth hop.";
            }
    
            leaf label6-type {
              when "../label6";
              type label-type;
              default "link";
              description
                "Label type of the sixth hop.";
            }
    
            leaf next-hop6 {
              when "../label6";
              type inet:ipv4-address-no-zone;
              description
                "Address of the sixth hop.";
            }
    
            leaf label7 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the seventh hop.";
            }
    
            leaf label7-type {
              when "../label7";
              type label-type;
              default "link";
              description
                "Label type of the seventh hop.";
            }
    
            leaf next-hop7 {
              when "../label7";
              type inet:ipv4-address-no-zone;
              description
                "Address of the seventh hop.";
            }
    
            leaf label8 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the eighth hop.";
            }
    
            leaf label8-type {
              when "../label8";
              type label-type;
              default "link";
              description
                "Label type of the eighth hop.";
            }
    
            leaf next-hop8 {
              when "../label8";
              type inet:ipv4-address-no-zone;
              description
                "Address of the eighth hop.";
            }
    
            leaf label9 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the ninth hop.";
            }
    
            leaf label9-type {
              when "../label9";
              type label-type;
              default "link";
              description
                "Label type of the ninth hop.";
            }
    
            leaf next-hop9 {
              when "../label9";
              type inet:ipv4-address-no-zone;
              description
                "Address of the ninth hop.";
            }
    
            leaf label10 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the tenth hop.";
            }
    
            leaf label10-type {
              when "../label10";
              type label-type;
              default "link";
              description
                "Label type of the tenth hop.";
            }
    
            leaf next-hop10 {
              when "../label10";
              type inet:ipv4-address-no-zone;
              description
                "Address of the tenth hop.";
            }
          }
        }  // rpc set-sr-te-label-stack
    
        rpc delete-sr-te-label-stack {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:sr-te";
          description
            "Delete the SR-MPLS TE tunnel label stack.";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description "Tunnel name.";
            }
    
            leaf lsp-type {
              type sr-te-tunnel-path-type;
              mandatory true;
              description "LSP type.";
            }
          }
        }  // rpc delete-sr-te-label-stack
    
        rpc set-sr-te-stitch-label {
          description
            "Set the SR-MPLS TE stitch label.";
          input {
            leaf stitch-label {
              type uint32 {
                range "16..1048575";
              }
              mandatory true;
              description "Stitch label.";
            }
    
            leaf tunnel-ingress-lsr-id {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "Specify the ingress LSR ID of a tunnel with stitch labels.";
            }
    
            leaf tunnel-egress-lsr-id {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "Specify the egress LSR ID of a tunnel with stitch labels.";
            }
    
            leaf tunnel-session-id {
              type uint16 {
                range "0..65535";
              }
              mandatory true;
              description
                "Specify the session ID of a tunnel with stitch labels.";
            }
    
            leaf lsp-id {
              type uint16 {
                range "0..65535";
              }
              mandatory true;
              description
                "Specify the LSP ID with stitch labels.";
            }
    
            leaf label1 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the first hop.";
            }
    
            leaf label1-type {
              when "../label1";
              type label-type;
              default "link";
              description
                "Label type of the first hop.";
            }
    
            leaf next-hop1 {
              when "../label1";
              type inet:ipv4-address-no-zone;
              description
                "Address of the first hop.";
            }
    
            leaf label2 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the second hop.";
            }
    
            leaf label2-type {
              when "../label2";
              type label-type;
              default "link";
              description
                "Label type of the second hop.";
            }
    
            leaf next-hop2 {
              when "../label2";
              type inet:ipv4-address-no-zone;
              description
                "Address of the second hop.";
            }
    
            leaf label3 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the third hop.";
            }
    
            leaf label3-type {
              when "../label3";
              type label-type;
              default "link";
              description
                "Label type of the third hop.";
            }
    
            leaf next-hop3 {
              when "../label3";
              type inet:ipv4-address-no-zone;
              description
                "Address of the third hop.";
            }
    
            leaf label4 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the forth hop.";
            }
    
            leaf label4-type {
              when "../label4";
              type label-type;
              default "link";
              description
                "Label type of the forth hop.";
            }
    
            leaf next-hop4 {
              when "../label4";
              type inet:ipv4-address-no-zone;
              description
                "Address of the forth hop.";
            }
    
            leaf label5 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the fifth hop.";
            }
    
            leaf label5-type {
              when "../label5";
              type label-type;
              default "link";
              description
                "Label type of the fifth hop.";
            }
    
            leaf next-hop5 {
              when "../label5";
              type inet:ipv4-address-no-zone;
              description
                "Address of the fifth hop.";
            }
    
            leaf label6 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the sixth hop.";
            }
    
            leaf label6-type {
              when "../label6";
              type label-type;
              default "link";
              description
                "Label type of the sixth hop.";
            }
    
            leaf next-hop6 {
              when "../label6";
              type inet:ipv4-address-no-zone;
              description
                "Address of the sixth hop.";
            }
    
            leaf label7 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the seventh hop.";
            }
    
            leaf label7-type {
              when "../label7";
              type label-type;
              default "link";
              description
                "Label type of the seventh hop.";
            }
    
            leaf next-hop7 {
              when "../label7";
              type inet:ipv4-address-no-zone;
              description
                "Address of the seventh hop.";
            }
    
            leaf label8 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the eighth hop.";
            }
    
            leaf label8-type {
              when "../label8";
              type label-type;
              default "link";
              description
                "Label type of the eighth hop.";
            }
    
            leaf next-hop8 {
              when "../label8";
              type inet:ipv4-address-no-zone;
              description
                "Address of the eighth hop.";
            }
    
            leaf label9 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the ninth hop.";
            }
    
            leaf label9-type {
              when "../label9";
              type label-type;
              default "link";
              description
                "Label type of the ninth hop.";
            }
    
            leaf next-hop9 {
              when "../label9";
              type inet:ipv4-address-no-zone;
              description
                "Address of the ninth hop.";
            }
    
            leaf label10 {
              type uint32 {
                range "16..1048575";
              }
              description
                "Label of the tenth hop.";
            }
    
            leaf label10-type {
              when "../label10";
              type label-type;
              default "link";
              description
                "Label type of the tenth hop.";
            }
    
            leaf next-hop10 {
              when "../label10";
              type inet:ipv4-address-no-zone;
              description
                "Address of the tenth hop.";
            }
          }
        }  // rpc set-sr-te-stitch-label
    
        rpc delete-sr-te-stitch-label {
          ext:node-ref "/mpls:mpls/mpls-te:te/mpls-te:stitch-label-stacks/mpls-te:stitch-label-stack/mpls-te:stitch-label";
          description
            "Delete the SR-MPLS TE stitch label.";
          input {
            leaf stitch-label {
              type uint32 {
                range "16..1048575";
              }
              mandatory true;
              description "Stitch label.";
            }
          }
        }  // rpc delete-sr-te-stitch-label
    
        rpc reset-rsvp-te {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:tunnel-mode/mpls-te:p2p-rsvp-te/mpls-te:rsvp-te";
          description
            "To reset the RSVP TE service.";
          input {
            leaf all-instances {
              type boolean;
              description
                "To reset all RSVP instances.";
            }
          }
        }  // rpc reset-rsvp-te
    
        rpc reset-rsvp-p2mp-te-statistics {
          description
            "To clear RSVP P2MP TE statistics.";
        }  // rpc reset-rsvp-p2mp-te-statistics
    
        rpc reset-mpls-te-last-error {
          description
            "To clear MPLS TE last error information.";
        }  // rpc reset-mpls-te-last-error
    
        rpc reset-rsvp-te-tunnel {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:tunnel-mode/mpls-te:p2p-rsvp-te/mpls-te:rsvp-te";
          description
            "To re-establish the specified tunnel.";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Name of the re-established tunnel. The name is case-insensitive.";
            }
          }
        }  // rpc reset-rsvp-te-tunnel
    
        rpc reoptimize-rsvp-te-tunnel {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:tunnel-mode/mpls-te:p2p-rsvp-te/mpls-te:rsvp-te";
          description
            "To reoptimize the specified tunnel.";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Name of the the tunnel to be reoptimized. The name is case-insensitive.";
            }
          }
        }  // rpc reoptimize-rsvp-te-tunnel
    
        rpc reset-auto-p2mp-tunnel {
          description
            "To reset the specified auto P2MP tunnel.";
          input {
            leaf tunnel-name {
              type string {
                length "1..64";
              }
              mandatory true;
              description
                "The specified auto P2MP tunnel name.";
            }
          }
        }  // rpc reset-auto-p2mp-tunnel
    
        rpc reset-auto-primary-tunnel {
          description
            "To reset the specified auto primary tunnel.";
          input {
            leaf tunnel-name {
              type string {
                length "1..64";
              }
              mandatory true;
              description
                "The specified auto primary tunnel name.";
            }
          }
        }  // rpc reset-auto-primary-tunnel
    
        rpc rsvp-te-hotstandby-switch {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:tunnel-mode/mpls-te:p2p-rsvp-te/mpls-te:rsvp-te/mpls-te:hotstandby";
          description
            "Before switching traffic, TE tunnel should be configured with hot-standby mode. To switch the tunnel traffic to the specified LSP (primary or hot-standby).";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Name of the tunnel on which traffic switching is to be performed. The name is case-insensitive.";
            }
    
            leaf switch-mode {
              type hotstandby-switch-mode;
              default "primary-to-hot-standby";
              description
                "To specify switch operation.";
            }
          }
        }  // rpc rsvp-te-hotstandby-switch
    
        rpc sr-te-hotstandby-switch {
          ext:node-ref "/ifm:ifm/ifm:interfaces/ifm:interface/tnlm:tunnel-protocol/tnlm:type/mpls-te:mpls-te/mpls-te:te-tunnel/mpls-te:sr-te/mpls-te:hotstandby";
          description
            "To switch the tunnel traffic to the specified LSP (primary or hot-standby).";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Name of the tunnel on which traffic switching is to be performed. The name is case-insensitive.";
            }
    
            leaf switch-mode {
              type hotstandby-switch-mode;
              default "primary-to-hot-standby";
              description
                "To specify switch operation.";
            }
          }
        }  // rpc sr-te-hotstandby-switch
    
        rpc manual-flooding {
          description "Manual flooding.";
        }  // rpc manual-flooding
    
        rpc tunnel-protect-switch {
          description
            "Tunnel protection switch action.";
          input {
            leaf tunnel-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Name of a working tunnel in a protection group. The name is case-insensitive.";
            }
    
            leaf operation {
              type tunnel-protect-switch-type;
              description
                "Protection switch type.";
            }
          }
        }  // rpc tunnel-protect-switch
    
        rpc upgrade-bypass {
          description
            "To upgrade MPLS TE bypass tunnel after SRLG is changed.";
        }  // rpc upgrade-bypass
      }  // module huawei-mpls-te
    

© 2023 YumaWorks, Inc. All rights reserved.