Cisco-IOS-XR-ipv4-vrrp-cfg

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

  • Version: 2019-11-29

    Cisco-IOS-XR-ipv4-vrrp-cfg@2019-11-29


    
      module Cisco-IOS-XR-ipv4-vrrp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-cfg";
    
        prefix ipv4-vrrp-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        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-vrrp package configuration.
         
         This module contains definitions
         for the following management objects:
           vrrp: VRRP 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-11-29" {
          description
            "Added a subnode to virtual-router container and changed path of interface tracking.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-05-19" {
          description
            "Added new path for router configuration enable.";
        }
    
        revision "2018-05-15" {
          description
            "Modified timer leaf path, removed msec field.";
        }
    
        revision "2017-11-05" {
          description
            "Corrected boolean values in when statements.";
        }
    
        revision "2017-05-19" {
          description
            "Marked delay leafs min-delay and reload-delay as mandatory.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2016-12-16" {
          description "IOS XR 6.2.1 revision.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        container vrrp {
          presence "CLI submode compatibility.";
          description "VRRP configuration";
          container logging {
            description "VRRP logging options";
            leaf state-change-disable {
              type empty;
              description
                "VRRP state change IOS messages disable";
            }
          }  // container logging
    
          container interfaces {
            description
              "Interface configuration table";
            list interface {
              key "interface-name";
              description
                "The interface being configured";
              container ipv6 {
                description
                  "IPv6 VRRP configuration";
                container version3 {
                  description
                    "Version 3 VRRP configuration";
                  container virtual-routers {
                    description
                      "The VRRP virtual router configuration table";
                    list virtual-router {
                      key "vr-id";
                      description
                        "The VRRP virtual router being configured";
                      container global-ipv6-addresses {
                        description
                          "The table of VRRP virtual global IPv6
                         addresses";
                        list global-ipv6-address {
                          key "ip-address";
                          description
                            "A VRRP virtual global IPv6 IP address";
                          leaf ip-address {
                            type inet:ip-address-no-zone;
                            description
                              "VRRP virtual global IPv6 address";
                          }
                        }  // list global-ipv6-address
                      }  // container global-ipv6-addresses
    
                      container tracks {
                        description
                          "Track an item, reducing priority if it
                         goes down";
                        list track {
                          key "interface-name";
                          description
                            "Object to be tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf enable {
                            type empty;
                            mandatory true;
                            description
                              "Enable this track";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            description
                              "Priority decrement";
                          }
                        }  // list track
                      }  // container tracks
    
                      container timer {
                        description
                          "Set advertisement timer";
                        leaf advertisement-time-in-msec {
                          type uint32 {
                            range "100..40950";
                          }
                          units "millisecond";
                          description
                            "Advertisement time in milliseconds";
                        }
    
                        leaf advertisement-time-in-sec {
                          type uint32 {
                            range "1..40";
                          }
                          units "second";
                          description
                            "Advertisement time in seconds";
                        }
    
                        leaf forced {
                          type empty;
                          units "millisecond";
                          description
                            "TRUE - Force configured timer values to
                           be used, required when configured in
                           milliseconds";
                        }
                      }  // container timer
    
                      container tracked-objects {
                        description
                          "Track an object, reducing priority if it
                         goes down";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object to be tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      container link-local-ipv6-address {
                        presence
                          "Contains mandatory nodes that used to set default values";
                        description
                          "The VRRP IPv6 virtual linklocal address";
                        leaf ip-address {
                          when
                            "../auto-configure = 'false'" {
                            description
                              "../AutoConfigure = 'false'";
                          }
                          type inet:ip-address-no-zone;
                          description
                            "VRRP IPv6 virtual linklocal address";
                        }
    
                        leaf auto-configure {
                          type boolean;
                          mandatory true;
                          description
                            "TRUE if the virtual linklocal address is
                           to be autoconfigured FALSE if an IPv6
                           virtual linklocal address is configured";
                        }
                      }  // container link-local-ipv6-address
    
                      leaf group-enable {
                        type empty;
                        description
                          "Enable vrrp process";
                      }
    
                      leaf bfd {
                        type inet:ip-address-no-zone;
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection for this IP";
                      }
    
                      leaf priority {
                        type uint32 {
                          range "1..254";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf accept-mode-disable {
                        type empty;
                        description
                          "Disable Accept Mode for this virtual
                         IPAddress";
                      }
    
                      leaf preempt {
                        type uint32 {
                          range "0..3600";
                        }
                        default "0";
                        description
                          "Preempt Master router if higher priority";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "VRRP Session Name";
                      }
    
                      leaf vr-id {
                        type uint32 {
                          range "1..255";
                        }
                        description
                          "VRID Virtual Router Identifier";
                      }
                    }  // list virtual-router
                  }  // container virtual-routers
                }  // container version3
    
                container slave-virtual-routers {
                  description
                    "The VRRP slave group configuration table";
                  list slave-virtual-router {
                    key "slave-virtual-router-id";
                    description
                      "The VRRP slave being configured";
                    container link-local-ipv6-address {
                      presence
                        "Contains mandatory nodes that used to set default values";
                      description
                        "The VRRP IPv6 virtual linklocal address";
                      leaf ip-address {
                        when
                          "../auto-configure = 'false'" {
                          description
                            "../AutoConfigure = 'false'";
                        }
                        type inet:ip-address-no-zone;
                        description
                          "VRRP IPv6 virtual linklocal address";
                      }
    
                      leaf auto-configure {
                        type boolean;
                        mandatory true;
                        description
                          "TRUE if the virtual linklocal address is
                         to be autoconfigured FALSE if an IPv6
                         virtual linklocal address is configured";
                      }
                    }  // container link-local-ipv6-address
    
                    container global-ipv6-addresses {
                      description
                        "The table of VRRP virtual global IPv6
                       addresses";
                      list global-ipv6-address {
                        key "ip-address";
                        description
                          "A VRRP virtual global IPv6 IP address";
                        leaf ip-address {
                          type inet:ip-address-no-zone;
                          description
                            "VRRP virtual global IPv6 address";
                        }
                      }  // list global-ipv6-address
                    }  // container global-ipv6-addresses
    
                    leaf follow {
                      type string;
                      description
                        "VRRP Session name for this slave to follow";
                    }
    
                    leaf accept-mode-disable {
                      type empty;
                      description
                        "Disable Accept Mode for this virtual
                       IPAddress";
                    }
    
                    leaf slave-virtual-router-id {
                      type uint32 {
                        range "1..255";
                      }
                      description
                        "Virtual Router ID";
                    }
                  }  // list slave-virtual-router
                }  // container slave-virtual-routers
              }  // container ipv6
    
              container delay {
                presence
                  "Indicates a delay node is configured.";
                description
                  "Minimum and Reload Delay";
                leaf min-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 VRRP configuration";
                container version3 {
                  description
                    "Version 3 VRRP configuration";
                  container virtual-routers {
                    description
                      "The VRRP virtual router configuration table";
                    list virtual-router {
                      key "vr-id";
                      description
                        "The VRRP virtual router being configured";
                      container timer {
                        description
                          "Set advertisement timer";
                        leaf advertisement-time-in-msec {
                          type uint32 {
                            range "100..40950";
                          }
                          units "millisecond";
                          description
                            "Advertisement time in milliseconds";
                        }
    
                        leaf advertisement-time-in-sec {
                          type uint32 {
                            range "1..40";
                          }
                          units "second";
                          description
                            "Advertisement time in seconds";
                        }
    
                        leaf forced {
                          type empty;
                          units "millisecond";
                          description
                            "TRUE - Force configured timer values to
                           be used, required when configured in
                           milliseconds";
                        }
                      }  // container timer
    
                      container secondary-ipv4-addresses {
                        description
                          "The table of VRRP secondary IPv4 addresses";
                        list secondary-ipv4-address {
                          key "ip-address";
                          description
                            "A VRRP secondary IPv4 address";
                          leaf ip-address {
                            type inet:ipv4-address-no-zone;
                            description
                              "VRRP Secondary IPv4 address";
                          }
                        }  // list secondary-ipv4-address
                      }  // container secondary-ipv4-addresses
    
                      container tracked-objects {
                        description
                          "Track an object, reducing priority if it
                         goes down";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object to be tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      container tracks {
                        description
                          "Track an item, reducing priority if it
                         goes down";
                        list track {
                          key "interface-name";
                          description
                            "Object to be tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf enable {
                            type empty;
                            mandatory true;
                            description
                              "Enable this track";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            description
                              "Priority decrement";
                          }
                        }  // list track
                      }  // container tracks
    
                      leaf group-enable {
                        type empty;
                        description
                          "Enable vrrp process";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "VRRP Session Name";
                      }
    
                      leaf bfd {
                        type inet:ipv4-address-no-zone;
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection for this IP";
                      }
    
                      leaf primary-ipv4-address {
                        type inet:ipv4-address-no-zone;
                        description
                          "The Primary VRRP IPv4 address";
                      }
    
                      leaf preempt {
                        type uint32 {
                          range "0..3600";
                        }
                        default "0";
                        description
                          "Preempt Master router if higher priority";
                      }
    
                      leaf accept-mode-disable {
                        type empty;
                        description
                          "Disable Accept Mode for this virtual
                         IPAddress";
                      }
    
                      leaf priority {
                        type uint32 {
                          range "1..254";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf vr-id {
                        type uint32 {
                          range "1..255";
                        }
                        description
                          "VRID Virtual Router Identifier";
                      }
                    }  // list virtual-router
                  }  // container virtual-routers
                }  // container version3
    
                container slave-virtual-routers {
                  description
                    "The VRRP slave group configuration table";
                  list slave-virtual-router {
                    key "slave-virtual-router-id";
                    description
                      "The VRRP slave being configured";
                    container secondary-ipv4-addresses {
                      description
                        "The table of VRRP secondary IPv4 addresses";
                      list secondary-ipv4-address {
                        key "ip-address";
                        description
                          "A VRRP secondary IPv4 address";
                        leaf ip-address {
                          type inet:ipv4-address-no-zone;
                          description
                            "VRRP Secondary IPv4 address";
                        }
                      }  // list secondary-ipv4-address
                    }  // container secondary-ipv4-addresses
    
                    leaf follow {
                      type string;
                      description
                        "VRRP Session name for this slave to follow";
                    }
    
                    leaf accept-mode-disable {
                      type empty;
                      description
                        "Disable Accept Mode for this virtual
                       IPAddress";
                    }
    
                    leaf primary-ipv4-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "The Primary VRRP IPv4 address";
                    }
    
                    leaf slave-virtual-router-id {
                      type uint32 {
                        range "1..255";
                      }
                      description
                        "Virtual Router ID";
                    }
                  }  // list slave-virtual-router
                }  // container slave-virtual-routers
    
                container version2 {
                  description
                    "Version 2 VRRP configuration";
                  container virtual-routers {
                    description
                      "The VRRP virtual router configuration table";
                    list virtual-router {
                      key "vr-id";
                      description
                        "The VRRP virtual router being configured";
                      container timer {
                        description
                          "Set advertisement timer";
                        leaf advertisement-time-in-msec {
                          type uint32 {
                            range "100..40950";
                          }
                          units "millisecond";
                          description
                            "Advertisement time in milliseconds";
                        }
    
                        leaf advertisement-time-in-sec {
                          type uint32 {
                            range "1..255";
                          }
                          units "second";
                          description
                            "Advertisement time in seconds";
                        }
    
                        leaf forced {
                          type empty;
                          units "millisecond";
                          description
                            "TRUE - Force configured timer values to
                           be used, required when configured in
                           milliseconds";
                        }
                      }  // container timer
    
                      container secondary-ipv4-addresses {
                        description
                          "The table of VRRP secondary IPv4 addresses";
                        list secondary-ipv4-address {
                          key "ip-address";
                          description
                            "A VRRP secondary IPv4 address";
                          leaf ip-address {
                            type inet:ipv4-address-no-zone;
                            description
                              "VRRP Secondary IPv4 address";
                          }
                        }  // list secondary-ipv4-address
                      }  // container secondary-ipv4-addresses
    
                      container tracks {
                        description
                          "Track an item, reducing priority if it
                         goes down";
                        list track {
                          key "interface-name";
                          description
                            "Object to be tracked";
                          leaf interface-name {
                            type xr:Interface-name;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf enable {
                            type empty;
                            mandatory true;
                            description
                              "Enable this track";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            description
                              "Priority decrement";
                          }
                        }  // list track
                      }  // container tracks
    
                      container tracked-objects {
                        description
                          "Track an object, reducing priority if it
                         goes down";
                        list tracked-object {
                          key "object-name";
                          description
                            "Object to be tracked";
                          leaf object-name {
                            type xr:Cisco-ios-xr-string;
                            description
                              "Object to be tracked, interface name for
                             interfaces";
                          }
    
                          leaf priority-decrement {
                            type uint32 {
                              range "1..254";
                            }
                            mandatory true;
                            description
                              "Priority decrement";
                          }
                        }  // list tracked-object
                      }  // container tracked-objects
    
                      leaf priority {
                        type uint32 {
                          range "1..254";
                        }
                        default "100";
                        description
                          "Priority value";
                      }
    
                      leaf primary-ipv4-address {
                        type inet:ipv4-address-no-zone;
                        description
                          "The Primary VRRP IPv4 address";
                      }
    
                      leaf group-enable {
                        type empty;
                        description
                          "Enable vrrp process";
                      }
    
                      leaf preempt {
                        type uint32 {
                          range "0..3600";
                        }
                        default "0";
                        description
                          "Preempt Master router if higher priority";
                      }
    
                      leaf text-password {
                        type string;
                        description
                          "Authentication password, 8 chars max";
                      }
    
                      leaf bfd {
                        type inet:ipv4-address-no-zone;
                        description
                          "Enable use of Bidirectional Forwarding
                         Detection for this IP";
                      }
    
                      leaf session-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..16";
                        }
                        description
                          "VRRP Session Name";
                      }
    
                      leaf accept-mode-disable {
                        type empty;
                        description
                          "Disable Accept Mode for this virtual
                         IPAddress";
                      }
    
                      leaf vr-id {
                        type uint32 {
                          range "1..255";
                        }
                        description
                          "VRID Virtual Router Identifier";
                      }
                    }  // list virtual-router
                  }  // container virtual-routers
                }  // container version2
              }  // container ipv4
    
              container bfd {
                description "BFD configuration";
                leaf interval {
                  type uint32 {
                    range "3..30000";
                  }
                  units "millisecond";
                  description
                    "Hello interval for BFD sessions created by
                   vrrp";
                }
    
                leaf detection-multiplier {
                  type uint32 {
                    range "2..50";
                  }
                  description
                    "Detection multiplier for BFD sessions created
                   by vrrp";
                }
              }  // container bfd
    
              leaf mac-refresh {
                type uint32 {
                  range "0..10000";
                }
                units "second";
                default "60";
                description
                  "VRRP Slave MAC-refresh rate in seconds";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description
                  "Interface name to configure";
              }
            }  // list interface
          }  // container interfaces
    
          leaf enable {
            type empty;
            description "Enable vrrp process";
          }
        }  // container vrrp
      }  // module Cisco-IOS-XR-ipv4-vrrp-cfg
    

© 2024 YumaWorks, Inc. All rights reserved.