F10-FPSTATS-MIB DEFINITIONS ::= BEGIN
--  This module provides authoritative definitions for Dell Networking OS
--  forward plane statistics MIB.
--
--  This module will be extended, as needed.
--

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, 
        Counter32, Counter64, Integer32
                FROM SNMPv2-SMI
        f10Mgmt
                FROM FORCE10-SMI
        ifIndex
                FROM IF-MIB;
            -- from [RFC2863]

f10FpStatsMib MODULE-IDENTITY
        LAST-UPDATED "201302201200Z" -- Feb 20,2013 12:00:00 GMT
        ORGANIZATION
                "Dell Inc"
        CONTACT-INFO
                "http://www.force10networks.com/support"

        DESCRIPTION
                "Dell Networking OS forward plane statistics mib."

        REVISION     "201302201200Z"
        DESCRIPTION
                "Added fpCpuDataPlaneCOSTable for Rx and Tx COS queues in CPU data plane."

        REVISION   "201103221248Z"
        DESCRIPTION
                "Initial version of this mib."
        ::= { f10Mgmt 16 }

-- ### Groups ###

f10FpStatsObject OBJECT IDENTIFIER ::={ f10FpStatsMib 1 }
fpStatsObjects   OBJECT IDENTIFIER ::={ f10FpStatsObject 1 }

--
-- Textual Convention
--

ComType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "Enums to indicate the queue type(Unicast/Multicast)"
        SYNTAX INTEGER 
        {
            unicast(1),
            multicast(2)
        }

--
-- CPU dataplane statistics table
--
fpCpuDataPlaneTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpCpuDataPlaneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The data plane statistics table contains the data plane 
                statistics of a stack unit/line card which includes the 
                received, dropped statistics and per COS transmission and 
                reception statistics . In case of multi CPU platforms, this
		table contains the data plane statistics for each cpu. The 
		table index will represent the CPUs in order as {CP cpus, 
		RP cpus, LP cpus}."
        ::= { fpStatsObjects 1 }

fpCpuDataPlaneStatsEntry OBJECT-TYPE
        SYNTAX        FpCpuDataPlaneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Data plane statistics"
        INDEX         { fpStackUnitIndex }
        ::= { fpCpuDataPlaneTable 1 }

FpCpuDataPlaneStatsEntry ::= SEQUENCE {
        fpStackUnitIndex  INTEGER,
        fpRxHandle        INTEGER,
        fpNoMhdr          INTEGER,
        fpNoMBuf          INTEGER,
        fpNoClus          INTEGER,  
        fpRecvd           INTEGER,  
        fpDropped         INTEGER,  
        fpRecvToNet       INTEGER,  
        fpRxError         INTEGER,  
        fpRxDatapathError INTEGER,  
        fpRxPktCOS0       INTEGER,  
        fpRxPktCOS1       INTEGER,  
        fpRxPktCOS2       INTEGER,  
        fpRxPktCOS3       INTEGER,  
        fpRxPktCOS4       INTEGER,  
        fpRxPktCOS5       INTEGER,  
        fpRxPktCOS6       INTEGER,  
        fpRxPktCOS7       INTEGER,  
        fpRxPktUnit0      INTEGER,  
        fpRxPktUnit1      INTEGER,  
        fpRxPktUnit2      INTEGER,  
        fpRxPktUnit3      INTEGER,  
        fpTransmitted     INTEGER,  
        fpTxRequested     INTEGER,  
        fpNoTxDesc        INTEGER,  
        fpTxError         INTEGER,  
        fpTxReqTooLarge   INTEGER,  
        fpTxInternalError INTEGER,  
        fpTxDatapathErr   INTEGER,  
        fpTxPktCOS0       INTEGER,  
        fpTxPktCOS1       INTEGER,  
        fpTxPktCOS2       INTEGER,  
        fpTxPktCOS3       INTEGER,  
        fpTxPktCOS4       INTEGER,  
        fpTxPktCOS5       INTEGER,  
        fpTxPktCOS6       INTEGER,  
        fpTxPktCOS7       INTEGER,  
        fpTxPktUnit0      INTEGER,  
        fpTxPktUnit1      INTEGER,  
        fpTxPktUnit2      INTEGER,  
        fpTxPktUnit3      INTEGER  
}

fpStackUnitIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..12) 
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Stack unit number or line card number."
        ::= { fpCpuDataPlaneStatsEntry 1 }

fpRxHandle   OBJECT-TYPE
        SYNTAX        INTEGER    
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Reception Handle"
        ::= { fpCpuDataPlaneStatsEntry 2 }

fpNoMhdr     OBJECT-TYPE
        SYNTAX        INTEGER   
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Message header"
        ::= { fpCpuDataPlaneStatsEntry 3 }

fpNoMBuf     OBJECT-TYPE
        SYNTAX        INTEGER   
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Message buffer"
        ::= { fpCpuDataPlaneStatsEntry 4 }

fpNoClus     OBJECT-TYPE
        SYNTAX        INTEGER   
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Clusters."
        ::= { fpCpuDataPlaneStatsEntry 5 }

fpRecvd       OBJECT-TYPE
        SYNTAX        INTEGER   
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Received statistics."
        ::= { fpCpuDataPlaneStatsEntry 6 }

fpDropped     OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Dropped statistics."
        ::= { fpCpuDataPlaneStatsEntry 7 }

fpRecvToNet    OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Received to network."
        ::= { fpCpuDataPlaneStatsEntry 8 }

fpRxError  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Gives statistics about the reception error"
        ::= { fpCpuDataPlaneStatsEntry 9 }

fpRxDatapathError  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Statistics of reception data path error."
        ::= { fpCpuDataPlaneStatsEntry 10}

fpRxPktCOS0   OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 0"
        ::= { fpCpuDataPlaneStatsEntry 11}

fpRxPktCOS1  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 1"
        ::= { fpCpuDataPlaneStatsEntry 12 }

fpRxPktCOS2  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 2"
        ::= { fpCpuDataPlaneStatsEntry 13 }

fpRxPktCOS3  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 3"
        ::= { fpCpuDataPlaneStatsEntry 14}
 
fpRxPktCOS4 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 4"
        ::= { fpCpuDataPlaneStatsEntry 15}

fpRxPktCOS5 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 5"
        ::= { fpCpuDataPlaneStatsEntry 16}

fpRxPktCOS6  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 6"
        ::= { fpCpuDataPlaneStatsEntry 17}

fpRxPktCOS7  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets received in COS 7"
        ::= { fpCpuDataPlaneStatsEntry 18}

fpRxPktUnit0  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets received in Unit 0"
        ::= { fpCpuDataPlaneStatsEntry 19}

fpRxPktUnit1 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets received in Unit 1"
        ::= { fpCpuDataPlaneStatsEntry 20}

fpRxPktUnit2 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets received in Unit 2"
        ::= { fpCpuDataPlaneStatsEntry 21}

fpRxPktUnit3 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets received in Unit  3"
        ::= { fpCpuDataPlaneStatsEntry 22}

fpTransmitted  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Transmitted statistics"
        ::= { fpCpuDataPlaneStatsEntry 23}

fpTxRequested  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Transmission requested."
        ::= { fpCpuDataPlaneStatsEntry 24}

fpNoTxDesc  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Transmission descriptor"
        ::= { fpCpuDataPlaneStatsEntry 25}

fpTxError  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Error in transmitted packets."
        ::= { fpCpuDataPlaneStatsEntry 26}

fpTxReqTooLarge  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Transmission requested too large."
        ::= { fpCpuDataPlaneStatsEntry 27}

fpTxInternalError  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Internal error in transmitted data."
        ::= { fpCpuDataPlaneStatsEntry 28}

fpTxDatapathErr OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Data path error in transmitted data."
        ::= { fpCpuDataPlaneStatsEntry 29}

fpTxPktCOS0   OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 0"
        ::= { fpCpuDataPlaneStatsEntry 30}

fpTxPktCOS1  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 1"
        ::= { fpCpuDataPlaneStatsEntry 31}

fpTxPktCOS2  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 2"
        ::= { fpCpuDataPlaneStatsEntry 32}

fpTxPktCOS3 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 3"
        ::= { fpCpuDataPlaneStatsEntry 33}

fpTxPktCOS4 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 4"
        ::= { fpCpuDataPlaneStatsEntry 34}

fpTxPktCOS5 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 5"
        ::= { fpCpuDataPlaneStatsEntry 35}

fpTxPktCOS6  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 6"
        ::= { fpCpuDataPlaneStatsEntry 36}

fpTxPktCOS7  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "Packets Transmitted from COS Queue 7"
        ::= { fpCpuDataPlaneStatsEntry 37}

fpTxPktUnit0  OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets Transmitted from Unit 0"
        ::= { fpCpuDataPlaneStatsEntry 38}

fpTxPktUnit1 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets Transmitted from Unit 1"
        ::= { fpCpuDataPlaneStatsEntry 39}

fpTxPktUnit2 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets Transmitted from Unit 2"
        ::= { fpCpuDataPlaneStatsEntry 40 }

fpTxPktUnit3 OBJECT-TYPE
        SYNTAX        INTEGER  
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets transmitted from Unit3"
        ::= { fpCpuDataPlaneStatsEntry 41 }

--
-- Party bus statistics table
--
fpCpuPartyBusTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpCpuPartyBusStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The party bus statistics table contains statistics 
                about the number of input and output packets, bytes, error 
                and the number of input packets dropped in a 
                stack unit/line card."
        ::= { fpStatsObjects 2 }

fpCpuPartyBusStatsEntry  OBJECT-TYPE
        SYNTAX        FpCpuPartyBusStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Cpu party bus statistics"
        INDEX         { fpStackUnitIndex }
        ::= { fpCpuPartyBusTable 1 }

FpCpuPartyBusStatsEntry ::= SEQUENCE {
        fpPartyBusInputPackets  Counter32,
        fpPartyBusInputBytes    Counter32,
        fpPartyBusInputDropped  Counter32,
        fpPartyBusInputError    Counter32,
        fpPartyBusOutputPackets Counter32,
        fpPartyBusOutputBytes   Counter32,
        fpPartyBusOutputError   Counter32
}

fpPartyBusInputPackets OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets."
        ::= { fpCpuPartyBusStatsEntry 1 }

fpPartyBusInputBytes OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input bytes."
        ::= { fpCpuPartyBusStatsEntry 2 }

fpPartyBusInputDropped OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets dropped."
        ::= { fpCpuPartyBusStatsEntry 3 }

fpPartyBusInputError OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Error in input packets."
        ::= { fpCpuPartyBusStatsEntry 4 }

fpPartyBusOutputPackets OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets."
        ::= { fpCpuPartyBusStatsEntry 5 }

fpPartyBusOutputBytes OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of bytes transmitted."
        ::= { fpCpuPartyBusStatsEntry 6 }

fpPartyBusOutputError OBJECT-TYPE
        SYNTAX        Counter32 
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Error in output "
        ::= { fpCpuPartyBusStatsEntry 7 }

--
-- Per port drop counter table
--
fpDropsTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpDropsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane drops table contains the list of various 
                drops per port in a stack unit/line card."
        ::= { fpStatsObjects 3 }

fpDropsEntry  OBJECT-TYPE
        SYNTAX        FpDropsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "drops"
        INDEX         { fpStackUnitIndex,
                        fpStackPortIndex }
        ::= { fpDropsTable 1 }

FpDropsEntry ::= SEQUENCE {
        fpStackPortIndex            INTEGER,
        fpIngressDrops              Counter64,
        fpIngIBPCBPFullDrops        Counter64,
        fpIngPortSTPnotFwdDrops     Counter64,
        fpIngIPv4L3Discards         Counter64,
        fpIngPolicyDiscards         Counter64,
        fpIngPacketsDroppedByFP     Counter64,
        fpIngL2L3Drops              Counter64,
        fpIngPortBitMapZeroDrops    Counter64,
        fpIngRxVLANDrops            Counter64,
        fpIngressFCSDrops           Counter64,
        fpIngressMTUExceeds         Counter64,
        fpMMUHOLDrops               Counter64,
        fpMMUTxPurgeCellErr         Counter64,
        fpMMUAgedDrops              Counter64,
        fpEgressFCSDrops            Counter64,
        fpEgIPv4L3UCAgedDrops       Counter64,
        fpEgTTLThresholdDrops       Counter64,
        fpEgInvalidVLANCounterDrops Counter64,
        fpEgL2MCDrops               Counter64,
        fpEgPktDropsOfAnyCondition  Counter64,
        fpEgHgMacUnderFlow          Counter64,
        fpEgTxErrPktCounter         Counter64,
        fpFlowControlDrops       Counter64
}

fpStackPortIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..192)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Stack/line card port number."
        ::= { fpDropsEntry 1 }

fpIngressDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress Drops"
        ::= { fpDropsEntry 2 }

fpIngIBPCBPFullDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of packets discarded because of Ingress Back Pressure (flow control),
                or because the Common Buffer Pool is full."
        ::= { fpDropsEntry 3 }

fpIngPortSTPnotFwdDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets dropped due to Spanning Tree State not in forwarding state."
        ::= { fpDropsEntry 4 }

fpIngIPv4L3Discards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "IPv4 L3 Discards "
        ::= { fpDropsEntry 5 }

fpIngPolicyDiscards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packet dropped due to policy discards."
        ::= { fpDropsEntry 6 }

fpIngPacketsDroppedByFP OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets dropped by forwarding plane."
        ::= { fpDropsEntry 7 }

fpIngL2L3Drops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "L2 L3 packets dropped."
        ::= { fpDropsEntry 8 }

fpIngPortBitMapZeroDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Port bitmap zero drop condition."
        ::= { fpDropsEntry 9 }

fpIngRxVLANDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Rx VLAN drop condition."
        ::= { fpDropsEntry 10 }

fpIngressFCSDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress FCSDrops"
        ::= { fpDropsEntry 11 }

fpIngressMTUExceeds OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress MTUExceeds"
        ::= { fpDropsEntry 12 }

fpMMUHOLDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "MMU HOL DROPS"
        ::= { fpDropsEntry 13 }

fpMMUTxPurgeCellErr OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TxPurge CellErr"
        ::= { fpDropsEntry 14 }

fpMMUAgedDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Aged Drops "
        ::= { fpDropsEntry 15 }

fpEgressFCSDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Egress FCS Drops"
        ::= { fpDropsEntry 16 }

fpEgIPv4L3UCAgedDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "IPv4 L3UC Aged & Drops"
        ::= { fpDropsEntry 17 }

fpEgTTLThresholdDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TTL Threshold Drops"
        ::= { fpDropsEntry 18 }

fpEgInvalidVLANCounterDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "INVALID VLAN CNTR Drops "
        ::= { fpDropsEntry 19 }

fpEgL2MCDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "L2MC Drops  "
        ::= { fpDropsEntry 20 }

fpEgPktDropsOfAnyCondition OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "PKT Drops of ANY Conditions "
        ::= { fpDropsEntry 21 }

fpEgHgMacUnderFlow OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only 
        STATUS        current
        DESCRIPTION
                "Hg MacUnderflow   "
        ::= { fpDropsEntry 22 }

fpEgTxErrPktCounter OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TX Err PKT Counter  "
        ::= { fpDropsEntry 23 }

fpFlowControlDrops OBJECT-TYPE 
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Flow Control Drops "
        ::= { fpDropsEntry 24 }
--
-- Per unit(NPU) packet buffer stats table
--
fpPacketBufferTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpPacketBufferEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The packet buffer table contains the modular packet buffers details
                per stack unit/line card and the mode of allocation."
        ::= { fpStatsObjects 4 }

fpPacketBufferEntry  OBJECT-TYPE
        SYNTAX        FpPacketBufferEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Packet buffer details per stack unit/line card."
        INDEX         { fpStackUnitIndex,
                        fpPortPipe }
        ::= { fpPacketBufferTable 1 }

FpPacketBufferEntry ::= SEQUENCE {
        fpPortPipe           INTEGER,
        fpTotalPacketBuffer  Counter32,
        fpCurrentAvailBuffer Counter32,
        fpPacketBufferAlloc  Counter32
}

fpPortPipe OBJECT-TYPE
        SYNTAX        INTEGER (1..6)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "fpPortPipe denotes the portpipe in the stack unit/line card."
        ::= { fpPacketBufferEntry 1 }

fpTotalPacketBuffer OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Total packet buffer."
        ::= { fpPacketBufferEntry 2 }

fpCurrentAvailBuffer OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Current available buffer."
        ::= { fpPacketBufferEntry 3 }

fpPacketBufferAlloc  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Static or Dynamic allocation."
        ::= { fpPacketBufferEntry 4 }

--
-- Per port packet buffer stats table
--
fpStatsPerPortTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forward plane stats per port table  contains 
                the packet buffer usage per port per stack unit/line card."
        ::= { fpStatsObjects 5}

fpStatsPerPortEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Per port stats and per COS stats."
        INDEX         { fpStackUnitIndex,
                        fpStackPortIndex }
::= { fpStatsPerPortTable 1 }

FpStatsPerPortEntry ::= SEQUENCE {
        fpCurrentUsagePerPort    Counter32,
        fpDefaultPacketBuffAlloc Counter32,
        fpMaxLimitPerPort        Counter32
}

fpCurrentUsagePerPort OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Current usage per port."
        ::= { fpStatsPerPortEntry 1 }

fpDefaultPacketBuffAlloc OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Default packet buffer allocated."
        ::= { fpStatsPerPortEntry 2 }

fpMaxLimitPerPort OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "MAx limit per port."
        ::= { fpStatsPerPortEntry 3 }

--
-- Per cos(queue) packet buffer stats table
--
fpStatsPerCOSTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane statistics per COS table gives 
                packet buffer statistics per COS per port."
        ::=  { fpStatsObjects 6 }

fpStatsPerCOSEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Per port stats and per COS stats."
        INDEX         { fpStackUnitIndex,
                        fpStackPortIndex,
                        fpPerPortCOSNumber }
        ::= { fpStatsPerCOSTable 1 }

FpStatsPerCOSEntry ::= SEQUENCE {
        fpPerPortCOSNumber             INTEGER,
        fpCurrentUsagePerCOS           Counter32,
        fpDefaultPacketBuffAllocPerCOS Counter32,
        fpMaxLimitPerCOS               Counter32,
        fpHOLDropsPerCOS              Counter64
}

fpPerPortCOSNumber OBJECT-TYPE
        SYNTAX        INTEGER (1..21)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "COS queue number"
        ::= { fpStatsPerCOSEntry 1 }

fpCurrentUsagePerCOS  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Current usage per COS per port."
        ::= { fpStatsPerCOSEntry 2 }

fpDefaultPacketBuffAllocPerCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Default packet buffer allocated per COS."
        ::= { fpStatsPerCOSEntry 3 }

fpMaxLimitPerCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Max limit per port."
        ::= { fpStatsPerCOSEntry 4 }

fpHOLDropsPerCOS OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "HOL Drops Per Queue."
        ::= { fpStatsPerCOSEntry 5 }

--
-- Per cos(queue) table for COS queues in CPU dataplane
--
fpCpuDataPlaneCOSTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpCpuDataPlaneCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The CPU data plane COS table contains the per COS
                 transmission and reception statistics of CPU dataplane."
        ::= { fpStatsObjects 7 }

fpCpuDataPlaneCOSEntry OBJECT-TYPE
        SYNTAX        FpCpuDataPlaneCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "CPU Data plane per COS statistics"
        INDEX         { fpStackUnitIndex, fpCOSIndex }
        ::= { fpCpuDataPlaneCOSTable 1 }

FpCpuDataPlaneCOSEntry ::= SEQUENCE {
        fpCOSIndex   Integer32,
        fpRxPktCOS   Counter32,
        fpTxPktCOS   Counter32
}

fpCOSIndex OBJECT-TYPE
        SYNTAX        Integer32 (0..11)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "CPU dataplane COS queue number."
        ::= { fpCpuDataPlaneCOSEntry 1 }

fpRxPktCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Receive COS queue statistics in CPU dataplane."
        ::= { fpCpuDataPlaneCOSEntry 2 }

fpTxPktCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Transmit COS queue statistics in CPU dataplane."
        ::= { fpCpuDataPlaneCOSEntry 3 }

--
-- Party bus per port statistics table
--

fpCpuPartyBusPortStatsTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpCpuPartyBusPortStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The party bus port statistics table contains statistics
                about the number of input and output packets, bytes, error
                and the number of input packets dropped in a party bus port.
                This table is applicable to platforms which support 
                party bus statistics at per port level."
        ::= { fpStatsObjects 12 }

fpCpuPartyBusPortStatsEntry  OBJECT-TYPE
        SYNTAX        FpCpuPartyBusPortStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Cpu party bus statistics"
        INDEX         { fpStackUnitIndex,
                        fpStackPortIndex }
        ::= { fpCpuPartyBusPortStatsTable 1 }

FpCpuPartyBusPortStatsEntry ::= SEQUENCE {
        fpCpuPartyBusPortStatsOutOctets Counter64,
        fpCpuPartyBusPortStatsOutDropPkts Counter32,
        fpCpuPartyBusPortStatsOutCOS0Pkts Counter32,
        fpCpuPartyBusPortStatsOutCOS1Pkts Counter32,
        fpCpuPartyBusPortStatsOutCOS2Pkts Counter32,
        fpCpuPartyBusPortStatsOutCOS3Pkts Counter32,
        fpCpuPartyBusPortStatsOutCOS4Pkts Counter32,
        fpCpuPartyBusPortStatsOutCOS5Pkts Counter32,
        fpCpuPartyBusPortStatsOutUnicastPkts Counter32,
        fpCpuPartyBusPortStatsOutMulticastPkts Counter32,
        fpCpuPartyBusPortStatsOutBroadcastPkts Counter32,
        fpCpuPartyBusPortStatsOutPausePkts Counter32,
        fpCpuPartyBusPortStatsOutCollisions Counter32,
        fpCpuPartyBusPortStatsOutSingleCollisions Counter32,
        fpCpuPartyBusPortStatsOutMultiCollisions Counter32,
        fpCpuPartyBusPortStatsOutLateCollisions Counter32,
        fpCpuPartyBusPortStatsOutExcessCollisions Counter32,
        fpCpuPartyBusPortStatsOutDeferred Counter32,
        fpCpuPartyBusPortStatsOutDiscarded Counter32,
        fpCpuPartyBusPortStatsInOctets Counter64,
        fpCpuPartyBusPortStatsInUndersizePkts Counter32,
        fpCpuPartyBusPortStatsInOversizePkts Counter32,
        fpCpuPartyBusPortStatsInPausePkts Counter32,
        fpCpuPartyBusPortStatsIn64OctetPkts Counter32,
        fpCpuPartyBusPortStatsIn65To127OctetPkts Counter32,
        fpCpuPartyBusPortStatsIn128To255OctetPkts Counter32,
        fpCpuPartyBusPortStatsIn256To511OctetPkts Counter32,
        fpCpuPartyBusPortStatsIn512To1023OctetPkts Counter32,
        fpCpuPartyBusPortStatsIn1024ToMaxOctetPkts Counter32,
        fpCpuPartyBusPortStatsInJabbers Counter32,
        fpCpuPartyBusPortStatsInAlignErrors Counter32,
        fpCpuPartyBusPortStatsInFcsErrors Counter32,
        fpCpuPartyBusPortStatsInGoodOctets Counter32,
        fpCpuPartyBusPortStatsInDropPkts Counter32,
        fpCpuPartyBusPortStatsInUnicastPkts Counter32,
        fpCpuPartyBusPortStatsInMulticastPkts Counter32,
        fpCpuPartyBusPortStatsInBroadcastPkts Counter32,
        fpCpuPartyBusPortStatsInSrcAddrChanges Counter32,
        fpCpuPartyBusPortStatsInFragments Counter32,
        fpCpuPartyBusPortStatsInJumboPkts Counter32,
        fpCpuPartyBusPortStatsInSymbolErrors Counter32,
        fpCpuPartyBusPortStatsInInRangeErrors Counter32,
        fpCpuPartyBusPortStatsInOutRangeErrors Counter32
}

fpCpuPartyBusPortStatsOutOctets  OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output octets."
        ::= { fpCpuPartyBusPortStatsEntry 1 }

fpCpuPartyBusPortStatsOutDropPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets dropped."
        ::= { fpCpuPartyBusPortStatsEntry 2 }

fpCpuPartyBusPortStatsOutCOS0Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 0."
        ::= { fpCpuPartyBusPortStatsEntry 3 }

fpCpuPartyBusPortStatsOutCOS1Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 1."
        ::= { fpCpuPartyBusPortStatsEntry 4 }

fpCpuPartyBusPortStatsOutCOS2Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 2."
        ::= { fpCpuPartyBusPortStatsEntry 5 }

fpCpuPartyBusPortStatsOutCOS3Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 3."
        ::= { fpCpuPartyBusPortStatsEntry 6 }

fpCpuPartyBusPortStatsOutCOS4Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 4."
        ::= { fpCpuPartyBusPortStatsEntry 7 }

fpCpuPartyBusPortStatsOutCOS5Pkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets in COS queue 5."
        ::= { fpCpuPartyBusPortStatsEntry 8 }

fpCpuPartyBusPortStatsOutUnicastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of unicast output packets."
        ::= { fpCpuPartyBusPortStatsEntry 9 }

fpCpuPartyBusPortStatsOutMulticastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of multicast output packets."
        ::= { fpCpuPartyBusPortStatsEntry 10 }

fpCpuPartyBusPortStatsOutBroadcastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of broadcast output packets."
        ::= { fpCpuPartyBusPortStatsEntry 11 }

fpCpuPartyBusPortStatsOutPausePkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output pause packets."
        ::= { fpCpuPartyBusPortStatsEntry 12 }

fpCpuPartyBusPortStatsOutCollisions  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output collisions."
        ::= { fpCpuPartyBusPortStatsEntry 13 }

fpCpuPartyBusPortStatsOutSingleCollisions  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of single output collisions."
        ::= { fpCpuPartyBusPortStatsEntry 14 }

fpCpuPartyBusPortStatsOutMultiCollisions  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of multiple output collisions."
        ::= { fpCpuPartyBusPortStatsEntry 15 }

fpCpuPartyBusPortStatsOutLateCollisions  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of late output collisions."
        ::= { fpCpuPartyBusPortStatsEntry 16 }

fpCpuPartyBusPortStatsOutExcessCollisions  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of excess output collisions."
        ::= { fpCpuPartyBusPortStatsEntry 17 }

fpCpuPartyBusPortStatsOutDeferred  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets deferred."
        ::= { fpCpuPartyBusPortStatsEntry 18 }

fpCpuPartyBusPortStatsOutDiscarded  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of output packets discarded."
        ::= { fpCpuPartyBusPortStatsEntry 19 }

fpCpuPartyBusPortStatsInOctets  OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input octets."
        ::= { fpCpuPartyBusPortStatsEntry 20 }

fpCpuPartyBusPortStatsInUndersizePkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of undersize input packets."
        ::= { fpCpuPartyBusPortStatsEntry 21 }

fpCpuPartyBusPortStatsInOversizePkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of oversize input packets."
        ::= { fpCpuPartyBusPortStatsEntry 22 }

fpCpuPartyBusPortStatsInPausePkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input pause packets."
        ::= { fpCpuPartyBusPortStatsEntry 23 }

fpCpuPartyBusPortStatsIn64OctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size 64 octets."
        ::= { fpCpuPartyBusPortStatsEntry 24 }

fpCpuPartyBusPortStatsIn65To127OctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size 65 to 127 octets."
        ::= { fpCpuPartyBusPortStatsEntry 25 }

fpCpuPartyBusPortStatsIn128To255OctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size 128 to 255 octets."
        ::= { fpCpuPartyBusPortStatsEntry 26 }

fpCpuPartyBusPortStatsIn256To511OctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size 256 to 511 octets."
        ::= { fpCpuPartyBusPortStatsEntry 27 }

fpCpuPartyBusPortStatsIn512To1023OctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size 512 to 1023 octets."
        ::= { fpCpuPartyBusPortStatsEntry 28 }

fpCpuPartyBusPortStatsIn1024ToMaxOctetPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets of size more than 1024 octets."
        ::= { fpCpuPartyBusPortStatsEntry 29 }

fpCpuPartyBusPortStatsInJabbers  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input jabbers."
        ::= { fpCpuPartyBusPortStatsEntry 30 }

fpCpuPartyBusPortStatsInAlignErrors  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input align errors."
        ::= { fpCpuPartyBusPortStatsEntry 31 }

fpCpuPartyBusPortStatsInFcsErrors  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input FCS errors."
        ::= { fpCpuPartyBusPortStatsEntry 32 }

fpCpuPartyBusPortStatsInGoodOctets  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of good input octets."
        ::= { fpCpuPartyBusPortStatsEntry 33 }

fpCpuPartyBusPortStatsInDropPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input packets dropped."
        ::= { fpCpuPartyBusPortStatsEntry 34 }

fpCpuPartyBusPortStatsInUnicastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of unicast input packets."
        ::= { fpCpuPartyBusPortStatsEntry 35 }

fpCpuPartyBusPortStatsInMulticastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of multicast input packets."
        ::= { fpCpuPartyBusPortStatsEntry 36 }

fpCpuPartyBusPortStatsInBroadcastPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of broadcast input packets."
        ::= { fpCpuPartyBusPortStatsEntry 37 }

fpCpuPartyBusPortStatsInSrcAddrChanges  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input source address changes."
        ::= { fpCpuPartyBusPortStatsEntry 38 }

fpCpuPartyBusPortStatsInFragments  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input fragments."
        ::= { fpCpuPartyBusPortStatsEntry 39 }

fpCpuPartyBusPortStatsInJumboPkts  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of jumbo input packets."
        ::= { fpCpuPartyBusPortStatsEntry 40 }

fpCpuPartyBusPortStatsInSymbolErrors  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input symbol error."
        ::= { fpCpuPartyBusPortStatsEntry 41 }

fpCpuPartyBusPortStatsInInRangeErrors  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input in-range errors."
        ::= { fpCpuPartyBusPortStatsEntry 42 }

fpCpuPartyBusPortStatsInOutRangeErrors  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of input out-of-range errors."
        ::= { fpCpuPartyBusPortStatsEntry 43 }

-- Per port per queue table for Buffer Statistics Tracking(BST) 
-- at Egress level.
--

fpEgrQBuffSnapshotTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpEgrQBuffSnapshotEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table to Show Egress queue level snapshot statistics. There
                 are total of 21 queues out of which 12[1..12] are unicast 
                 queues and the remaining 9[13..21] are multicast queues."
        ::= { fpStatsObjects 8 }

fpEgrQBuffSnapshotEntry  OBJECT-TYPE
        SYNTAX        FpEgrQBuffSnapshotEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Egress queue snapshot info."
        INDEX        { fpStackUnitIndex,
                       fpStackPortIndex,
                       fpPerPortCOSNumber }
        ::= { fpEgrQBuffSnapshotTable 1}

FpEgrQBuffSnapshotEntry ::= SEQUENCE {
       fpEgrQTotBuffCells   Counter32
}

fpEgrQTotBuffCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Total Cell count per Egress queue."
        ::= { fpEgrQBuffSnapshotEntry 1 }

--
-- Per port per priority-group(PG) table for Buffer Statistics Tracking(BST) 
-- at Ingress level.
--

fpIngPgBuffSnapshotTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpIngPgBuffSnapshotEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table to Show Ingress priority-group level snapshot statistics
                 for all priority-groups[1..8]."
        ::= { fpStatsObjects 9 }

fpIngPgBuffSnapshotEntry  OBJECT-TYPE
        SYNTAX        FpIngPgBuffSnapshotEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Priority group snapshot info."
        INDEX        { fpStackUnitIndex,
                       fpStackPortIndex,
                       fpPerPortPGIndex }
        ::= { fpIngPgBuffSnapshotTable 1 }

FpIngPgBuffSnapshotEntry  ::= SEQUENCE {
        fpPerPortPGIndex    INTEGER,
        fpIngSharedCells    Counter32,
        fpIngHeadroomCells  Counter32
}

fpPerPortPGIndex OBJECT-TYPE
        SYNTAX        INTEGER
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   
                "Priority-Group number."
        ::= { fpIngPgBuffSnapshotEntry 1 }

fpIngSharedCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Shared cell count per priority group."
        ::= { fpIngPgBuffSnapshotEntry 2 }

fpIngHeadroomCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Headroom cell count per priority group."
        ::= { fpIngPgBuffSnapshotEntry 3 }

--
-- Per port per priority-group(PG) table for Buffer Statistics at 
-- Ingress level.
--

fpStatsPerPgTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerPgEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane statistics per PG table gives 
                 packet buffer allocated and used count per PG per port."

        ::= { fpStatsObjects 10 }

fpStatsPerPgEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerPgEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Buffer statistics per PG per port."
        INDEX        { fpStackUnitIndex,
                       fpStackPortIndex,
                       fpPerPortPGIndex }
        ::= { fpStatsPerPgTable 1 }

FpStatsPerPgEntry ::= SEQUENCE {
    fpStatsPgLimitMinCells         INTEGER,
    fpStatsPgSharedCells           INTEGER,
    fpStatsPgSharedMode            INTEGER,
    fpStatsPgHdrmCells             INTEGER,
    fpStatsPgCounterMinCells       Counter32,
    fpStatsPgCounterSharedCells    Counter32,
    fpStatsPgCounterHdrmCells      Counter32
}

fpStatsPgLimitMinCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Min cells allocated per Priority Group."
    ::= { fpStatsPerPgEntry 1 }

fpStatsPgSharedCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Shared cells allocated per Priority Group."
    ::= { fpStatsPerPgEntry 2 }

fpStatsPgSharedMode  OBJECT-TYPE
    SYNTAX      INTEGER{
                        static(0),
                        dynamic(1)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority group shared mode[static/dynamic]."
    ::= { fpStatsPerPgEntry 3 }

fpStatsPgHdrmCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Headroom cells allocated per Priority group."
    ::= { fpStatsPerPgEntry 4 }

fpStatsPgCounterMinCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority Group Min cell count."
    ::= {  fpStatsPerPgEntry 5 }

fpStatsPgCounterSharedCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority Group Shared cell count."
    ::= { fpStatsPerPgEntry 6 }

fpStatsPgCounterHdrmCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority group Headroom cell count."
    ::= { fpStatsPerPgEntry 7 }

--
-- Per port per priority table for PFC Statistics.  
--
pfcPerPrioTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PfcPerPrioEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            " This table is used to fetch the number of  tx and rx PFC frame counts
              per port per priority."
         ::= { fpStatsObjects 11 }

pfcPerPrioEntry OBJECT-TYPE
    SYNTAX      PfcPerPrioEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Rx and Tx PFC frame counter info."
    REFERENCE
           "802.1Qbb clause 12.18"
    INDEX        { fpStackUnitIndex,
                   fpStackPortIndex,
                   prioIndex }

        ::= { pfcPerPrioTable 1 }

PfcPerPrioEntry  ::= 
      SEQUENCE {
         prioIndex               INTEGER,
         pfcPerPrioRequests      Counter64,
         pfcPerPrioIndications   Counter64
    }   

prioIndex          OBJECT-TYPE
    SYNTAX             INTEGER (1..8)
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
                "Priority Index."
        ::= { pfcPerPrioEntry 1 }

pfcPerPrioRequests  OBJECT-TYPE
      SYNTAX      Counter64
      UNITS       "Requests"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
              "PFC tx counters."
          ::= { pfcPerPrioEntry 2 }

pfcPerPrioIndications  OBJECT-TYPE
     SYNTAX      Counter64
     UNITS       "Indications"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
             "PFC rx counters."
     ::= { pfcPerPrioEntry 3 }

--
-- Per interface drop counter table
--
fpDropsIfTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpDropsIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane drops table contains the list of various 
                drops per interface in the system."
        ::= { fpStatsObjects 13 }

fpDropsIfEntry  OBJECT-TYPE
        SYNTAX        FpDropsIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "drops"
        INDEX         { ifIndex }
        ::= { fpDropsIfTable 1 }

FpDropsIfEntry ::= SEQUENCE {
        fpIfIngressDrops              Counter64,
        fpIfIngIBPCBPFullDrops        Counter64,
        fpIfIngPortSTPnotFwdDrops     Counter64,
        fpIfIngIPv4L3Discards         Counter64,
        fpIfIngPolicyDiscards         Counter64,
        fpIfIngPacketsDroppedByFP     Counter64,
        fpIfIngL2L3Drops              Counter64,
        fpIfIngPortBitMapZeroDrops    Counter64,
        fpIfIngRxVLANDrops            Counter64,
        fpIfIngressFCSDrops           Counter64,
        fpIfIngressMTUExceeds         Counter64,
        fpIfMMUHOLDrops               Counter64,
        fpIfMMUTxPurgeCellErr         Counter64,
        fpIfMMUAgedDrops              Counter64,
        fpIfEgressFCSDrops            Counter64,
        fpIfEgIPv4L3UCAgedDrops       Counter64,
        fpIfEgTTLThresholdDrops       Counter64,
        fpIfEgInvalidVLANCounterDrops Counter64,
        fpIfEgL2MCDrops               Counter64,
        fpIfEgPktDropsOfAnyCondition  Counter64,
        fpIfEgHgMacUnderFlow          Counter64,
        fpIfEgTxErrPktCounter         Counter64
}

fpIfIngressDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress Drops"
        ::= { fpDropsIfEntry 1 }

fpIfIngIBPCBPFullDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of packets discarded because of Ingress Back Pressure (flow control),
                or because the Common Buffer Pool is full."
        ::= { fpDropsIfEntry 2 }

fpIfIngPortSTPnotFwdDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets dropped due to Spanning Tree State not in forwarding state."
        ::= { fpDropsIfEntry 3 }

fpIfIngIPv4L3Discards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "IPv4 L3 Discards "
        ::= { fpDropsIfEntry 4 }

fpIfIngPolicyDiscards OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packet dropped due to policy discards."
        ::= { fpDropsIfEntry 5 }

fpIfIngPacketsDroppedByFP OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Packets dropped by forwarding plane."
        ::= { fpDropsIfEntry 6 }

fpIfIngL2L3Drops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "L2 L3 packets dropped."
        ::= { fpDropsIfEntry 7 }

fpIfIngPortBitMapZeroDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Port bitmap zero drop condition."
        ::= { fpDropsIfEntry 8 }

fpIfIngRxVLANDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Rx VLAN drop condition."
        ::= { fpDropsIfEntry 9 }

fpIfIngressFCSDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress FCSDrops"
        ::= { fpDropsIfEntry 10 }

fpIfIngressMTUExceeds OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Ingress MTUExceeds"
        ::= { fpDropsIfEntry 11 }

fpIfMMUHOLDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "MMU HOL DROPS"
        ::= { fpDropsIfEntry 12 }

fpIfMMUTxPurgeCellErr OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TxPurge CellErr"
        ::= { fpDropsIfEntry 13 }

fpIfMMUAgedDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Aged Drops "
        ::= { fpDropsIfEntry 14 }

fpIfEgressFCSDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Egress FCS Drops"
        ::= { fpDropsIfEntry 15 }

fpIfEgIPv4L3UCAgedDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "IPv4 L3UC Aged & Drops"
        ::= { fpDropsIfEntry 16 }

fpIfEgTTLThresholdDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TTL Threshold Drops"
        ::= { fpDropsIfEntry 17 }

fpIfEgInvalidVLANCounterDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "INVALID VLAN CNTR Drops "
        ::= { fpDropsIfEntry 18 }

fpIfEgL2MCDrops OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "L2MC Drops  "
        ::= { fpDropsIfEntry 19 }

fpIfEgPktDropsOfAnyCondition OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "PKT Drops of ANY Conditions "
        ::= { fpDropsIfEntry 20 }

fpIfEgHgMacUnderFlow OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only 
        STATUS        current
        DESCRIPTION
                "Hg MacUnderflow   "
        ::= { fpDropsIfEntry 21 }

fpIfEgTxErrPktCounter OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "TX Err PKT Counter  "
        ::= { fpDropsIfEntry 22 }

--
-- Per interface packet buffer stats table
--
fpStatsPerIfTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forward plane stats per port table  contains 
                the packet buffer usage per port per stack unit/line card."
        ::= { fpStatsObjects 14 }

fpStatsPerIfEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Per port stats and per COS stats."
        INDEX         { ifIndex }
::= { fpStatsPerIfTable 1 }

FpStatsPerIfEntry ::= SEQUENCE {
        fpIfCurrentUsagePerPort    Counter32,
        fpIfDefaultPacketBuffAlloc Counter32,
        fpIfMaxLimitPerPort        Counter32
}

fpIfCurrentUsagePerPort OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Current usage per port."
        ::= { fpStatsPerIfEntry 1 }

fpIfDefaultPacketBuffAlloc OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Default packet buffer allocated."
        ::= { fpStatsPerIfEntry 2 }

fpIfMaxLimitPerPort OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "MAx limit per port."
        ::= { fpStatsPerIfEntry 3 }

--
-- Per cos(queue) packet buffer stats table
--
fpStatsPerIfCOSTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerIfCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane statistics per COS table gives 
                packet buffer statistics per COS per port."
        ::=  { fpStatsObjects 15 }

fpStatsPerIfCOSEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerIfCOSEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Per port stats and per COS stats."
        INDEX         { ifIndex,
                        fpIfPerCOSNumber }
        ::= { fpStatsPerIfCOSTable 1 }

FpStatsPerIfCOSEntry ::= SEQUENCE {
        fpIfPerCOSNumber                 INTEGER,
        fpIfCurrentUsagePerCOS           Counter32,
        fpIfDefaultPacketBuffAllocPerCOS Counter32,
        fpIfMaxLimitPerCOS               Counter32,
        fpIfHOLDropsPerCOS               Counter64
}

fpIfPerCOSNumber OBJECT-TYPE
        SYNTAX        INTEGER (1..21)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "COS queue number"
        ::= { fpStatsPerIfCOSEntry 1 }

fpIfCurrentUsagePerCOS  OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Current usage per COS per port."
        ::= { fpStatsPerIfCOSEntry 2 }

fpIfDefaultPacketBuffAllocPerCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Default packet buffer allocated per COS."
        ::= { fpStatsPerIfCOSEntry 3 }

fpIfMaxLimitPerCOS OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Max limit per port."
        ::= { fpStatsPerIfCOSEntry 4 }

fpIfHOLDropsPerCOS OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "HOL Drops Per Queue."
        ::= { fpStatsPerIfCOSEntry 5 }

-- Per interface per queue table for Buffer Statistics Tracking(BST) 
-- at Egress level.
--

fpEgrQBuffSnapshotIfTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpEgrQBuffSnapshotIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table to Show Egress queue level snapshot statistics. There
                 are total of 21 queues out of which 12[1..12] are unicast 
                 queues and the remaining 9[13..21] are multicast queues."
        ::= { fpStatsObjects 16 }

fpEgrQBuffSnapshotIfEntry  OBJECT-TYPE
        SYNTAX        FpEgrQBuffSnapshotIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Egress queue snapshot info."
        INDEX        { ifIndex,
                       fpIfPerCOSNumber }
        ::= { fpEgrQBuffSnapshotIfTable 1}

FpEgrQBuffSnapshotIfEntry ::= SEQUENCE {
       fpIfEgrQTotBuffCells   Counter32
}

fpIfEgrQTotBuffCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Total Cell count per Egress queue."
        ::= { fpEgrQBuffSnapshotIfEntry 1 }

--
-- Per interface per priority-group(PG) table for Buffer Statistics Tracking(BST) 
-- at Ingress level.
--

fpIngPgBuffSnapshotIfTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpIngPgBuffSnapshotIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table to Show Ingress priority-group level snapshot statistics
                 for all priority-groups[1..8]."
        ::= { fpStatsObjects 17 }

fpIngPgBuffSnapshotIfEntry  OBJECT-TYPE
        SYNTAX        FpIngPgBuffSnapshotIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Priority group snapshot info."
        INDEX        { ifIndex,
                       fpIfPerPGIndex }
        ::= { fpIngPgBuffSnapshotIfTable 1 }

FpIngPgBuffSnapshotIfEntry  ::= SEQUENCE {
        fpIfPerPGIndex    INTEGER,
        fpIfIngSharedCells    Counter32,
        fpIfIngHeadroomCells  Counter32
}

fpIfPerPGIndex OBJECT-TYPE
        SYNTAX        INTEGER
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   
                "Priority-Group number."
        ::= { fpIngPgBuffSnapshotIfEntry 1 }

fpIfIngSharedCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Shared cell count per priority group."
        ::= { fpIngPgBuffSnapshotIfEntry 2 }

fpIfIngHeadroomCells OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Headroom cell count per priority group."
        ::= { fpIngPgBuffSnapshotIfEntry 3 }

--
-- Per interface per priority-group(PG) table for Buffer Statistics at 
-- Ingress level.
--

fpStatsPerPgIfTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpStatsPerPgIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The forwarding plane statistics per PG table gives 
                 packet buffer allocated and used count per PG per port."

        ::= { fpStatsObjects 18 }

fpStatsPerPgIfEntry  OBJECT-TYPE
        SYNTAX        FpStatsPerPgIfEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Buffer statistics per PG per port."
        INDEX        { ifIndex,
                       fpIfPerPGIndex }
        ::= { fpStatsPerPgIfTable 1 }

FpStatsPerPgIfEntry ::= SEQUENCE {
    fpIfStatsPgLimitMinCells         INTEGER,
    fpIfStatsPgSharedCells           INTEGER,
    fpIfStatsPgSharedMode            INTEGER,
    fpIfStatsPgHdrmCells             INTEGER,
    fpIfStatsPgCounterMinCells       Counter32,
    fpIfStatsPgCounterSharedCells    Counter32,
    fpIfStatsPgCounterHdrmCells      Counter32
}

fpIfStatsPgLimitMinCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Min cells allocated per Priority Group."
    ::= { fpStatsPerPgIfEntry 1 }

fpIfStatsPgSharedCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Shared cells allocated per Priority Group."
    ::= { fpStatsPerPgIfEntry 2 }

fpIfStatsPgSharedMode  OBJECT-TYPE
    SYNTAX      INTEGER{
                        static(0),
                        dynamic(1)
                    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority group shared mode[static/dynamic]."
    ::= { fpStatsPerPgIfEntry 3 }

fpIfStatsPgHdrmCells  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Headroom cells allocated per Priority group."
    ::= { fpStatsPerPgIfEntry 4 }

fpIfStatsPgCounterMinCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority Group Min cell count."
    ::= {  fpStatsPerPgIfEntry 5 }

fpIfStatsPgCounterSharedCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority Group Shared cell count."
    ::= { fpStatsPerPgIfEntry 6 }

fpIfStatsPgCounterHdrmCells  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Priority group Headroom cell count."
    ::= { fpStatsPerPgIfEntry 7 }

--
-- Per interface per priority table for PFC Statistics.  
--
pfcPerPrioIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PfcPerPrioIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            " This table is used to fetch the number of  tx and rx PFC frame counts
              per port per priority."
         ::= { fpStatsObjects 19 }

pfcPerPrioIfEntry OBJECT-TYPE
    SYNTAX      PfcPerPrioIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Rx and Tx PFC frame counter info."
    REFERENCE
           "802.1Qbb clause 12.18"
    INDEX        { ifIndex,
                   ifPrioIndex }

        ::= { pfcPerPrioIfTable 1 }

PfcPerPrioIfEntry  ::= 
      SEQUENCE {
         ifPrioIndex               INTEGER,
         ifPfcPerPrioRequests      Counter64,
         ifPfcPerPrioIndications   Counter64
    }   

ifPrioIndex          OBJECT-TYPE
    SYNTAX             INTEGER (1..8)
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
                "Priority Index."
        ::= { pfcPerPrioIfEntry 1 }

ifPfcPerPrioRequests  OBJECT-TYPE
      SYNTAX      Counter64
      UNITS       "Requests"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
              "PFC tx counters."
          ::= { pfcPerPrioIfEntry 2 }

ifPfcPerPrioIndications  OBJECT-TYPE
     SYNTAX      Counter64
     UNITS       "Indications"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
             "PFC rx counters."
     ::= { pfcPerPrioIfEntry 3 }

--
-- Counters for all Unicast/Multicast Egress Queues on per port basis.  
--
fpEgrQIfCounterTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF FpEgrQIfCounterEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table to Show Egress queue Counters for Unicast/Multicast queues on per port per queue basis."
        ::= { fpStatsObjects 20 }

fpEgrQIfCounterEntry  OBJECT-TYPE
        SYNTAX        FpEgrQIfCounterEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Table entry of Egress queue counters"
        INDEX        { ifIndex, 
		               fpEgrQComType,
                       fpPerPortCOSNumber}
        ::= { fpEgrQIfCounterTable 1}

FpEgrQIfCounterEntry ::= SEQUENCE {
       fpEgrQComType        ComType,
       fpEgrQTxPackets      Counter64,
       fpEgrQTxBytes        Counter64,
       fpEgrQDroppedPackets Counter64,
       fpEgrQDroppedBytes   Counter64
}

fpEgrQComType OBJECT-TYPE
        SYNTAX        ComType
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Queue Type (Unicast/Multicast)"
        ::= { fpEgrQIfCounterEntry 1 }

fpEgrQTxPackets OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Packets transmitted per Unicast/Multicast Egress queue."
        ::= { fpEgrQIfCounterEntry 2 }

fpEgrQTxBytes OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Bytes transmitted per Unicast/Multicast Egress queue."
        ::= { fpEgrQIfCounterEntry 3 }

fpEgrQDroppedPackets OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Packets dropped per Unicast/Multicast Egress queue."
        ::= { fpEgrQIfCounterEntry 4 }

fpEgrQDroppedBytes OBJECT-TYPE
        SYNTAX        Counter64
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "Number of Bytes dropped per Unicast/Multicast Egress queue."
        ::= { fpEgrQIfCounterEntry 5 }

END
