VRRPV3-MIB DEFINITIONS ::= BEGIN


       IMPORTS
           MODULE-IDENTITY, OBJECT-TYPE,
           NOTIFICATION-TYPE, Counter32,
           Integer32, mib-2, Unsigned32,
           Counter64, TimeTicks
               FROM SNMPv2-SMI                 -- RFC2578

           TEXTUAL-CONVENTION, RowStatus,
           MacAddress, TruthValue, TimeStamp,
           TimeInterval
               FROM SNMPv2-TC                  -- RFC2579

           MODULE-COMPLIANCE, OBJECT-GROUP,
           NOTIFICATION-GROUP
               FROM SNMPv2-CONF                -- RFC2580






           ifIndex
               FROM IF-MIB                     -- RFC2863
           InetAddressType, InetAddress

               FROM INET-ADDRESS-MIB;          -- RFC4001

      vrrpv3MIB  MODULE-IDENTITY
           LAST-UPDATED "201202130000Z"         -- Feb 13, 2012
           ORGANIZATION "IETF VRRP Working Group"
           CONTACT-INFO
                  "WG E-Mail: vrrp@ietf.org

                   Editor:    Kalyan Tata
                              Nokia
                              313 Fairchild Dr,
                              Mountain View, CA 94043
                              Tata_kalyan@yahoo.com"

           DESCRIPTION
               "This MIB describes objects used for managing Virtual
                Router Redundancy Protocol version 3 (VRRPv3).

                Copyright (c) 2012 IETF Trust and the persons
                identified as authors of the code.  All rights
                reserved.

                Redistribution and use in source and binary forms,
                with or without modification, is permitted pursuant
                to, and subject to the license terms contained in,
                the Simplified BSD License set forth in Section
                4.c of the IETF Trust's Legal Provisions Relating
                to IETF Documents
                (http://trustee.ietf.org/license-info).

                This version of the MIB module is part of RFC 6527.
                Please see the RFC for full legal notices."

           REVISION "201202120000Z"    -- Feb 13, 2012
           DESCRIPTION "Initial version as published in RFC 6527."

           ::= { mib-2 207 }

   -- Textual Conventions

      Vrrpv3VrIdTC ::= TEXTUAL-CONVENTION
           DISPLAY-HINT "d"
           STATUS       current
           DESCRIPTION





               "The value of the Virtual Router Identifier noted as
               (VRID) in RFC 5798.  This, along with interface index
               (ifIndex) and IP version, serves to uniquely identify
               a virtual router on a given VRRP router."
           REFERENCE "RFC 5798 (Sections 3 and 5.2.3)"
           SYNTAX      Integer32 (1..255)

   --  VRRPv3 MIB Groups

      vrrpv3Notifications   OBJECT IDENTIFIER ::= { vrrpv3MIB 0 }
      vrrpv3Objects         OBJECT IDENTIFIER ::= { vrrpv3MIB 1 }
      vrrpv3Conformance     OBJECT IDENTIFIER ::= { vrrpv3MIB 2 }

   -- VRRPv3 MIB Objects

      vrrpv3Operations      OBJECT IDENTIFIER ::= { vrrpv3Objects 1 }
      vrrpv3Statistics      OBJECT IDENTIFIER ::= { vrrpv3Objects 2 }

   --  VRRPv3 Operations Table

       vrrpv3OperationsTable OBJECT-TYPE
           SYNTAX       SEQUENCE OF Vrrpv3OperationsEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "Unified Operations table for a VRRP router that
                consists of a sequence (i.e., one or more conceptual
                rows) of 'vrrpv3OperationsEntry' items each of which
                describe the operational characteristics of a virtual
                router."

           ::= { vrrpv3Operations 1 }

       vrrpv3OperationsEntry OBJECT-TYPE
           SYNTAX       Vrrpv3OperationsEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "An entry in the vrrpv3OperationsTable containing the
                operational characteristics of a virtual router.
                On a VRRP router, a given virtual router is
                identified by a combination of ifIndex, VRID, and
                the IP version.  ifIndex represents an interface of
                the router.

                A row must be created with vrrpv3OperationsStatus
                set to initialize(1) and cannot transition to
                backup(2) or master(3) until





                vrrpv3OperationsRowStatus is transitioned to
                active(1).

                The information in this table is persistent and when
                written the entity SHOULD save the change to non-
                volatile storage."

           INDEX    { ifIndex, vrrpv3OperationsVrId,
                      vrrpv3OperationsInetAddrType
                     }
           ::= { vrrpv3OperationsTable 1 }

       Vrrpv3OperationsEntry ::=

           SEQUENCE {
               vrrpv3OperationsVrId
                   Vrrpv3VrIdTC,
               vrrpv3OperationsInetAddrType
                   InetAddressType,
               vrrpv3OperationsMasterIpAddr
                   InetAddress,
               vrrpv3OperationsPrimaryIpAddr
                   InetAddress,
               vrrpv3OperationsVirtualMacAddr
                   MacAddress,
               vrrpv3OperationsStatus
                   INTEGER,
               vrrpv3OperationsPriority
                   Unsigned32,
               vrrpv3OperationsAddrCount
                   Integer32,
               vrrpv3OperationsAdvInterval
                   TimeInterval,
               vrrpv3OperationsPreemptMode
                   TruthValue,
               vrrpv3OperationsAcceptMode
                   TruthValue,
               vrrpv3OperationsUpTime
                   TimeTicks,
               vrrpv3OperationsRowStatus
                   RowStatus
       }
       vrrpv3OperationsVrId OBJECT-TYPE
           SYNTAX       Vrrpv3VrIdTC
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION






               "This object contains the Virtual Router Identifier
                (VRID)."
           REFERENCE "RFC 4001"
           ::= { vrrpv3OperationsEntry 1 }

       vrrpv3OperationsInetAddrType OBJECT-TYPE
           SYNTAX       InetAddressType
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
              "The IP address type of Vrrpv3OperationsEntry and
               Vrrpv3AssociatedIpAddrEntry.  This value determines
               the type for vrrpv3OperationsMasterIpAddr,
               vrrpv3OperationsPrimaryIpAddr, and
               vrrpv3AssociatedIpAddrAddress.

                ipv4(1) and ipv6(2) are the only two values supported
                in this MIB module."
           REFERENCE "RFC 4001"
           ::= { vrrpv3OperationsEntry 2 }

       vrrpv3OperationsMasterIpAddr OBJECT-TYPE
           SYNTAX       InetAddress
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
             "The master router's real IP address.  The master router
             would set this address to vrrpv3OperationsPrimaryIpAddr
             while transitioning to master state.  For backup
             routers, this is the IP address listed as the source in
             the VRRP advertisement last received by this virtual
             router."
           REFERENCE "RFC 5798"
           ::= { vrrpv3OperationsEntry 3 }

       vrrpv3OperationsPrimaryIpAddr OBJECT-TYPE
           SYNTAX       InetAddress
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
               "In the case where there is more than one IP
               Address (associated IP addresses) for a given
               'ifIndex', this object is used to specify the IP
               address that will become the
               vrrpv3OperationsMasterIpAddr', should the virtual
               router transition from backup state to master."
           ::= { vrrpv3OperationsEntry 4 }






       vrrpv3OperationsVirtualMacAddr OBJECT-TYPE
           SYNTAX       MacAddress
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
              "The virtual MAC address of the virtual router.
              Although this object can be derived from the
              'vrrpv3OperationsVrId' object, it is defined so that it
              is easily obtainable by a management application and
              can be included in VRRP-related SNMP notifications."
           ::= { vrrpv3OperationsEntry 5 }

       vrrpv3OperationsStatus OBJECT-TYPE
           SYNTAX       INTEGER {
               initialize(1),
               backup(2),
               master(3)
           }
           MAX-ACCESS   read-only
           STATUS       current

           DESCRIPTION
               "The current state of the virtual router.  This object
               has three defined values:

               - 'initialize', which indicates that the
                  virtual router is waiting for a startup event.

               - 'backup', which indicates that the virtual router is
                  monitoring the availability of the master router.

               - 'master', which indicates that the virtual router
                  is forwarding packets for IP addresses that are
                  associated with this router."
           REFERENCE "RFC 5798"
           ::= { vrrpv3OperationsEntry 6 }

       vrrpv3OperationsPriority OBJECT-TYPE
           SYNTAX       Unsigned32 (0..255)
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
             "This object specifies the priority to be used for the
             virtual router master election process; higher values
             imply higher priority.

             A priority of '0', although not settable, is sent by
             the master router to indicate that this router has





             ceased to participate in VRRP, and a backup virtual
             router should transition to become a new master.

             A priority of 255 is used for the router that owns the
             associated IP address(es) for VRRP over IPv4 and hence
             is not settable.

             Setting the values of this object to 0 or 255 should be
             rejected by the agents implementing this MIB module.
             For example, an SNMP agent would return 'badValue(3)'
             when a user tries to set the values 0 or 255 for this
             object."

           REFERENCE "RFC 5798, Section 6.1"
           DEFVAL       { 100 }
           ::= { vrrpv3OperationsEntry 7 }

       vrrpv3OperationsAddrCount OBJECT-TYPE
           SYNTAX       Integer32 (0..255)
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The number of IP addresses that are associated with
               this virtual router.  This number is equal to the
               number of rows in the vrrpv3AssociatedAddrTable that
               correspond to a given ifIndex/VRID/IP version."
           REFERENCE "RFC 5798, Section 6.1"
           ::= { vrrpv3OperationsEntry 8 }

       vrrpv3OperationsAdvInterval OBJECT-TYPE
           SYNTAX       TimeInterval (1..4095)
           UNITS        "centiseconds"
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
               "The time interval, in centiseconds, between sending
               advertisement messages.  Only the master router sends
               VRRP advertisements."
           REFERENCE "RFC 5798, Section 6.1"
           DEFVAL       { 100}
           ::= { vrrpv3OperationsEntry 9 }

       vrrpv3OperationsPreemptMode OBJECT-TYPE
           SYNTAX       TruthValue
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION






             "Controls whether a higher priority virtual router will
             preempt a lower priority master."
           REFERENCE "RFC 5798, Section 6.1"
           DEFVAL       { true }
           ::= { vrrpv3OperationsEntry 10 }

       vrrpv3OperationsAcceptMode OBJECT-TYPE
           SYNTAX       TruthValue
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
              "Controls whether a virtual router in master state
              will accept packets addressed to the address owner's
              IPv6 address as its own if it is not the IPv6 address
              owner.  Default is false(2).
              This object is not relevant for rows representing VRRP
              over IPv4 and should be set to false(2)."
           DEFVAL       { false }
           ::= { vrrpv3OperationsEntry 11 }

       vrrpv3OperationsUpTime OBJECT-TYPE
           SYNTAX       TimeTicks
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "This value represents the amount of time, in
               TimeTicks (hundredth of a second), since this virtual
               router (i.e., the 'vrrpv3OperationsStatus')
               transitioned out of 'initialize'."
           REFERENCE "RFC 5798, Section 6.1"
           ::= { vrrpv3OperationsEntry 12 }

       vrrpv3OperationsRowStatus OBJECT-TYPE
           SYNTAX       RowStatus
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
             "The RowStatus variable should be used in accordance to
              installation and removal conventions for conceptual
              rows.

              To create a row in this table, a manager sets this
              object to either createAndGo(4) or createAndWait(5).
              Until instances of all corresponding columns are
              appropriately configured, the value of the
              corresponding instance of the
              'vrrpv3OperationsRowStatus' column will be read as
              notReady(3).





              In particular, a newly created row cannot be made
              active(1) until (minimally) the corresponding instance
              of vrrpv3OperationsInetAddrType, vrrpv3OperationsVrId,
              and vrrpv3OperationsPrimaryIpAddr has been set, and
              there is at least one active row in the
              'vrrpv3AssociatedIpAddrTable' defining an associated
              IP address.

              notInService(2) should be used to administratively
              bring the row down.

              A typical order of operation to add a row is:
              1. Create a row in vrrpv3OperationsTable with
              createAndWait(5).
              2. Create one or more corresponding rows in
              vrrpv3AssociatedIpAddrTable.
              3. Populate the vrrpv3OperationsEntry.
              4. Set vrrpv3OperationsRowStatus to active(1).

              A typical order of operation to delete an entry is:
              1. Set vrrpv3OperationsRowStatus to notInService(2).
              2. Set the corresponding rows in
              vrrpv3AssociatedIpAddrTable to destroy(6) to delete
              the entry.
              3. Set vrrpv3OperationsRowStatus to destroy(6) to
              delete the entry."
           ::= { vrrpv3OperationsEntry 13 }

   --  VRRP Associated Address Table

       vrrpv3AssociatedIpAddrTable OBJECT-TYPE
           SYNTAX       SEQUENCE OF Vrrpv3AssociatedIpAddrEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "The table of addresses associated with each virtual
                router."
           ::= { vrrpv3Operations 2 }

       vrrpv3AssociatedIpAddrEntry OBJECT-TYPE
           SYNTAX       Vrrpv3AssociatedIpAddrEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
              "An entry in the table contains an IP address that is
              associated with a virtual router.  The number of rows
              for a given IP version, VrID, and ifIndex will equal
              the number of IP addresses associated (e.g., backed up)





              by the virtual router (equivalent to
              'vrrpv3OperationsIpAddrCount').

              Rows in the table cannot be modified unless the value
              of 'vrrpv3OperationsStatus' for the corresponding entry
              in the vrrpv3OperationsTable has transitioned to
              initialize(1).

              The information in this table is persistent and when
              written the entity SHOULD save the change to non-
              volatile storage."

           INDEX    { ifIndex, vrrpv3OperationsVrId,
                      vrrpv3OperationsInetAddrType,
                      vrrpv3AssociatedIpAddrAddress }

           ::= { vrrpv3AssociatedIpAddrTable 1 }

       Vrrpv3AssociatedIpAddrEntry ::=
           SEQUENCE {
               vrrpv3AssociatedIpAddrAddress

                   InetAddress,
               vrrpv3AssociatedIpAddrRowStatus
                   RowStatus
       }

       vrrpv3AssociatedIpAddrAddress OBJECT-TYPE
           SYNTAX       InetAddress (SIZE (0|4|16))
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "The assigned IP addresses that a virtual router is
               responsible for backing up.

               The IP address type is determined by the value of
               vrrpv3OperationsInetAddrType in the index of this
               row."
           REFERENCE "RFC 5798"
           ::= { vrrpv3AssociatedIpAddrEntry 1 }

       vrrpv3AssociatedIpAddrRowStatus OBJECT-TYPE
           SYNTAX       RowStatus
           MAX-ACCESS   read-create
           STATUS       current
           DESCRIPTION
             "The row status variable, used according to
             installation and removal conventions for conceptual





             rows.  To create a row in this table, a manager sets
             this object to either createAndGo(4) or
             createAndWait(5).  Setting this object to active(1)
             results in the addition of an associated address for a
             virtual router.  Setting this object to notInService(2)
             results in administratively bringing down the row.

             Destroying the entry or setting it to destroy(6)
             removes the associated address from the virtual router.
             The use of other values is implementation-dependent.

             Implementations should not allow deletion of the last
             row corresponding to an active row in
             vrrpv3OperationsTable.

             Refer to the description of vrrpv3OperationsRowStatus
             for typical row creation and deletion scenarios."
           ::= { vrrpv3AssociatedIpAddrEntry 2 }

   --  VRRP Router Statistics

       vrrpv3RouterChecksumErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP packets received with an
               invalid VRRP checksum value.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3GlobalStatisticsDiscontinuityTime."

           REFERENCE "RFC 5798, Section 5.2.8"
           ::= { vrrpv3Statistics 1 }

       vrrpv3RouterVersionErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP packets received with an
               unknown or unsupported version number.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at






               other times as indicated by the value of
               vrrpv3GlobalStatisticsDiscontinuityTime."

           REFERENCE "RFC 5798, Section 5.2.1"
           ::= { vrrpv3Statistics 2 }

       vrrpv3RouterVrIdErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
          STATUS       current
           DESCRIPTION
               "The total number of VRRP packets received with a
                VRID that is not valid for any virtual router on this
                router.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3GlobalStatisticsDiscontinuityTime."

           REFERENCE "RFC 5798, Section 5.2.3"
           ::= { vrrpv3Statistics 3 }

      vrrpv3GlobalStatisticsDiscontinuityTime OBJECT-TYPE
          SYNTAX     TimeStamp
          MAX-ACCESS read-only
          STATUS     current
          DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which one of vrrpv3RouterChecksumErrors,
             vrrpv3RouterVersionErrors, and vrrpv3RouterVrIdErrors
             suffered a discontinuity.

             If no such discontinuities have occurred since the last
             re-initialization of the local management subsystem,
             then this object contains a zero value."

          ::= { vrrpv3Statistics 4 }

   --  VRRP Router Statistics Table

       vrrpv3StatisticsTable OBJECT-TYPE
           SYNTAX       SEQUENCE OF Vrrpv3StatisticsEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "Table of virtual router statistics."
           ::= { vrrpv3Statistics 5 }





       vrrpv3StatisticsEntry OBJECT-TYPE
           SYNTAX       Vrrpv3StatisticsEntry
           MAX-ACCESS   not-accessible
           STATUS       current
           DESCRIPTION
               "An entry in the table containing statistics
               information about a given virtual router."
           AUGMENTS    { vrrpv3OperationsEntry }
           ::= { vrrpv3StatisticsTable 1 }

       Vrrpv3StatisticsEntry ::=
           SEQUENCE {
               vrrpv3StatisticsMasterTransitions
                   Counter32,
               vrrpv3StatisticsNewMasterReason
                   INTEGER,
               vrrpv3StatisticsRcvdAdvertisements
                   Counter64,
               vrrpv3StatisticsAdvIntervalErrors
                   Counter64,
               vrrpv3StatisticsIpTtlErrors
                   Counter64,
               vrrpv3StatisticsProtoErrReason
                   INTEGER,
               vrrpv3StatisticsRcvdPriZeroPackets
                   Counter64,
               vrrpv3StatisticsSentPriZeroPackets
                   Counter64,
               vrrpv3StatisticsRcvdInvalidTypePackets
                   Counter64,
               vrrpv3StatisticsAddressListErrors
                   Counter64,
               vrrpv3StatisticsPacketLengthErrors
                   Counter64,
               vrrpv3StatisticsRowDiscontinuityTime
                    TimeStamp,
               vrrpv3StatisticsRefreshRate
                    Unsigned32
           }

       vrrpv3StatisticsMasterTransitions OBJECT-TYPE
           SYNTAX       Counter32
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of times that this virtual router's
               state has transitioned to master state.






               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           ::= { vrrpv3StatisticsEntry 1 }

      vrrpv3StatisticsNewMasterReason OBJECT-TYPE
           SYNTAX        INTEGER {
               notMaster (0),
               priority  (1),
               preempted (2),
               masterNoResponse (3)
           }
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
              "This indicates the reason for the virtual router to
              transition to master state.  If the virtual router
              never transitioned to master state, the value of this
              object is notMaster(0).  Otherwise, this indicates the
              reason this virtual router transitioned to master
              state the last time.  Used by vrrpv3NewMaster
              notification."
           ::= { vrrpv3StatisticsEntry 2 }

       vrrpv3StatisticsRcvdAdvertisements OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP advertisements received by
               this virtual router.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."

           ::= { vrrpv3StatisticsEntry 3 }

       vrrpv3StatisticsAdvIntervalErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP advertisement packets
               received for which the advertisement interval is






               different from the vrrpv3OperationsAdvInterval
               configured on this virtual router.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."

           ::= { vrrpv3StatisticsEntry 4 }

       vrrpv3StatisticsIpTtlErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP packets received by the
               virtual router with IPv4 TTL (for VRRP over IPv4) or
               IPv6 Hop Limit (for VRRP over IPv6) not equal to 255.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           REFERENCE "RFC 5798, Section 5.1.1.3"
           ::= { vrrpv3StatisticsEntry 5 }

      vrrpv3StatisticsProtoErrReason OBJECT-TYPE
           SYNTAX        INTEGER {
               noError (0),
               ipTtlError (1),
               versionError  (2),
               checksumError (3),
               vrIdError(4)
           }
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "This indicates the reason for the last protocol
               error.  This SHOULD be set to noError(0) when no
               protocol errors are encountered.  Used by
               vrrpv3ProtoError notification."
           ::= { vrrpv3StatisticsEntry 6 }

       vrrpv3StatisticsRcvdPriZeroPackets OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION





               "The total number of VRRP packets received by the
               virtual router with a priority of '0'.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           REFERENCE "RFC 5798, Section 5.2.4"
           ::= { vrrpv3StatisticsEntry 7 }

       vrrpv3StatisticsSentPriZeroPackets OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of VRRP packets sent by the virtual
               router with a priority of '0'.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           REFERENCE "RFC 5798, Section 5.2.4"
           ::= { vrrpv3StatisticsEntry 8 }

       vrrpv3StatisticsRcvdInvalidTypePackets OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The number of VRRP packets received by the virtual
               router with an invalid value in the 'type' field.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           ::= { vrrpv3StatisticsEntry 9 }

       vrrpv3StatisticsAddressListErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of packets received for which the
               address list does not match the locally configured
               list for the virtual router.






               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           ::= { vrrpv3StatisticsEntry 10 }

       vrrpv3StatisticsPacketLengthErrors OBJECT-TYPE
           SYNTAX       Counter64
           MAX-ACCESS   read-only
           STATUS       current
           DESCRIPTION
               "The total number of packets received with a packet
               length less than the length of the VRRP header.

               Discontinuities in the value of this counter can occur
               at re-initialization of the management system, and at
               other times as indicated by the value of
               vrrpv3StatisticsRowDiscontinuityTime."
           ::= { vrrpv3StatisticsEntry 11 }

      vrrpv3StatisticsRowDiscontinuityTime OBJECT-TYPE
          SYNTAX     TimeStamp
          MAX-ACCESS read-only
          STATUS     current
          DESCRIPTION
             "The value of sysUpTime on the most recent occasion at
             which any one or more of this entry's counters
             suffered a discontinuity.

             If no such discontinuities have occurred since the last
             re-initialization of the local management subsystem,
             then this object contains a zero value."
          ::= { vrrpv3StatisticsEntry 12 }

      vrrpv3StatisticsRefreshRate OBJECT-TYPE
          SYNTAX     Unsigned32
          UNITS "milliseconds"
          MAX-ACCESS read-only
          STATUS     current
          DESCRIPTION
            "The minimum reasonable polling interval for this entry.
             This object provides an indication of the minimum
             amount of time required to update the counters in this
             entry."
          ::= { vrrpv3StatisticsEntry 13 }

   --   Notification Definitions
   --   Notifications may be controlled using SNMP-NOTIFICATION-MIB





       vrrpv3NewMaster NOTIFICATION-TYPE
           OBJECTS      {
                          vrrpv3OperationsMasterIpAddr,
                          vrrpv3StatisticsNewMasterReason
                        }
           STATUS       current
           DESCRIPTION
               "The newMaster notification indicates that the sending
               agent has transitioned to master state."
           ::= { vrrpv3Notifications 1 }

       vrrpv3ProtoError NOTIFICATION-TYPE
           OBJECTS      {
                          vrrpv3StatisticsProtoErrReason
                        }
           STATUS       current
           DESCRIPTION
               "The notification indicates that the sending agent has
               encountered the protocol error indicated by
               vrrpv3StatisticsProtoErrReason."
           ::= { vrrpv3Notifications 2 }

   --  Conformance Information

    vrrpv3Compliances  OBJECT IDENTIFIER ::= { vrrpv3Conformance 1 }
    vrrpv3Groups       OBJECT IDENTIFIER ::= { vrrpv3Conformance 2 }

   -- Compliance Statements

       vrrpv3FullCompliance MODULE-COMPLIANCE
           STATUS current
           DESCRIPTION
              "The compliance statement"
           MODULE -- this module
           MANDATORY-GROUPS  {
               vrrpv3OperationsGroup,
               vrrpv3StatisticsGroup,
               vrrpv3InfoGroup,
               vrrpv3NotificationsGroup
           }
           OBJECT        vrrpv3OperationsPriority
           WRITE-SYNTAX  Unsigned32 (1..254)
           DESCRIPTION  "Setable values are from 1 to 254."
           ::= { vrrpv3Compliances 1 }

       vrrpv3ReadOnlyCompliance MODULE-COMPLIANCE
           STATUS current
           DESCRIPTION





              "When this MIB module is implemented without support
              for read-create (i.e., in read-only mode), then such
              an implementation can claim read-only compliance.
              Such a device can then be monitored, but cannot be
              configured with this MIB."

           MODULE -- this module
           MANDATORY-GROUPS  {
               vrrpv3OperationsGroup,
               vrrpv3StatisticsGroup,
               vrrpv3StatisticsDiscontinuityGroup,
               vrrpv3InfoGroup,
               vrrpv3NotificationsGroup
           }

           OBJECT        vrrpv3OperationsPriority
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           OBJECT        vrrpv3OperationsPrimaryIpAddr
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."
           OBJECT        vrrpv3OperationsAdvInterval
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           OBJECT        vrrpv3OperationsPreemptMode
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           OBJECT        vrrpv3OperationsAcceptMode
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           OBJECT        vrrpv3OperationsRowStatus
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           OBJECT        vrrpv3AssociatedIpAddrRowStatus
           MIN-ACCESS    read-only
           DESCRIPTION  "Write access is not required."

           ::= { vrrpv3Compliances 2 }

   -- Conformance Groups

       vrrpv3OperationsGroup   OBJECT-GROUP
           OBJECTS  {





               vrrpv3OperationsVirtualMacAddr,
               vrrpv3OperationsStatus,
               vrrpv3OperationsPriority,
               vrrpv3OperationsMasterIpAddr,
               vrrpv3OperationsAdvInterval,
               vrrpv3OperationsPreemptMode,
               vrrpv3OperationsAcceptMode,
               vrrpv3OperationsUpTime,
               vrrpv3OperationsRowStatus,
               vrrpv3OperationsAddrCount,
               vrrpv3OperationsPrimaryIpAddr,
               vrrpv3AssociatedIpAddrRowStatus
               }
           STATUS current
           DESCRIPTION
              "Conformance group for VRRPv3 operations."
           ::= { vrrpv3Groups 1 }

       vrrpv3StatisticsGroup  OBJECT-GROUP
           OBJECTS  {
               vrrpv3RouterChecksumErrors,
               vrrpv3RouterVersionErrors,
               vrrpv3RouterVrIdErrors,
               vrrpv3StatisticsMasterTransitions,
               vrrpv3StatisticsNewMasterReason,
               vrrpv3StatisticsRcvdAdvertisements,
               vrrpv3StatisticsAdvIntervalErrors,
               vrrpv3StatisticsRcvdPriZeroPackets,
               vrrpv3StatisticsSentPriZeroPackets,
               vrrpv3StatisticsRcvdInvalidTypePackets,
               vrrpv3StatisticsIpTtlErrors,
               vrrpv3StatisticsProtoErrReason,
               vrrpv3StatisticsAddressListErrors,
               vrrpv3StatisticsPacketLengthErrors,
               vrrpv3StatisticsRowDiscontinuityTime,
               vrrpv3StatisticsRefreshRate
               }
           STATUS current
           DESCRIPTION
              "Conformance group for VRRPv3 statistics."
           ::= { vrrpv3Groups 2 }

       vrrpv3StatisticsDiscontinuityGroup  OBJECT-GROUP
           OBJECTS  {
               vrrpv3GlobalStatisticsDiscontinuityTime
               }
           STATUS current
           DESCRIPTION





              "Objects providing information about counter
               discontinuities."
           ::= { vrrpv3Groups 3 }

       vrrpv3InfoGroup  OBJECT-GROUP
           OBJECTS  {
               vrrpv3StatisticsProtoErrReason,
               vrrpv3StatisticsNewMasterReason
               }
           STATUS current
           DESCRIPTION
              "Conformance group for objects contained in VRRPv3
               notifications."
           ::= { vrrpv3Groups 4 }

       vrrpv3NotificationsGroup NOTIFICATION-GROUP
           NOTIFICATIONS {
               vrrpv3NewMaster,
               vrrpv3ProtoError
               }
           STATUS current
           DESCRIPTION
              "The VRRP MIB Notification Group."
           ::= { vrrpv3Groups 5 }

   END


