ENTERASYS-APPLICATION-SIGNATURE-MIB DEFINITIONS ::= BEGIN

--
--  enterasys-application-signature-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Extreme
--  Networks' application signature MIB.

--
--  This module will be extended, as needed.

--  Extreme Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Extreme Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Extreme 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 Extreme
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Extreme Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Extreme Networks products.

--  Copyright May 2016 Extreme Networks, Inc.

 
IMPORTS
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    Unsigned32,  OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI            
    RowStatus, DisplayString
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    etsysModules            
        FROM ENTERASYS-MIB-NAMES;            


etsysApplicationSignatureMIB MODULE-IDENTITY 
    LAST-UPDATED "201605111256Z"  -- Wed May 11 12:56 UTC 2016
    ORGANIZATION "Extreme Networks"
    CONTACT-INFO
        "Postal:  Extreme Networks, Inc.
                  145 Rio Robles
                  San Jose, CA 95134 USA

         Phone:   +1 408 579-2800
         E-mail:  support@extremenetworks.com
         WWW:     http://www.extremenetworks.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP MIB under
         the Enterasys Networks enterprise OID pertaining to
         configuration of custom application signatures on Extreme
         Networks devices."


    REVISION "201605111256Z"  -- Wed May 11 12:56 UTC 2016
    DESCRIPTION
        "The initial version of this MIB module."
    ::= { etsysModules 107 }

-- -------------------------------------------------------------
-- Textual conventions
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- MIB Objects
-- -------------------------------------------------------------
etsysApplicationSignatureMIBObjects    OBJECT IDENTIFIER
                      ::= { etsysApplicationSignatureMIB 1 }

-- -------------------------------------------------------------
-- The Application Group Table
-- -------------------------------------------------------------

etsysAppSignGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysAppSignGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "A table that contains the standard Application Groups for the 
        Extreme Network deep packet inspection engine."
    ::= { etsysApplicationSignatureMIBObjects 1 }

etsysAppSignGroupEntry OBJECT-TYPE
    SYNTAX      EtsysAppSignGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "An entry that ties a given application Group Name to a particular 
         application group ID."
    INDEX { etsysAppSignGroupId }
    ::= { etsysAppSignGroupTable 1 }

EtsysAppSignGroupEntry  ::= 
    SEQUENCE {
        etsysAppSignGroupId
            Unsigned32,
        etsysAppSignGroupName
            SnmpAdminString
    }

etsysAppSignGroupId OBJECT-TYPE    
    SYNTAX      Unsigned32  (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "A pre-defined unique group index which points to the group to
         which the application belongs."
    ::= { etsysAppSignGroupEntry 1 }


etsysAppSignGroupName OBJECT-TYPE    
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION    
        "A pre-defined application group name."
    ::= { etsysAppSignGroupEntry 2 }

-- -------------------------------------------------------------
-- The Application Display Name Table
-- -------------------------------------------------------------

etsysAppSignDisplayNameTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysAppSignDisplayNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "A table that describes attributes of a user defined application
         display name."
    ::= { etsysApplicationSignatureMIBObjects 2 }

etsysAppSignDisplayNameEntry OBJECT-TYPE
    SYNTAX      EtsysAppSignDisplayNameEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "Describes a particular entry within the
         etsysAppSignDisplayNameTable."
    INDEX { etsysAppSignDisplayId }
    ::= { etsysAppSignDisplayNameTable 1 }

EtsysAppSignDisplayNameEntry  ::=
    SEQUENCE {
        etsysAppSignDisplayId
            Unsigned32,
        etsysAppSignDisplayName
            SnmpAdminString,
        etsysAppSignDisplayNameRowStatus
            RowStatus
    }

etsysAppSignDisplayId OBJECT-TYPE    
    SYNTAX      Unsigned32 (1..5999)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
       "A unique ID assigned to a specific extended signature.
        The user can only assign an index in a range from 5000 to 5999. 
        The rest of the indices are reserved for internal use."
    ::= { etsysAppSignDisplayNameEntry 1 }

etsysAppSignDisplayName OBJECT-TYPE    
    SYNTAX      SnmpAdminString (SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION    
        "A user friendly name assigned to this extended signature.  
         The display name and display ID MUST be unique within 
         the scope of a single managed entity. 

         This object MUST NOT be modifiable while this entry's
         RowStatus is active(1) or if etsysAppSignDisplayId is a reserved 
         index."
    DEFVAL { "" }
    ::= { etsysAppSignDisplayNameEntry 2 }

etsysAppSignDisplayNameRowStatus OBJECT-TYPE    
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION    
        "This object allows for the dynamic creation and deletion
         of entries within the etsysAppSignDisplayNameTable as 
         well as the activation and deactivation of these entries."
    ::= { etsysAppSignDisplayNameEntry 3 }

-- -------------------------------------------------------------
-- The Application Pattern string Table
-- -------------------------------------------------------------

etsysAppSignPatternTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysAppSignPatternEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "A table that describes attributes of a user defined pattern  
         string."
    ::= { etsysApplicationSignatureMIBObjects 3 }

etsysAppSignPatternEntry OBJECT-TYPE
    SYNTAX      EtsysAppSignPatternEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "An entry describing the matching pattern of a WebApplRule and 
         its assigned index. For use by the Extreme Network deep packet 
         inspection engine."
    INDEX { etsysAppSignGroupId, etsysAppSignDisplayId, 
            etsysAppSignPatternIndex }
    ::= { etsysAppSignPatternTable 1 }

EtsysAppSignPatternEntry  ::=
    SEQUENCE {
        etsysAppSignPatternIndex
            Unsigned32,
        etsysAppSignPattern
            DisplayString,
        etsysAppSignPatternRowStatus
            RowStatus
    }

etsysAppSignPatternIndex OBJECT-TYPE    
    SYNTAX      Unsigned32 (1000000..2000000)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION    
        "A unique identifier for a pattern string. The user can only 
         assign an index in a range from 1000000 to 2000000. The rest 
         of the indices are reserved for internal use."
    ::= { etsysAppSignPatternEntry 1 }

etsysAppSignPattern OBJECT-TYPE    
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION    
        "A case sensitive string for matching against the 'host' field of
         an http request packet, or the 'server name' in the 'client 
         Hello' packet of a TLS session.  This is used to identify the 
         application."
    DEFVAL { "" }
    ::= { etsysAppSignPatternEntry 2 }

etsysAppSignPatternRowStatus OBJECT-TYPE    
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION    
        "This object allows the dynamic creation and deletion of entries 
         within the etsysAppSignPatternTable as well as the activation 
         and deactivation of these entries.

         etsysAppSignPatternRowStatus MUST NOT be set to active(1) and 
         createAndGo(4) if the etsysAppSignPattern object contains 
         an empty string."
    ::= { etsysAppSignPatternEntry 3 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysApplicationSignatureConformance OBJECT IDENTIFIER
                      ::= { etsysApplicationSignatureMIB 2 }

etsysAppSignGroups OBJECT IDENTIFIER
                      ::= { etsysApplicationSignatureConformance 1 }

etsysAppSignCompliances OBJECT IDENTIFIER
                      ::= { etsysApplicationSignatureConformance 2 }

-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysAppSignGroup OBJECT-GROUP
    OBJECTS { etsysAppSignGroupName }
    STATUS  current
    DESCRIPTION    
        "A collection of objects that define attributes of an 
         application group."
    ::= { etsysAppSignGroups 1 }

etsysAppSignDisplayNameGroup OBJECT-GROUP
    OBJECTS { 
        etsysAppSignDisplayName, 
        etsysAppSignDisplayNameRowStatus 
    }
    STATUS  current
    DESCRIPTION    
        "A collection of objects that define attributes of an 
         application display name."
    ::= { etsysAppSignGroups 2 }

etsysAppSignPatternGroup OBJECT-GROUP
    OBJECTS { 
        etsysAppSignPattern, 
        etsysAppSignPatternRowStatus 
    }
    STATUS  current
    DESCRIPTION    
        "A collection of objects that define attributes of a configured
         pattern string."
    ::= { etsysAppSignGroups 3 }

-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------
    
etsysAppSignCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION    
        "This group is mandatory for all devices that support 
         configuration of deep packet inspection application signatures."
    MODULE -- this module
        MANDATORY-GROUPS { 
            etsysAppSignGroup,
            etsysAppSignDisplayNameGroup, 
            etsysAppSignPatternGroup 
        }
    ::= { etsysAppSignCompliances 1 }

END
