huawei-vrrp

Global VRRP configuration.

  • Version: 2020-02-15

    huawei-vrrp@2020-02-15


    
      module huawei-vrrp {
    
        yang-version 1;
    
        namespace "urn:huawei:yang:huawei-vrrp";
    
        prefix vrrp;
    
        import huawei-ifm {
          prefix ifm;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-bfd {
          prefix bfd;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import huawei-monitor-group {
          prefix monitor-group;
        }
        import huawei-ip {
          prefix ip;
        }
        import huawei-nqa {
          prefix nqa;
        }
        import huawei-ethernet {
          prefix ethernet;
        }
    
        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 "Global VRRP configuration.";
    
        revision "2020-02-15" {
          description "Modify description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-27" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "vrrp";
    
        typedef vrrp-type {
          type enumeration {
            enum "normal" {
              value 0;
              description "Normal VRRP.";
            }
            enum "admin" {
              value 1;
              description "Admin VRRP.";
            }
            enum "member" {
              value 2;
              description "Member VRRP.";
            }
            enum "lbrg" {
              value 3;
              description
                "Load-balance redundancy group VRRP.";
            }
            enum "lbrg-mem" {
              value 4;
              description
                "Load-balance redundancy group member VRRP.";
            }
            enum "mem-lbrg" {
              value 5;
              description
                "Member of load-balance redundancy group VRRP.";
            }
            enum "mem-lbrg-mem" {
              value 6;
              description
                "Member of load-balance redundancy group Member VRRP.";
            }
            enum "unicast" {
              value 7;
              description "Unicast VRRP.";
            }
          }
          description "VRRP group type.";
        }
    
        typedef vrrp-bfd-type {
          type enumeration {
            enum "normal" {
              value 0;
              description "Normal BFD session.";
            }
            enum "link" {
              value 1;
              description "Link BFD session.";
            }
            enum "peer" {
              value 2;
              description "Peer BFD session.";
            }
          }
          description
            "The type of VRRP track BFD.";
        }
    
        typedef vrrp-track-mode {
          type enumeration {
            enum "increase" {
              value 0;
              description "Increase priority.";
            }
            enum "reduce" {
              value 1;
              description "Reduce priority.";
            }
          }
          description
            "VRRP track mode is like increase/reduce.";
        }
    
        typedef vrrp-track-bfd-state {
          type enumeration {
            enum "down" {
              value 0;
              description "BFD state down.";
            }
            enum "up" {
              value 1;
              description "BFD state up.";
            }
            enum "admin-down" {
              value 2;
              description "BFD state admindown.";
            }
            enum "unknow" {
              value 3;
              description "BFD state unknow.";
            }
          }
          description
            "VRRP track bfd state is like down/up/admin-down/unknow.";
        }
    
        typedef vrrp-oper-state {
          type enumeration {
            enum "initialize" {
              value 0;
              description "Initialize state.";
            }
            enum "backup" {
              value 1;
              description "Backup state.";
            }
            enum "master" {
              value 2;
              description "Master state.";
            }
          }
          description
            "VRRP operation state is like initialize/backup/master.";
        }
    
        typedef vrrp6cksm-mode {
          type enumeration {
            enum "include-pseudo-header" {
              value 0;
              description
                "Include a pseudo header.";
            }
            enum "exclude-pseudo-header" {
              value 1;
              description
                "Exclude a pseudo header.";
            }
          }
          description
            "VRRP6 cksm-mode is like include-pseudo-header/exclude-pseudo-header.";
        }
    
        typedef vrrpauthen-mode {
          type enumeration {
            enum "none" {
              value 0;
              description
                "No authentication mode.";
            }
            enum "simple" {
              value 1;
              description
                "Simple authentication mode.";
            }
            enum "md5" {
              value 2;
              description
                "MD5 authentication mode.";
            }
            enum "hmac-sha256" {
              value 3;
              description
                "SHA256 authentication mode.";
            }
          }
          description
            "VRRP authen-mode is like none/simple/md5.";
        }
    
        typedef vrrp-v3-sendmode {
          type enumeration {
            enum "v3-only" {
              value 0;
              description
                "Only VRRPv3 advertisement packets are sent.";
            }
            enum "v2v3-both" {
              value 1;
              description
                "Both VRRPv2 and VRRPv3 advertisement packets are sent.";
            }
            enum "v2-only" {
              value 2;
              description
                "Only VRRPv2 advertisement packets are sent.";
            }
          }
          description
            "VRRP V3 send mode is like v2-only/v2v3-both/v3-only.";
        }
    
        typedef vrrp-version {
          type enumeration {
            enum "v2" {
              value 0;
              description "VRRPv2 version.";
            }
            enum "v3" {
              value 1;
              description "VRRPv3 version.";
            }
          }
          description
            "VRRP version is like v2/v3.";
        }
    
        typedef vrrptrack-mode {
          type enumeration {
            enum "increase" {
              value 0;
              description "Increase priority.";
            }
            enum "reduce" {
              value 1;
              description "Reduce priority.";
            }
          }
          description
            "VRRP track mode is like increase/reduce.";
        }
    
        typedef mtgrptrack-mode {
          type enumeration {
            enum "link" {
              value 0;
              description "Link mode.";
            }
            enum "reduce" {
              value 1;
              description
                "Mode in which the priority is reduced.";
            }
          }
          description
            "Monitor-group track mode is like normal/link.";
        }
    
        typedef vgmp-type {
          type enumeration {
            enum "active" {
              value 1;
              description "Status of active.";
            }
            enum "standby" {
              value 2;
              description "Status of standby.";
            }
          }
          description
            "The configuration of VRRP.";
        }
    
        container vrrp {
          description
            "Virtual router redundancy protocol.";
          container global {
            description
              "Configure global VRRP configuration.";
            leaf gratuitous-arp-enable {
              type boolean;
              default "true";
              description
                "Enable/disable a device to periodically send gratuitous ARP packets.";
            }
    
            leaf gratuitous-timeout {
              when
                "../gratuitous-arp-enable='true'";
              type uint16 {
                range "30..1200";
              }
              units "s";
              default "30";
              description
                "Interval at which gratuitous ARP packets are sent.";
            }
    
            leaf adv-time-learn {
              type boolean;
              default "true";
              description
                "Enable/disable learning the interval at which VRRP packets are sent.";
            }
    
            leaf ping-enable {
              type boolean;
              default "true";
              description
                "Enable/disable ping virtual IP address.";
            }
    
            leaf recover-delay {
              type uint16 {
                range "0..3600";
              }
              units "s";
              default "0";
              description
                "Delay in recovering after an interface goes up. The delay is used for interface flapping suppression.";
            }
    
            leaf version {
              type vrrp-version;
              default "v2";
              description "Global VRRP version.";
            }
    
            leaf virtual-iproute-enable {
              type boolean;
              default "true";
              description
                "Enable/disable virtual IP routing function.";
            }
    
            leaf virtual-ospf-enable {
              when
                "not(../virtual-iproute-enable='false')";
              type boolean;
              default "true";
              description
                "Enable/disable advertising the virtual IP route by OSPF.";
            }
    
            leaf virtual-isis-enable {
              when
                "not(../virtual-iproute-enable='false')";
              type boolean;
              default "true";
              description
                "Enable/disable advertising the virtual IP route by ISIS.";
            }
    
            leaf virtual-rip-enable {
              when
                "not(../virtual-iproute-enable='false')";
              type boolean;
              default "true";
              description
                "Enable/disable advertising the virtual IP route by RIP.";
            }
    
            leaf v6-cks-mode {
              type vrrp6cksm-mode;
              default "include-pseudo-header";
              description "VRRP6 checksum mode.";
            }
    
            leaf smooth-switch-enable {
              when
                "not(../adv-time-learn='false')";
              type boolean;
              default "true";
              description
                "Enable/disable smoothing VRRP switching packets.";
            }
    
            leaf smooth-switch-time {
              when
                "../smooth-switch-enable='true'";
              type uint8 {
                range "1..255";
              }
              units "s";
              default "100";
              description
                "Interval carried in smooth VRRP switching packets.";
            }
    
            leaf unicast-port {
              type uint32 {
                range "1025..65535";
              }
              default "3077";
              description
                "Number of a UDP interface for sending and receiving unicast VRRP packets.";
            }
    
            leaf gratuitous-enhance-enable {
              type boolean;
              default "false";
              description
                "Enable/disable gratuitous ARP enhance.";
            }
    
            leaf na-enhance-enable {
              type boolean;
              default "false";
              description
                "Enable/disable vrrp6 na enhance.";
            }
    
            container vrrp-session-car {
              must "pir >= cir and pbs >= cbs";
              description
                "Configure session CAR.";
              leaf enable {
                type boolean;
                default "true";
                description
                  "Enable/disable session CAR.";
              }
    
              leaf cir {
                type uint32 {
                  range "0..325";
                }
                units "kbit/s";
                default "4";
                description
                  "Specify the session CAR CIR value.";
              }
    
              leaf cbs {
                type uint32 {
                  range "0..30000";
                }
                units "Byte";
                default "9000";
                description
                  "Specify the session CAR CBS value.";
              }
    
              leaf pir {
                type uint32 {
                  range "0..325";
                }
                units "kbit/s";
                default "5";
                description
                  "Specify the session CAR PIR value.";
              }
    
              leaf pbs {
                type uint32 {
                  range "0..30000";
                }
                units "Byte";
                default "9000";
                description
                  "Specify the session CAR PBS value.";
              }
            }  // container vrrp-session-car
    
            container vrrp6-session-car {
              must "pir >= cir and pbs >= cbs";
              description
                "Configure session CAR.";
              leaf enable {
                type boolean;
                default "true";
                description
                  "Enable/disable session CAR.";
              }
    
              leaf cir {
                type uint32 {
                  range "0..2600";
                }
                units "kbit/s";
                default "32";
                description
                  "Specify the session CAR CIR value.";
              }
    
              leaf cbs {
                type uint32 {
                  range "0..1600000";
                }
                units "Byte";
                default "72000";
                description
                  "Specify the session CAR CBS value.";
              }
    
              leaf pir {
                type uint32 {
                  range "0..2600";
                }
                units "kbit/s";
                default "40";
                description
                  "Specify the session CAR PIR value.";
              }
    
              leaf pbs {
                type uint32 {
                  range "0..1600000";
                }
                units "Byte";
                default "72000";
                description
                  "Specify the session CAR PBS value.";
              }
            }  // container vrrp6-session-car
          }  // container global
    
          container err-packets {
            config false;
            description "List of error packets.";
            list err-packet {
              key "index";
              description
                "Statistics of error packet.";
              leaf index {
                type uint32;
                description "Index.";
              }
    
              leaf ifname {
                type pub-type:if-name;
                description
                  "Name of the interface.";
              }
    
              leaf receive-time {
                type yang:date-and-time;
                description "Receive time.";
              }
    
              leaf reason {
                type string {
                  length "0..48";
                }
                description "Error reason.";
              }
    
              leaf buffer {
                type string {
                  length "0..512";
                }
                description "Error buffer.";
              }
            }  // list err-packet
          }  // container err-packets
        }  // container vrrp
      }  // module huawei-vrrp
    

© 2023 YumaWorks, Inc. All rights reserved.