-- ===========================================================================

EXTREME-NP-MIB DEFINITIONS ::= BEGIN

	IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
		OBJECT-TYPE     FROM SNMPv2-SMI
                Unsigned32	FROM SNMPv2-SMI
		Counter32	FROM SNMPv2-SMI
		Counter64	FROM SNMPv2-SMI
                IpAddress       FROM SNMPv2-SMI
		DisplayString   FROM RFC1213-MIB
		extremeAgent    FROM EXTREME-BASE-MIB;
		


        extremeNPMib MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme NP objects: NP card information"
        ::= { extremeAgent 21 }

	extremeNPModule	OBJECT IDENTIFIER ::= { extremeNPMib 1 }
	
	extremeNPModuleTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeNPModuleEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table containing information about each Intelligent
		module in the chassis."
			::= { extremeNPModule 1 }

	extremeNPModuleEntry OBJECT-TYPE
		SYNTAX  ExtremeNPModuleEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table entry containing information about the
		intelligent modules configured in the chassis.
		This table does not contain rows for the slots
		which do not have a network processor based module."
		INDEX	  { extremeNPModuleSlotNumber }
			::= { extremeNPModuleTable 1 }

	ExtremeNPModuleEntry ::= SEQUENCE {
		extremeNPModuleSlotNumber		INTEGER,		
		extremeNPModuleDescription		DisplayString,
		extremeNPModuleCurrentSoftware		DisplayString,
		extremeNPModulePrimarySoftware		DisplayString,
		extremeNPModuleSecondarySoftware	DisplayString,
		extremeNPModuleBootromVersion		DisplayString,
		extremeNPModuleProcessorState		OCTET STRING
	}
	
	
	extremeNPModuleSlotNumber OBJECT-TYPE
		SYNTAX INTEGER(1..8)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the particular slot 
		in the chassis."
		::= { extremeNPModuleEntry 1 }

	extremeNPModuleDescription   OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..32))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"A description of the particular slot in the chassis."
		::= { extremeNPModuleEntry 2 }

	extremeNPModuleCurrentSoftware   OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..160))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"The version of the software currently running on the module."
		::= { extremeNPModuleEntry 3 }

	extremeNPModulePrimarySoftware   OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..160))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"The version of software in the primary image of the module."
		::= { extremeNPModuleEntry 4 }
					   
	extremeNPModuleSecondarySoftware   OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..160))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"The version of software in the secondary image of the module."
		::= { extremeNPModuleEntry 5 }

	extremeNPModuleBootromVersion   OBJECT-TYPE
		SYNTAX  DisplayString (SIZE(0..80))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"The version of bootrom that the module will use when restarting."
		::= { extremeNPModuleEntry 6 }

	extremeNPModuleProcessorState   OBJECT-TYPE
		SYNTAX  OCTET STRING (SIZE (8))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"An Octet String indicating the status of the various processors
		on an Intelligent Module. Each byte in the Octet String represents
		state for one processor.
		For the Avalanche based PoS and ARM modules, the first byte (from MSB)
		represents the state of the General Purpose Processor, the second byte
		the state of Network Processor 1, and the third byte the state of Network
		Processor 2 and so on. A value of 0 in each byte indicates that the
		Processor is not operational, while a value 1 indicates that it is."
		::= { extremeNPModuleEntry 7 }
		
	  
--		
-- SMA Module
--

	extremeSMAModule OBJECT IDENTIFIER ::= { extremeNPMib 2 }
	
	extremeSMATable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeSMAEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table containing information about each SMA
		module in the chassis."
			::= { extremeSMAModule 1 }

	extremeSMAEntry OBJECT-TYPE
		SYNTAX  ExtremeSMAEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table entry containing information about the
		SMA modules configured in the chassis.
		This table does not contain rows for the slots
		which do not have an SMA module."
		INDEX	  { extremeSMASlotNumber }
			::= { extremeSMATable 1 }

	ExtremeSMAEntry ::= SEQUENCE {	      
		extremeSMASlotNumber			INTEGER,  
		extremeSMAProtocolVersion		INTEGER,
		extremeSMAServiceVersion		DisplayString,
		extremeSMAUpTime			Unsigned32,
		extremeSMACpuUtilization                Unsigned32,
		extremeSMAMemUtilization                Unsigned32,
		extremeSMAQosBroadcaster                Unsigned32,		
		extremeSMANumFromBroadcaster            Unsigned32,		
		extremeSMANumToListener                 Unsigned32,
		extremeSMABytesBroadcaster		Counter64,
		extremeSMABytesListener			Counter64
	}
	
	extremeSMASlotNumber OBJECT-TYPE
		SYNTAX INTEGER(1..8)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the particular slot 
		in the chassis."
		::= { extremeSMAEntry 1 }
				
	extremeSMAProtocolVersion OBJECT-TYPE
		SYNTAX INTEGER(1..255)
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"Protocol version."
		::= { extremeSMAEntry 2 }
	
	extremeSMAServiceVersion OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..128))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"Service release version."
		::= { extremeSMAEntry 3 }
		
	extremeSMAUpTime OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Continuous operating time of the module in seconds."
		::= { extremeSMAEntry 4 }
		
	extremeSMACpuUtilization OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Percentage of CPU utilized in the last 5 seconds."
		::= { extremeSMAEntry 5 }
	
	extremeSMAMemUtilization OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Percentage of memory utilized."		
		::= { extremeSMAEntry 6 }

	extremeSMAQosBroadcaster OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION		
		"60 second rolling average of %QoS.
		Number of bytes received / Number of bytes expected per duration.
		Note: this can potentially exceed 100%."
		::= { extremeSMAEntry 7 }			
				
        extremeSMANumFromBroadcaster OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The total number of broadcasters sending streams."
		::= { extremeSMAEntry 8 }
				
	extremeSMANumToListener OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION		
		"The total number of listeners connected."
		::= { extremeSMAEntry 9 }
		
	extremeSMABytesBroadcaster OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION		
		"The total number of media bytes received from the broadcasters."
		::= { extremeSMAEntry 10 }
		
	extremeSMABytesListener OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION		
		"The total number of data bytes sent to listeners."
		::= { extremeSMAEntry 11 }


--		
-- ATM Module
--

	extremeATMModule OBJECT IDENTIFIER ::= { extremeNPMib 3 }
	
	extremeATMCellPduTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeATMCellPduEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table containing information about each ATM
		module in the chassis."
			::= { extremeATMModule 1 }

	extremeATMCellPduEntry OBJECT-TYPE
		SYNTAX  ExtremeATMCellPduEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table entry containing information about the
		ATM modules configured in the chassis.
		This table does not contain rows for the slots
		which do not have an ATM module."
		INDEX	  { extremeATMPortNumber }
			::= { extremeATMCellPduTable 1 }


	ExtremeATMCellPduEntry ::= SEQUENCE {	      
  		extremeATMPortNumber         INTEGER,  
                extremeATMRxCell             Unsigned32,
                extremeATMTxCell             Unsigned32,
                extremeATMRxCellHecError     Unsigned32,   
                extremeATMRxCellError        Unsigned32,
                extremeATMRxAAL5Pdu          Unsigned32,
                extremeATMTxAAL5Pdu          Unsigned32,
                extremeATMRxAAL5Bytes        Counter64,
                extremeATMTxAAL5Bytes        Counter64,
                extremeATMPortStatus         DisplayString
	}


	extremeATMPortNumber OBJECT-TYPE
		SYNTAX INTEGER(1..64)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the particular port number
		in the chassis."
		::= { extremeATMCellPduEntry 1 }

	extremeATMRxCell OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number of ATM cell Received."
		::= { extremeATMCellPduEntry 2 }

	extremeATMTxCell OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number of ATM cell Transmitted."
		::= { extremeATMCellPduEntry 3 }
				
	extremeATMRxCellHecError OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number of received cells with HEC error."
		::= { extremeATMCellPduEntry 4 }
				
	extremeATMRxCellError OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number of received cells discarded due to other error."
		::= { extremeATMCellPduEntry 5 }
				

        extremeATMRxAAL5Pdu OBJECT-TYPE      
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number AAL-5 PDU Received."
		::= { extremeATMCellPduEntry 6 }

        extremeATMTxAAL5Pdu OBJECT-TYPE      
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number AAL-5 PDU Transmitted."
		::= { extremeATMCellPduEntry 7 }

        extremeATMRxAAL5Bytes OBJECT-TYPE      
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number AAL-5 PDU Octetd Received."
		::= { extremeATMCellPduEntry 8 }

        extremeATMTxAAL5Bytes OBJECT-TYPE      
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The number AAL-5 PDU Octetd Transmitted."
		::= { extremeATMCellPduEntry 9 }

	extremeATMPortStatus OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..4))
		MAX-ACCESS  read-only
		STATUS current
		DESCRIPTION
		"ATM port status."
		::= { extremeATMCellPduEntry 10 }


-- Table 2
	extremeATMVpiVciTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF ExtremeATMVpiVciEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table containing information about each ATM
		module in the chassis."
			::= { extremeATMModule 2 }

	extremeATMVpiVciEntry OBJECT-TYPE
		SYNTAX  ExtremeATMVpiVciEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
		"A table entry containing information about the
		ATM modules configured in the chassis.
		This table does not contain rows for the slots
		which do not have an ATM module."
		INDEX	  { extremeATMPortNum,
                            extremeATMPvc        }
			::= { extremeATMVpiVciTable 1 }

	ExtremeATMVpiVciEntry ::= SEQUENCE {	      
  		extremeATMPortNum            INTEGER,  
                extremeATMPvc                INTEGER,
                extremeATMVpi                INTEGER,
                extremeATMVci                INTEGER
	}

	extremeATMPortNum OBJECT-TYPE
		SYNTAX INTEGER(1..64)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the particular port number
		in the chassis."
		::= { extremeATMVpiVciEntry 1 }

	extremeATMPvc OBJECT-TYPE
		SYNTAX INTEGER(1..3072)
                MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the pvc number configured
		on a single port."
		::= { extremeATMVpiVciEntry 2 }

	extremeATMVpi OBJECT-TYPE
		SYNTAX INTEGER(0..15)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the VPI value
		of the configured PVCs."
		::= { extremeATMVpiVciEntry 3 }

	extremeATMVci OBJECT-TYPE
		SYNTAX INTEGER(17..4095)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"A unique integer identifying the VCI value
		of the configured PVCs."
		::= { extremeATMVpiVciEntry 4 }

--              
-- MPLS TLS Module
--

        extremeMplsModule OBJECT IDENTIFIER ::= { extremeNPMib 4 }
        
        extremeMplsTlsTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table containing information about each MPLS TLS
                tunnel in the chassis."
                        ::= { extremeMplsModule 1 }

        extremeMplsTlsEntry OBJECT-TYPE
                SYNTAX  ExtremeMplsTlsEntry
                MAX-ACCESS  not-accessible
                STATUS current
                DESCRIPTION
                "A table entry containing information about the
                MPLS TLS tunnel."
                INDEX     { extremeMplsTlsNum }
                        ::= { extremeMplsTlsTable 1 }


        ExtremeMplsTlsEntry ::= SEQUENCE {            
                extremeMplsTlsNum            INTEGER, 
                extremeMplsTlsName           DisplayString,  
                extremeMplsTlsLocalIpAddr    IpAddress,
                extremeMplsTlsPeerIpAddr     IpAddress,
                extremeMplsTlsLocalVlanID    Unsigned32,   
                extremeMplsTlsLocalVlanName  DisplayString,
                extremeMplsTlsDynamic        Unsigned32,
                extremeMplsTlsType           Unsigned32,
                extremeMplsTlsVcID           Unsigned32,
                extremeMplsTlsLocalGroupID   Unsigned32,
                extremeMplsTlsRemoteGroupID  Unsigned32,
                extremeMplsTlsVcState        DisplayString,
                extremeMplsTlsIngressVcLabel Unsigned32,
                extremeMplsTlsEgressVcLabel  Unsigned32, 
                extremeMplsTlsPacketTx       Unsigned32,
                extremeMplsTlsPacketRx       Unsigned32,
                extremeMplsTlsOctetTx        Counter64,
                extremeMplsTlsOctetRx        Counter64
        }

        extremeMplsTlsNum OBJECT-TYPE
                SYNTAX INTEGER (1..16384)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "An index used to reference each configured TLS tunnel."
                ::= { extremeMplsTlsEntry 1 }

        extremeMplsTlsName OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The user defined TLS tunnel identifier name."
                ::= { extremeMplsTlsEntry 2 }

        extremeMplsTlsLocalIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel local endpoint IP address, only valid if TLS tunnel
                is Dynamic. Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 3 }

        extremeMplsTlsPeerIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel peer endpoint IP address."
                ::= { extremeMplsTlsEntry 4 }

        extremeMplsTlsLocalVlanID  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan ID."
                ::= { extremeMplsTlsEntry 5 }
                                
        extremeMplsTlsLocalVlanName  OBJECT-TYPE
                SYNTAX DisplayString (SIZE(0..31))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The local Egress Vlan Name."
                ::= { extremeMplsTlsEntry 6 }
                                
        extremeMplsTlsDynamic OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Flag indicating that the TLS tunnel is Dynamic. If set, the TLS tunnel
                is dynamically signaled. If zero, the TLS tunnel is statically configured."
                ::= { extremeMplsTlsEntry 7 }
                                
        extremeMplsTlsType OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel type
                0- MPLS, Static
                1- MPLS, Martini ."
                ::= { extremeMplsTlsEntry 8 }

        extremeMplsTlsVcID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured VC ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 9 }

        extremeMplsTlsLocalGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The configured Local Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 10 }

        extremeMplsTlsRemoteGroupID OBJECT-TYPE      
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The learned Remote Group ID, only valid if TLS tunnel is Dynamic.
                Otherwise, this field is set to zero."
                ::= { extremeMplsTlsEntry 11 }

        extremeMplsTlsIngressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Ingress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is dynamically allocated from the TLS
                label range and signaled to the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 12 }

        extremeMplsTlsEgressVcLabel OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VLAN Egress Label. If the TLS tunnel is Static,
                this value is configured. If TLS tunnel is Dynamic,
                this value is learned from the TLS tunnel peer."
                ::= { extremeMplsTlsEntry 13 }

        extremeMplsTlsVcState OBJECT-TYPE      
                SYNTAX DisplayString (SIZE(0..79))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The TLS tunnel VC state. Valid states include:
                - Idle
                - No LSP Available
                - Waiting for LDP session
                - Pending label mapping
                - Pending local configuration
                - MTU incompatibility
                - Up
                - Unknown
                - Error .. General failure
                - Error .. Targeted LDP session failure
                - Error .. Bridge configuration problem
                - Error .. Ingress label allocation failure
                - Error .. Failure sending TLS label mapping
                - Error .. Patricia tree insertion failure
                - Error .. Failure programming TLS hardware
                - Error .. MPLS not initialized
                - Error .. Unknown."
                ::= { extremeMplsTlsEntry 14 }

        extremeMplsTlsPacketTx  OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 15 }

        extremeMplsTlsPacketRx OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Packets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 16 }

        extremeMplsTlsOctetTx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Transmitted on this TLS tunnel."
                ::= { extremeMplsTlsEntry 17 }

        extremeMplsTlsOctetRx OBJECT-TYPE
                SYNTAX Counter64
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                "The number of Octets Received on this TLS tunnel."
                ::= { extremeMplsTlsEntry 18 }

END