Cisco-IOS-XR-ipv4-hsrp-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-hsrp package configuration. This module contains de...

  • Version: 2019-10-31

    Cisco-IOS-XR-ipv4-hsrp-cfg@2019-10-31


    
      module Cisco-IOS-XR-ipv4-hsrp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-cfg";
    
        prefix ipv4-hsrp-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-snmp-agent-cfg {
          prefix a1;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR ipv4-hsrp package configuration.
         
         This module contains definitions
         for the following management objects:
           hsrp: HSRP configuration
         
         This YANG module augments the
           Cisco-IOS-XR-snmp-agent-cfg
         module with configuration data.
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-10-31" {
          description
            "Added mandatory nodes and presence containers.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-11-05" {
          description
            "Corrected boolean values in when statements.";
        }
    
        revision "2017-10-04" {
          description
            "Marked delay leafs min-delay and reload-delay as mandatory.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Hsrp-linklocal {
          type enumeration {
            enum "manual" {
              value 0;
              description
                "Manual Linklocal address configuration";
            }
            enum "auto" {
              value 1;
              description
                "Automatic Linklocal address configuration";
            }
            enum "legacy" {
              value 2;
              description
                "Automatic legacy-compatible Linklocal address
               configuration";
            }
          }
          description "Hsrp linklocal";
        }
    
        container hsrp {
          description "HSRP configuration";
          container interfaces {
            description
              "Interface Table for HSRP configuration";
            list interface {
              key "interface-name";
              description
                "Per-interface HSRP configuration";
              container ipv6 {
                description
                  "IPv6 HSRP configuration";
                container version2 {
                  description
                    "Version 2 HSRP configuration";
                  container groups {
                    description
                      "The HSRP group configuration table";
                    list group {
                      key "group-number";
                      description
                        "The HSRP group being configured";
                      container bfd {
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection";
                        leaf address {
                          type inet:ipv6-address-no-zone;
                          description
                            "Enable BFD for this remote IP";
                        }
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name to run BFD";
                        }
                      }  // container bfd
    
                      container tracked-interfaces {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-interface {
                          key "interface-name";
                          description
                            "Interface being tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-interface
                      }  // container tracked-interfaces
    
                      container tracked-objects {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object being tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      container timers {
                        description
                          "Hello and hold timers";
                        leaf hello-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hello time configured in
                           milliseconds, FALSE - Hello time
                           configured in seconds";
                        }
    
                        leaf hello-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hello time in msecs";
                        }
    
                        leaf hello-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "3";
                          description
                            "Hello time in seconds";
                        }
    
                        leaf hold-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hold time configured in
                           milliseconds, FALSE - Hold time
                           configured in seconds";
                        }
    
                        leaf hold-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hold time in msecs";
                        }
    
                        leaf hold-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "10";
                          description
                            "Hold time in seconds";
                        }
                      }  // container timers
    
                      container link-local-ipv6-address {
                        presence
                          "Contains mandatory nodes that used to set default values";
                        description
                          "The HSRP IPv6 virtual linklocal address";
                        leaf address {
                          when
                            "../auto-configure = 'manual'" {
                            description
                              "../AutoConfigure = Manual";
                          }
                          type inet:ipv6-address-no-zone;
                          description
                            "HSRP IPv6 virtual linklocal address";
                        }
    
                        leaf auto-configure {
                          type Hsrp-linklocal;
                          mandatory true;
                          description
                            "Linklocal Configuration Type";
                        }
                      }  // container link-local-ipv6-address
    
                      container global-ipv6-addresses {
                        description
                          "The table of HSRP virtual global IPv6
                         addresses";
                        list global-ipv6-address {
                          key "address";
                          description
                            "A HSRP virtual global IPv6 IP address";
                          leaf address {
                            type inet:ipv6-address-no-zone;
                            description
                              "HSRP virtual global IPv6 address";
                          }
                        }  // list global-ipv6-address
                      }  // container global-ipv6-addresses
    
                      leaf priority {
                        type uint32 {
                          range "0..255";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf preempt {
                        type uint32;
                        default "0";
                        description
                          "Force active if higher priority";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "HSRP Session name (for MGO)";
                      }
    
                      leaf virtual-mac-address {
                        type yang:mac-address;
                        description
                          "HSRP MAC address";
                      }
    
                      leaf group-number {
                        type uint32 {
                          range "0..4095";
                        }
                        description
                          "HSRP group number";
                      }
                    }  // list group
                  }  // container groups
                }  // container version2
    
                container slave-groups {
                  description
                    "The HSRP slave group configuration table";
                  list slave-group {
                    key "slave-group-number";
                    description
                      "The HSRP slave group being configured";
                    container link-local-ipv6-address {
                      presence
                        "Contains mandatory nodes that used to set default values";
                      description
                        "The HSRP IPv6 virtual linklocal address";
                      leaf address {
                        when
                          "../auto-configure = 'manual'" {
                          description
                            "../AutoConfigure = Manual";
                        }
                        type inet:ipv6-address-no-zone;
                        description
                          "HSRP IPv6 virtual linklocal address";
                      }
    
                      leaf auto-configure {
                        type Hsrp-linklocal;
                        mandatory true;
                        description
                          "Linklocal Configuration Type";
                      }
                    }  // container link-local-ipv6-address
    
                    container global-ipv6-addresses {
                      description
                        "The table of HSRP virtual global IPv6
                       addresses";
                      list global-ipv6-address {
                        key "address";
                        description
                          "A HSRP virtual global IPv6 IP address";
                        leaf address {
                          type inet:ipv6-address-no-zone;
                          description
                            "HSRP virtual global IPv6 address";
                        }
                      }  // list global-ipv6-address
                    }  // container global-ipv6-addresses
    
                    leaf follow {
                      type string;
                      description
                        "HSRP Group name for this slave to follow";
                    }
    
                    leaf virtual-mac-address {
                      type yang:mac-address;
                      description
                        "HSRP MAC address";
                    }
    
                    leaf slave-group-number {
                      type uint32 {
                        range "0..4095";
                      }
                      description
                        "HSRP group number";
                    }
                  }  // list slave-group
                }  // container slave-groups
              }  // container ipv6
    
              container bfd {
                description "BFD configuration";
                leaf detection-multiplier {
                  type uint32 {
                    range "2..50";
                  }
                  description
                    "Detection multiplier for BFD sessions created
                   by hsrp";
                }
    
                leaf interval {
                  type uint32 {
                    range "3..30000";
                  }
                  units "millisecond";
                  description
                    "Hello interval for BFD sessions created by
                   hsrp";
                }
              }  // container bfd
    
              container delay {
                presence
                  "Indicates a delay node is configured.";
                description
                  "Minimum and Reload Delay";
                leaf minimum-delay {
                  type uint32 {
                    range "0..10000";
                  }
                  units "second";
                  mandatory true;
                  description
                    "Minimum delay in seconds";
                }
    
                leaf reload-delay {
                  type uint32 {
                    range "0..10000";
                  }
                  units "second";
                  mandatory true;
                  description
                    "Reload delay in seconds";
                }
              }  // container delay
    
              container ipv4 {
                description
                  "IPv4 HSRP configuration";
                container slave-groups {
                  description
                    "The HSRP slave group configuration table";
                  list slave-group {
                    key "slave-group-number";
                    description
                      "The HSRP slave group being configured";
                    container secondary-ipv4-addresses {
                      description
                        "Secondary HSRP IP address Table";
                      list secondary-ipv4-address {
                        key "address";
                        description
                          "Secondary HSRP IP address";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "HSRP IP address";
                        }
                      }  // list secondary-ipv4-address
                    }  // container secondary-ipv4-addresses
    
                    leaf follow {
                      type string;
                      description
                        "HSRP Group name for this slave to follow";
                    }
    
                    leaf virtual-mac-address {
                      type yang:mac-address;
                      description
                        "HSRP MAC address";
                    }
    
                    leaf primary-ipv4-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "Primary HSRP IP address";
                    }
    
                    leaf slave-group-number {
                      type uint32 {
                        range "0..4095";
                      }
                      description
                        "HSRP group number";
                    }
                  }  // list slave-group
                }  // container slave-groups
    
                container version1 {
                  description
                    "Version 1 HSRP configuration";
                  container groups {
                    description
                      "The HSRP group configuration table";
                    list group {
                      key "group-number";
                      description
                        "The HSRP group being configured";
                      container tracked-interfaces {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-interface {
                          key "interface-name";
                          description
                            "Interface being tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-interface
                      }  // container tracked-interfaces
    
                      container bfd {
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Enable BFD for this remote IP";
                        }
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name to run BFD";
                        }
                      }  // container bfd
    
                      container tracked-objects {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object being tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      container timers {
                        description
                          "Hello and hold timers";
                        leaf hello-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hello time configured in
                           milliseconds, FALSE - Hello time
                           configured in seconds";
                        }
    
                        leaf hello-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hello time in msecs";
                        }
    
                        leaf hello-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "3";
                          description
                            "Hello time in seconds";
                        }
    
                        leaf hold-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hold time configured in
                           milliseconds, FALSE - Hold time
                           configured in seconds";
                        }
    
                        leaf hold-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hold time in msecs";
                        }
    
                        leaf hold-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "10";
                          description
                            "Hold time in seconds";
                        }
                      }  // container timers
    
                      container primary-ipv4-address {
                        description
                          "Primary HSRP IP address";
                        leaf virtual-ip-learn {
                          type boolean;
                          description
                            "TRUE if the HSRP protocol is to learn the
                           virtual IP address it is to use";
                        }
    
                        leaf address {
                          when
                            "../virtual-ip-learn = 'false'" {
                            description
                              "../VirtualIPLearn = 'false'";
                          }
                          type inet:ipv4-address-no-zone;
                          description
                            "HSRP IP address.";
                        }
                      }  // container primary-ipv4-address
    
                      container secondary-ipv4-addresses {
                        description
                          "Secondary HSRP IP address Table";
                        list secondary-ipv4-address {
                          key "address";
                          description
                            "Secondary HSRP IP address";
                          leaf address {
                            type inet:ipv4-address-no-zone;
                            description
                              "HSRP IP address";
                          }
                        }  // list secondary-ipv4-address
                      }  // container secondary-ipv4-addresses
    
                      leaf authentication {
                        type string {
                          length "1..8";
                        }
                        default "cisco";
                        description
                          "Authentication string";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "HSRP Session name (for MGO)";
                      }
    
                      leaf priority {
                        type uint32 {
                          range "0..255";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf preempt {
                        type uint32;
                        default "0";
                        description
                          "Force active if higher priority";
                      }
    
                      leaf virtual-mac-address {
                        type yang:mac-address;
                        description
                          "HSRP MAC address";
                      }
    
                      leaf group-number {
                        type uint32 {
                          range "0..255";
                        }
                        description
                          "HSRP group number";
                      }
                    }  // list group
                  }  // container groups
                }  // container version1
    
                container version2 {
                  description
                    "Version 2 HSRP configuration";
                  container groups {
                    description
                      "The HSRP group configuration table";
                    list group {
                      key "group-number";
                      description
                        "The HSRP group being configured";
                      container secondary-ipv4-addresses {
                        description
                          "Secondary HSRP IP address Table";
                        list secondary-ipv4-address {
                          key "address";
                          description
                            "Secondary HSRP IP address";
                          leaf address {
                            type inet:ipv4-address-no-zone;
                            description
                              "HSRP IP address";
                          }
                        }  // list secondary-ipv4-address
                      }  // container secondary-ipv4-addresses
    
                      container bfd {
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection";
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Enable BFD for this remote IP";
                        }
    
                        leaf interface-name {
                          type xr:Interface-name;
                          description
                            "Interface name to run BFD";
                        }
                      }  // container bfd
    
                      container primary-ipv4-address {
                        description
                          "Primary HSRP IP address";
                        leaf virtual-ip-learn {
                          type boolean;
                          description
                            "TRUE if the HSRP protocol is to learn the
                           virtual IP address it is to use";
                        }
    
                        leaf address {
                          when
                            "../virtual-ip-learn = 'false'" {
                            description
                              "../VirtualIPLearn = 'false'";
                          }
                          type inet:ipv4-address-no-zone;
                          description
                            "HSRP IP address.";
                        }
                      }  // container primary-ipv4-address
    
                      container tracked-objects {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object being tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      container tracked-interfaces {
                        description
                          "The HSRP tracked interface configuration
                         table";
                        list tracked-interface {
                          key "interface-name";
                          description
                            "Interface being tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Interface being tracked";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..255";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-interface
                      }  // container tracked-interfaces
    
                      container timers {
                        description
                          "Hello and hold timers";
                        leaf hello-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hello time configured in
                           milliseconds, FALSE - Hello time
                           configured in seconds";
                        }
    
                        leaf hello-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hello time in msecs";
                        }
    
                        leaf hello-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "3";
                          description
                            "Hello time in seconds";
                        }
    
                        leaf hold-msec-flag {
                          type boolean;
                          default "false";
                          description
                            "TRUE - Hold time configured in
                           milliseconds, FALSE - Hold time
                           configured in seconds";
                        }
    
                        leaf hold-msec {
                          type uint32 {
                            range "100..3000";
                          }
                          units "millisecond";
                          description
                            "Hold time in msecs";
                        }
    
                        leaf hold-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          default "10";
                          description
                            "Hold time in seconds";
                        }
                      }  // container timers
    
                      leaf preempt {
                        type uint32;
                        default "0";
                        description
                          "Force active if higher priority";
                      }
    
                      leaf priority {
                        type uint32 {
                          range "0..255";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf virtual-mac-address {
                        type yang:mac-address;
                        description
                          "HSRP MAC address";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "HSRP Session name (for MGO)";
                      }
    
                      leaf group-number {
                        type uint32 {
                          range "0..4095";
                        }
                        description
                          "HSRP group number";
                      }
                    }  // list group
                  }  // container groups
                }  // container version2
              }  // container ipv4
    
              leaf mac-refresh {
                type uint32 {
                  range "0..10000";
                }
                default "60";
                description
                  "HSRP MGO slave MAC refresh rate";
              }
    
              leaf use-bia {
                type empty;
                description
                  "Use burned-in address";
              }
    
              leaf redirects-disable {
                type empty;
                description
                  "Disable HSRP filtered ICMP redirects";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list interface
          }  // container interfaces
    
          container logging {
            description "HSRP logging options";
            leaf state-change-disable {
              type empty;
              description
                "HSRP state change IOS messages disable";
            }
          }  // container logging
        }  // container hsrp
      }  // module Cisco-IOS-XR-ipv4-hsrp-cfg
    

© 2024 YumaWorks, Inc. All rights reserved.