This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-hsrp package configuration. This module contains de...
Version: 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.