HP-ICF-VRRP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Integer32, Counter32
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        ifIndex
            FROM IF-MIB
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        vrrpOperEntry, vrrpAssoIpAddrEntry, vrrpOperVrId
            FROM VRRP-MIB
        TruthValue, RowStatus
            FROM SNMPv2-TC
        hpSwitch
            FROM HP-ICF-OID;

    hpicfVrrpMIB MODULE-IDENTITY 
        LAST-UPDATED "200802200000Z"  -- February 22, 2008
	ORGANIZATION "Hewlett Packard Company,
                      Procurve Networking Business"
        CONTACT-INFO "Hewlett Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB module contains HP proprietary
                     extensions to the standard VRRP MIB (RFC 2787)."

        REVISION     "200802200000Z"  -- February 22, 2008
        DESCRIPTION  "Added hpicfVrrpVrControl, to the
                      hpicfVrrpOperEntry object.
                      Added hpicfVrrpTrackTable containing
                      hpicfVrrpTrackEntry to hpicfVrrpOperations."

        REVISION     "200712120000Z"  -- December 12, 2007
        DESCRIPTION  "Added hpicfVrrpStatsTable, which contains
                      hpicfVrrpStatsNearFailovers."

        REVISION     "200708220000Z"  -- AUGUST 22, 2007
        DESCRIPTION  "Added hpicfVrrpVrPreemptDelayTime to the 
                      hpicfVrrpOperEntry object."

        REVISION      "200507140000Z"  -- July 14, 2005
        DESCRIPTION   "Initial revision."
        
        ::= { hpSwitch 31 }

-- **********************************************************************
-- VRRP MIB Groups
-- **********************************************************************

    hpicfVrrpOperations  OBJECT IDENTIFIER ::= { hpicfVrrpMIB 1 }
    hpicfVrrpConformance OBJECT IDENTIFIER ::= { hpicfVrrpMIB 2 }

-- **********************************************************************
-- Start of MIB objects
-- **********************************************************************

    hpicfVrrpAdminStatus OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "When set to TRUE, this enables VRRP globally on the
                    router. If set to FALSE, this would disable VRRP.
                    Default is FALSE."
        DEFVAL      { false }
        ::= { hpicfVrrpOperations 1 }

-- **********************************************************************
-- Extensions to the VRRP Operations Table (RFC 2787)
-- **********************************************************************

    hpicfVrrpOperTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfVrrpOperEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions to the vrrpOperTable (RFC 2787)."
        ::= { hpicfVrrpOperations 2 }

    hpicfVrrpOperEntry OBJECT-TYPE
        SYNTAX      HpicfVrrpOperEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions for an entry in the vrrpOperTable."
        AUGMENTS    { vrrpOperEntry }
        ::= { hpicfVrrpOperTable 1 }

    HpicfVrrpOperEntry ::=
        SEQUENCE {
            hpicfVrrpVrMode             INTEGER,
            hpicfVrrpVrMasterPreempt    TruthValue,
            hpicfVrrpVrTransferControl  TruthValue,
            hpicfVrrpVrPreemptDelayTime Integer32,
            hpicfVrrpVrControl          INTEGER
        }

    hpicfVrrpVrMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        owner(1),
                        backup(2),
                        uninitialized(3)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This object denotes whether this VR has been
                    designated as an owner or as a backup. On VR 
                    creation, this field is set to uninitialized. 
                    The user cannot set the value of this object to 
                    uninitialized."
        DEFVAL      { uninitialized }
        ::= { hpicfVrrpOperEntry 1 }

    hpicfVrrpVrMasterPreempt OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This object, when set to TRUE, would enable the 
                    Master Preemption mode wherein a virtual router 
                    even though an owner will not preempt a lower 
                    priority Backup."
        DEFVAL      { false }
        ::= { hpicfVrrpOperEntry 2 }

    hpicfVrrpVrTransferControl OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This object, when set to TRUE, would serve as 
                    trigger to enable a virtual router owner to take
                    control of its IP address. When this value is read 
                    it always returns FALSE."
        DEFVAL      { false }
        ::= { hpicfVrrpOperEntry 3 }

    hpicfVrrpVrPreemptDelayTime OBJECT-TYPE
        SYNTAX      Integer32(0..600)  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This object specifies the time that the owner 
                     virtual router will wait before taking control of 
                     its virtual IP address. A value of 0 indicates 
                     that that the pre-empt delay timer is not active"
        DEFVAL      { 0 }
        ::= { hpicfVrrpOperEntry 4 }

    hpicfVrrpVrControl OBJECT-TYPE
        SYNTAX       INTEGER {
                        failback(1),
                        failover(2),
                        failoverWithMonitoring(3),
                        invalid(4)
                     }
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION  "When this object is set to failback (1), it acts
                     as a trigger to intimate VRRP to failback
                     to this router from another.
                     When this object is set to failover (2), it acts
                     as a trigger to intimate VRRP to failover
                     from this router to another.
                     When this object is set to
                     failoverWithMonitoring (3), in addition to
                     triggering VRRP to failover, it triggers VR to
                     monitor for presence of a master.
                     When read, this object always returns
                     invalid (4)."
        DEFVAL      { invalid }
        ::= { hpicfVrrpOperEntry 5 }


-- **********************************************************************
-- Extensions to the VRRP Associated IP Address Table (RFC 2787)
-- **********************************************************************

    hpicfVrrpAssoIpAddrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfVrrpAssoIpAddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions to the vrrpAssoIpAddrTable (RFC 2787)."
        ::= { hpicfVrrpOperations 3 }

    hpicfVrrpAssoIpAddrEntry OBJECT-TYPE
        SYNTAX      HpicfVrrpAssoIpAddrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions for an entry in the vrrpAssoIpAddrTable."
        AUGMENTS    { vrrpAssoIpAddrEntry }
        ::= { hpicfVrrpAssoIpAddrTable 1 }

    HpicfVrrpAssoIpAddrEntry ::=
        SEQUENCE {
            hpicfVrrpAssoIpMask  IpAddress
        }

    hpicfVrrpAssoIpMask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The subnet mask to be used in conjunction with
                    the 'vrrpAssoIpAddr' object to uniquely identify 
                    a subnet."
	DEFVAL      { '00000000'H } -- 0.0.0.0
        ::= { hpicfVrrpAssoIpAddrEntry 1 }

    hpicfVrrpTrackTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfVrrpTrackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions for supporting tracking."
        ::= { hpicfVrrpOperations 5 }

    hpicfVrrpTrackEntry OBJECT-TYPE
        SYNTAX      HpicfVrrpTrackEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "HP extensions for supporting tracking."
        INDEX       { ifIndex, vrrpOperVrId,
                      hpicfVrrpVrTrackType, hpicfVrrpVrTrackEntity }
        ::= { hpicfVrrpTrackTable 1 }

    HpicfVrrpTrackEntry ::=
        SEQUENCE {
            hpicfVrrpVrTrackType        INTEGER,
            hpicfVrrpVrTrackEntity      SnmpAdminString,
            hpicfVrrpTrackRowStatus     RowStatus
        }

    hpicfVrrpVrTrackType OBJECT-TYPE
        SYNTAX       INTEGER {
            port(1),
            trunk(2),
            vlan(3)
        }
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "This object specifies the type of interface specified by
            'hpicfVrrpVrTrackEntity'."
        ::= { hpicfVrrpTrackEntry 1 }

    hpicfVrrpVrTrackEntity OBJECT-TYPE
        SYNTAX       SnmpAdminString (SIZE (1..255))
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "This object specifies interface details. Interface detail
            is interpreted Based on type specified by
            'hpicfVrrpVrTrackType'. Valid values for different track
            types are -
            ------------------------------------
            hpicfVrrpVrTrackType    range
            ------------------------------------
            port                    '1'..'65535'
            trunk                   '1'..'65535'
            vlan                    '1'..'65535'
            ------------------------------------"
        ::= { hpicfVrrpTrackEntry 2 }

    hpicfVrrpTrackRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "The row status of given track entity."
        ::= { hpicfVrrpTrackEntry 3 }

-- **********************************************************************
-- Extensions to the VRRP Router Statistics Table (RFC 2787)
-- **********************************************************************

    hpicfVrrpStatsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF HpicfVrrpStatsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION "Table of virtual router statistics."
        ::= { hpicfVrrpOperations 6 }

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

    HpicfVrrpStatsEntry ::=
        SEQUENCE {
            hpicfVrrpStatsNearFailovers     Counter32
        }

    hpicfVrrpStatsNearFailovers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object reports the number of near failovers
                     for backup virtual routers.  A near failover occurs
                     when a backup virtual router has not received an 
                     advertisement packet from the master virtual router
                     for two advertisement intervals."
        DEFVAL      { 0 }
        ::= { hpicfVrrpStatsEntry 1 }

-- **********************************************************************
-- Conformance Information
-- **********************************************************************

    hpicfVrrpMIBCompliances  OBJECT IDENTIFIER ::= { hpicfVrrpConformance 1 }
    hpicfVrrpMIBGroups       OBJECT IDENTIFIER ::= { hpicfVrrpConformance 2 }

-- ......................................................................
-- Compliance statements
-- ......................................................................

    hpicfVrrpMIBCompliance MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement for HP routers running
                    VRRP (RFC 3768) and implementing the HP-ICF-VRRP-MIB."
        MODULE  -- this module
            MANDATORY-GROUPS { hpicfVrrpOperGroup }

            GROUP       hpicfVrrpOperGroup
            DESCRIPTION "Support for this group is required for HP routers
                        that support VRRP (RFC 3768)."
        ::= { hpicfVrrpMIBCompliances 1 }

    hpicfVrrpMIBCompliance1 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement for HP routers running
                    VRRP (RFC 3768) and implementing the HP-ICF-VRRP-MIB."
        MODULE  -- this module
            MANDATORY-GROUPS { hpicfVrrpOperGroup,
                               hpicfVrrpTrackGroup }

            GROUP       hpicfVrrpOperGroup
            DESCRIPTION "Support for this group is required for HP routers
                        that support VRRP (RFC 3768)."

            GROUP       hpicfVrrpTrackGroup
            DESCRIPTION "Support for this group is required for HP routers
                        that support Tracking in VRRP."

        ::= { hpicfVrrpMIBCompliances 2 }
-- ......................................................................
-- Conformance Groups
-- ......................................................................

    hpicfVrrpOperGroup OBJECT-GROUP
        OBJECTS     { hpicfVrrpAdminStatus,
                      hpicfVrrpVrMode,
                      hpicfVrrpVrMasterPreempt,
                      hpicfVrrpVrTransferControl,
                      hpicfVrrpVrPreemptDelayTime,
                      hpicfVrrpAssoIpMask }
        STATUS      current
        DESCRIPTION "A collection of HP proprietary objects to support 
                    VRRP configuration on HP routers."
        ::= { hpicfVrrpMIBGroups 1 }

    hpicfVrrpTrackGroup OBJECT-GROUP
        OBJECTS     { hpicfVrrpTrackRowStatus,
                      hpicfVrrpVrControl }
        STATUS      current
        DESCRIPTION "A collection of HP proprietary objects to support 
                    VRRP configuration on HP routers."
        ::= { hpicfVrrpMIBGroups 2 }
END
