ELTEX-MES-COUNTERS-MIB DEFINITIONS ::= BEGIN

-- Title:         Eltex MES Counters Configuration
-- Version:       1.0
-- Creation date: 30 Aug 2017
-- Last update:   30 Aug 2017
-- 29-Mar-2016 Added mibs for Qos Statistics

IMPORTS
    eltMesCountersMIB      FROM ELTEX-MES-MNG-MIB
    Counter64, OBJECT-TYPE FROM SNMPv2-SMI
    TruthValue             FROM SNMPv2-TC
    PortList               FROM Q-BRIDGE-MIB
    InterfaceIndex         FROM IF-MIB
    rlQosAceTidxIndex, rlQosAceTidxAclIndex  FROM RADLAN-QOS-CLI-MIB;

eltMesCountersMIBObjects    OBJECT IDENTIFIER ::= { eltMesCountersMIB 1 }
eltMesCountersGlobal        OBJECT IDENTIFIER ::= { eltMesCountersMIBObjects 1 }
eltMesCountersStatistics    OBJECT IDENTIFIER ::= { eltMesCountersMIBObjects 2 }
eltMesCountersVlan          OBJECT IDENTIFIER ::= { eltMesCountersGlobal 1 }
eltMesCountersQos           OBJECT IDENTIFIER ::= { eltMesCountersGlobal 2 }
eltMesCountersAce           OBJECT IDENTIFIER ::= { eltMesCountersGlobal 3 }
eltMesCountersQosStatistics OBJECT IDENTIFIER ::= { eltMesCountersStatistics 1 }
eltMesCountersAceStatistics OBJECT IDENTIFIER ::= { eltMesCountersStatistics 2 }


------------------------------------------
-- VLAN Statistics
------------------------------------------

eltCountersVlanLowIn OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable octet and frame counters for
         received frames in vlans 1-2047."
    DEFVAL { false }
    ::= { eltMesCountersVlan 1 }

eltCountersVlanHighIn OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable octet and frame counters for
         received frames in vlans 2048-4094."
    DEFVAL { false }
    ::= { eltMesCountersVlan 2 }

eltCountersVlanLowOut OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable octet and frame counters for
         transmitted frames in vlans 1-2047."
    DEFVAL { false }
    ::= { eltMesCountersVlan 3 }

eltCountersVlanHighOut OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable octet and frame counters for
         transmitted frames in vlans 2048-4094."
    DEFVAL { false }
    ::= { eltMesCountersVlan 4 }

eltCountersVlanClear1to1023 OBJECT-TYPE
	SYNTAX      OCTET STRING(SIZE(0..128))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	 "Each bit except the least significant one represents a vlan in range from 1 to 1023 that its mib counters should be reset."
	DEFVAL {'00'H}
	::= { eltMesCountersVlan 5 }

eltCountersVlanClear1024to2047 OBJECT-TYPE
	SYNTAX      OCTET STRING(SIZE(0..128))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	 "Each bit represents a vlan in range from 1024 to 2047 that its mib counters should be reset."
	DEFVAL {'00'H}
	::= { eltMesCountersVlan 6 }

eltCountersVlanClear2048to3071 OBJECT-TYPE
	SYNTAX      OCTET STRING(SIZE(0..128))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	 "Each bit represents a vlan in range from 2048 to 3071 that its mib counters should be reset."
	DEFVAL {'00'H}
	::= { eltMesCountersVlan 7 }

eltCountersVlanClear3072to4094 OBJECT-TYPE
	SYNTAX      OCTET STRING(SIZE(0..128))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	 "Each bit except the most significant one represents a vlan in range from 3072 to 4094 that its mib counters should be reset."
	DEFVAL {'00'H}
	::= { eltMesCountersVlan 8 }

------------------------------------------
-- QoS Statistics
------------------------------------------

eltCountersQosStatisticsEnable OBJECT-TYPE
	SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Enable or disable QosStatistics."
   	DEFVAL { false }
   	::= { eltMesCountersQos 1 }

eltCountersQosStatisticsClear OBJECT-TYPE
	SYNTAX      PortList
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Each set bit in this port list represents a port whose counters should be reset."
    DEFVAL {'00'H}
    ::= { eltMesCountersQos 2 }

eltCountersQosIfQueueTable OBJECT-TYPE
	SYNTAX     SEQUENCE OF EltCountersQosIfQueueEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
		"Per port egress queue counters table."
	::= { eltMesCountersQosStatistics 1 }

eltCountersQosIfQueueEntry OBJECT-TYPE
	SYNTAX       EltCountersQosIfQueueEntry
	MAX-ACCESS   not-accessible
	STATUS       current
	DESCRIPTION
		"Per port egress queue counters table entry."
	INDEX        {eltCountersQosIfIndex, eltCountersQosQueueIndex, eltCountersQosDP}
	::= { eltCountersQosIfQueueTable 1 }

EltCountersQosIfQueueEntry ::= SEQUENCE {
	eltCountersQosIfIndex              InterfaceIndex,
	eltCountersQosQueueIndex           INTEGER,
	eltCountersQosDP                   INTEGER,
	eltCountersQosOctetsDroppedCounter Counter64,
	eltCountersQosPktsDroppedCounter   Counter64,
	eltCountersQosOctetsPassedCounter  Counter64,
	eltCountersQosPktsPassedCounter    Counter64
	}

eltCountersQosIfIndex OBJECT-TYPE
	SYNTAX       InterfaceIndex
	MAX-ACCESS   not-accessible
	STATUS       current
	DESCRIPTION
		"Port ifIndex."
	::= { eltCountersQosIfQueueEntry 1 }

eltCountersQosQueueIndex OBJECT-TYPE
	SYNTAX       INTEGER(1..8)
	MAX-ACCESS   not-accessible
	STATUS       current
	DESCRIPTION
		"Queue index."
	::= { eltCountersQosIfQueueEntry 2 }

eltCountersQosDP OBJECT-TYPE
	SYNTAX       INTEGER(0..2)
	MAX-ACCESS   not-accessible
	STATUS       current
	DESCRIPTION
		"Drop precedence."
	::= { eltCountersQosIfQueueEntry 3 }

eltCountersQosOctetsDroppedCounter OBJECT-TYPE
	SYNTAX       Counter64
	MAX-ACCESS   read-only
	STATUS       current
	DESCRIPTION
		"Dropped bytes counter."
	::= { eltCountersQosIfQueueEntry 4 }

eltCountersQosPktsDroppedCounter OBJECT-TYPE
	SYNTAX       Counter64
	MAX-ACCESS   read-only
	STATUS       current
	DESCRIPTION
		"Dropped packets counter."
	::= { eltCountersQosIfQueueEntry 5 }

eltCountersQosOctetsPassedCounter OBJECT-TYPE
	SYNTAX       Counter64
	MAX-ACCESS   read-only
	STATUS       current
	DESCRIPTION
		"Passed bytes counter."
	::= { eltCountersQosIfQueueEntry 6 }

eltCountersQosPktsPassedCounter OBJECT-TYPE
	SYNTAX       Counter64
	MAX-ACCESS   read-only
	STATUS       current
	DESCRIPTION
		"Passed packets counter."
	::= { eltCountersQosIfQueueEntry 7 }
	
------------------------------------------
-- ACE Statistics
------------------------------------------

eltCountersPortAceStatisticsEnable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Enable or disable AceStatistics per port."
    DEFVAL { false }
    ::= { eltMesCountersAce 1 }
    
eltCountersVlanAceStatisticsEnable OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Enable or disable AceStatistics per vlan."
    DEFVAL { false }
    ::= { eltMesCountersAce 2 }
    
eltCountersAceStatisticsClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Clears ACE statistics counters for all ace rules."
    ::=  { eltMesCountersAce 3  }

eltCountersAceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF EltCountersAceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Per ACE counters table."
    ::= { eltMesCountersAceStatistics 1 }

eltCountersAceEntry OBJECT-TYPE
    SYNTAX       EltCountersAceEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Per ACE counters table entry."
    INDEX        {rlQosAceTidxAclIndex,
                  rlQosAceTidxIndex}
    ::= { eltCountersAceTable 1 }

EltCountersAceEntry ::= SEQUENCE {
    eltCountersAceHitCounterStatus       INTEGER,
    eltCountersAceHitCounterValue        Counter64
    }

eltCountersAceHitCounterStatus OBJECT-TYPE
     SYNTAX INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Enable or disable counters for current ACE ."
    ::= { eltCountersAceEntry 1 }

eltCountersAceHitCounterValue OBJECT-TYPE
    SYNTAX       Counter64
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Counter of hw ACE matches."
    ::= { eltCountersAceEntry 2 }


END
