ENTERASYS-VRRP-EXT-MIB DEFINITIONS ::= BEGIN

--  enterasys-vrrp-ext-mib.txt
--
--  Part Number:
--
--
--  This module provides authoritative definitions for Enterasys
--  Networks VRRP Extensions functionality.
--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Enterasys Networks products.

--  Copyright October, 2000-2011 Enterasys Networks, Inc.


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    RowStatus
        FROM SNMPv2-TC
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES
    ifIndex
        FROM IF-MIB
    vrrpOperationsInetAddrType, VrId
        FROM VRRP-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB;

etsysVrrpExtMIB MODULE-IDENTITY
    LAST-UPDATED "201110271429Z"  -- Thu Oct 27 14:29 UTC 2011
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"

    DESCRIPTION
        "The Enterasys Networks Proprietary MIB module for entities 
         implementing VRRP.
       
         This MIB provides read-write access to configuration objects
         not provided in the standard VRRP MIB 
         (draft-ietf-vrrp-unified-spec-02.txt)."

    REVISION    "201110271429Z"  -- Thu Oct 27 14:29 UTC 2011
    DESCRIPTION "Added the following leaves:
                    etsysVrrpExtOperFabricRouteMode,
                    etsysVrrpExtCriticalIpAddrProbe, 
                    etsysVrrpExtCriticalIpAddrProbeName,

                 Changed the MAX-ACCESS etsysVrrpExtCriticalIpAddrState 
                 from read-only to read-create."

    REVISION    "200908101943Z"  -- Mon Aug 10 19:43 UTC 2009
    DESCRIPTION "Initial version of this MIB module."

    ::= { etsysModules 64 }


-- -------------------------------------------------------------
-- VRRP Extension MIB Groups
-- -------------------------------------------------------------

etsysVrrpExtOperations  OBJECT IDENTIFIER ::= { etsysVrrpExtMIB 1 }
etsysVrrpExtConformance OBJECT IDENTIFIER ::= { etsysVrrpExtMIB 2 }

-- -------------------------------------------------------------
-- VRRP Operations Extension Table
-- -------------------------------------------------------------

etsysVrrpExtOperTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF EtsysVrrpExtOperEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION    
        "Operations table for a VRRP router which consists of a
        sequence (i.e., one or more conceptual rows) of
        'EtsysVrrpExtOperEntry' items."
    ::={ etsysVrrpExtOperations  1}

etsysVrrpExtOperEntry OBJECT-TYPE
    SYNTAX        EtsysVrrpExtOperEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
         "An entry in the etsysVrrpExtOperTable containing the operational
          characteristics of a virtual router. On a VRRP router,
          a given virtual router is identified by a combination
          of the ifIndex and VRID."

    INDEX { ifIndex, etsysVrrpExtOperVrId }
    ::= { etsysVrrpExtOperTable 1 }

EtsysVrrpExtOperEntry ::=
    SEQUENCE {
        etsysVrrpExtOperVrId
            VrId,
        etsysVrrpExtOperState
            INTEGER,
        etsysVrrpExtOperAcceptMode
            INTEGER,
        etsysVrrpExtOperPreemptModeDelay
            Integer32,
        etsysVrrpExtOperCriticalIpAddrCount
            Integer32,
        etsysVrrpExtOperFabricRouteMode
            INTEGER   
    }

 etsysVrrpExtOperVrId OBJECT-TYPE
     SYNTAX       VrId
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "This object contains the Virtual Router Identifier (VRID)."
     ::= { etsysVrrpExtOperEntry 1 }

etsysVrrpExtOperState OBJECT-TYPE
    SYNTAX        INTEGER {
        initialize(1),
        backup(2),
        master(3),
        ifDown(4),
        preemptDelay(5)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION       
      "The current state of the virtual router. This object has
       six defined values

           - `initialize', which indicates that all 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.

           - 'ifDown', which indicates that the interface 
             the virtual router is configured on is 
             operationally down.

           - 'preemptDelay', which indiciates that the virtual
             router is going to transition to master once the
             preempt delay timer has expired."
             
    ::= { etsysVrrpExtOperEntry 2 }

etsysVrrpExtOperAcceptMode OBJECT-TYPE
    SYNTAX        INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Controls whether a virtual router in Master state
         will accept packets addressed to the address owner's
         address as its own if it is not the address
         owner.  Default is False."
    DEFVAL { 2 }
    ::= { etsysVrrpExtOperEntry 3 }

etsysVrrpExtOperPreemptModeDelay OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The time interval, in seconds, before the backup router will 
         become master if vrrpOperPreemptMode is set to true."
    DEFVAL { 0 }
    ::= { etsysVrrpExtOperEntry  4 }

etsysVrrpExtOperCriticalIpAddrCount OBJECT-TYPE
    SYNTAX        Integer32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of Critical IP addresses that are associated with this
        virtual router. This number is equal to the number of rows
        in the etsysVrrpExtCriticalIpAddrTable that correspond to a given
        IF index/VRID pair."
    ::= { etsysVrrpExtOperEntry  5 }

etsysVrrpExtOperFabricRouteMode OBJECT-TYPE
    SYNTAX        INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "Controls whether a virtual router in backup state
         will accept packets to forward as if it was in master state.
         Default is False."
    DEFVAL { disable }
    ::= { etsysVrrpExtOperEntry 6 }

 -- -------------------------------------------------------------
-- VRRP Critical IP Address Table
-- -------------------------------------------------------------

etsysVrrpExtCriticalIpAddrTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF EtsysVrrpExtCriticalIpAddrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION    
        "The table of critical IP addresses associated with a virtual 
         router."
    ::= { etsysVrrpExtOperations 2 }

etsysVrrpExtCriticalIpAddrEntry OBJECT-TYPE
    SYNTAX        EtsysVrrpExtCriticalIpAddrEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry in the table contains an IP address that is
         a critical interface. If the IP address goes down then
         the operational priority shall be decremented by the 
         value of the critical IP priority. The operation priority
         shall not be adjusted for virtual routers who own the
         associated address"
     INDEX { ifIndex, etsysVrrpExtOperVrId, vrrpOperationsInetAddrType, 
             etsysVrrpExtCriticalIpAddr }
     ::= { etsysVrrpExtCriticalIpAddrTable 1 }

EtsysVrrpExtCriticalIpAddrEntry ::=
    SEQUENCE {
        etsysVrrpExtCriticalIpAddr 
            InetAddress,
        etsysVrrpExtCriticalIpAddrPriority 
            Integer32,
        etsysVrrpExtCriticalIpAddrState
            Integer32,
        etsysVrrpExtCriticalIpAddrRowStatus
            RowStatus,
        etsysVrrpExtCriticalIpAddrProbe 
            Integer32,
        etsysVrrpExtCriticalIpAddrProbeName
            SnmpAdminString
    }

etsysVrrpExtCriticalIpAddr OBJECT-TYPE
     SYNTAX       InetAddress (SIZE(0|4|16))
     MAX-ACCESS   not-accessible
     STATUS       current
     DESCRIPTION
         "The assigned IP addresses that represents a critical
         interface."
     ::= { etsysVrrpExtCriticalIpAddrEntry 1 }

etsysVrrpExtCriticalIpAddrPriority OBJECT-TYPE
     SYNTAX       Integer32 (1..254)
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
         "This object specifies value the virtual routers operational 
           priority should be decremented by when a critical interface
           goes down."

     DEFVAL { 10 }
     ::= { etsysVrrpExtCriticalIpAddrEntry 2 }

etsysVrrpExtCriticalIpAddrState OBJECT-TYPE
    SYNTAX        INTEGER {
        up(1),
        down(2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION       
        "The current state of the critical IP address. This object has
         two defined values
           - `up', which indicates that critical IP is reachable.

           - `down', which indicates that critical IP is not reachable."         
     ::= { etsysVrrpExtCriticalIpAddrEntry 3 }

etsysVrrpExtCriticalIpAddrRowStatus  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. Setting this
          object to createAndGo(4) or createAndWait(5) results in the
          addition of an associated address for a virtual router.
          Destroying(6) the entry or setting it to notInService(2)
          removes the associated address from the virtual router.
          The use of other values is implementation-dependent."
     ::= { etsysVrrpExtCriticalIpAddrEntry 4 }

etsysVrrpExtCriticalIpAddrProbe OBJECT-TYPE
    SYNTAX        INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION       
        "Use a probe to obtain status for critical IP. 
   
           - A value of enable(1) indicates an ICMP probe will be sent to check 
              status.

           - A value of disable(2) indicates the interface operational state will 
             be used to check status."         
    DEFVAL { disable } 
    ::= { etsysVrrpExtCriticalIpAddrEntry 5 }

etsysVrrpExtCriticalIpAddrProbeName OBJECT-TYPE
    SYNTAX        SnmpAdminString (SIZE(1..32))
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION       
        "A textual probe name use for the probe IP." 
    DEFVAL { "$vrrp_default" } 
    ::= { etsysVrrpExtCriticalIpAddrEntry 6 }

-- -------------------------------------------------------------
-- VRRP Tracked Object Table
-- -------------------------------------------------------------

etsysVrrpExtTrackedObjTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysVrrpExtTrackedObjEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "The table of Tracked Object associated with a virtual router."
    ::= { etsysVrrpExtOperations 3 }

etsysVrrpExtTrackedObjEntry OBJECT-TYPE
    SYNTAX      EtsysVrrpExtTrackedObjEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the table contains the name of the tracked 
         object for detecting falures in network. If the tracked object resource 
         goes down then the operational priority shall be decremented by the 
         value of the tracked object priority. The operation priority
         shall not be adjusted for virtual routers who own the
         associated address"

     INDEX    { ifIndex, etsysVrrpExtOperVrId , etsysVrrpExtTrackedObjName }     
     ::= { etsysVrrpExtTrackedObjTable 1 }

EtsysVrrpExtTrackedObjEntry ::=
    SEQUENCE {
        etsysVrrpExtTrackedObjName 
            SnmpAdminString,
        etsysVrrpExtTrackedObjPriority 
            Integer32,
        etsysVrrpExtTrackedObjState
            Integer32,
        etsysVrrpExtTrackedObjRowStatus
            RowStatus
      }

etsysVrrpExtTrackedObjName OBJECT-TYPE
     SYNTAX         SnmpAdminString (SIZE(1..32))
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
         "The assigned name that represents a tracked object
         interface."
     ::= { etsysVrrpExtTrackedObjEntry 1 }

etsysVrrpExtTrackedObjPriority OBJECT-TYPE
     SYNTAX         Integer32 (1..254)
     MAX-ACCESS     read-create
     STATUS         current
     DESCRIPTION
         "This object specifies value the virtual routers operational 
           priority should be decremented by when a tracked interface
           goes down."

     DEFVAL       { 10 }
     ::= { etsysVrrpExtTrackedObjEntry 2 }
    
etsysVrrpExtTrackedObjState OBJECT-TYPE
    SYNTAX          INTEGER {
        up(1),
        down(2)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION       
      "The current state of the critical IP address. This object has
       two defined values
           - `up', which indicates that critical IP is reachable.

           - `down', which indicates that critical IP is not reachable."         
     ::= { etsysVrrpExtTrackedObjEntry 3 }

etsysVrrpExtTrackedObjRowStatus  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. Setting this
         object to createAndGo(4) or createAndWait(5) results in the
         addition of an associated address for a virtual router.
         Destroying(6) the entry or setting it to notInService(2)
         removes the associated address from the virtual router.
         The use of other values is implementation-dependent."
     ::= { etsysVrrpExtTrackedObjEntry 4 }

-- ------------------------------------
-- Conformance information
-- ------------------------------------

etsysVrrpExtMIBCompliances OBJECT IDENTIFIER 
                                  ::= { etsysVrrpExtConformance 1 }
etsysVrrpExtMIBGroups      OBJECT IDENTIFIER 
                                  ::= { etsysVrrpExtConformance 2 }

-- ------------------------------------
-- Conformance Groups
-- ------------------------------------

etsysVrrpExtMIBGroup  OBJECT-GROUP
    OBJECTS {
        etsysVrrpExtOperState,
        etsysVrrpExtOperAcceptMode,
        etsysVrrpExtOperPreemptModeDelay,
        etsysVrrpExtOperCriticalIpAddrCount,
        etsysVrrpExtCriticalIpAddrPriority, 
        etsysVrrpExtCriticalIpAddrState,
        etsysVrrpExtCriticalIpAddrRowStatus
    }
    STATUS    deprecated
    DESCRIPTION
        "Conformance group for VRRP Extensions operations."
    ::= { etsysVrrpExtMIBGroups 1 }

etsysVrrpExtOperGroup  OBJECT-GROUP
    OBJECTS {
        etsysVrrpExtOperState,
        etsysVrrpExtOperAcceptMode,
        etsysVrrpExtOperPreemptModeDelay,
        etsysVrrpExtOperCriticalIpAddrCount,
        etsysVrrpExtOperFabricRouteMode 
    }
    STATUS   current
    DESCRIPTION
        "Conformance group for general VRRP operations."
    ::= { etsysVrrpExtMIBGroups 2 }

etsysVrrpExtCriticalIpGroup  OBJECT-GROUP
    OBJECTS {
        etsysVrrpExtCriticalIpAddrPriority, 
        etsysVrrpExtCriticalIpAddrState,
        etsysVrrpExtCriticalIpAddrRowStatus,
        etsysVrrpExtCriticalIpAddrProbe,
        etsysVrrpExtCriticalIpAddrProbeName     
    }
    STATUS   current
    DESCRIPTION
        "Conformance group for VRRP critical ip operations."
    ::= { etsysVrrpExtMIBGroups 3 }

etsysVrrpExtTrackedObjectGroup  OBJECT-GROUP
    OBJECTS {
        etsysVrrpExtTrackedObjPriority, 
        etsysVrrpExtTrackedObjState,
        etsysVrrpExtTrackedObjRowStatus
    }
    STATUS   current
    DESCRIPTION
        "Conformance group for VRRP Tracked Objects operations."
    ::= { etsysVrrpExtMIBGroups 4 }

-- ------------------------------------
-- Compliance statements
-- ------------------------------------

 etsysVrrpExtMIBCompliance MODULE-COMPLIANCE
     STATUS deprecated
     DESCRIPTION
        "The core compliance statement for all VRRP Extensions implementations."
     MODULE -- this module
     MANDATORY-GROUPS  {
         etsysVrrpExtMIBGroup
     }
     ::= { etsysVrrpExtMIBCompliances 1 }

 etsysVrrpExtMIBv2Compliance MODULE-COMPLIANCE
     STATUS current
     DESCRIPTION
        "The core compliance statement for all VRRP Extensions implementations."
     MODULE -- this module
     MANDATORY-GROUPS  {
         etsysVrrpExtOperGroup,
         etsysVrrpExtCriticalIpGroup,
         etsysVrrpExtTrackedObjectGroup
     }
     ::= { etsysVrrpExtMIBCompliances 2 }
END
