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 
            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 
