Cisco-IOS-XR-um-router-vrrp-cfg

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

  • Version: 2020-12-11

    Cisco-IOS-XR-um-router-vrrp-cfg@2020-12-11


    
      module Cisco-IOS-XR-um-router-vrrp-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-vrrp-cfg";
    
        prefix um-router-vrrp-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-um-snmp-server-cfg {
          prefix a1;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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 router-vrrp package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2020-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-11" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        augment /a1:snmp-server/a1:traps {
          container vrrp {
            description "Enable VRRP traps";
            container events {
              presence
                "Indicates a events node is configured.";
              description
                "Enable all VRRP event traps";
            }  // container events
          }  // container vrrp
        }
    
        container router {
          description "Enable a routing process";
          container vrrp {
            presence
              "Indicates a vrrp node is configured.";
            description
              "VRRP configuration subcommands";
            container interfaces {
              description
                "VRRP interface configuration subcommands";
              list interface {
                key "interface-name";
                description
                  "VRRP interface configuration subcommands";
                leaf interface-name {
                  type xr:Interface-name;
                  description
                    "VRRP interface configuration subcommands";
                }
    
                container address-family {
                  description
                    "VRRP address family";
                  container ipv4 {
                    description
                      "IPv4 address family";
                    container vrrps {
                      description
                        "VRRP configuration";
                      list vrrp {
                        key "vrrp-id version";
                        description
                          "VRRP configuration";
                        leaf vrrp-id {
                          type uint32 {
                            range "1..255";
                          }
                          description
                            "VRRP configuration";
                        }
    
                        leaf version {
                          type uint32 {
                            range "2..3";
                          }
                          description
                            "VRRP version";
                        }
    
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Enable VRRP and specify IP address(es)";
                        }
    
                        container secondary-addresses {
                          description
                            "VRRP IPv4 address";
                          list secondary-address {
                            key "address";
                            description
                              "VRRP IPv4 address";
                            leaf address {
                              type inet:ipv4-address-no-zone;
                              description
                                "VRRP IPv4 address";
                            }
                          }  // list secondary-address
                        }  // container secondary-addresses
    
                        leaf priority {
                          type uint32 {
                            range "1..254";
                          }
                          description
                            "Set priority level";
                        }
    
                        container timer {
                          description
                            "Set advertisement timer";
                          leaf advertisement-time-in-seconds {
                            type uint32 {
                              range "1..255";
                            }
                            must
                              "not(../advertisement-time-in-milliseconds)";
                            description
                              "Advertisement time in seconds";
                          }
    
                          leaf advertisement-time-in-milliseconds {
                            type uint32 {
                              range "100..40950";
                            }
                            must
                              "../force and not(../advertisement-time-in-seconds)";
                            description
                              "Configure in milliseconds";
                          }
    
                          container force {
                            presence
                              "Indicates a force node is configured.";
                            description
                              "Force the configured values to be used";
                          }  // container force
                        }  // container timer
    
                        container preempt {
                          description
                            "Preempt Primary router if higher priority";
                          container disable {
                            must "not(../delay)";
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable preemption";
                          }  // container disable
    
                          leaf delay {
                            type uint32 {
                              range "1..3600";
                            }
                            must
                              "not(../disable)";
                            description
                              "Wait before preempting";
                          }
                        }  // container preempt
    
                        container accept-mode {
                          description
                            "Accept mode status for this IP";
                          container disable {
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable accept mode";
                          }  // container disable
                        }  // container accept-mode
    
                        container track {
                          description
                            "Track an item, reducing priority if it goes down";
                          container interfaces {
                            description
                              "Track an interface";
                            list interface {
                              key "interface-name";
                              description
                                "Track an interface";
                              leaf interface-name {
                                type xr:Interface-name;
                                description
                                  "Track an interface";
                              }
    
                              leaf priority-decrement {
                                type uint32 {
                                  range "1..254";
                                }
                                description
                                  "Priority decrement";
                              }
                            }  // list interface
                          }  // container interfaces
    
                          container objects {
                            description
                              "Object Tracking";
                            list object {
                              key "object-name";
                              description
                                "Object Tracking";
                              leaf object-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                description
                                  "Object to be tracked";
                              }
    
                              leaf priority-decrement {
                                type uint32 {
                                  range "1..254";
                                }
                                mandatory true;
                                description
                                  "Priority decrement";
                              }
                            }  // list object
                          }  // container objects
                        }  // container track
    
                        container bfd {
                          description
                            "Configure BFD parameters";
                          container fast-detect {
                            description
                              "Enable Fast detection";
                            container peer {
                              description
                                "Information about VRRP peer for BFD monitoring";
                              leaf ipv4 {
                                type inet:ipv4-address-no-zone;
                                description
                                  "BFD peer interface IPv4 address";
                              }
                            }  // container peer
                          }  // container fast-detect
                        }  // container bfd
    
                        leaf name {
                          type xr:Cisco-ios-xr-string {
                            length "1..800";
                          }
                          description
                            "Configure VRRP Session name";
                        }
    
                        leaf text-authentication {
                          type xr:Cisco-ios-xr-string {
                            length "1..8";
                          }
                          description
                            "Set plain text authentication string";
                        }
                      }  // list vrrp
                    }  // container vrrps
    
                    container vrrp-subordinates {
                      description
                        "VRRP configuration";
                      list vrrp-subordinate {
                        key "vrrp-id";
                        description
                          "VRRP configuration";
                        leaf vrrp-id {
                          type uint32 {
                            range "1..255";
                          }
                          description
                            "VRRP configuration";
                        }
    
                        leaf address {
                          type inet:ipv4-address-no-zone;
                          description
                            "Specify Virtual IP address(es)";
                        }
    
                        container secondary-addresses {
                          description
                            "VRRP IPv4 address";
                          list secondary-address {
                            key "address";
                            description
                              "VRRP IPv4 address";
                            leaf address {
                              type inet:ipv4-address-no-zone;
                              description
                                "VRRP IPv4 address";
                            }
                          }  // list secondary-address
                        }  // container secondary-addresses
    
                        container accept-mode {
                          description
                            "Accept mode status for this IP";
                          container disable {
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable accept mode";
                          }  // container disable
                        }  // container accept-mode
    
                        leaf follow {
                          type xr:Cisco-ios-xr-string {
                            length "1..800";
                          }
                          description
                            "Follow specified MGO session";
                        }
                      }  // list vrrp-subordinate
                    }  // container vrrp-subordinates
                  }  // container ipv4
    
                  container ipv6 {
                    description
                      "IPv6 address family";
                    container vrrps {
                      description
                        "VRRP configuration";
                      list vrrp {
                        key "vrrp-id";
                        description
                          "VRRP configuration";
                        leaf vrrp-id {
                          type uint32 {
                            range "1..255";
                          }
                          description
                            "VRRP configuration";
                        }
    
                        container address {
                          description
                            "Enable VRRP and specify IP address(es)";
                          container global {
                            description
                              "Global VRRP IPv6 address";
                            list global-address {
                              key "address";
                              leaf address {
                                type inet:ipv6-address-no-zone;
                                description
                                  "Set Global VRRP IPv6 address";
                              }
                            }  // list global-address
                          }  // container global
    
                          container lonklocal {
                            description
                              "VRRP IPv6 linklocal address";
                            leaf linklocal-address {
                              type inet:ipv6-address-no-zone;
                              must
                                "not(../autoconfig)";
                              description
                                "VRRP IPv6 linklocal address";
                            }
    
                            container autoconfig {
                              must
                                "not(../linklocal-address)";
                              presence
                                "Indicates a autoconfig node is configured.";
                              description
                                "Autoconfigure the VRRP IPv6 linklocal address";
                            }  // container autoconfig
                          }  // container lonklocal
                        }  // container address
    
                        leaf priority {
                          type uint32 {
                            range "1..254";
                          }
                          description
                            "Set priority level";
                        }
    
                        container timer {
                          description
                            "Set advertisement timer";
                          leaf advertisement-time-in-seconds {
                            type uint32 {
                              range "1..255";
                            }
                            must
                              "not(../advertisement-time-in-milliseconds)";
                            description
                              "Advertisement time in seconds";
                          }
    
                          leaf advertisement-time-in-milliseconds {
                            type uint32 {
                              range "100..40950";
                            }
                            must
                              "../force and not(../advertisement-time-in-seconds)";
                            description
                              "Configure in milliseconds";
                          }
    
                          container force {
                            presence
                              "Indicates a force node is configured.";
                            description
                              "Force the configured values to be used";
                          }  // container force
                        }  // container timer
    
                        container preempt {
                          description
                            "Preempt Primary router if higher priority";
                          container disable {
                            must "not(../delay)";
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable preemption";
                          }  // container disable
    
                          leaf delay {
                            type uint32 {
                              range "1..3600";
                            }
                            must
                              "not(../disable)";
                            description
                              "Wait before preempting";
                          }
                        }  // container preempt
    
                        container accept-mode {
                          description
                            "Accept mode status for this IP";
                          container disable {
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable accept mode";
                          }  // container disable
                        }  // container accept-mode
    
                        container track {
                          description
                            "Track an item, reducing priority if it goes down";
                          container interfaces {
                            description
                              "Track an interface";
                            list interface {
                              key "interface-name";
                              description
                                "Track an interface";
                              leaf interface-name {
                                type xr:Interface-name;
                                description
                                  "Track an interface";
                              }
    
                              leaf priority-decrement {
                                type uint32 {
                                  range "1..254";
                                }
                                description
                                  "Priority decrement";
                              }
                            }  // list interface
                          }  // container interfaces
    
                          container objects {
                            description
                              "Object Tracking";
                            list object {
                              key "object-name";
                              description
                                "Object Tracking";
                              leaf object-name {
                                type xr:Cisco-ios-xr-string {
                                  length
                                    "1..800";
                                }
                                description
                                  "Object to be tracked";
                              }
    
                              leaf priority-decrement {
                                type uint32 {
                                  range "1..254";
                                }
                                mandatory true;
                                description
                                  "Priority decrement";
                              }
                            }  // list object
                          }  // container objects
                        }  // container track
    
                        container bfd {
                          description
                            "Configure BFD parameters";
                          container fast-detect {
                            description
                              "Enable Fast detection";
                            container peer {
                              description
                                "Information about VRRP peer for BFD monitoring";
                              leaf ipv6 {
                                type inet:ipv6-address-no-zone;
                                description
                                  "VRRP BFD remote interface IP address";
                              }
                            }  // container peer
                          }  // container fast-detect
                        }  // container bfd
    
                        leaf name {
                          type xr:Cisco-ios-xr-string {
                            length "1..800";
                          }
                          description
                            "Configure VRRP Session name";
                        }
                      }  // list vrrp
                    }  // container vrrps
    
                    container vrrp-subordinates {
                      description
                        "VRRP configuration";
                      list vrrp-subordinate {
                        key "vrrp-id";
                        description
                          "VRRP configuration";
                        leaf vrrp-id {
                          type uint32 {
                            range "1..255";
                          }
                          description
                            "VRRP configuration";
                        }
    
                        container address {
                          description
                            "Enable VRRP and specify IP address(es)";
                          container global {
                            description
                              "Global VRRP IPv6 address";
                            list global-address {
                              key "address";
                              leaf address {
                                type inet:ipv6-address-no-zone;
                                description
                                  "Set Global VRRP IPv6 address";
                              }
                            }  // list global-address
                          }  // container global
    
                          container lonklocal {
                            description
                              "VRRP IPv6 linklocal address";
                            leaf linklocal-address {
                              type inet:ipv6-address-no-zone;
                              must
                                "not(../autoconfig)";
                              description
                                "VRRP IPv6 linklocal address";
                            }
    
                            container autoconfig {
                              must
                                "not(../linklocal-address)";
                              presence
                                "Indicates a autoconfig node is configured.";
                              description
                                "Autoconfigure the VRRP IPv6 linklocal address";
                            }  // container autoconfig
                          }  // container lonklocal
                        }  // container address
    
                        container accept-mode {
                          description
                            "Accept mode status for this IP";
                          container disable {
                            presence
                              "Indicates a disable node is configured.";
                            description
                              "Disable accept mode";
                          }  // container disable
                        }  // container accept-mode
    
                        leaf follow {
                          type xr:Cisco-ios-xr-string {
                            length "1..800";
                          }
                          description
                            "Follow specified MGO session";
                        }
                      }  // list vrrp-subordinate
                    }  // container vrrp-subordinates
                  }  // container ipv6
                }  // container address-family
    
                container delay {
                  description
                    "Set activation delay for vrrp";
                  leaf minimum {
                    type uint32 {
                      range "0..10000";
                    }
                    must "../reload";
                    description
                      "Set minimum delay on every interface up event";
                  }
    
                  leaf reload {
                    type uint32 {
                      range "0..10000";
                    }
                    must "../minimum";
                    description
                      "Set reload delay for first interface up event";
                  }
                }  // container delay
    
                container bfd {
                  description
                    "Configure BFD parameters";
                  leaf minimum-interval {
                    type uint32 {
                      range "3..30000";
                    }
                    description "Hello interval";
                  }
    
                  leaf multiplier {
                    type uint32 {
                      range "2..50";
                    }
                    description
                      "Detect multiplier";
                  }
                }  // container bfd
    
                leaf mac-refresh {
                  type uint32 {
                    range "0..10000";
                  }
                  description
                    "Set the Subordinate MAC-refresh rate for this interface";
                }
              }  // list interface
            }  // container interfaces
    
            container message {
              description "VRRP IOS messages";
              container state {
                description
                  "VRRP state change messages";
                container disable {
                  presence
                    "Indicates a disable node is configured.";
                  description "Disable";
                }  // container disable
              }  // container state
            }  // container message
          }  // container vrrp
        }  // container router
      }  // module Cisco-IOS-XR-um-router-vrrp-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.