TIMETRA-VRRP-V3-MIB DEFINITIONS ::= BEGIN

IMPORTS
    ifIndex
                                                         FROM IF-MIB
    InetAddress, InetAddressType
                                                         FROM INET-ADDRESS-MIB
    MODULE-COMPLIANCE, NOTIFICATION-GROUP,
    OBJECT-GROUP
                                                         FROM SNMPv2-CONF
    Counter32, Integer32, MODULE-IDENTITY,
    NOTIFICATION-TYPE, OBJECT-TYPE,
    Unsigned32
                                                         FROM SNMPv2-SMI
    MacAddress, RowStatus, StorageType,
    TimeInterval, TimeStamp, TruthValue
                                                         FROM SNMPv2-TC
    timetraSRMIBModules
                                                         FROM TIMETRA-GLOBAL-MIB
    VrId, vrrpMIB, vrrpOperations
                                                         FROM VRRP-MIB
    ;

timetraVrrpV3MibModule           MODULE-IDENTITY
    LAST-UPDATED "200902280000Z"
    ORGANIZATION "Nokia"
    CONTACT-INFO
        "Nokia 7x50 Support
         Web: http://www.nokia.com"
    DESCRIPTION
        "This MIB is based on the draft-ietf-vrrp-unified-mib-06.txt and
         describes objects used for managing Virtual Router Redundancy Protocol
         (VRRP) over IPv6 protocol.

         A separate VRRP-MIB based on RFC2787 describes objects used for
         managing VRRP over IPv4 protocol.

         This MIB is subject to draft revisions and will be updated when an RFC
         number is assigned to it.

         Copyright (c) 2008-2018 Nokia.  All rights reserved.
         Reproduction of this document is authorized on the condition that
         the foregoing copyright notice is included.

         This SNMP MIB module (Specification) embodies Nokia's
         proprietary intellectual property.  Nokia retains
         all title and ownership in the Specification, including any
         revisions.

         Nokia grants all interested parties a non-exclusive license to use and
         distribute an unmodified copy of this Specification in connection with
         management of Nokia products, and without fee, provided this copyright
         notice and license appear on all copies.

         This Specification is supplied 'as is', and Nokia makes no warranty,
         either express or implied, as to the use, operation, condition, or
         performance of the Specification."

    REVISION    "200902280000Z"
    DESCRIPTION
        "Rev 7.0                28 Feb 2009 00:00
         7.0 release of the TIMETRA-VRRP-V3-MIB."

    REVISION    "200804280000Z"
    DESCRIPTION
        "This MIB describes objects used for managing Virtual Router Redundancy
         Protocol (VRRP) routers routers using version 3 of the VRRP protocol
         over IPv6. Initial version as published in RFC 2787."

    ::= { timetraSRMIBModules 57 }

vrrpNotifications                OBJECT IDENTIFIER ::= { vrrpMIB 0 }

vrrpTrapProtoError               NOTIFICATION-TYPE
    OBJECTS     {
        vrrpTrapProtoErrReason
    }
    STATUS      current
    DESCRIPTION
        "The error trap indicates that the sending agent has encountered the
         protocol error indicated by vrrpTrapProtoErrReason."
    ::= { vrrpNotifications 3 }

vrrpStatistics                   OBJECT IDENTIFIER ::= { vrrpMIB 2 }

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

vrrpRouterStatisticsEntry        OBJECT-TYPE
    SYNTAX      VrrpRouterStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the table, containing statistics information about a given
         virtual router."
    AUGMENTS    { vrrpOperationsEntry }
    ::= { vrrpRouterStatisticsTable 1 }

VrrpRouterStatisticsEntry        ::= SEQUENCE
{
    vrrpStatisticsMasterTransitions  Counter32,
    vrrpStatisticsRcvdAdvertisements Counter32,
    vrrpStatisticsAdvIntervalErrors  Counter32,
    vrrpStatisticsIpTtlErrors        Counter32,
    vrrpStatisticsRcvdPriZeroPackets Counter32,
    vrrpStatisticsSentPriZeroPackets Counter32,
    vrrpStatisticsRcvdInvalidTypePkts Counter32,
    vrrpStatisticsAddressListErrors  Counter32,
    vrrpStatisticsPacketLengthErrors Counter32,
    vrrpStatisticsRcvdInvalidAuthentications Counter32,
    vrrpStatisticsDiscontinuityTime  TimeStamp,
    vrrpStatisticsRefreshRate        Unsigned32
}

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

         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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 1 }

vrrpStatisticsRcvdAdvertisements OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 2 }

vrrpStatisticsAdvIntervalErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of VRRP advertisement packets received for which the
         advertisement interval is different than the one configured for the
         local 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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 3 }

vrrpStatisticsIpTtlErrors        OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    REFERENCE
        "RFC3768 Section 5.2.3"
    ::= { vrrpRouterStatisticsEntry 4 }

vrrpStatisticsRcvdPriZeroPackets OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    REFERENCE
        "RFC3768 Section 5.3.4"
    ::= { vrrpRouterStatisticsEntry 5 }

vrrpStatisticsSentPriZeroPackets OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    REFERENCE
        "RFC3768 Section 5.3.4"
    ::= { vrrpRouterStatisticsEntry 6 }

vrrpStatisticsRcvdInvalidTypePkts OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 7 }

vrrpStatisticsAddressListErrors  OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 8 }

vrrpStatisticsPacketLengthErrors OBJECT-TYPE
    SYNTAX      Counter32
    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 vrrpStatisticsDiscontinuityTime."
    ::= { vrrpRouterStatisticsEntry 9 }

vrrpStatisticsRcvdInvalidAuthentications OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of packets received with an unknown authentication
         type."
    REFERENCE
        "RFC3768 Section 5.3.6"
    ::= { vrrpRouterStatisticsEntry 10 }

vrrpStatisticsDiscontinuityTime  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."
    ::= { vrrpRouterStatisticsEntry 11 }

vrrpStatisticsRefreshRate        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."
    ::= { vrrpRouterStatisticsEntry 12 }

vrrpConformance                  OBJECT IDENTIFIER ::= { vrrpMIB 3 }

vrrpMIBCompliances               OBJECT IDENTIFIER ::= { vrrpConformance 1 }

vrrpModuleFullCompliance         MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for both VRRP for IPv4 and VRRP for IPv6
         implementations."
    MODULE
        MANDATORY-GROUPS {
            vrrpOperationsGroup,
            vrrpStatisticsGroup,
            vrrpTrapInfoGroup,
            vrrpNotificationsGroup,
            vrrpNotifyObjsGroup
        }
    ::= { vrrpMIBCompliances 2 }

vrrpModuleReadOnlyCompliance     MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "When this MIB 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 can not be
         configured with this MIB."
    MODULE
        MANDATORY-GROUPS {
            vrrpOperationsGroup,
            vrrpStatisticsGroup,
            vrrpTrapInfoGroup,
            vrrpNotificationsGroup,
            vrrpNotifyObjsGroup
        }
    ::= { vrrpMIBCompliances 3 }

vrrpMIBGroups                    OBJECT IDENTIFIER ::= { vrrpConformance 2 }

vrrpOperationsGroup              OBJECT-GROUP
    OBJECTS     {
        vrrpOperationsVirtualMacAddr,
        vrrpOperationsState,
        vrrpOperationsPriority,
        vrrpOperationsMasterIpAddr,
        vrrpOperationsAdvInterval,
        vrrpOperationsPreemptMode,
        vrrpOperationsAcceptMode,
        vrrpOperationsUpTime,
        vrrpOperationsStorageType,
        vrrpOperationsRowStatus,
        vrrpOperationsAddrCount,
        vrrpOperationsPrimaryIpAddr,
        vrrpAssociatedStorageType,
        vrrpAssociatedIpAddrRowStatus
    }
    STATUS      current
    DESCRIPTION
        "Conformance group for VRRP over IPv4 and IPv6 operations."
    ::= { vrrpMIBGroups 5 }

vrrpStatisticsGroup              OBJECT-GROUP
    OBJECTS     {
        vrrpStatisticsMasterTransitions,
        vrrpStatisticsRcvdAdvertisements,
        vrrpStatisticsAdvIntervalErrors,
        vrrpStatisticsRcvdPriZeroPackets,
        vrrpStatisticsSentPriZeroPackets,
        vrrpStatisticsRcvdInvalidTypePkts,
        vrrpStatisticsIpTtlErrors,
        vrrpStatisticsAddressListErrors,
        vrrpStatisticsPacketLengthErrors,
        vrrpStatisticsRcvdInvalidAuthentications,
        vrrpStatisticsDiscontinuityTime,
        vrrpStatisticsRefreshRate
    }
    STATUS      current
    DESCRIPTION
        "Conformance group for VRRP over IPv4 and IPv6 statistics."
    ::= { vrrpMIBGroups 6 }

vrrpTrapInfoGroup                OBJECT-GROUP
    OBJECTS     {
        vrrpNewMasterReason
    }
    STATUS      current
    DESCRIPTION
        "Conformance group for objects contained in VRRP notifications."
    ::= { vrrpMIBGroups 7 }

vrrpNotificationsGroup           NOTIFICATION-GROUP
    NOTIFICATIONS {
        vrrpTrapProtoError
    }
    STATUS      current
    DESCRIPTION
        "The VRRP MIB Notification Group."
    ::= { vrrpMIBGroups 8 }

vrrpNotifyObjsGroup              OBJECT-GROUP
    OBJECTS     {
        vrrpTrapProtoErrReason
    }
    STATUS      current
    DESCRIPTION
        "Conformance group for Notify objects contained in VRRP notifications."
    ::= { vrrpMIBGroups 9 }

vrrpOperationsTable              OBJECT-TYPE
    SYNTAX      SEQUENCE OF VrrpOperationsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Unified Operations table for a VRRP router which consists of a
         sequence (i.e., one or more conceptual rows) of 'vrrpOperationsEntry'
         items which describe the operational characteristics of a virtual
         router."
    ::= { vrrpOperations 7 }

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

         Note that rows in this table can be distinguished on a multi-stacked
         device running VRRP over IPv4 and IPv6 on the same physical interface.

         Rows in the table cannot be modified unless the value of
         'vrrpOperationsState' has transitioned to 'initialize'"
    INDEX       {
        vrrpOperationsInetAddrType,
        vrrpOperationsVrId,
        ifIndex
    }
    ::= { vrrpOperationsTable 1 }

VrrpOperationsEntry              ::= SEQUENCE
{
    vrrpOperationsInetAddrType       InetAddressType,
    vrrpOperationsVrId               VrId,
    vrrpOperationsVirtualMacAddr     MacAddress,
    vrrpOperationsState              INTEGER,
    vrrpOperationsPriority           Unsigned32,
    vrrpOperationsAddrCount          Integer32,
    vrrpOperationsMasterIpAddr       InetAddress,
    vrrpOperationsPrimaryIpAddr      InetAddress,
    vrrpOperationsAdvInterval        TimeInterval,
    vrrpOperationsPreemptMode        TruthValue,
    vrrpOperationsAcceptMode         TruthValue,
    vrrpOperationsUpTime             TimeStamp,
    vrrpOperationsStorageType        StorageType,
    vrrpOperationsRowStatus          RowStatus
}

vrrpOperationsInetAddrType       OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address type of VrrpOperationsEntry. This value applies to both
         vrrpOperationsMasterIpAddr and vrrpOperationsPrimaryIpAddr."
    REFERENCE
        "RFC 4001"
    ::= { vrrpOperationsEntry 1 }

vrrpOperationsVrId               OBJECT-TYPE
    SYNTAX      VrId
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object contains the Virtual Router Identifier (VRID)."
    REFERENCE
        "RFC 4001"
    ::= { vrrpOperationsEntry 2 }

vrrpOperationsVirtualMacAddr     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 'vrrpOperationsVrId' object, it is defined so
         that it is easily obtainable by a management application and can be
         included in VRRP-related SNMP notifications."
    REFERENCE
        "STD 58 RFC 2578"
    ::= { vrrpOperationsEntry 3 }

vrrpOperationsState              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 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 3768"
    ::= { vrrpOperationsEntry 4 }

vrrpOperationsPriority           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 not settable.

         A 'badValue(3)' should be returned when a user tries to set 0 or 255
         for this object. "
    DEFVAL      { 100 }
    ::= { vrrpOperationsEntry 5 }

vrrpOperationsAddrCount          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 vrrpAssociatedIpAddrTable that
         correspond to a given IP version/VRID/ifIndex."
    REFERENCE
        "RFC 3768 section 5.3.5.  Count IP Addrs"
    ::= { vrrpOperationsEntry 6 }

vrrpOperationsMasterIpAddr       OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The master router's real IP address. Master router would set this
         address to vrrpOperationsPrimaryIpAddr 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 3768"
    ::= { vrrpOperationsEntry 7 }

vrrpOperationsPrimaryIpAddr      OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "In the case where there are 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 'vrrpOperationsMasterIpAddr', should
         the virtual router transition from backup state to master."
    ::= { vrrpOperationsEntry 8 }

vrrpOperationsAdvInterval        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 3768 section 5.3.7"
    DEFVAL      { 100 }
    ::= { vrrpOperationsEntry 9 }

vrrpOperationsPreemptMode        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 3768 section 6.1"
    DEFVAL      { true }
    ::= { vrrpOperationsEntry 10 }

vrrpOperationsAcceptMode         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.
         This object is not relevant for rows representing VRRP
         over IPv4 and should be set to false."
    DEFVAL      { false }
    ::= { vrrpOperationsEntry 11 }

vrrpOperationsUpTime             OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the value of the `sysUpTime' object when this virtual router
         (i.e., the `vrrpOperationsState') transitioned out of `initialized'."
    REFERENCE
        " RFC 3768 section 6.1"
    ::= { vrrpOperationsEntry 12 }

vrrpOperationsStorageType        OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The storage type for this conceptual row. Write access is not
         required. It is optional to support nonVolatile StorageType
         enumeration."
    REFERENCE
        " RFC4181 section 4.6.4"
    DEFVAL      { nonVolatile }
    ::= { vrrpOperationsEntry 13 }

vrrpOperationsRowStatus          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. When
         `vrrpOperationsRowStatus' is set to active(1), no other objects in the
         conceptual row can be modified.

         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 `vrrpOperationsRowStatus' column will be
         read as notReady(3). In particular, a newly created row cannot be made
         active(1) until (minimally) the corresponding instance of
         vrrpOperationsInetAddrType, vrrpOperationsVrId and
         vrrpOperationsPrimaryIpAddr has been set and there is at least one
         active row in the `vrrpAssociatedIpAddrTable' 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
         vrrpOperationsTable with createAndWait(5). 2. Create one or more
         corresponding rows in vrrpAssociatedIpAddrTable. 3. Populate the
         vrrpOperationsEntry. 4. set vrrpOperationsRowStatus to active(1).

         A typical order of operation to delete an entry is: 1. Set
         vrrpOperationsRowStatus to notInService(2). 2. Set the corresponding
         rows in vrrpAssociatedIpAddrTable to destroy(6) to delete the entry.
         3. set vrrpOperationsRowStatus to destroy(6) to delete the entry."
    ::= { vrrpOperationsEntry 14 }

vrrpAssociatedIpAddrTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF VrrpAssociatedIpAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table of addresses associated with this virtual router."
    ::= { vrrpOperations 8 }

vrrpAssociatedIpAddrEntry        OBJECT-TYPE
    SYNTAX      VrrpAssociatedIpAddrEntry
    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, vrrpOperationsVrId and ifIndex will equal the
         number of IP addresses associated (e.g., backed up) by
         the virtual router (equivalent to
         'vrrpOperationsIpAddrCount').

         Rows in the table cannot be modified unless the value of
         `vrrpOperationsState' has transitioned to `initialize'."
    INDEX       {
        vrrpOperationsInetAddrType,
        vrrpOperationsVrId,
        ifIndex,
        vrrpAssociatedIpAddr
    }
    ::= { vrrpAssociatedIpAddrTable 1 }

VrrpAssociatedIpAddrEntry        ::= SEQUENCE
{
    vrrpAssociatedIpAddr             InetAddress,
    vrrpAssociatedStorageType        StorageType,
    vrrpAssociatedIpAddrRowStatus    RowStatus
}

vrrpAssociatedIpAddr             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 size of this object is either 4 or 16 depending on
         vrrpOperationsInetAddrType."
    REFERENCE
        "RFC 3768 Section 5.3.9"
    ::= { vrrpAssociatedIpAddrEntry 1 }

vrrpAssociatedStorageType        OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The storage type for this conceptual row. Write access is not
         required. It is optional to support nonVolatile StorageType
         enumeration."
    REFERENCE
        " RFC4181 section 4.6.4"
    DEFVAL      { nonVolatile }
    ::= { vrrpAssociatedIpAddrEntry 2 }

vrrpAssociatedIpAddrRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The RowStatus 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.

         Only vrrpAssociatedStorageType can be modified when the row is in
         active(1) state for Implementations supporting write access to
         vrrpAssociatedStorageType

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

         Refer to description of vrrpOperationsRowStatus for a typical row
         creation and deletion scenarios."
    ::= { vrrpAssociatedIpAddrEntry 3 }

vrrpNewMasterReason              OBJECT-TYPE
    SYNTAX      INTEGER {
        notmaster        (0),
        priority         (1),
        preempted        (2),
        masterNoResponse (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates the reason for tVrrpTrapNewMaster trap. Used by
         tVrrpTrapNewMaster trap. The object can be polled if the
         tVrrpTrapNewMaster trap is lost to identify the reason for
         transmission. Backup router should return notmaster(0) when pooled. "
    ::= { vrrpOperations 9 }

vrrpTrapProtoErrReason           OBJECT-TYPE
    SYNTAX      INTEGER {
        hopLimitError (0),
        versionError  (1),
        checksumError (2),
        vridError     (3)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "This indicates the reason for protocol error trap. Used by
         vrrpTrapProtoError trap."
    ::= { vrrpOperations 10 }

END
