BROCADE-NP-TM-STATS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter64
      FROM SNMPv2-SMI                  -- [RFC2578]
    InterfaceIndex
      FROM IF-MIB                      -- [RFC2863]
    InetAddress, InetAddressType, InetAddressPrefixLength
      FROM INET-ADDRESS-MIB            -- [RFC4001]
    DisplayString
      FROM SNMPv2-TC                   -- [RFC2579]
    platform
      FROM FOUNDRY-SN-ROOT-MIB
    PortPriorityTC
      FROM FOUNDRY-SN-SWITCH-GROUP-MIB;

brocadeNPTMStatsMIB MODULE-IDENTITY
    LAST-UPDATED "201109280000Z"  -- September 28, 2011
    ORGANIZATION "Brocade Communications Systems, Inc."
    CONTACT-INFO
             "Technical Support Center
              130 Holger Way,
              San Jose, CA  95134
              Email:  ipsupport@brocade.com
              Phone: 1-800-752-8061
              URL:  www.brocade.com"
    DESCRIPTION
             "The MIB module to describe Network Processor (NP) and
              Traffic Manager(TM) related statistics information.

              Supported Platforms:
                   - supported on NI XMR/MLX platforms.

              Copyright 1996-2010 Brocade Communications Systems, Inc.
              All rights reserved.
              This Brocade Communications Systems SNMP Management Information
              Base Specification embodies Brocade Communications Systems'
              confidential and proprietary intellectual property.
              Brocade Communications Systems retains all title and ownership
              in the Specification, including any revisions.

              This Specification is supplied AS IS, and Brocade Communications
              Systems makes no warranty, either express or implied, as to the
              use, operation, condition, or performance of the specification,
              and any unintended consequence it may on the user environment."

    REVISION     "201111180000Z"          -- November 18, 2011
    DESCRIPTION  "Changes in this revision:
                  - Updated below mib table descriptions with LAG interface
                    support:
                    brcdNPQosStatTable
                    brcdTMDestUcastQStatTable "

    REVISION     "201109280000Z"          -- September 28, 2011
    DESCRIPTION  "Changes in this revision:
                  - Added below new tables
                    brcdNPQosStatTable
                    brcdTMDestUcastQStatTable "

    REVISION      "201009020000Z"  -- September 02, 2010
    DESCRIPTION
            "Initial revision"

    ::= { platform 2 }

--
-- high level object identifiers
--
brcdNPTMMIBObjects    OBJECT IDENTIFIER ::= { brocadeNPTMStatsMIB 1 }
brcdNPStatisticsInfo  OBJECT IDENTIFIER ::= { brcdNPTMMIBObjects  1 }
brcdTMStatisticsInfo  OBJECT IDENTIFIER ::= { brcdNPTMMIBObjects 2 }

-- the brcdNPStatsTable table

-- The brcdNPStatsTable table contains information of NP related
-- statistics on NI XMR/MLX platform.

brcdNPStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdNPStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of brcdNPStats entries. This table contains information
            of various Network Processor(NP) counters supported by this system."
    ::= { brcdNPStatisticsInfo 1 }

brcdNPStatsEntry OBJECT-TYPE
    SYNTAX      BrcdNPStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing NP counter information applicable for a
             particular interface if the module is physically present."
    INDEX   { brcdNPStatsIfIndex }
    ::= { brcdNPStatsTable 1 }

BrcdNPStatsEntry ::=  SEQUENCE {
        brcdNPStatsIfIndex               InterfaceIndex,
        brcdNPStatsRxRawGoodPkts         Counter64,
        brcdNPStatsRxForwardPkts         Counter64,
        brcdNPStatsRxDiscardPkts         Counter64,
        brcdNPStatsRxMiscPkts            Counter64,
        brcdNPStatsRxUnicastPkts         Counter64,
        brcdNPStatsRxBroadcastPkts       Counter64,
        brcdNPStatsRxMulticastPkts       Counter64,
        brcdNPStatsRxSendToTMPkts        Counter64,
        brcdNPStatsRxBadPkts             Counter64,
        brcdNPStatsRxLookupUnavailable   Counter64,
        brcdNPStatsRxACLDrop             Counter64,
        brcdNPStatsRxPriority0And1Drop   Counter64,
        brcdNPStatsRxPriority2And3Drop   Counter64,
        brcdNPStatsRxPriority4And5Drop   Counter64,
        brcdNPStatsRxPriority6And7Drop   Counter64,
        brcdNPStatsRxSuppressRPFDrop     Counter64,
        brcdNPStatsRxRPFDrop             Counter64,
        brcdNPStatsRxIPv4Pkts            Counter64,
        brcdNPStatsRxIPv6Pkts            Counter64,
        brcdNPStatsRxRouteOnlyDrop       Counter64,
        brcdNPStatsRxIPv6SuppressRPFDrop Counter64,
        brcdNPStatsRxIPv6RPFDropCount    Counter64,
        brcdNPStatsRxIPv4Bytes           Counter64,
        brcdNPStatsRxIPv6Bytes           Counter64,
        brcdNPStatsRxPOSCtrlProtocolPkts Counter64,
        brcdNPStatsRxPOSLinkDrop         Counter64,
        brcdNPStatsRxRoutedPktsDrop      Counter64,
        brcdNPStatsTxSentToMACPkts       Counter64,
        brcdNPStatsTxRawGoodPkts         Counter64,
        brcdNPStatsTxSrcPortSupressDrop  Counter64,
        brcdNPStatsTxBadPktsCnt           Counter64,
        brcdNPStatsTxUnicastPkts         Counter64,
        brcdNPStatsTxBroadcastPkts       Counter64,
        brcdNPStatsTxMulticastPkts       Counter64,
        brcdNPStatsTxReceiveFromTM       Counter64,
        brcdNPStatsTxACLDrop             Counter64,
        brcdNPStatsTxPFCMulticastDrop    Counter64,
        brcdNPStatsTxPFCMTUExceedDrop    Counter64,
        brcdNPStatsTxPFCQMAPErrorDrop    Counter64,
        brcdNPStatsTxIPv4Pkts            Counter64,
        brcdNPStatsTxIPv6Pkts            Counter64,
        brcdNPStatsTxIPv4Bytes           Counter64,
        brcdNPStatsTxIPv6Bytes           Counter64,
        brcdNPStatsTxPOSCtrlProtocolPkts Counter64,
        brcdNPStatsTxPOSLinkDrop         Counter64
    }

brcdNPStatsIfIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Interface index as equivalent to ifIndex in MIB II. This is
             applicable only for the interfaces that are physically present and
             operationally up.  "
    ::= { brcdNPStatsEntry 1 }

brcdNPStatsRxRawGoodPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for good packets received from MAC. In equation,
             Rx Raw Good Packets = Rx Unicast Packets + Rx Multicast Packets +
                                     Rx Broadcast Packets
                                 = Rx IPv4 Packets + Rx IPv6 Packets +
                                     Rx Other Packets
                                 = Rx Forward Packets + Rx Discard Packets"
    ::= { brcdNPStatsEntry 2 }

brcdNPStatsRxForwardPkts OBJECT-TYPE
    SYNTAX  Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            " Counter for forwarded packets by packet evaluation engine in the
              Ingress. In equation,
              Rx Forward Packets = Rx Sent to TM Packets + Rx RL drop packets ."
    ::= { brcdNPStatsEntry 3 }

brcdNPStatsRxDiscardPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets flagged for discard by packet evaluation
             engine. In equation,
             Rx Discard Packets = ACL drop + TTL drop + route-only drop +
                                  RPF drop + tag mismatch drop
                                  + VLAN blocking drop + segment filtering drop
                                  + drop by packet evaluation decisions +
                                  miscellaneous."
    ::= { brcdNPStatsEntry 4 }

brcdNPStatsRxMiscPkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for Miscellaneous Packets Received."
    ::= { brcdNPStatsEntry 5 }

brcdNPStatsRxUnicastPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for unicast packets received."
    ::= { brcdNPStatsEntry 6 }

brcdNPStatsRxBroadcastPkts   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for broadcast packets received"
    ::= { brcdNPStatsEntry 7 }

brcdNPStatsRxMulticastPkts     OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for multicast packets received."
    ::= { brcdNPStatsEntry 8 }

brcdNPStatsRxSendToTMPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets sent to TM. This value should be equal to
             difference of Rx forward packets and RL drops."
    ::= { brcdNPStatsEntry 9 }

brcdNPStatsRxBadPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for bad packets in the receiver side. They represent the
             packets that have MAC to NP interface errors."
    ::= { brcdNPStatsEntry 10 }

brcdNPStatsRxLookupUnavailable  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of packets that have been dropped due to unavailability of
             the CAM interface for packet lookups."
    ::= { brcdNPStatsEntry 11 }

brcdNPStatsRxACLDrop   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Drop counter for ACL drop on the ingress path."
    ::= { brcdNPStatsEntry 12 }

brcdNPStatsRxPriority0And1Drop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets dropped based on Priority 0,1 in the Ingress."
    ::= { brcdNPStatsEntry 13 }

brcdNPStatsRxPriority2And3Drop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets dropped based on Priority 2,3 in the Ingress."
    ::= { brcdNPStatsEntry 14 }

brcdNPStatsRxPriority4And5Drop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets dropped based on Priority 4,5 in the Ingress."
    ::= { brcdNPStatsEntry 15 }

brcdNPStatsRxPriority6And7Drop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets dropped based on Priority 6,7 in the Ingress."
    ::= { brcdNPStatsEntry 16 }

brcdNPStatsRxSuppressRPFDrop   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for suppressed RPF drops on the ingress path due to ACL
             override."
    ::= { brcdNPStatsEntry 17 }

brcdNPStatsRxRPFDrop      OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for RPF drop in the ingress."
    ::= { brcdNPStatsEntry 18 }

brcdNPStatsRxIPv4Pkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Raw packet count that have IPv4 Etype (0x0800) and IP version of
             0x4."
    ::= { brcdNPStatsEntry 19 }

brcdNPStatsRxIPv6Pkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Raw packet count that have IPv6 Etype (0x86DD) and IP version of
             0x6."
    ::= { brcdNPStatsEntry 20 }

brcdNPStatsRxRouteOnlyDrop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counts packets that have been dropped due to Route-Only
             configuration during MAC-DA processing. "
    ::= { brcdNPStatsEntry 21 }

brcdNPStatsRxIPv6SuppressRPFDrop    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for IPv6 suppressed RFP drops on the ingress path due to
             ACL override."
    ::= { brcdNPStatsEntry 22 }

brcdNPStatsRxIPv6RPFDropCount   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for IPv6 drop on the ingress."
    ::= { brcdNPStatsEntry 23 }

brcdNPStatsRxIPv4Bytes   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Raw packet Bytes (+FCS) that have IPv4 Etype (0x0800) and IP
             version equals 0x4. "
    ::= { brcdNPStatsEntry 24 }

brcdNPStatsRxIPv6Bytes    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Raw packet Bytes (+FCS) that have IPv6 Etype (0x86DD) and IP
             version equals 0x6. "
    ::= { brcdNPStatsEntry 25 }

brcdNPStatsRxPOSCtrlProtocolPkts   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of control protocol packets received in POS mode. The object
             is supported only on POS interfaces. 0 is returned for others."
    ::= { brcdNPStatsEntry 26 }

brcdNPStatsRxPOSLinkDrop  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of packets dropped due to link state in POS mode. The
             object is supported only on POS interfaces. 0 is returned for
             others. "
    ::= { brcdNPStatsEntry 27 }

brcdNPStatsRxRoutedPktsDrop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of received IPv4 or IPv6 routed packets that are dropped
             because the TTL is 0, or because routing is not enabled on the
             given virtual interface.  "
    ::= { brcdNPStatsEntry 28 }

brcdNPStatsTxSentToMACPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total number of packets sent to MAC for transmit.In equation,
             Tx Sent to MAC = Tx IPv4 Packets + Tx IPv6 Packets + Tx Others
                            = Tx Raw Good Packets - Tx Source Port Suppression
                              Drop - Tx ACL drop - Tx RL Drop - Tx Multicast
                              TTL drop."
    ::= { brcdNPStatsEntry 29 }

brcdNPStatsTxRawGoodPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total number of packets sent to egress processing logic that pass
             the initial length checks (min, max, offsets, bad packet etc.)In
             equation,
             Tx Raw Good Packets = Tx Receive From TM Packets - Tx Bad Packets
                                 = Tx Unicast Packets + Tx Broadcast Packets +
                                   Tx Multicast Packets + Tx Source Port
                                   Suppression Drop. "
    ::= { brcdNPStatsEntry 30 }

brcdNPStatsTxSrcPortSupressDrop  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of packets dropped because of transmit source port
             suppression."
    ::= { brcdNPStatsEntry 31 }

brcdNPStatsTxBadPktsCnt  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total number of packets dropped in egress logic that fail
             the initial length checks (min, max, bad packet etc.)."
    ::= { brcdNPStatsEntry 32 }

brcdNPStatsTxUnicastPkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for unicast packets transmitted."
    ::= { brcdNPStatsEntry 33 }

brcdNPStatsTxBroadcastPkts   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for broadcast packets transmitted."
    ::= { brcdNPStatsEntry 34 }

brcdNPStatsTxMulticastPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for multicast packets transmitted."
    ::= { brcdNPStatsEntry 35 }

brcdNPStatsTxReceiveFromTM     OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counter for packets received from TM."
    ::= { brcdNPStatsEntry 36 }

brcdNPStatsTxACLDrop     OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of packets that have been dropped by the outbound ACL
             logic."
    ::= { brcdNPStatsEntry 37 }

brcdNPStatsTxPFCMulticastDrop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
              "Number of multicast FID packets that have been dropped by egress
               logic that map to the egress queue which is in paused state.
               Supported only on 'NI-MLX-10Gx8-D 8-port 10GbE Module' and
               'NI-MLX-10Gx8-M 8-port 10GbE (M) Module'. 0 is returned for the
               rest of the cards."
    ::= { brcdNPStatsEntry 38 }

brcdNPStatsTxPFCMTUExceedDrop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
              "Number of packets that have been dropped by egress logic that
               exceeds the MTU of the egress queue (they map to). Supported only
               on 'NI-MLX-10Gx8-D 8-port 10GbE Module' and 'NI-MLX-10Gx8-M
               8-port 10GbE (M) Module'. 0 is returned for the rest of the
               cards."
    ::= { brcdNPStatsEntry 39 }

brcdNPStatsTxPFCQMAPErrorDrop OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
              "Number of packets that have been dropped by egress logic that
               does not map to any valid egress queue. This object is Supported
               only on 'NI-MLX-10Gx8-D 8-port 10GbE Module' and 'NI-MLX-10Gx8-M
               8-port 10GbE (M) Module'. 0 is returned for the rest of the
               cards."
    ::= { brcdNPStatsEntry 40 }

brcdNPStatsTxIPv4Pkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of IPv4 packets transmitted out the port that have Etype
             0x0800 and IPver version equals 0x4)"
    ::= { brcdNPStatsEntry 41 }

brcdNPStatsTxIPv6Pkts    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of IPv6 packets transmitted out the port that have Etype
             0x86DD and IPver version equals 0x6."
    ::= { brcdNPStatsEntry 42}

brcdNPStatsTxIPv4Bytes  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counts packet Bytes (+FCS) that have IPv4 Etype (0x0800) and IP
             version equals 0x4"
    ::= { brcdNPStatsEntry 43}

brcdNPStatsTxIPv6Bytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Counts packet Bytes (+FCS) that have IPv6 Etype (0x86DD) and IP
             version equals 0x6"
    ::= { brcdNPStatsEntry 44}

brcdNPStatsTxPOSCtrlProtocolPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of control protocol packets sent in POS mode. The object is
             supported only for POS interfaces. For others it returns 0."
    ::= { brcdNPStatsEntry 45 }

brcdNPStatsTxPOSLinkDrop    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of packets dropped due to link state in POS mode. The
             object is supported only for POS interfaces. For others it returns
             0."
    ::= { brcdNPStatsEntry 46 }


-- The brcdNPQosStatTable table contains information of NP Qos related
-- statistics on NI XMR/MLX platform.

brcdNPQosStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdNPQosStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains information of Qos counters for the specific
             interface per Qos priority. Please refer to the MIB reference
             guide for pre-requisites of this table."
    ::= { brcdNPStatisticsInfo 2 }

brcdNPQosStatEntry OBJECT-TYPE
    SYNTAX      BrcdNPQosStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing Qos statistics information applicable for a
             particular interface. "
    INDEX   { brcdNPQosStatIfIndex, brcdNPQosStatQosPriority }
    ::= { brcdNPQosStatTable 1 }

BrcdNPQosStatEntry ::=  SEQUENCE {
        brcdNPQosStatIfIndex           InterfaceIndex,
        brcdNPQosStatQosPriority       PortPriorityTC,
        brcdNPQosStatIngressPkts       Counter64,
        brcdNPQosStatIngressBytes      Counter64,
        brcdNPQosStatEgressPkts        Counter64,
        brcdNPQosStatEgressBytes       Counter64
}

brcdNPQosStatIfIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "ifIndex of the interface. All the interfaces of the LP modules
             that are physically present and operationally up will be included
             in this table. Starting from NetIron 5.3 release, all deployed
             LAG interfaces will also be included in this table."
    ::= { brcdNPQosStatEntry 1 }


brcdNPQosStatQosPriority OBJECT-TYPE
    SYNTAX      PortPriorityTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Qos priority associated with this entry. This is 1-based index.
             The priority0 maps to 1, priority1 maps to 2 etc. Priority value
             equal to nonPriority(128) is not applicable to this table."
    ::= { brcdNPQosStatEntry 2 }

brcdNPQosStatIngressPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets that have arrived on the specified
             interface with a DSCP, EXP or PCP value equal to the value
             of the brcdNPQosStatQosPriority object."
    ::= { brcdNPQosStatEntry 3 }

brcdNPQosStatIngressBytes   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of bytes that have arrived on the specified
             interface with a DSCP, EXP or PCP value in the packet
             equal to the value of the brcdNPQosStatQosPriority object."
    ::= { brcdNPQosStatEntry 4 }

brcdNPQosStatEgressPkts  OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets leaving the device on the specified
             interface with an internal priority value equal to the value
             of the brcdNPQosStatQosPriority object. The internal
             priority is configuration dependent but generally is a function
             of DSCP, EXP or PCP."
    ::= { brcdNPQosStatEntry 5 }

brcdNPQosStatEgressBytes   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of bytes leaving the device on the specified interface
             with an internal priority value equal to the value of the
             brcdNPQosStatQosPriority object. The internal priority is
             configuration dependent but generally is a function of DSCP, EXP or
             PCP."
    ::= { brcdNPQosStatEntry 6 }


-- the brcdTMStatsInfoGroup

brcdTMStatisticsInfoGroup  OBJECT IDENTIFIER ::= { brcdTMStatisticsInfo 1 }

brcdTMPortMappingMaxPorts OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The maximum ports that can be supported by the TM on this system"
    ::= { brcdTMStatisticsInfoGroup 1 }

brcdTMPortMappingUsedPorts OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The currently used ports on this system"
    ::= { brcdTMStatisticsInfoGroup 2 }

brcdTMPortMappingAvailablePorts OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The available ports on this system"
    ::= { brcdTMStatisticsInfoGroup 3 }

-- The brcdTMStatsTable table contains information of Traffic Manager(TM)
-- related statistics on NI XMR/MLX platform.

brcdTMStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of brcdTMStats entries. This table contains information of
             various  Traffic Manager(TM) counters supported by this system."
    ::= { brcdTMStatisticsInfo 2 }

brcdTMStatsEntry OBJECT-TYPE
    SYNTAX      BrcdTMStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM counter information."
    INDEX   {   brcdTMStatsSlotId,
                brcdTMStatsTMDeviceId  }
    ::= { brcdTMStatsTable 1 }

BrcdTMStatsEntry ::=
    SEQUENCE {
        brcdTMStatsSlotId                           Unsigned32,
        brcdTMStatsTMDeviceId                       Unsigned32,
        brcdTMStatsDescription                      DisplayString,
        brcdTMStatsTotalIngressPktsCnt               Counter64,
        brcdTMStatsIngressEnqueuePkts               Counter64,
        brcdTMStatsEgressEnqueuePkts                Counter64,
        brcdTMStatsIngressEnqueueBytes              Counter64,
        brcdTMStatsEgressEnqueueBytes               Counter64,
        brcdTMStatsIngressDequeuePkts               Counter64,
        brcdTMStatsIngressDequeueBytes              Counter64,
        brcdTMStatsIngressTotalQDiscardPkts         Counter64,
        brcdTMStatsIngressTotalQDiscardBytes        Counter64,
        brcdTMStatsIngressOldestDiscardPkts         Counter64,
        brcdTMStatsIngressOldestDiscardBytes        Counter64,
        brcdTMStatsEgressDiscardPkts                Counter64,
        brcdTMStatsEgressDiscardBytes               Counter64
    }

brcdTMStatsSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Slot ID of the LP module, which uniquely identifies a linecard.
             The LP module must be physically present and operationally up."
    ::= { brcdTMStatsEntry 1 }

brcdTMStatsTMDeviceId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The TM device ID, a number which uniquely identifies the network
             processor TM  within a linecard in the system."
    ::= { brcdTMStatsEntry 2 }

brcdTMStatsDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object gives the range of ports serviced by the
             brcdTMStatsTMDeviceId."
    ::= { brcdTMStatsEntry 3 }

brcdTMStatsTotalIngressPktsCnt OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering into this traffic manager."
    ::= { brcdTMStatsEntry 4 }

brcdTMStatsIngressEnqueuePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager."
    ::= { brcdTMStatsEntry 5 }

brcdTMStatsEgressEnqueuePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering egress queues and forwarded out
             on this traffic manager."
    ::= { brcdTMStatsEntry 6 }

brcdTMStatsIngressEnqueueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager. This counter is not supported on 'NI-MLX-10Gx8-D 8-port
             10GbE (D) Module' and 'NI-MLX-10Gx8-M 8-port 10GbE (M) Module'
             cards. 0 is returned for these cards."
    ::= { brcdTMStatsEntry 7 }

brcdTMStatsEgressEnqueueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering egress queues and forwarded out on
             this traffic manager. This counter is not supported on
             'NI-MLX-10Gx8-D 8-port 10GbE (D) Module' and 'NI-MLX-10Gx8-M
             8-port 10GbE (M) Module' cards. 0 is returned for these cards."
    ::= { brcdTMStatsEntry 8 }

brcdTMStatsIngressDequeuePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets dequeued from ingress queues and forwarded
             on this traffic manager."
    ::= { brcdTMStatsEntry 9 }

brcdTMStatsIngressDequeueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes dequeued from ingress queues and forwarded
             on this traffic manager. This counter is not supported on
             'NI-MLX-10Gx8-D 8-port 10GbE (D) Module' and 'NI-MLX-10Gx8-M 8-port
             10GbE (M) Module' cards."
    ::= { brcdTMStatsEntry 10 }

brcdTMStatsIngressTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets failing to enter ingress queues on this
             traffic manager. This may be due to:
             (1) the queue reaching its maximum depth, WRED, or other reasons.
             (2) the network processor deciding to drop packets for reasons
                 including: an unknown Layer-3 route, RPF, or segment
                 filtering."
    ::= { brcdTMStatsEntry 11 }

brcdTMStatsIngressTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes failing to enter ingress queues on this
             traffic manager. This may be due to:
             (1) the queue reaching its maximum depth, WRED, or other reasons.
             (2) the network processor deciding to drop packets for reasons
                 including: an unknown Layer-3 route, RPF, or segment filtering.
             This counter is not supported on 'NI-MLX-10Gx8-D 8-port 10GbE
             (D) Module' and 'NI-MLX-10Gx8-M 8-port 10GbE (M) Module' cards."
    ::= { brcdTMStatsEntry 12 }

brcdTMStatsIngressOldestDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager, but deleted later due to buffer being full."
    ::= { brcdTMStatsEntry 13 }

brcdTMStatsIngressOldestDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager, but deleted later due to buffer being full. This counter
             is not supported on 'NI-MLX-10Gx8-D 8-port 10GbE (D) Module' and
             'NI-MLX-10Gx8-M 8-port 10GbE (M) Module' cards. 0 is returned for
             these cards."
    ::= { brcdTMStatsEntry 14 }

brcdTMStatsEgressDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            " A count of all packets failing to enter egress queues on this
              traffic manager."
        ::= { brcdTMStatsEntry 15 }

brcdTMStatsEgressDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            " A count of all bytes failing to enter egress queues on this
              traffic manager. This counter is not supported on 'NI-MLX-10Gx8-D
              8-port 10GbE (D) Module' and 'NI-MLX-10Gx8-M 8-port 10GbE
              (M) Module' cards. 0 is returned for these cards. "
        ::= { brcdTMStatsEntry 16 }

-- The brcdTMUnicastQStatsTable table contains information of Traffic Manager
-- (TM) Unicast queue related statistics on NI XMR/MLX platform.

brcdTMUcastQStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMUcastQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of TM unicast queue stats entries. This table contains
             information of Traffic Manager(TM) unicast queue counters supported
             by this system."
    ::= { brcdTMStatisticsInfo 3 }

brcdTMUcastQStatsEntry OBJECT-TYPE
    SYNTAX      BrcdTMUcastQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM counter information."
    INDEX   { brcdTMUcastQStatsSlotId,
              brcdTMUcastQStatsTMDeviceId,
              brcdTMUcastQStatsDstIfIndex,
              brcdTMUcastQStatsPriority  }
    ::= { brcdTMUcastQStatsTable 1 }

BrcdTMUcastQStatsEntry ::=
    SEQUENCE {
        brcdTMUcastQStatsSlotId                         Unsigned32,
        brcdTMUcastQStatsTMDeviceId                     Unsigned32,
        brcdTMUcastQStatsDstIfIndex                     InterfaceIndex,
        brcdTMUcastQStatsPriority                       PortPriorityTC,
        brcdTMUcastQStatsDescription                    DisplayString,
        brcdTMUcastQStatsEnquePkts                      Counter64,
        brcdTMUcastQStatsEnqueBytes                     Counter64,
        brcdTMUcastQStatsDequePkts                      Counter64,
        brcdTMUcastQStatsDequeBytes                     Counter64,
        brcdTMUcastQStatsTotalQDiscardPkts                    Counter64,
        brcdTMUcastQStatsTotalQDiscardBytes             Counter64,
        brcdTMUcastQStatsOldestDiscardPkts        Counter64,
        brcdTMUcastQStatsOldestDiscardBytes             Counter64,
        brcdTMUcastQStatsWREDDroppedPkts                Counter64,
        brcdTMUcastQStatsWREDDroppedBytes               Counter64,
        brcdTMUcastQStatsMaxQDepthSinceLastRead         Counter64,
        brcdTMUcastQStatsQSize                          Unsigned32,
        brcdTMUcastQStatsCreditCount                    Unsigned32
    }

brcdTMUcastQStatsSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Slot ID of the LP module, which uniquely identifies a linecard.
             The LP module must be physically present and operationally up."
    ::= { brcdTMUcastQStatsEntry 1 }

brcdTMUcastQStatsTMDeviceId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The TM device ID, a number which uniquely identifies the network
             processor TM  within a linecard in the system."
    ::= { brcdTMUcastQStatsEntry 2 }

brcdTMUcastQStatsDstIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The destination interface index. This is applicable only for the
             interface on the LP module that is physically present and
             operationally up"
    ::= { brcdTMUcastQStatsEntry 3 }

brcdTMUcastQStatsPriority OBJECT-TYPE
    SYNTAX      PortPriorityTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The priority of the packets that will be stored in this queue. This
             is 1-based index.
             When the tm-max-queues is set to 4, two consecutive priorities
             are stored in one unicast queue. In this case, the valid values for
             this index are 1, 3, 5 and 7."
    ::= { brcdTMUcastQStatsEntry 4 }

brcdTMUcastQStatsDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object gives the range of ports serviced by the
             brcdTMUcastQStatsTMDeviceId and priorities serviced by this
             queue."
    ::= { brcdTMUcastQStatsEntry 5 }

brcdTMUcastQStatsEnquePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager"
    ::= { brcdTMUcastQStatsEntry 6 }

brcdTMUcastQStatsEnqueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager"
    ::= { brcdTMUcastQStatsEntry 7 }

brcdTMUcastQStatsDequePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets dequeued from ingress queues and forwarded
             on this traffic Manager"
    ::= { brcdTMUcastQStatsEntry 8 }

brcdTMUcastQStatsDequeBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes dequeued from ingress queues and forwarded on
             this traffic manager"
    ::= { brcdTMUcastQStatsEntry 9 }

brcdTMUcastQStatsTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering."
    ::= { brcdTMUcastQStatsEntry 10 }

brcdTMUcastQStatsTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering"
    ::= { brcdTMUcastQStatsEntry 11 }

brcdTMUcastQStatsOldestDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full."
    ::= { brcdTMUcastQStatsEntry 12 }

brcdTMUcastQStatsOldestDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full"
    ::= { brcdTMUcastQStatsEntry 13 }

brcdTMUcastQStatsWREDDroppedPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMUcastQStatsEntry 14 }

brcdTMUcastQStatsWREDDroppedBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMUcastQStatsEntry 15 }

brcdTMUcastQStatsMaxQDepthSinceLastRead OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum queue depth since last access to read."
    ::= { brcdTMUcastQStatsEntry 16 }

brcdTMUcastQStatsQSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current size"
    ::= { brcdTMUcastQStatsEntry 17 }

brcdTMUcastQStatsCreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current credit count"
    ::= { brcdTMUcastQStatsEntry 18 }

-- The brcdTMMcastQStatsTable table contains information of Traffic Manager
-- (TM) Multicast queue related statistics on NI XMR/MLX platform.

brcdTMMcastQStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMMcastQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of TM Multicast queue stats entries. This table contains
             information of Traffic Manager(TM) Multicast queue counters
             supported by this system."
    ::= { brcdTMStatisticsInfo 4 }

brcdTMMcastQStatsEntry OBJECT-TYPE
    SYNTAX      BrcdTMMcastQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM counter information."
    INDEX   { brcdTMMcastQStatsSlotId,
              brcdTMMcastQStatsTMDeviceId,
              brcdTMMcastQStatsPriority  }
    ::= { brcdTMMcastQStatsTable 1 }

BrcdTMMcastQStatsEntry ::=
    SEQUENCE {
        brcdTMMcastQStatsSlotId                         Unsigned32,
        brcdTMMcastQStatsTMDeviceId                     Unsigned32,
        brcdTMMcastQStatsPriority                       INTEGER,
        brcdTMMcastQStatsDescription                    DisplayString,
        brcdTMMcastQStatsEnquePkts                      Counter64,
        brcdTMMcastQStatsEnqueBytes                     Counter64,
        brcdTMMcastQStatsDequePkts                      Counter64,
        brcdTMMcastQStatsDequeBytes                     Counter64,
        brcdTMMcastQStatsTotalQDiscardPkts                    Counter64,
        brcdTMMcastQStatsTotalQDiscardBytes             Counter64,
        brcdTMMcastQStatsOldestDiscardPkts        Counter64,
        brcdTMMcastQStatsOldestDiscardBytes             Counter64,
        brcdTMMcastQStatsWREDDroppedPkts                Counter64,
        brcdTMMcastQStatsWREDDroppedBytes               Counter64,
        brcdTMMcastQStatsMaxQDepthSinceLastRead         Counter64,
        brcdTMMcastQStatsQSize                          Unsigned32,
        brcdTMMcastQStatsCreditCount                    Unsigned32
    }

brcdTMMcastQStatsSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Slot ID of the LP module, which uniquely identifies a linecard.
             The LP module must be physically present and operationally up."
    ::= { brcdTMMcastQStatsEntry 1 }

brcdTMMcastQStatsTMDeviceId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The TM device ID, a number which uniquely identifies the network
             processor TM  within a linecard in this system."
    ::= { brcdTMMcastQStatsEntry 2 }

brcdTMMcastQStatsPriority OBJECT-TYPE
    SYNTAX      INTEGER {
                 priority1And2 (1), -- Priority 1 and 2
                 priority3And4 (3), -- Priority 3 and 4
                 priority5And6 (5), -- Priority 5 and 6
                 priority7And8 (7)  -- Priority 7 and 8
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The priority of the packets that will be stored in this queue.
             Two consecutive priorities are stored in one multicast queue.
             There are 4 multicast queues per TM for 8 priorities."
    ::= { brcdTMMcastQStatsEntry 3 }

brcdTMMcastQStatsDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object gives the range of ports serviced by the
             brcdTMMcastQStatsTMDeviceId and priorities serviced by this
             queue."
    ::= { brcdTMMcastQStatsEntry 4 }

brcdTMMcastQStatsEnquePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager"
    ::= { brcdTMMcastQStatsEntry 5 }

brcdTMMcastQStatsEnqueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager"
    ::= { brcdTMMcastQStatsEntry 6 }

brcdTMMcastQStatsDequePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets dequeued from ingress queues and forwarded
            on this traffic Manager"
    ::= { brcdTMMcastQStatsEntry 7 }

brcdTMMcastQStatsDequeBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes dequeued from ingress queues and forwarded on
             this traffic manager"
    ::= { brcdTMMcastQStatsEntry 8 }

brcdTMMcastQStatsTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering."
    ::= { brcdTMMcastQStatsEntry 9 }

brcdTMMcastQStatsTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering"
    ::= { brcdTMMcastQStatsEntry 10 }

brcdTMMcastQStatsOldestDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full."
    ::= { brcdTMMcastQStatsEntry 11 }

brcdTMMcastQStatsOldestDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full"
    ::= { brcdTMMcastQStatsEntry 12 }

brcdTMMcastQStatsWREDDroppedPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMMcastQStatsEntry 13 }

brcdTMMcastQStatsWREDDroppedBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMMcastQStatsEntry 14 }

brcdTMMcastQStatsMaxQDepthSinceLastRead OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum queue depth since last access to read."
    ::= { brcdTMMcastQStatsEntry 15 }

brcdTMMcastQStatsQSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current size"
    ::= { brcdTMMcastQStatsEntry 16 }

brcdTMMcastQStatsCreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current credit count"
    ::= { brcdTMMcastQStatsEntry 17 }

-- The brcdTMCpuQStatsTable table contains information of Traffic Manager(TM)
-- CPU queue related statistics on NI XMR/MLX platform.

brcdTMCpuQStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMCpuQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of TM CPU queue stats entries. This table contains
             information of Traffic Manager(TM) CPU queue counters supported
             by this system."
    ::= { brcdTMStatisticsInfo 5 }

brcdTMCpuQStatsEntry OBJECT-TYPE
    SYNTAX      BrcdTMCpuQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM counter information."
    INDEX   { brcdTMCpuQStatsSlotId,
              brcdTMCpuQStatsTMDeviceId,
              brcdTMCpuQStatsType,
              brcdTMCpuQStatsPriority  }
    ::= { brcdTMCpuQStatsTable 1 }

BrcdTMCpuQStatsEntry ::=
    SEQUENCE {
        brcdTMCpuQStatsSlotId                         Unsigned32,
        brcdTMCpuQStatsTMDeviceId                     Unsigned32,
        brcdTMCpuQStatsType                           INTEGER,
        brcdTMCpuQStatsPriority                       PortPriorityTC,
        brcdTMCpuQStatsDescription                    DisplayString,
        brcdTMCpuQStatsEnquePkts                      Counter64,
        brcdTMCpuQStatsEnqueBytes                     Counter64,
        brcdTMCpuQStatsDequePkts                      Counter64,
        brcdTMCpuQStatsDequeBytes                     Counter64,
        brcdTMCpuQStatsTotalQDiscardPkts                    Counter64,
        brcdTMCpuQStatsTotalQDiscardBytes             Counter64,
        brcdTMCpuQStatsOldestDiscardPkts        Counter64,
        brcdTMCpuQStatsOldestDiscardBytes             Counter64,
        brcdTMCpuQStatsWREDDroppedPkts                Counter64,
        brcdTMCpuQStatsWREDDroppedBytes               Counter64,
        brcdTMCpuQStatsMaxQDepthSinceLastRead         Counter64,
        brcdTMCpuQStatsQSize                          Unsigned32,
        brcdTMCpuQStatsCreditCount                    Unsigned32
    }

brcdTMCpuQStatsSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Slot ID of the LP module, which uniquely identifies a linecard.
             The LP module must be physically present and operationally up."
    ::= { brcdTMCpuQStatsEntry 1 }

brcdTMCpuQStatsTMDeviceId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The TM device ID, a number which uniquely identifies the network
             processor TM  within a linecard in the system."
    ::= { brcdTMCpuQStatsEntry 2 }

brcdTMCpuQStatsType OBJECT-TYPE
    SYNTAX      INTEGER {
                 cpuQ (1),           -- CPU Queue
                 cpuCopyQ(2),        -- CPU Copy Queue
                 cpuManagementQ (3), -- CPU Management Queue
                 cpuProtocolQ (4)    -- CPU Protocol Queue
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The type of the CPU queue"
    ::= { brcdTMCpuQStatsEntry 3 }

brcdTMCpuQStatsPriority OBJECT-TYPE
    SYNTAX      PortPriorityTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The priority of the packets that will be stored in this queue.
             This is 1-based index. The priority 0 maps to 1, priority 1 maps to
             2 etc."
    ::= { brcdTMCpuQStatsEntry 4 }

brcdTMCpuQStatsDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object gives the range of ports serviced by the
             brcdTMCpuQStatsTMDeviceId."
    ::= { brcdTMCpuQStatsEntry 5 }

brcdTMCpuQStatsEnquePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager"
    ::= { brcdTMCpuQStatsEntry 6 }

brcdTMCpuQStatsEnqueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager"
    ::= { brcdTMCpuQStatsEntry 7 }

brcdTMCpuQStatsDequePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets dequeued from ingress queues and forwarded
             on this traffic Manager"
    ::= { brcdTMCpuQStatsEntry 8 }

brcdTMCpuQStatsDequeBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes dequeued from ingress queues and forwarded on
             this traffic manager"
    ::= { brcdTMCpuQStatsEntry 9 }

brcdTMCpuQStatsTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering."
    ::= { brcdTMCpuQStatsEntry 10 }

brcdTMCpuQStatsTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering"
    ::= { brcdTMCpuQStatsEntry 11 }

brcdTMCpuQStatsOldestDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full."
    ::= { brcdTMCpuQStatsEntry 12 }

brcdTMCpuQStatsOldestDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full"
    ::= { brcdTMCpuQStatsEntry 13 }

brcdTMCpuQStatsWREDDroppedPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMCpuQStatsEntry 14 }

brcdTMCpuQStatsWREDDroppedBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMCpuQStatsEntry 15 }

brcdTMCpuQStatsMaxQDepthSinceLastRead OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum queue depth since last access to read."
    ::= { brcdTMCpuQStatsEntry 16 }

brcdTMCpuQStatsQSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current size"
    ::= { brcdTMCpuQStatsEntry 17 }

brcdTMCpuQStatsCreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current credit count"
    ::= { brcdTMCpuQStatsEntry 18 }

-- The brcdTMMcastStreamQStatsTable table contains information of Traffic Manager
-- (TM) Multicast stream queue related statistics on NI XMR/MLX platform.

brcdTMMcastStreamQStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMMcastStreamQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of TM Multicast stream queue stats entries. This table
             contains information of Traffic Manager(TM) Multicast
             stream queue counters supported by this system."
    ::= { brcdTMStatisticsInfo 6 }

brcdTMMcastStreamQStatsEntry OBJECT-TYPE
    SYNTAX      BrcdTMMcastStreamQStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM Multicast stream queue counter information."
    INDEX   { brcdTMMcastStreamQStatsAddressType,
              brcdTMMcastStreamQStatsSource,
              brcdTMMcastStreamQStatsGroup,
              brcdTMMcastStreamQStatsGroupPrefixLength }
    ::= { brcdTMMcastStreamQStatsTable 1 }

BrcdTMMcastStreamQStatsEntry ::=
    SEQUENCE {
        brcdTMMcastStreamQStatsAddressType              InetAddressType,
        brcdTMMcastStreamQStatsSource                   InetAddress,
        brcdTMMcastStreamQStatsGroup                    InetAddress,
        brcdTMMcastStreamQStatsGroupPrefixLength        InetAddressPrefixLength,
        brcdTMMcastStreamQStatsPriority                 INTEGER,
        brcdTMMcastStreamQStatsEnquePkts                Counter64,
        brcdTMMcastStreamQStatsEnqueBytes               Counter64,
        brcdTMMcastStreamQStatsDequePkts                Counter64,
        brcdTMMcastStreamQStatsDequeBytes               Counter64,
        brcdTMMcastStreamQStatsTotalQDiscardPkts              Counter64,
        brcdTMMcastStreamQStatsTotalQDiscardBytes       Counter64,
        brcdTMMcastStreamQStatsOldestDiscardPkts  Counter64,
        brcdTMMcastStreamQStatsOldestDiscardBytes       Counter64,
        brcdTMMcastStreamQStatsWREDDroppedPkts          Counter64,
        brcdTMMcastStreamQStatsWREDDroppedBytes         Counter64,
        brcdTMMcastStreamQStatsMaxQDepthSinceLastRead   Counter64,
        brcdTMMcastStreamQStatsQSize                    Unsigned32,
        brcdTMMcastStreamQStatsCreditCount              Unsigned32
    }

brcdTMMcastStreamQStatsAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A value indicating the address family of the address contained in
             brcdTMMcastStreamQStatsSource and brcdTMMcastStreamQStatsGroup. Legal
             values correspond to the subset of address families for which multicast
             forwarding is supported."
    ::= { brcdTMMcastStreamQStatsEntry 1 }

brcdTMMcastStreamQStatsSource OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The Source IP address of the multicast stream."
    ::= { brcdTMMcastStreamQStatsEntry 2 }

brcdTMMcastStreamQStatsGroup OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The Group IP address of the multicast stream."
    ::= { brcdTMMcastStreamQStatsEntry 3 }

brcdTMMcastStreamQStatsGroupPrefixLength OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The length in bits of the mask which, when combined with the
             corresponding value of brcdTMMcastStreamQStatsGroup, identifies the
             groups for which this entry contains queue statistics.

             The InetAddressType is given by brcdTMMcastStreamQStatsAddressType.
             For values 'ipv4' and 'ipv4z', this object must be in the
             range 4..32. For values 'ipv6' and 'ipv6z', this object must be in
             the range 8..128."
    ::= { brcdTMMcastStreamQStatsEntry 4 }

brcdTMMcastStreamQStatsPriority OBJECT-TYPE
    SYNTAX      INTEGER {
                          priority1And2 (1), -- Priority 1 and 2
                          priority3And4 (3), -- Priority 3 and 4
                          priority5And6 (5), -- Priority 5 and 6
                          priority7And8 (7)  -- Priority 7 and 8
                        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The priority of the packets that will be stored in this queue. Two
             consecutive priorities are stored in one multicast stream queue."
    ::= { brcdTMMcastStreamQStatsEntry 5 }

brcdTMMcastStreamQStatsEnquePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager"
    ::= { brcdTMMcastStreamQStatsEntry 6 }

brcdTMMcastStreamQStatsEnqueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager"
    ::= { brcdTMMcastStreamQStatsEntry 7 }

brcdTMMcastStreamQStatsDequePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets dequeued from ingress queues and forwarded
             on this traffic Manager"
    ::= { brcdTMMcastStreamQStatsEntry 8 }

brcdTMMcastStreamQStatsDequeBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes dequeued from ingress queues and forwarded on
             this traffic manager"
    ::= { brcdTMMcastStreamQStatsEntry 9 }

brcdTMMcastStreamQStatsTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering."
    ::= { brcdTMMcastStreamQStatsEntry 10 }

brcdTMMcastStreamQStatsTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes failing to enter ingress queues on this
             traffic manager. This may be due to:
             * The queue reaching its maximum depth, WRED, or other reasons.
             * The network processor deciding to drop packets for reasons
               including: an unknown Layer-3 route, RPF, or segment filtering"
    ::= { brcdTMMcastStreamQStatsEntry 11 }

brcdTMMcastStreamQStatsOldestDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full."
    ::= { brcdTMMcastStreamQStatsEntry 12 }

brcdTMMcastStreamQStatsOldestDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager, but deleted afterwards due to buffer full"
    ::= { brcdTMMcastStreamQStatsEntry 13 }

brcdTMMcastStreamQStatsWREDDroppedPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all packets entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMMcastStreamQStatsEntry 14 }

brcdTMMcastStreamQStatsWREDDroppedBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A count of all bytes entering ingress queues on this traffic
             manager but dropped due to WRED."
    ::= { brcdTMMcastStreamQStatsEntry 15 }

brcdTMMcastStreamQStatsMaxQDepthSinceLastRead OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The maximum queue depth since last access to read."
    ::= { brcdTMMcastStreamQStatsEntry 16 }

brcdTMMcastStreamQStatsQSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current size"
    ::= { brcdTMMcastStreamQStatsEntry 17 }

brcdTMMcastStreamQStatsCreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This queue's current credit count"
    ::= { brcdTMMcastStreamQStatsEntry 18 }

-- The brcdTMCpuQInfoTable table contains information of Traffic Manager(TM)
-- CPU Queues information on NI XMR/MLX platform.

brcdTMCpuQInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMCpuQInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of TM CPU queue information entries. This table contains
             information of Traffic Manager(TM) CPU Queue information supported
             by this system."
    ::= { brcdTMStatisticsInfo 7 }

brcdTMCpuQInfoEntry OBJECT-TYPE
    SYNTAX      BrcdTMCpuQInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM counter information."
    INDEX   { brcdTMCpuQInfoSlotId,
              brcdTMCpuQInfoTMDeviceId }
    ::= { brcdTMCpuQInfoTable 1 }

BrcdTMCpuQInfoEntry ::=
    SEQUENCE {
        brcdTMCpuQInfoSlotId                   Unsigned32,
        brcdTMCpuQInfoTMDeviceId               Unsigned32,
        brcdTMCpuQInfoPriority0QSize           Unsigned32,
        brcdTMCpuQInfoPriority0CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority1QSize           Unsigned32,
        brcdTMCpuQInfoPriority1CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority2QSize           Unsigned32,
        brcdTMCpuQInfoPriority2CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority3QSize           Unsigned32,
        brcdTMCpuQInfoPriority3CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority4QSize           Unsigned32,
        brcdTMCpuQInfoPriority4CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority5QSize           Unsigned32,
        brcdTMCpuQInfoPriority5CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority6QSize           Unsigned32,
        brcdTMCpuQInfoPriority6CreditCount     Unsigned32,
        brcdTMCpuQInfoPriority7QSize           Unsigned32,
        brcdTMCpuQInfoPriority7CreditCount     Unsigned32
    }

brcdTMCpuQInfoSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Slot ID of the LP module, which uniquely identifies a linecard.
             The LP module must be physically present and operationally up."
    ::= { brcdTMCpuQInfoEntry 1 }

brcdTMCpuQInfoTMDeviceId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The TM device ID, a number which uniquely identifies the network
             processor TM  within a linecard in this system."
    ::= { brcdTMCpuQInfoEntry 2 }

brcdTMCpuQInfoPriority0QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 0"
    ::= { brcdTMCpuQInfoEntry 3 }

brcdTMCpuQInfoPriority0CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 0"
    ::= { brcdTMCpuQInfoEntry 4 }

brcdTMCpuQInfoPriority1QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 1"
    ::= { brcdTMCpuQInfoEntry 5 }

brcdTMCpuQInfoPriority1CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 1"
    ::= { brcdTMCpuQInfoEntry 6 }

brcdTMCpuQInfoPriority2QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 2"
    ::= { brcdTMCpuQInfoEntry 7 }

brcdTMCpuQInfoPriority2CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 2"
    ::= { brcdTMCpuQInfoEntry 8 }

brcdTMCpuQInfoPriority3QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 3"
    ::= { brcdTMCpuQInfoEntry 9 }

brcdTMCpuQInfoPriority3CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 3"
    ::= { brcdTMCpuQInfoEntry 10 }

brcdTMCpuQInfoPriority4QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 4"
    ::= { brcdTMCpuQInfoEntry 11 }

brcdTMCpuQInfoPriority4CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 4"
    ::= { brcdTMCpuQInfoEntry 12 }

brcdTMCpuQInfoPriority5QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 5"
    ::= { brcdTMCpuQInfoEntry 13 }

brcdTMCpuQInfoPriority5CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 5"
    ::= { brcdTMCpuQInfoEntry 14 }

brcdTMCpuQInfoPriority6QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 6"
    ::= { brcdTMCpuQInfoEntry 15 }

brcdTMCpuQInfoPriority6CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 6"
    ::= { brcdTMCpuQInfoEntry 16 }

brcdTMCpuQInfoPriority7QSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The size of the CPU Queue for the priority 7"
    ::= { brcdTMCpuQInfoEntry 17 }

brcdTMCpuQInfoPriority7CreditCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The credit count of the CPU Queue for the priority 7"
    ::= { brcdTMCpuQInfoEntry 18 }


-- The brcdTMDestUcastQStatTable table contains information of Traffic Manager(TM)
-- unicast queue counters aggregated across all TMs per destination interface
-- information on NI XMR/MLX platform.

brcdTMDestUcastQStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BrcdTMDestUcastQStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains information of Traffic Manager(TM) unicast
             queue counters aggregated across all TMs per destination interface
             per priority. Entry with priority value equals to 128 includes
             per interface statistics aggregated across all priorities.
             Please refer to the MIB reference guide for pre-requisites of
             this table."
    ::= { brcdTMStatisticsInfo 8 }

brcdTMDestUcastQStatEntry OBJECT-TYPE
    SYNTAX      BrcdTMDestUcastQStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing TM unicast queue counters aggregated
             across all TMs per a given destination interface per priority."
    INDEX   { brcdTMDestUcastQStatDestIfIndex, brcdTMDestUcastQStatPriority }
    ::= { brcdTMDestUcastQStatTable 1 }

BrcdTMDestUcastQStatEntry ::=
    SEQUENCE {
        brcdTMDestUcastQStatDestIfIndex                    InterfaceIndex,
        brcdTMDestUcastQStatPriority                       PortPriorityTC,
        brcdTMDestUcastQStatEnquePkts                      Counter64,
        brcdTMDestUcastQStatEnqueBytes                     Counter64,
        brcdTMDestUcastQStatDequePkts                      Counter64,
        brcdTMDestUcastQStatDequeBytes                     Counter64,
        brcdTMDestUcastQStatTotalQDiscardPkts              Counter64,
        brcdTMDestUcastQStatTotalQDiscardBytes             Counter64
    }

brcdTMDestUcastQStatDestIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "ifIndex of the destination interface. All the interfaces of the
             LP modules that are physically present and operationally up will
             be included in this table. Starting from NetIron 5.3 release, all
             deployed LAG interfaces will also be included in this table."
    ::= { brcdTMDestUcastQStatEntry 1 }

brcdTMDestUcastQStatPriority OBJECT-TYPE
    SYNTAX      PortPriorityTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The priority of the packets that will be stored in this queue.
             This is 1-based value. The priority0 maps to 1, priority1 maps
             to 2 etc. Priority value equal to nonPriority(128) indicates the
             aggregated counters for the given destination port. When the
             tm-max-queues is set to 4, two consecutive priorities are
             stored in one unicast queue. In this case, the valid values
             for this index are 1, 3, 5, 7 and 128."
    ::= { brcdTMDestUcastQStatEntry 2 }

brcdTMDestUcastQStatEnquePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total aggregated count of all packets entering ingress queue
             across all traffic managers."
    ::= { brcdTMDestUcastQStatEntry 3 }

brcdTMDestUcastQStatEnqueBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total aggregated count of all bytes entering ingress queue
             across all traffic managers."
    ::= { brcdTMDestUcastQStatEntry 4 }

brcdTMDestUcastQStatDequePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total aggregated count of all packets dequeued/transmitted from
             ingress queue across all traffic managers."
    ::= { brcdTMDestUcastQStatEntry 5 }

brcdTMDestUcastQStatDequeBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Total aggregated count of all bytes dequeued/transmitted from
             ingress queue across all traffic managers."
    ::= { brcdTMDestUcastQStatEntry 6 }

brcdTMDestUcastQStatTotalQDiscardPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For a virtual output queue, total aggregated count across all TMs
             of packets that were discarded, either before enqueueing due to
             WRED or maximum queue depth reached, or after enqueueing but
             before dequeueing due to aging."
    ::= { brcdTMDestUcastQStatEntry 7 }

brcdTMDestUcastQStatTotalQDiscardBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For a virtual output queue, total aggregated count across all TMs
             of bytes that were discarded, either before enqueueing due to
             WRED or maximum queue depth reached, or after enqueueing but
             before dequeueing due to aging."
    ::= { brcdTMDestUcastQStatEntry 8 }

END
