ALCATEL-ENT1-DPI-MIB DEFINITIONS ::= BEGIN

IMPORTS
        NOTIFICATION-TYPE, 
        OBJECT-TYPE,
        OBJECT-IDENTITY, 
        MODULE-IDENTITY, 
        Counter32, Integer32, Unsigned32, Counter64
                FROM SNMPv2-SMI
          InetAddress, InetAddressType
      	FROM INET-ADDRESS-MIB
	OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
		FROM SNMPv2-CONF
	RowStatus, DateAndTime
		FROM SNMPv2-TC
	softentIND1DPI
		FROM ALCATEL-ENT1-BASE
          SnmpAdminString                    
                    FROM SNMP-FRAMEWORK-MIB
        InterfaceIndex
    	FROM IF-MIB;

alaDPIMIB MODULE-IDENTITY
	LAST-UPDATED  "201205040000Z"
	ORGANIZATION  "Alcatel-Lucent"
	CONTACT-INFO
			"Please consult with the Customer Service to ensure the most appropriate
			version of this document is used with the products in question:
	
	Alcatel-Lucent, Enterprise Solutions Division
	(Formerly Alcatel Internetworking, Incorporated)
	26801 West Agoura Road
	Agoura Hills, CA  91301-5122
	United States Of America

	Telephone:               
	North America  +1 800 995 2696
	Latin America  +1 877 919 9526
	Europe         +31 23 556 0100
	Asia           +65 394 7933
	All Other      +1 818 878 4507

	Electronic Mail:         support@ind.alcatel.com
	World Wide Web:          http://alcatel-lucent.com/wps/portal/enterprise
	File Transfer Protocol:  ftp://ftp.ind.alcatel.com/pub/products/mibs"

	DESCRIPTION 
		"This module describes an authoritative enterprise-specific Simple 
		Network Management Protocol (SNMP) Management Information Base (MIB): 

		The right to make changes in specification and other information 
		contained in this document without prior notice is reserved. 

		No liability shall be assumed for any incidental, indirect, special, or 
		consequential damages whatsoever arising from or related to this 
		document or the information contained herein. 

		Vendors, end-users, and other interested parties are granted 
		non-exclusive license to use this specification in connection with 
		management of the products for which it is intended to be used. 

		Copyright (C) 1995-2008 Alcatel-Lucent, Incorporated 
		ALL RIGHTS RESERVED WORLDWIDE" 

    REVISION      "201205040000Z"
    DESCRIPTION
        "The latest version of this MIB Module."

::= { softentIND1DPI 1}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPIMIBNotifications	OBJECT IDENTIFIER ::= { alaDPIMIB 0 }

alaDPIMIBObjects OBJECT-IDENTITY
	STATUS 			current
	DESCRIPTION 	"Branch for DPI sub-system managed objects."
::= { alaDPIMIB 1 }

alaDPIMIBConformance OBJECT-IDENTITY
	STATUS 			current
	DESCRIPTION 	"Branch for DPI sub-system conformance information."
::= { alaDPIMIB 2 }

alaDPIMIBGroups OBJECT-IDENTITY
	  STATUS          current
        DESCRIPTION
                                "Branch for DPI subsystem
                                units of conformance."
        ::= { alaDPIMIBConformance 1 }

alaDPIMIBCompliances OBJECT-IDENTITY
        STATUS          current
        DESCRIPTION
                                "Branch for DPI subsystem
                                compliance statements."
        ::= { alaDPIMIBConformance 2 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPICertConfig    OBJECT  IDENTIFIER ::= { alaDPIMIBObjects 1 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPIUpdateSignatureFile OBJECT-TYPE
  SYNTAX	INTEGER {
		default(1),
                force(2),
                autoCreat(3),
                autoCreatForc(4)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION 	"Updates the signature file on the switch. This creates an application pool and loads the contents (list of
  		applications that are part of the signature kit) of a new or updated application signature file into the switch.
 		
		default: Updates only when the new signature file must be of a higher version than the running signature file, and must contain 
		application signatures of old signature file and newly released applications signatures (if any).
	        
		force: This option is used to update a signature file irrespective of the version of the signature file.
      	        
	       	autoCreat: This option is used to update a signature file and recreate the auto-groups.

	       	autoCreatForc: This option is used to update a signature file irrespective of the version of the signature file.
	       	and recreate auto-groups."
  DEFVAL      { default }
  ::= { alaDPICertConfig 1}

alaDPIUpdateSignatureStatus OBJECT-TYPE
SYNTAX  INTEGER {
        none (1),
        inProgress (2),
        completed (3),
        failed (4),
        timedOut (5)
  }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
         "The value of alaDPIUpdateSignatureStatus indicates the current
         status of the signature kit update.

          none:         alaDPIUpdateSignatureFile has not yet been attempted.
          inProgress:   the signature kit update is currently underway.
          completed:    the signature kit update completed successfully.
          failed:       the signature kit update failed.
          timedOut:     the signature kit update timed out."

  DEFVAL { none }
  ::= { alaDPICertConfig 2}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPIConfig 	OBJECT	IDENTIFIER ::= { alaDPIMIBObjects 2 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


alaDPIAdminStatus OBJECT-TYPE
  SYNTAX	INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Enable/Disable DPI on the device."
  DEFVAL      { disable }
  ::= { alaDPIConfig 1}

alaDPIUpdateAppList OBJECT-TYPE
  SYNTAX	INTEGER {
		default(1),
                apply (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger an apply of the application list.
  	      default: No action.
      	      apply: Applys the application list and brings back to default." 	      
  DEFVAL      { default }
  ::= { alaDPIConfig 2}

alaDPIUpdateAppListStatus OBJECT-TYPE
SYNTAX	INTEGER {
        none(1),
        inProgress(2),
        successfullyUpdated(3),
        failedToUpdate(4),
        maximumAppCountExceeded (5)
  }
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Status of alaDPIUpgradeAppList. It can be none (default) / inProgress when update is in progress /successfullyUpdated when update is complete with no errors / failedToUpdate when DPI engine fails because of insufficient memory/hardware failure / maximumAppCountExceeded when number of applications will not be able to fit in DPI engine.This Object gives the status of last update app-list operation status." 
  DEFVAL      { none }
  ::= { alaDPIConfig 3}

alaDPIClearAppList OBJECT-TYPE
  SYNTAX	INTEGER {
		default(1),
                clear (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger clear of the application list.
  	      default: No action.
      	      clear: Clears the application list and brings back to default." 	      
  DEFVAL      { default }
  ::= { alaDPIConfig 4}

alaDPIFlowTableFlush OBJECT-TYPE
  SYNTAX	INTEGER {
		default(1),
		flush(2)
		} 
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To trigger flushing of the IPv4 and IPv6 flow table.
  	      default: No action.
  	      flush: Flushes all the learned flow-table entries from the hardware and brings back to default."
  DEFVAL      { default }
  ::= { alaDPIConfig 5}


alaDPIStatsInterval OBJECT-TYPE
  SYNTAX	Integer32 (-1|10..3600)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "DPI stats interval in seconds. The stats interval can be configured in the range 10-3600 seconds as multiples of 5."
  DEFVAL { 60 }
  ::= { alaDPIConfig 6}

alaDPIClearStats OBJECT-TYPE
  SYNTAX	INTEGER { 
		stats(1)
		}
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Clear DPI Statistics"
  ::= { alaDPIConfig 7}

alaDPIIpv4 OBJECT-TYPE
  SYNTAX	INTEGER { 
		enable(1),
		disable(2)
		}
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To enable or disable IPv4 L3 mode."
  DEFVAL      { enable } 
  ::= { alaDPIConfig 8}

alaDPIIpv6 OBJECT-TYPE
  SYNTAX	INTEGER { 
		enable(1),
		disable(2)
		}
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "To enable or disable IPv6 L3 mode."
  DEFVAL      { enable }
  ::= { alaDPIConfig 9}

alaDPIAppliedSignatures OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of active signatures that have been applied."
  ::= { alaDPIConfig 10}

alaDPIApplicationPoolSignatures OBJECT-TYPE
  SYNTAX	Integer32 
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "A count of the number of signatures in the Application pool."
  ::= { alaDPIConfig 11}

alaDPISignatureFileVersion OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Signature file version information that contains the application signatures."
  ::= { alaDPIConfig 12}

alaDPISignatureFileAppCount OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"A count of the number of applications in the signature file."
  ::= { alaDPIConfig 13}

alaDPISignatureFileName OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION 	"Signature File Name."
  DEFVAL { "/flash/UAppSig.upgrade_kit" }
  ::= { alaDPIConfig 14}

alaDPIAppGrpFromAppName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The first application name to be configured when adding a range of applications to an application group at one go."
  ::= { alaDPIConfig 15}

alaDPIAppGrpToAppName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The last application name to be configured when adding a range of applications to an application group at one go."
  ::= { alaDPIConfig 16}

alaDPIAddAppGrpName OBJECT-TYPE
  SYNTAX      	SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"Group Name to be configured during app group creation when a range of applications need to be a added."
  ::= { alaDPIConfig 17}

alaDPIAutoGroupCreation OBJECT-TYPE
  SYNTAX	INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"DPI auto-group creation state."
  DEFVAL      { disable }
  ::= { alaDPIConfig 18}

alaDPIAddRemoveAppGrpName OBJECT-TYPE
  SYNTAX      	INTEGER {
		addGroup (1),
		removeGroup (2)
	}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"Group Name to be added or removed."
  ::= { alaDPIConfig 19}

alaDPIAOSCompatibilityVersion OBJECT-TYPE
  SYNTAX	Integer32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "AOS signature kit compatibility version information."
  ::= { alaDPIConfig 20}

alaDPIKitType OBJECT-TYPE
  SYNTAX      	INTEGER {
		production (1),
		factory (2)
	}
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Type of the DPI kit as pointed to by alaDPISignatureFileName."
  ::= { alaDPIConfig 21}

alaDPIUpgradedKitType OBJECT-TYPE
  SYNTAX      	INTEGER {
		production(1),
		factory(2)
	}
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Type of the DPI kit upgraded."
  ::= { alaDPIConfig 22}

alaDPIUpgradedSignatureFileVersion OBJECT-TYPE
  SYNTAX      SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Upgraded Signature File Version Information"
  ::= { alaDPIConfig 23}

alaDPILoggingThresholdFlows OBJECT-TYPE
  SYNTAX        Integer32 (0 | 1000..600000)
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "This is the threshold on the number of monitored
               application flows beyond which the flow records 
               would be logged to flash file.
               If set 0, then logging of flow records to file is
               disabled."
  DEFVAL      { 20000 }
  ::= { alaDPIConfig 24}

alaDPIClearConfig OBJECT-TYPE
  SYNTAX        INTEGER {
                yes (1),
                no (2)
              }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   "Clear the DPI configuration."
  DEFVAL      { no }
  ::= { alaDPIConfig 25}

alaDPIProxyServerDefaultPort1 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "First DPI Proxy Server Port. 
                         This scalar object represents the default proxy port
                         which is 8080. No other port values are allowed other
                         than zero which is used to unconfigure this 
                         default port."
  DEFVAL      { 8080 }
  ::= { alaDPIConfig 26}

alaDPIProxyServerDefaultPort2 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "Second DPI Proxy Server Port. 
                         This scalar object represents the default proxy port
                         which is 8000. No other port values are allowed other
                         than zero which is used to unconfigure this 
                         default port."
  DEFVAL      { 8000 }
  ::= { alaDPIConfig 27}

alaDPIProxyServerPort1 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 28}

alaDPIProxyServerPort2 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 29}

alaDPIProxyServerPort3 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 30}

alaDPIProxyServerPort4 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 31}

alaDPIProxyServerPort5 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 32}

alaDPIProxyServerPort6 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 33}

alaDPIProxyServerPort7 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 34}

alaDPIProxyServerPort8 OBJECT-TYPE
  SYNTAX                Integer32 (0..65535)
  MAX-ACCESS            read-write
  STATUS                current
  DESCRIPTION           "DPI Proxy Server Port."
  ::= { alaDPIConfig 35}

alaDPIAddRemoveProxyServerPort OBJECT-TYPE
  SYNTAX        INTEGER {
                addPort (1),
                removePort (2)
        }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   "This scalar is used as a flag to indicate whether 
                 the proxy server ports needs to be added or removed."
  DEFVAL      { addPort }
  ::= { alaDPIConfig 36}

alaDPIFlowTableStatsAdminStatus OBJECT-TYPE
  SYNTAX        INTEGER {
                enable (1),
                disable (2)
              }
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION "Enable/Disable flow table stats on the device."
  DEFVAL      { disable }
  ::= { alaDPIConfig 37}

------------------------------------------------------------
-- Port related Config  --
------------------------------------------------------------

alaDPIPortConfigTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIPortConfigEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI port configuration information."
  ::= { alaDPIMIBObjects 3 }

alaDPIPortConfigEntry  OBJECT-TYPE
  SYNTAX                AlaDPIPortConfigEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI port configuration entry."
  INDEX { alaDPIPortConfigSlotPortIndex }
  ::= { alaDPIPortConfigTable 1 }

AlaDPIPortConfigEntry	::=
	SEQUENCE
	{
		alaDPIPortConfigSlotPortIndex 		InterfaceIndex,
		alaDPIPortConfigPortStatus		    INTEGER,
		alaDPIPortConfigTcpStatus		    INTEGER,
		alaDPIPortConfigUdpStatus		    INTEGER,	
        	alaDPIPortConfigPortTypeStatus		INTEGER,	
        	alaDPIPortConfigOperStatus          INTEGER
	}

alaDPIPortConfigSlotPortIndex OBJECT-TYPE
  SYNTAX		InterfaceIndex
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "The physical identification number for this port."
  ::= { alaDPIPortConfigEntry  1 }

alaDPIPortConfigPortStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
		}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The DPI status on the port."
  DEFVAL      	{ enable }
  ::= { alaDPIPortConfigEntry 2}

alaDPIPortConfigTcpStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
		}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The TCP status on the port."
  DEFVAL      	{ enable }
  ::= { alaDPIPortConfigEntry 3}

alaDPIPortConfigUdpStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                enable (1),
                disable (2)
		}
  MAX-ACCESS  	read-write
  STATUS      	current
  DESCRIPTION  	"The UDP status on the port."
  DEFVAL      	{ enable }
  ::= { alaDPIPortConfigEntry	 4}

alaDPIPortConfigPortTypeStatus OBJECT-TYPE
  SYNTAX      INTEGER {
                nonUplink (1),
                uplink (2)
		}
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"The port type of the port."
  DEFVAL      	{ nonUplink }
  ::= { alaDPIPortConfigEntry	 5}

  alaDPIPortConfigOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
              	enable (1),
              	disable (2)
   		}
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION   "The operational status on the port."
  DEFVAL        { enable }
  ::= { alaDPIPortConfigEntry 6}

------------------------------------------------------------
-- Application pool related Config  --
------------------------------------------------------------

alaDPIAppPoolTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIAppPoolEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Application Pool information."
  ::= { alaDPIMIBObjects 4 }

alaDPIAppPoolEntry  OBJECT-TYPE
  SYNTAX                AlaDPIAppPoolEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Application pool entry."
  INDEX { alaDPIAppPoolAppName }
  ::= { alaDPIAppPoolTable 1 }

AlaDPIAppPoolEntry	::=
	SEQUENCE
	{
		alaDPIAppPoolAppName 		SnmpAdminString,
		alaDPIAppPoolCategory 		SnmpAdminString,
		alaDPIAppPoolRevision 		SnmpAdminString,
		alaDPIAppPoolAppID              Integer32,
		alaDPIAppPoolAppStatus          INTEGER
	}	

alaDPIAppPoolAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "DPI Application Name."
  ::= { alaDPIAppPoolEntry  1 }

alaDPIAppPoolCategory OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application Category Name."
  ::= { alaDPIAppPoolEntry  2 }

alaDPIAppPoolRevision OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..6)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application revision"
  ::= { alaDPIAppPoolEntry  3 }

alaDPIAppPoolAppID  OBJECT-TYPE
  SYNTAX            Integer32
  MAX-ACCESS        read-only
  STATUS            current
  DESCRIPTION       "DPI Application Serial Number"
  ::= { alaDPIAppPoolEntry 4}

alaDPIAppPoolAppStatus OBJECT-TYPE
  SYNTAX       INTEGER
  		{
         	valid (1),
         	invalid (2)
  		}	
  MAX-ACCESS   read-only
  STATUS       current
  DESCRIPTION  "Indicates whether application name is
                 part of application pool or not."
  DEFVAL      { valid }
  ::= { alaDPIAppPoolEntry 5}

------------------------------------------------------------
-- Application group related config  --
------------------------------------------------------------

alaDPIAppGroupTable    		OBJECT-TYPE
  SYNTAX                	SEQUENCE OF AlaDPIAppGroupEntry
  MAX-ACCESS            	not-accessible
  STATUS                	current
  DESCRIPTION           	"A table containing DPI Application Group information."
  ::= { alaDPIMIBObjects 5 }

alaDPIAppGroupEntry  	OBJECT-TYPE
  SYNTAX                	AlaDPIAppGroupEntry
  MAX-ACCESS            	not-accessible
  STATUS                	current
  DESCRIPTION           	"DPI Application Group Detailed entry."
  INDEX { alaDPIAppGroupName, alaDPIAppGroupMember }
  ::= { alaDPIAppGroupTable  1 }

AlaDPIAppGroupEntry	::=
	SEQUENCE
	{
		alaDPIAppGroupName		SnmpAdminString,
		alaDPIAppGroupMember		SnmpAdminString,
		alaDPIAppGroupMemberType	INTEGER,
		alaDPIAppGroupCategoryName	SnmpAdminString,
        	alaDPIAppGroupID            	Integer32,
                alaDPIAppGroupAppStatus         INTEGER,
		alaDPIAppGroupStatus		RowStatus
	}

alaDPIAppGroupName	OBJECT-TYPE
  SYNTAX	    		SnmpAdminString (SIZE(1..64))
  MAX-ACCESS    		not-accessible
  STATUS  	    		current
  DESCRIPTION   		"DPI Application Group Name."
  ::= { alaDPIAppGroupEntry 1}

alaDPIAppGroupMember 		OBJECT-TYPE
  SYNTAX      		  	 SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		  	 not-accessible
  STATUS      		  	 current
  DESCRIPTION  		  	 "DPI Application Group Member."
  ::= { alaDPIAppGroupEntry  2}

alaDPIAppGroupMemberType	OBJECT-TYPE
  SYNTAX      		  	 INTEGER {	app(1), category(2) }
  MAX-ACCESS  		  	 read-create
  STATUS      		  	 current
  DESCRIPTION  		  	 "Application Group member type"
  ::= { alaDPIAppGroupEntry 3}

alaDPIAppGroupCategoryName	OBJECT-TYPE
  SYNTAX      		  	 SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		  	 read-only
  STATUS      		  	 current
  DESCRIPTION  		  	 "Application Group Category Name"
  ::= { alaDPIAppGroupEntry 4}

alaDPIAppGroupID           OBJECT-TYPE
  SYNTAX                Integer32 
  MAX-ACCESS            read-only
  STATUS                current
  DESCRIPTION           "App Group ID"
  ::= { alaDPIAppGroupEntry 5}

alaDPIAppGroupAppStatus OBJECT-TYPE
  SYNTAX      INTEGER
 {
                valid (1),
                invalid (2)
  }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates whether application name is
                 part of application pool or not."
  DEFVAL        { valid }
  ::= { alaDPIAppGroupEntry 6}

alaDPIAppGroupStatus		 OBJECT-TYPE
  SYNTAX      		  	 RowStatus
  MAX-ACCESS  		  	 read-create
  STATUS      		  	 current
  DESCRIPTION  		  	 "Column for setting the status of the group"
  ::= { alaDPIAppGroupEntry 7}

------------------------------------------------------------
-- Application list related config  --
------------------------------------------------------------

alaDPIAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Application List information."
  ::= { alaDPIMIBObjects 6 }

alaDPIAppListEntry  OBJECT-TYPE
  SYNTAX                AlaDPIAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Application List entry."
  INDEX { alaDPIAppListMemberName  }
  ::= { alaDPIAppListTable 1 }

AlaDPIAppListEntry	::=
	SEQUENCE
	{
		alaDPIAppListMemberName 	SnmpAdminString ,
		alaDPIAppListMemberType  	INTEGER,
        	alaDPIAppListAppOrGroupID       Integer32,         
        	alaDPIAppListAppStatus    	INTEGER,
		alaDPIAppListMemberStatus  	RowStatus
	}

alaDPIAppListMemberName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "DPI Application Name."
  ::= { alaDPIAppListEntry  1 }

alaDPIAppListMemberType OBJECT-TYPE
  SYNTAX     	INTEGER {
			application(1),
			applicationGroup(2)
		}
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION 	"This value indicates whether the member added to the application list is an application or an application group."
  ::= { alaDPIAppListEntry  2 }

alaDPIAppListAppOrGroupID OBJECT-TYPE  
  SYNTAX           Integer32
  MAX-ACCESS       read-only     
  STATUS           current 
  DESCRIPTION      "Application ID or group ID of App-List." 
  ::= { alaDPIAppListEntry 3 }

alaDPIAppListAppStatus  OBJECT-TYPE
  SYNTAX      INTEGER
 		{
                valid (1),
                invalid (2)
  		}	
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates whether the application name is
                 part of an application pool or not."
  DEFVAL        { valid }
  ::= { alaDPIAppListEntry 4}

alaDPIAppListMemberStatus OBJECT-TYPE
  SYNTAX      		RowStatus
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION 		"The status of this member."
  ::= { alaDPIAppListEntry  5 }

------------------------------------------------------------
-- Flow Table --
------------------------------------------------------------

alaDPIFlowTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Flow information."
  ::= { alaDPIMIBObjects 7 }

alaDPIFlowEntry  OBJECT-TYPE
  SYNTAX                AlaDPIFlowEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Flow Table entry."
  INDEX { alaDPIFlowSourceIPType,  alaDPIFlowSourceIP, alaDPIFlowDestIPType, alaDPIFlowDestIP, alaDPIFlowSrcPort, alaDPIFlowDestPort, alaDPIFlowProtocol }
  ::= { alaDPIFlowTable 1 }

AlaDPIFlowEntry	::=
SEQUENCE
{
	alaDPIFlowSourceIPType			InetAddressType,
	alaDPIFlowSourceIP			InetAddress,
	alaDPIFlowDestIPType			InetAddressType,
	alaDPIFlowDestIP			InetAddress,
	alaDPIFlowSrcPort			Integer32,
	alaDPIFlowDestPort			Integer32,
	alaDPIFlowProtocol			INTEGER,
	alaDPIFlowAppName			SnmpAdminString,
	alaDPIFlowAppGrpName			SnmpAdminString,
	alaDPIFlowPolicyRule			SnmpAdminString,
	alaDPIFlowStartTime			DateAndTime,
        alaDPIFlowPktCount                      Counter64,
        alaDPIFlowByteCount                     Counter64
}

alaDPIFlowSourceIPType OBJECT-TYPE
  SYNTAX      	InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS	not-accessible
  STATUS     	current
  DESCRIPTION 	"Source IP Type for this DPI Flow Entry"
  ::= { alaDPIFlowEntry 1}

alaDPIFlowSourceIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION "Source IP address for this DPI Flow Entry."
  ::= { alaDPIFlowEntry 2}

alaDPIFlowDestIPType OBJECT-TYPE
  SYNTAX        InetAddressType { ipv4(1), ipv6(2) }
  MAX-ACCESS  	not-accessible
  STATUS     	current
  DESCRIPTION	"Destination IP address Type for this DPI Flow Entry."
  ::= { alaDPIFlowEntry 3}

alaDPIFlowDestIP OBJECT-TYPE
  SYNTAX      InetAddress (SIZE(4|16))
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination IP address for this DPI Flow Entry."
  ::= { alaDPIFlowEntry 4}

alaDPIFlowSrcPort OBJECT-TYPE
  SYNTAX      	Integer32 (1..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Source Port for this DPI Flow Entry."
  ::= { alaDPIFlowEntry 5}

alaDPIFlowDestPort OBJECT-TYPE
  SYNTAX      Integer32 (1..65535)
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Destination Port for this DPI Flow Entry."
  ::= { alaDPIFlowEntry 6}

alaDPIFlowProtocol OBJECT-TYPE
  SYNTAX      INTEGER {
                tcp (1),
                udp (2)
		}
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION  	"Protocol associated with this DPI Flow Entry."
  ::= { alaDPIFlowEntry 7}

alaDPIFlowAppName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application associated with this DPI Flow Entry."
  ::= { alaDPIFlowEntry 8}

alaDPIFlowAppGrpName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Application Group associated with DPI Flow Entry."
  ::= { alaDPIFlowEntry 9}

alaDPIFlowPolicyRule OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"Policy Rule associated with this Flow Entry."
  ::= { alaDPIFlowEntry 10}

alaDPIFlowStartTime OBJECT-TYPE
  SYNTAX      DateAndTime
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION  	"Flow Start Time."
  ::= { alaDPIFlowEntry 11}

alaDPIFlowPktCount OBJECT-TYPE
  SYNTAX                Counter64
  MAX-ACCESS            read-only
  STATUS                current
  DESCRIPTION           "Packet Count of this Flow Entry."
  ::= { alaDPIFlowEntry 12}

alaDPIFlowByteCount OBJECT-TYPE
  SYNTAX                Counter64
  MAX-ACCESS            read-only
  STATUS                current
  DESCRIPTION           "Byte Count of this Flow Entry."
  ::= { alaDPIFlowEntry 13}

------------------------------------------------------------
-- L4 Port Range Table --
------------------------------------------------------------

alaDPIL4PortRangeTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIL4PortRangeEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Application List information."
  ::= { alaDPIMIBObjects 8 }

alaDPIL4PortRangeEntry  OBJECT-TYPE
  SYNTAX                AlaDPIL4PortRangeEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Application List entry."
  INDEX { alaDPIL4PortRangeId }
  ::= { alaDPIL4PortRangeTable 1 }

AlaDPIL4PortRangeEntry	::=
	SEQUENCE
	{
		alaDPIL4PortRangeId		Integer32,
		alaDPIL4PortRangeStart		Integer32,
		alaDPIL4PortRangeEnd 		Integer32,
		alaDPIL4PortType		INTEGER,
		alaDPIL4PortStatus		RowStatus
	}

alaDPIL4PortRangeId OBJECT-TYPE
  SYNTAX	Integer32(1..8)
  MAX-ACCESS  	not-accessible
  STATUS  	current
  DESCRIPTION   "DPI Application Range ID."
  ::= { alaDPIL4PortRangeEntry  1 }

alaDPIL4PortRangeStart OBJECT-TYPE
  SYNTAX	Integer32 (0..65535)
  MAX-ACCESS  	read-create
  STATUS  	current
  DESCRIPTION   "DPI Application Range Start Port"
  ::= { alaDPIL4PortRangeEntry  2 }

alaDPIL4PortRangeEnd OBJECT-TYPE
  SYNTAX      	Integer32 (0..65535)
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION 	"DPI Application Range End Port."
  ::= { alaDPIL4PortRangeEntry  3 }

alaDPIL4PortType OBJECT-TYPE
  SYNTAX      	INTEGER { 
	  	tcpServicePort(1), 
		udpPort(2)
  		}
  MAX-ACCESS  	read-create
  STATUS      	current
  DESCRIPTION  	"DPI Application Range Entry L4 Protocol"
  ::= { alaDPIL4PortRangeEntry  4}

alaDPIL4PortStatus OBJECT-TYPE
  SYNTAX      		RowStatus
  MAX-ACCESS  		read-create
  STATUS      		current
  DESCRIPTION  		"DPI Application Range Status"
  ::= { alaDPIL4PortRangeEntry  5}

------------------------------------------------------------
-- Active Application List Table --
------------------------------------------------------------

alaDPIActiveAppListTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Application List information."
  ::= { alaDPIMIBObjects 9 }

alaDPIActiveAppListEntry  OBJECT-TYPE
  SYNTAX                AlaDPIActiveAppListEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Application List entry."
  INDEX { alaDPIActiveAppListAppName }
  ::= { alaDPIActiveAppListTable 1 }

AlaDPIActiveAppListEntry	::=
	SEQUENCE
	{
		alaDPIActiveAppListAppName 		SnmpAdminString ,
		alaDPIActiveAppListAppGroupName		SnmpAdminString,
		alaDPIActiveAppListActiveMatchedFlows	Integer32,
		alaDPIActiveAppListTotalMatchedFlows	Integer32,
		alaDPIActiveAppListAppID            	Integer32,
        	alaDPIActiveAppListAppStatus            INTEGER,
                alaDPIActiveAppListActivePktCount       Counter64,
                alaDPIActiveAppListActiveByteCount      Counter64,
                alaDPIActiveAppListGrossPktCount        Counter64,
                alaDPIActiveAppListGrossByteCount       Counter64
	}

alaDPIActiveAppListAppName OBJECT-TYPE
  SYNTAX		SnmpAdminString (SIZE(1..128)) 
  MAX-ACCESS  		not-accessible
  STATUS  		current
  DESCRIPTION   "DPI application name in the active application list."
  ::= { alaDPIActiveAppListEntry  1 }

alaDPIActiveAppListAppGroupName OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(0..32))
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI application group name in the active application list."
  ::= { alaDPIActiveAppListEntry  2 }

alaDPIActiveAppListActiveMatchedFlows OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application Name Signature Matched Count in the active application list."
  ::= { alaDPIActiveAppListEntry  3 }

alaDPIActiveAppListTotalMatchedFlows OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application Name Signature Matched Count in the active application list."
  ::= { alaDPIActiveAppListEntry  4 }

alaDPIActiveAppListAppID OBJECT-TYPE
  SYNTAX      		Integer32
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application ID in the active application list."
  ::= { alaDPIActiveAppListEntry  5 }

alaDPIActiveAppListAppStatus   OBJECT-TYPE
 SYNTAX      INTEGER
 		{
                valid (1),
                invalid (2)
  		}
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "Indicates whether application name is
                 part of application pool or not in the active application list."
  DEFVAL        { valid }
  ::= { alaDPIActiveAppListEntry  6}
 
alaDPIActiveAppListActivePktCount OBJECT-TYPE
   SYNTAX               Counter64
   MAX-ACCESS           read-only
   STATUS               current
   DESCRIPTION          "Gross Byte Count for a particular application."
   ::= { alaDPIActiveAppListEntry  7 }

 alaDPIActiveAppListActiveByteCount OBJECT-TYPE
   SYNTAX               Counter64
   MAX-ACCESS           read-only
   STATUS               current
   DESCRIPTION          "Gross Byte Count for a particular application."
   ::= { alaDPIActiveAppListEntry  8 }

 alaDPIActiveAppListGrossPktCount OBJECT-TYPE
    SYNTAX                      Counter64
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION                 "Gross Packet Count for a particular application."
    ::= { alaDPIActiveAppListEntry  9 }

 alaDPIActiveAppListGrossByteCount OBJECT-TYPE
    SYNTAX                      Counter64
    MAX-ACCESS                  read-only
    STATUS                      current
    DESCRIPTION                 "Gross Byte Count for a particular application."
    ::= { alaDPIActiveAppListEntry  10 }

------------------------------------------------------------
-- Signature file Table --
------------------------------------------------------------
                                      
alaDPISignatureFileTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPISignatureFileEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI signature file information."
  ::= { alaDPIMIBObjects 10 }

alaDPISignatureFileEntry  OBJECT-TYPE
  SYNTAX                AlaDPISignatureFileEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI signature file entry."
  INDEX { alaDPISignatureFileAppName }
  ::= { alaDPISignatureFileTable 1 }

AlaDPISignatureFileEntry	::=
	SEQUENCE
	{
		alaDPISignatureFileAppName	SnmpAdminString,
		alaDPISignatureFileCategory 	SnmpAdminString
	}

alaDPISignatureFileAppName OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  	not-accessible
  STATUS  	current
  DESCRIPTION   "DPI Application Name."
  ::= { alaDPISignatureFileEntry  1 }

alaDPISignatureFileCategory OBJECT-TYPE
  SYNTAX      		SnmpAdminString (SIZE(1..32)) 
  MAX-ACCESS  		read-only
  STATUS      		current
  DESCRIPTION 		"DPI Application File Category."
  ::= { alaDPISignatureFileEntry  2 }
 
------------------------------------------------------------
-- Statistics Table --
------------------------------------------------------------

alaDPIStatisticsTable  OBJECT-TYPE
  SYNTAX                SEQUENCE OF AlaDPIStatisticsEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "A table containing DPI Statistics information."
  ::= { alaDPIMIBObjects 11 }

alaDPIStatisticsEntry   OBJECT-TYPE
  SYNTAX                AlaDPIStatisticsEntry
  MAX-ACCESS            not-accessible
  STATUS                current
  DESCRIPTION           "DPI Statistics entry."
  INDEX { alaDPIStatsSlotIndex }
  ::= { alaDPIStatisticsTable 1 }

AlaDPIStatisticsEntry        ::=
        SEQUENCE
        {
		alaDPIStatsSlotIndex		InterfaceIndex,
		alaDPITotalMatchedFlows		Counter32,
		alaDPITotalUnmatchedFlows	Counter32,
		alaDPITotalMissedFlows		Counter64
        }

alaDPIStatsSlotIndex OBJECT-TYPE
  SYNTAX        InterfaceIndex
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION 	"DPI Current Flow Table Sessions."
  ::= { alaDPIStatisticsEntry 1}

alaDPITotalMatchedFlows OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"DPI Total Flow Table matched flows."
  ::= { alaDPIStatisticsEntry 2}

alaDPITotalUnmatchedFlows OBJECT-TYPE
  SYNTAX        Counter32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"DPI Matched Flows."
  ::= { alaDPIStatisticsEntry 3} 

alaDPITotalMissedFlows OBJECT-TYPE
  SYNTAX        Counter64
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"DPI Flows Missed."
  ::= { alaDPIStatisticsEntry 4}
 
------------------------------------------------------------
-- Application List Conflict Table --
------------------------------------------------------------

alaDPIAppListConflictTable  OBJECT-TYPE
  SYNTAX          SEQUENCE OF AlaDPIAppListConflictEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "A table containing DPI application list conflicting table information."
  ::= { alaDPIMIBObjects 12 }

alaDPIAppListConflictEntry   OBJECT-TYPE
  SYNTAX          AlaDPIAppListConflictEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "DPI application list conflict entry."
  INDEX { alaDPIAppListConflictIndex }
  ::= { alaDPIAppListConflictTable 1 }

AlaDPIAppListConflictEntry        ::=
        SEQUENCE
        {
                alaDPIAppListConflictIndex          Unsigned32,
                alaDPIAppListConflictAppID          Integer32,
                alaDPIAppListConflictAppName        SnmpAdminString,
                alaDPIAppListConflictAppGrpName     SnmpAdminString,
                alaDPIAppListConflictAppErrorType   INTEGER
        }

alaDPIAppListConflictIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS  	not-accessible
  STATUS      	current
  DESCRIPTION 	"DPI application list conflict index."
  ::= { alaDPIAppListConflictEntry  1 }

alaDPIAppListConflictAppID  OBJECT-TYPE
  SYNTAX       	Integer32
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the application ID which is not part of current application pool."
  ::= { alaDPIAppListConflictEntry  2 }

alaDPIAppListConflictAppName  OBJECT-TYPE
  SYNTAX        SnmpAdminString
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the application name which is not part of current application pool."
  ::= { alaDPIAppListConflictEntry  3 }

alaDPIAppListConflictAppGrpName OBJECT-TYPE
  SYNTAX        SnmpAdminString
  MAX-ACCESS  	read-only
  STATUS      	current
  DESCRIPTION 	"Indicates the group name which is not part of current application pool."
  ::= { alaDPIAppListConflictEntry  4 }

alaDPIAppListConflictAppErrorType OBJECT-TYPE
  SYNTAX        INTEGER
 		{	
                  duplicate (1),
                  notInUse (2)
  		}
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION "Indicates the application conflicting status."
  DEFVAL        { notInUse }
  ::= { alaDPIAppListConflictEntry  5 }

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPINotificationObjects 	OBJECT	IDENTIFIER ::= { alaDPIMIBObjects 13}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
--
-- trap description
--
alaDPIFlowRecordFileCreated NOTIFICATION-TYPE
    STATUS        current
    DESCRIPTION
       " This trap is sent after writing pre-configured number 
         of flow records (which is configured by setting 
         alaDPILoggingThresholdFlows) to the flash file -
         /flash/switch/afn/dpi/dpi_flow_records.csv"
::= { alaDPIMIBNotifications 1 }

alaDPIAgingTimerTable  OBJECT-TYPE
  SYNTAX          SEQUENCE OF AlaDPIAgingTimerEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "A table containing DPI Aging Timer Information for every application."
  ::= { alaDPIMIBObjects 14 }

alaDPIAgingTimerEntry   OBJECT-TYPE
  SYNTAX          AlaDPIAgingTimerEntry
  MAX-ACCESS      not-accessible
  STATUS          current
  DESCRIPTION     "DPI aging timer entry for a particular application."
  INDEX { alaDPIAgingTimerAppName }
  ::= { alaDPIAgingTimerTable 1 }

AlaDPIAgingTimerEntry ::=
        SEQUENCE
        {
                alaDPIAgingTimerAppName          SnmpAdminString,
		alaDPIAgingTimerValue		 INTEGER
        }

alaDPIAgingTimerAppName OBJECT-TYPE
  SYNTAX	SnmpAdminString (SIZE(1..128))
  MAX-ACCESS  not-accessible
  STATUS      current
  DESCRIPTION "Aging Timer Application Name for a given Entry"
  ::= { alaDPIAgingTimerEntry 1}

alaDPIAgingTimerValue OBJECT-TYPE
  SYNTAX	INTEGER(3|5|10|30|60|120)
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION "Aging Timer Value per application in minutes" 
  ::= { alaDPIAgingTimerEntry 2}

-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- Compliance
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPIMIBCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION
                                "Compliance statement for DPI."
        MODULE
                MANDATORY-GROUPS
                {
			alaDPIPortConfigGroup,
			alaDPIAppPoolGroup,
			alaDPIAppGroupsGroup,
			alaDPIAppListGroup,
			alaDPIFlowTableGroup,			
			alaDPIConfigGroup,
			alaDPIRangeDetailsGroup,
			alaDPIActiveListGroup,
			alaDPISignatureFileGroup,
			alaDPIStatisticsGroup,
			alaDPIAppListConflictGroup,
                        alaDPINotificationGroup,
			alaDPIAgingTimerGroup,
                        alaDPICertConfigGroup
                }
        ::= { alaDPIMIBCompliances 1 }


-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- Units of Conformance
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

alaDPIPortConfigGroup      OBJECT-GROUP
        OBJECTS
        {
            alaDPIPortConfigPortStatus,
		alaDPIPortConfigTcpStatus,
        alaDPIPortConfigUdpStatus,           
        alaDPIPortConfigPortTypeStatus,
        alaDPIPortConfigOperStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for Port configurations for DPI."
        ::= { alaDPIMIBGroups 1 }

alaDPIAppPoolGroup      OBJECT-GROUP
        OBJECTS
        {
            alaDPIAppPoolCategory,
            alaDPIAppPoolRevision,
            alaDPIAppPoolAppID,
            alaDPIAppPoolAppStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application Pool Information for DPI."
        ::= { alaDPIMIBGroups 2 }

alaDPIAppGroupsGroup      OBJECT-GROUP
        OBJECTS
        {
		alaDPIAppGroupMemberType,
		alaDPIAppGroupCategoryName,
        alaDPIAppGroupID,
        alaDPIAppGroupAppStatus,
		alaDPIAppGroupStatus	
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application Group Information for DPI."
        ::= { alaDPIMIBGroups 3 }

alaDPIAppListGroup      OBJECT-GROUP
        OBJECTS
        {
		alaDPIAppListMemberType,
        alaDPIAppListAppOrGroupID,
        alaDPIAppListAppStatus,
		alaDPIAppListMemberStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Application List Information for DPI."
        ::= { alaDPIMIBGroups 4 }

alaDPIFlowTableGroup      OBJECT-GROUP
        OBJECTS
        {
		alaDPIFlowAppName,
		alaDPIFlowAppGrpName,
		alaDPIFlowPolicyRule,
		alaDPIFlowStartTime,
                alaDPIFlowPktCount,
                alaDPIFlowByteCount
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Flow Table Information for DPI."
        ::= { alaDPIMIBGroups 5 }

alaDPIRangeDetailsGroup      OBJECT-GROUP
        OBJECTS
        {
		alaDPIL4PortRangeStart,
		alaDPIL4PortRangeEnd,
		alaDPIL4PortType,
		alaDPIL4PortStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Range Details group."
        ::= { alaDPIMIBGroups 6 }

alaDPIConfigGroup      OBJECT-GROUP
        OBJECTS
        {
		alaDPIAdminStatus,
		alaDPIUpdateAppList,
        alaDPIUpdateAppListStatus,
		alaDPIClearAppList,
		alaDPIFlowTableFlush,
		alaDPIStatsInterval,
		alaDPIClearStats,
		alaDPIIpv4,
		alaDPIIpv6,	
		alaDPIAppliedSignatures,
		alaDPIApplicationPoolSignatures,
		alaDPISignatureFileVersion,
		alaDPISignatureFileName,
		alaDPISignatureFileAppCount,
		alaDPIAppGrpFromAppName,
		alaDPIAppGrpToAppName,
		alaDPIAddAppGrpName,
		alaDPIAutoGroupCreation,
		alaDPIAddRemoveAppGrpName,
                alaDPIAOSCompatibilityVersion,
                alaDPIKitType,
                alaDPIUpgradedKitType,
		alaDPIUpgradedSignatureFileVersion,
                alaDPILoggingThresholdFlows,
                alaDPIClearConfig,
                alaDPIProxyServerDefaultPort1,
                alaDPIProxyServerDefaultPort2,
                alaDPIProxyServerPort1,
                alaDPIProxyServerPort2,
                alaDPIProxyServerPort3,
                alaDPIProxyServerPort4,
                alaDPIProxyServerPort5,
                alaDPIProxyServerPort6,
                alaDPIProxyServerPort7,
                alaDPIProxyServerPort8,
                alaDPIAddRemoveProxyServerPort,
                alaDPIFlowTableStatsAdminStatus
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for general configurations for DPI."
        ::= { alaDPIMIBGroups 7 }

alaDPIActiveListGroup	OBJECT-GROUP
        OBJECTS
        {
		alaDPIActiveAppListAppGroupName,
		alaDPIActiveAppListActiveMatchedFlows,
		alaDPIActiveAppListTotalMatchedFlows,
		alaDPIActiveAppListAppID,
		alaDPIActiveAppListAppStatus,
                alaDPIActiveAppListActivePktCount,
                alaDPIActiveAppListActiveByteCount,
                alaDPIActiveAppListGrossPktCount,
                alaDPIActiveAppListGrossByteCount
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Range Details group."
        ::= { alaDPIMIBGroups 8 }

alaDPISignatureFileGroup	OBJECT-GROUP
        OBJECTS
        {
		alaDPISignatureFileCategory
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Signature File group."
        ::= { alaDPIMIBGroups 9 }

alaDPIStatisticsGroup	OBJECT-GROUP
        OBJECTS
        {
                alaDPITotalMatchedFlows,
                alaDPITotalUnmatchedFlows,
                alaDPITotalMissedFlows
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the Statistics group."
        ::= { alaDPIMIBGroups 10 }

alaDPIAppListConflictGroup      OBJECT-GROUP
        OBJECTS
        {
                alaDPIAppListConflictAppID,
                alaDPIAppListConflictAppName,
                alaDPIAppListConflictAppGrpName,
                alaDPIAppListConflictAppErrorType
        }
        STATUS current
        DESCRIPTION
                                "Collection of objects for the conflit group."
        ::= { alaDPIMIBGroups 11 }

    alaDPINotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS
        {
             alaDPIFlowRecordFileCreated
        }
        STATUS  current
        DESCRIPTION
            "DPI Notification Group."
        ::= { alaDPIMIBGroups 12 }

    alaDPIAgingTimerGroup OBJECT-GROUP
	OBJECTS	
	{
  	  alaDPIAgingTimerValue
	}
        STATUS  current
        DESCRIPTION
            "DPI Aging Timer Group."
        ::= { alaDPIMIBGroups 13 }

    alaDPICertConfigGroup      OBJECT-GROUP
        OBJECTS
        {
                alaDPIUpdateSignatureFile,
                alaDPIUpdateSignatureStatus
        }
        STATUS current
        DESCRIPTION
                  "Collection of DPI licensed objects."
        ::= { alaDPIMIBGroups 14 }

END
