huawei-segment-routing

Segment routing.

  • Version: 2021-05-17

    huawei-segment-routing@2021-05-17


    
      module huawei-segment-routing {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-segment-routing";
    
        prefix sr;
    
        import huawei-routing-policy {
          prefix rtp;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        include huawei-segment-routing-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 "Segment routing.";
    
        revision "2021-05-17" {
          description
            "Add container traffic-statistics.";
          reference
            "Huawei private.";
    
        }
    
        revision "2021-01-20" {
          description "Add Dependency.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-13" {
          description
            "Modify the format specification.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-09" {
          description "Modify the description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-03-03" {
          description "Modify the description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-04" {
          description "Modify the description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-23" {
          description
            "Reconstructing Yang file by yin mechanism.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-11-15" {
          description
            "Reconstructing Yang file by yin mechanism.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-09-21" {
          description
            "Reconstructing Yang file by yin mechanism.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-04-04" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "segr";
    
        rpc reset-traffic-statistics {
          description
            "Reset SR LSP traffic statistics.";
          input {
            leaf ip-address {
              type inet:ipv4-address-no-zone;
              description
                "The prefix IP address.";
            }
    
            leaf mask-length {
              type uint8 {
                range "32";
              }
              description
                "Specifies a mask length, the value is 32.";
            }
          }
        }  // rpc reset-traffic-statistics
    
        rpc get-srlb-by-range {
          description
            "Statistics of segment routing local block. The range of local labels reserved by the local device for segment routing.";
          input {
            leaf range {
              type uint32 {
                range "2..4294967295";
              }
              description
                "Total number of SIDs available.";
            }
          }
    
          output {
            container local-block-ranges {
              description
                "List of the available range of segment routing local block.";
              list local-block-range {
                key "begin-value end-value";
                description
                  "The available range of segment routing local block.";
                leaf begin-value {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "Minimum SID available.";
                }
    
                leaf end-value {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "Maximum SID available.";
                }
    
                leaf range {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "Total number of SIDs available.";
                }
              }  // list local-block-range
            }  // container local-block-ranges
          }
        }  // rpc get-srlb-by-range
    
        rpc get-srgb-by-range {
          description
            "Statistics of segment routing dynamic global block. The range of dynamic global labels reserved for segment routing.";
          input {
            leaf range {
              type uint32 {
                range "2..4294967295";
              }
              description
                "Total number of SIDs available.";
            }
          }
    
          output {
            container global-block-ranges {
              description
                "List of the range of dynamic global labels reserved for segment routing.";
              list global-block-range {
                key "begin-value end-value";
                description
                  "The range of dynamic global labels reserved for segment routing.";
                leaf begin-value {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "The begin value of dynamic global block.";
                }
    
                leaf end-value {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "The end value of dynamic global block.";
                }
    
                leaf range {
                  type uint32 {
                    range "2..4294967295";
                  }
                  description
                    "The value range of dynamic global block.";
                }
              }  // list global-block-range
            }  // container global-block-ranges
          }
        }  // rpc get-srgb-by-range
    
        rpc get-sr-states {
          description
            "Segment routing status information based on a specified address prefix.";
          input {
            leaf ip-address {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "The prefix IP address.";
            }
    
            leaf mask-length {
              type uint8 {
                range "1..32";
              }
              mandatory true;
              description
                "The length of prefix mask.";
            }
    
            leaf flex-algo-id {
              type uint8 {
                range "128..255";
              }
              description
                "Flexible algorithm identifier.";
            }
          }
    
          output {
            container sr-states {
              description
                "List of segment routing status information based on a specified address prefix.";
              list sr-state {
                key "ip-address mask-length flex-algo-id protocol";
                description
                  "Statistics of label for transmission.";
                leaf ip-address {
                  type inet:ipv4-address-no-zone;
                  description
                    "The prefix IP address.";
                }
    
                leaf mask-length {
                  type uint8 {
                    range "1..32";
                  }
                  description
                    "The length of prefix mask.";
                }
    
                leaf flex-algo-id {
                  type uint8 {
                    range "0|128..255";
                  }
                  description
                    "Flexible algorithm identifier.";
                }
    
                leaf protocol {
                  type string {
                    length "1..20";
                  }
                  description "Protocol.";
                }
    
                leaf process-id {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description "Process ID.";
                }
    
                leaf prefix-id {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description "Prefix SID.";
                }
    
                leaf route-active {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether a route is active.";
                }
    
                leaf eligible-within-process {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether a SID is preferentially selected within a process.";
                }
    
                leaf eligible-between-processes {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether the Segment Routing next hop is preferentially selected within a process or between protocols.";
                }
    
                leaf nexthop-exist {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether a Segment Routing next hop exists.";
                }
    
                leaf prefix-sid-within-min-srgb-range {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether a prefix SID is within the smallest SRGB scope. The smallest SRGB scope is determined among all SRGB scopes on all nodes on a whole path including the root node.";
                }
    
                leaf prefix-sid-favor-state {
                  type string {
                    length "1..20";
                  }
                  description
                    "Whether the prefix SID is preferred. If the same prefix and different SIDs are set on different nodes, a process preferentially selects an active SID based on a specified rule.";
                }
              }  // list sr-state
            }  // container sr-states
          }
        }  // rpc get-sr-states
      }  // module huawei-segment-routing
    

© 2023 YumaWorks, Inc. All rights reserved.