-- MIB file created 17-Sep-2014 01:06:32, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-SWITCH-HARDWARE-CAPACITY-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-SWITCH-HARDWARE-CAPACITY-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    DateAndTime
            FROM SNMPv2-TC-v1
    entPhysicalIndex
            FROM ENTITY-MIB
    CounterBasedGauge64
            FROM HCNUM-TC
    InterfaceIndexOrZero, ifIndex
            FROM IF-MIB
    InetAddressType
            FROM INET-ADDRESS-MIB
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    CiscoInterfaceIndexList
            FROM CISCO-TC
    Percent
            FROM CISCO-QOS-PIB-MIB
    ciscoMgmt
            FROM CISCO-SMI
    Counter, Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoSwitchHardwareCapacityMIB OBJECT IDENTIFIER ::= { ciscoMgmt 663 }
-- MODULE-IDENTITY
--  LastUpdated
--    201409160000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--    Cisco Systems
--    Customer Service
--    
--    Postal: 170 W Tasman Drive
--    San Jose, CA 95134
--    USA
--    
--    Tel: +1 800 553-NETS
--    
--    E-mail: cs-lan-switch-snmp@cisco.com
--  Descr
--    This MIB module defines the managed objects for hardware
--    capacity of Cisco switching devices. The hardware
--    capacity information covers the following but not limited
--    to features: forwarding, rate-limiter ... 
--    
--    The following terms are used throughout the MIB:
--    
--    CAM: Content Addressable Memory.
--    TCAM: Ternary Content Addressable Memory.
--    FIB: Forwarding Information Base.
--    VPN: Virtual Private Network.
--    QoS: Quality of Service.
--    CPU rate-limiter: Mechanism to rate-limit or restrict
--    undesired traffic to the CPU.
--    MPLS: Multiprotocol Label Switching.
--  RevDate
--    201409160000Z
--  RevDescr
--    Added the following enumerations for object
--    cshcProtocolFibTcamProtocol
--    - allProtocols(14)
--    
--    Updated the description of cshcProtocolFibTcamTotal
--    and cshcProtocolFibTcamLogicalTotal.
--  RevDate
--    201401240000Z
--  RevDescr
--    Added following OBJECT-GROUP
--    - cshcProtocolFibTcamWidthTypeGroup
--    
--    Added the following enumerations for object
--    cshcProtocolFibTcamProtocol
--    - mplsVpn(11)
--    - fcMpls(12)
--    - ipv6LocalLink(13)
--    
--    Added new compliance
--    - ciscoSwitchHardwareCapacityMIBCompliance3
--  RevDate
--    201305080000Z
--  RevDescr
--    Added following OBJECT-GROUP
--    - cshcNetflowFlowResourceUsageGroup
--    - cshcMacUsageExtGroup
--    - cshcProtocolFibTcamUsageExtGroup
--    - cshcAdjacencyResourceUsageGroup 
--    - cshcQosResourceUsageGroup
--    - cshcModTopDropIfIndexListGroup
--    - cshcMetResourceUsageGroup
--    
--    Added the following enumerations for          
--    object cshcProtocolFibTcamProtocol
--    - l2VpnPeer(7)
--    - l2VpnIpv4Multicast(8)
--    - l2VpnIpv6Multicast(9)
--    Added new compliance
--    - ciscoSwitchHardwareCapacityMIBCompliance2
--  RevDate
--    201011220000Z
--  RevDescr
--    Add the following new enumerations to
--    cshcCPURateLimiterNetworkLayer:
--       layer2Input(3) and layer2Output(4).         
--    
--    Add cshcFibTcamUsageExtGroup.
--  RevDate
--    200807020000Z
--  RevDescr
--    Initial revision of this MIB module.

ciscoSwitchHardwareCapacityMIBNotifs OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIB 0 }
ciscoSwitchHardwareCapacityMIBObjects OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIB 1 }
ciscoSwitchHardwareCapacityMIBConformance OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIB 2 }
cshcForwarding  OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 1 }
cshcInterface   OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 2 }
cshcCPURateLimiterResources OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 3 }
cshcIcamResources OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 4 }
cshcNetflowFlowMaskResources OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 5 }
cshcNetflowResourceUsage OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 6 }
cshcQosResourceUsage OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBObjects 7 }
cshcL2Forwarding OBJECT IDENTIFIER ::= { cshcForwarding 1 }
cshcL3Forwarding OBJECT IDENTIFIER ::= { cshcForwarding 2 }
ciscoSwitchHardwareCapacityMIBCompliances OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBConformance 1 }
ciscoSwitchHardwareCapacityMIBGroups OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBConformance 2 }

CshcInternalChannelType ::= INTEGER {
        eobc(1),
        ibc(2)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    An enumerated value indicating the type of an internal
--    channel.
--    
--    eobc - ethernet out-of-band channel.
--    
--    ibc - in-band channel.

cshcMacUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcMacUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains MAC table capacity for each
        switching engine, as specified by entPhysicalIndex in
        ENTITY-MIB, capable of providing this information."
    ::= { cshcL2Forwarding 1 }

cshcMacUsageEntry OBJECT-TYPE
    SYNTAX CshcMacUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for MAC
        table hardware capacity on a switching engine."
    INDEX { entPhysicalIndex }
    ::= { cshcMacUsageTable 1 }

CshcMacUsageEntry ::= SEQUENCE {
    cshcMacCollisions Counter,
    cshcMacUsed Gauge,
    cshcMacTotal Gauge,
    cshcMacMcast Gauge,
    cshcMacUcast Gauge,
    cshcMacLines Gauge,
    cshcMacLinesFull Gauge
    }

cshcMacCollisions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of Ethernet frames
        whose source MAC address the switching engine failed to
        learn while constructing its MAC table."
    ::= { cshcMacUsageEntry 1 }

cshcMacUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of MAC table entries
        that are currently in use for this switching engine."
    ::= { cshcMacUsageEntry 2 }

cshcMacTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of MAC table entries
        available for this switching engine."
    ::= { cshcMacUsageEntry 3 }

cshcMacMcast OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of multicast MAC
        table entries on this switching engine."
    ::= { cshcMacUsageEntry 4 }

cshcMacUcast OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of unicast MAC
        table entries on this switching engine."
    ::= { cshcMacUsageEntry 5 }

cshcMacLines OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of MAC table lines
        on this switching engine. The MAC table is organized as  
        multiple MAC entries per line."
    ::= { cshcMacUsageEntry 6 }

cshcMacLinesFull OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of MAC table lines
        full on this switching engine.   A line full means all
        the MAC entries on the line are occupied."
    ::= { cshcMacUsageEntry 7 }

cshcVpnCamUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcVpnCamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains VPN CAM capacity for each
        entity, as specified by entPhysicalIndex in
        ENTITY-MIB, capable of providing this information."
    ::= { cshcL2Forwarding 2 }

cshcVpnCamUsageEntry OBJECT-TYPE
    SYNTAX CshcVpnCamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for VPN CAM
        hardware capacity on an entity."
    INDEX { entPhysicalIndex }
    ::= { cshcVpnCamUsageTable 1 }

CshcVpnCamUsageEntry ::= SEQUENCE {
    cshcVpnCamUsed Gauge,
    cshcVpnCamTotal Gauge
    }

cshcVpnCamUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of VPN CAM entries
        that are currently in use."
    ::= { cshcVpnCamUsageEntry 1 }

cshcVpnCamTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of VPN
        CAM entries."
    ::= { cshcVpnCamUsageEntry 2 }

cshcFibTcamUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcFibTcamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains FIB TCAM capacity for each
        entity, as specified by entPhysicalIndex in 
        ENTITY-MIB, capable of providing this information."
    ::= { cshcL3Forwarding 1 }

cshcFibTcamUsageEntry OBJECT-TYPE
    SYNTAX CshcFibTcamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for FIB TCAM
        hardware capacity on an entity."
    INDEX { entPhysicalIndex }
    ::= { cshcFibTcamUsageTable 1 }

CshcFibTcamUsageEntry ::= SEQUENCE {
    cshc72bitsFibTcamUsed Gauge,
    cshc72bitsFibTcamTotal Gauge,
    cshc144bitsFibTcamUsed Gauge,
    cshc144bitsFibTcamTotal Gauge,
    cshc288bitsFibTcamUsed Gauge,
    cshc288bitsFibTcamTotal Gauge
    }

cshc72bitsFibTcamUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of 72 bits FIB TCAM
        entries that are currently in use."
    ::= { cshcFibTcamUsageEntry 1 }

cshc72bitsFibTcamTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of 72 bits FIB TCAM
        entries available."
    ::= { cshcFibTcamUsageEntry 2 }

cshc144bitsFibTcamUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of 144 bits FIB TCAM
        entries that are currently in use."
    ::= { cshcFibTcamUsageEntry 3 }

cshc144bitsFibTcamTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of 144 bits FIB TCAM
        entries available."
    ::= { cshcFibTcamUsageEntry 4 }

cshc288bitsFibTcamUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of 288 bits FIB TCAM
        entries that are currently in use."
    ::= { cshcFibTcamUsageEntry 5 }

cshc288bitsFibTcamTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of 288 bits FIB TCAM
        entries available."
    ::= { cshcFibTcamUsageEntry 6 }

cshcProtocolFibTcamUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcProtocolFibTcamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains FIB TCAM usage per specified
        Layer 3 protocol on an entity capable of providing
        this information."
    ::= { cshcL3Forwarding 2 }

cshcProtocolFibTcamUsageEntry OBJECT-TYPE
    SYNTAX CshcProtocolFibTcamUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for FIB TCAM
        usage for the specific Layer 3 protocol on an entity as
        specified by the entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex, cshcProtocolFibTcamProtocol }
    ::= { cshcProtocolFibTcamUsageTable 1 }

CshcProtocolFibTcamUsageEntry ::= SEQUENCE {
    cshcProtocolFibTcamProtocol INTEGER,
    cshcProtocolFibTcamUsed Gauge,
    cshcProtocolFibTcamTotal Gauge,
    cshcProtocolFibTcamLogicalUsed Gauge,
    cshcProtocolFibTcamLogicalTotal Gauge,
    cshcProtocolFibTcamWidthType INTEGER
    }

cshcProtocolFibTcamProtocol OBJECT-TYPE
    SYNTAX INTEGER {
        ipv4(1),
        mpls(2),
        eom(3),
        ipv6(4),
        ipv4Multicast(5),
        ipv6Multicast(6),
        l2VpnPeer(7),
        l2VpnIpv4Multicast(8),
        l2VpnIpv6Multicast(9),
        fcoe(10),
        mplsVpn(11),
        fcMpls(12),
        ipv6LocalLink(13),
        allProtocols(14)
        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates the Layer 3 protocol utilizing FIB TCAM
        resource.
        
        'ipv4'               - indicates Internet Protocol version 4.
        'mpls'               - indicates Multiprotocol Label Switching.
        'eom'                - indicates Ethernet over MPLS.
        'ipv6'               - indicates Internet Protocol version 6.
        'ipv4Multicast'      - indicates Internet Protocol version 4
                               for multicast traffic.
        'ipv6Multicast'      - indicates Internet Protocol version 6
                               for multicast traffic.
        'l2VpnPeer'          - indicates Layer 2 VPN Peer traffic.
        'l2VpnIpv4Multicast' - indicates Internet Protocol version
                               4 for multicast traffic on Layer 2 VPN.
        'l2VpnIpv6Multicast' - indicates Internet Protocol version 6 
                               for multicast traffic on Layer 2 VPN.
        'fcoe'               - indicates Fibre Channel over Ethernet.
        'mplsVpn'            - indicates MPLS Layer 3 VPN aggregate
                               labels.
        'fcMpls'             - indicates Fibre Channel over MPLS
                               tunnels.
        'ipv6LocalLink'      - indicates Internet Protocol version 6 
                               Local Link.
        'allProtocols'       - indicates all protocols within the
                               entPhysicalIndex."
    ::= { cshcProtocolFibTcamUsageEntry 1 }

cshcProtocolFibTcamUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of FIB TCAM entries
        that are currently in use for the protocol denoted by
        cshcProtocolFibTcamProtocol."
    ::= { cshcProtocolFibTcamUsageEntry 2 }

cshcProtocolFibTcamTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of FIB TCAM entries
        are currently allocated for the protocol denoted by
        cshcProtocolFibTcamProtocol.
        
        A value of zero indicates that the total number of FIB TCAM
        for the protocol denoted by cshcProtocolFibTcamProtocol
        is not available."
    ::= { cshcProtocolFibTcamUsageEntry 3 }

cshcProtocolFibTcamLogicalUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of logical FIB TCAM entries
        that are currently in use for the protocol denoted by
        cshcProtocolFibTcamProtocol."
    ::= { cshcProtocolFibTcamUsageEntry 4 }

cshcProtocolFibTcamLogicalTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of logical FIB TCAM
        entries that are currently allocated for the protocol denoted by
        cshcProtocolFibTcamProtocol.
        
        A value of zero indicates that the total number of logical FIB
        TCAM for the protocol denoted by cshcProtocolFibTcamProtocol
        is not available."
    ::= { cshcProtocolFibTcamUsageEntry 5 }

cshcProtocolFibTcamWidthType OBJECT-TYPE
    SYNTAX INTEGER {
        singleWidth(1),
        doubleWidth(2),
        quadWidth(3)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the entry width type for the protocol
        denoted by cshcProtocolFibTcamProtocol. 
        
        'singleWidth'        - indicates each logical entry is using one
                               physical entry.
        'doubleWidth'        - indicates each logical entry is using two
                               physical entries.
        'quadWidth'          - indicates each logical entry is using 
                               four physical entries."
    ::= { cshcProtocolFibTcamUsageEntry 6 }

cshcAdjacencyUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcAdjacencyUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains adjacency capacity for each
        entity capable of providing this information."
    ::= { cshcL3Forwarding 3 }

cshcAdjacencyUsageEntry OBJECT-TYPE
    SYNTAX CshcAdjacencyUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for adjacency
        hardware capacity on an entity, as specified by
        entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex }
    ::= { cshcAdjacencyUsageTable 1 }

CshcAdjacencyUsageEntry ::= SEQUENCE {
    cshcAdjacencyUsed Gauge,
    cshcAdjacencyTotal Gauge
    }

cshcAdjacencyUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of adjacency entries
        that are currently in use."
    ::= { cshcAdjacencyUsageEntry 1 }

cshcAdjacencyTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of adjacency
        entries available."
    ::= { cshcAdjacencyUsageEntry 2 }

cshcForwardingLoadTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcForwardingLoadEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains Layer 3 forwarding load information
        for each switching engine capable of providing this
        information."
    ::= { cshcL3Forwarding 4 }

cshcForwardingLoadEntry OBJECT-TYPE
    SYNTAX CshcForwardingLoadEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information of Layer 3
        forwarding load on a switching engine, as specified
        by entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex }
    ::= { cshcForwardingLoadTable 1 }

CshcForwardingLoadEntry ::= SEQUENCE {
    cshcForwardingLoadPktRate CounterBasedGauge64,
    cshcForwardingLoadPktPeakRate CounterBasedGauge64,
    cshcForwardingLoadPktPeakTime DateAndTime
    }

cshcForwardingLoadPktRate OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           CounterBasedGauge64
--    Rsyntax Counter
--  Units
--    pps
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the forwarding rate of Layer 3
        packets."
    ::= { cshcForwardingLoadEntry 1 }

cshcForwardingLoadPktPeakRate OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           CounterBasedGauge64
--    Rsyntax Counter
--  Units
--    pps
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the peak forwarding rate of Layer 3
        packets."
    ::= { cshcForwardingLoadEntry 2 }

cshcForwardingLoadPktPeakTime OBJECT-TYPE
    SYNTAX DateAndTime
--    Rsyntax OCTET STRING(SIZE(8|11))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object describes the time when the peak forwarding rate
        of Layer 3 packets denoted by cshcForwardingLoadPktPeakRate
        occurs.
        
        This object will contain 0-1-1,00:00:00.0 if the peak time
        information is not available."
    ::= { cshcForwardingLoadEntry 3 }

cshcAdjacencyResourceUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcAdjacencyResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains adjacency capacity per resource type
        and its usage for each entity capable of providing this  
        information."
    ::= { cshcL3Forwarding 5 }

cshcAdjacencyResourceUsageEntry OBJECT-TYPE
    SYNTAX CshcAdjacencyResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains the management information for a particular
        adjacency resource and switch engine, as specified by
        entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex, cshcAdjacencyResourceIndex }
    ::= { cshcAdjacencyResourceUsageTable 1 }

CshcAdjacencyResourceUsageEntry ::= SEQUENCE {
    cshcAdjacencyResourceIndex Gauge,
    cshcAdjacencyResourceDescr SnmpAdminString,
    cshcAdjacencyResourceUsed Gauge,
    cshcAdjacencyResourceTotal Gauge
    }

cshcAdjacencyResourceIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates a unique value that identifies an
        adjacency resource."
    ::= { cshcAdjacencyResourceUsageEntry 1 }

cshcAdjacencyResourceDescr OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates a description of the adjacency
        resource."
    ::= { cshcAdjacencyResourceUsageEntry 2 }

cshcAdjacencyResourceUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of adjacency entries
        that are currently in use."
    ::= { cshcAdjacencyResourceUsageEntry 3 }

cshcAdjacencyResourceTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of adjacency
        entries available."
    ::= { cshcAdjacencyResourceUsageEntry 4 }

cshcMetResourceUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcMetResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information regarding Multicast Expansion
        Table (MET) resource usage and utilization for a switching
        engine capable of providing this information."
    ::= { cshcL3Forwarding 6 }

cshcMetResourceUsageEntry OBJECT-TYPE
    SYNTAX CshcMetResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains information of the usage and
        utilization for a particular MET resource and
        switching engine, as specified by entPhysicalIndex
        in ENTITY-MIB."
    INDEX { entPhysicalIndex, cshcMetResourceIndex }
    ::= { cshcMetResourceUsageTable 1 }

CshcMetResourceUsageEntry ::= SEQUENCE {
    cshcMetResourceIndex Gauge,
    cshcMetResourceDescr SnmpAdminString,
    cshcMetResourceUsed Gauge,
    cshcMetResourceTotal Gauge,
    cshcMetResourceMcastGrp INTEGER
    }

cshcMetResourceIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An arbitrary positive integer value that uniquely identifies a
        Met resource."
    ::= { cshcMetResourceUsageEntry 1 }

cshcMetResourceDescr OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates a description of the MET resource."
    ::= { cshcMetResourceUsageEntry 2 }

cshcMetResourceUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of MET entries used by
        this MET resource."
    ::= { cshcMetResourceUsageEntry 3 }

cshcMetResourceTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of MET entries available
        for this MET resource."
    ::= { cshcMetResourceUsageEntry 4 }

cshcMetResourceMcastGrp OBJECT-TYPE
    SYNTAX INTEGER(-1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of the multicast group for
        this MET resource.
        
        A value of -1 indicates that this object is not applicable
        on this MET feature."
    ::= { cshcMetResourceUsageEntry 5 }

cshcModuleInterfaceDropsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcModuleInterfaceDropsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains interface drops information on each
        module capable of providing this information."
    ::= { cshcInterface 1 }

cshcModuleInterfaceDropsEntry OBJECT-TYPE
    SYNTAX CshcModuleInterfaceDropsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for dropped traffic
        on a specific module, identified by the entPhysicalIndex 
        in ENTITY-MIB, and capable of providing this information."
    INDEX { entPhysicalIndex }
    ::= { cshcModuleInterfaceDropsTable 1 }

CshcModuleInterfaceDropsEntry ::= SEQUENCE {
    cshcModTxTotalDroppedPackets Counter,
    cshcModRxTotalDroppedPackets Counter,
    cshcModTxTopDropPort InterfaceIndexOrZero,
    cshcModRxTopDropPort InterfaceIndexOrZero,
    cshcModTxTopDropIfIndexList CiscoInterfaceIndexList,
    cshcModRxTopDropIfIndexList CiscoInterfaceIndexList
    }

cshcModTxTotalDroppedPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total dropped outbound packets
        on all physical interfaces of this module."
    ::= { cshcModuleInterfaceDropsEntry 1 }

cshcModRxTotalDroppedPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total dropped inbound packets
        on all physical interfaces of this module."
    ::= { cshcModuleInterfaceDropsEntry 2 }

cshcModTxTopDropPort OBJECT-TYPE
    SYNTAX InterfaceIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the ifIndex value of the interface
        that has the largest number of total dropped outbound packets
        among all the physical interfaces on this module.
        
        If there were no dropped outbound packets on any  
        physical interfaces of this module, this object has 
        the value 0.
        
        If there are multiple physical interfaces of this module having
        the same largest number of total dropped outbound packets, the  
        ifIndex of the first such interfaces will be assigned to this
        object."
    ::= { cshcModuleInterfaceDropsEntry 3 }

cshcModRxTopDropPort OBJECT-TYPE
    SYNTAX InterfaceIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the ifIndex value of the interface that
        has the largest number of total dropped inbound packets among
        all the physical interfaces of this module.
        
        If there were no dropped inbound packets on any physical
        interfaces of this module, this object has the value 0.
        
        If there are multiple physical interfaces of this module having
        the same largest number of total dropped inbound packets, the  
        ifIndex of the first such interfaces will be assigned to this
        object."
    ::= { cshcModuleInterfaceDropsEntry 4 }

cshcModTxTopDropIfIndexList OBJECT-TYPE
    SYNTAX CiscoInterfaceIndexList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the ifIndex values of the list of
        interfaces that have the largest number of total dropped
        outbound packets among all the physical interfaces of this
        module."
    ::= { cshcModuleInterfaceDropsEntry 5 }

cshcModRxTopDropIfIndexList OBJECT-TYPE
    SYNTAX CiscoInterfaceIndexList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the ifIndex values of the list of
        interfaces that have the largest number of total dropped
        inbound packets among all the physical interfaces of this
        module."
    ::= { cshcModuleInterfaceDropsEntry 6 }

cshcInterfaceBufferTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcInterfaceBufferEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains buffer capacity information for each
        physical interface capable of providing this information."
    ::= { cshcInterface 2 }

cshcInterfaceBufferEntry OBJECT-TYPE
    SYNTAX CshcInterfaceBufferEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains buffer capacity information for a
        specific physical interface capable of providing this 
        information."
    INDEX { ifIndex }
    ::= { cshcInterfaceBufferTable 1 }

CshcInterfaceBufferEntry ::= SEQUENCE {
    cshcInterfaceTransmitBufferSize Gauge,
    cshcInterfaceReceiveBufferSize Gauge
    }

cshcInterfaceTransmitBufferSize OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    bytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The aggregate buffer size of all the transmit queues on this
        interface."
    ::= { cshcInterfaceBufferEntry 1 }

cshcInterfaceReceiveBufferSize OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    bytes
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The aggregate buffer size of all the receive queues on this
        interface."
    ::= { cshcInterfaceBufferEntry 2 }

cshcInternalChannelTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcInternalChannelEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information for each internal channel
        interface on each physical entity, such as a module, 
        capable of providing this information."
    ::= { cshcInterface 3 }

cshcInternalChannelEntry OBJECT-TYPE
    SYNTAX CshcInternalChannelEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for an internal
        channel interface of a specific type on a specific physical
        entity, such as a module, identified by the entPhysicalIndex
        in ENTITY-MIB, and capable of providing this information."
    INDEX { entPhysicalIndex, cshcIntlChnlType }
    ::= { cshcInternalChannelTable 1 }

CshcInternalChannelEntry ::= SEQUENCE {
    cshcIntlChnlType CshcInternalChannelType,
    cshcIntlChnlRxPacketRate CounterBasedGauge64,
    cshcIntlChnlRxTotalPackets Counter,
    cshcIntlChnlRxDroppedPackets Counter,
    cshcIntlChnlTxPacketRate CounterBasedGauge64,
    cshcIntlChnlTxTotalPackets Counter,
    cshcIntlChnlTxDroppedPackets Counter
    }

cshcIntlChnlType OBJECT-TYPE
    SYNTAX CshcInternalChannelType
--    Rsyntax INTEGER {
--        eobc(1),
--        ibc(2)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The type of this internal channel."
    ::= { cshcInternalChannelEntry 1 }

cshcIntlChnlRxPacketRate OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           CounterBasedGauge64
--    Rsyntax Counter
--  Units
--    packets per second
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Five minute exponentially-decayed moving
        average of inbound packet rate for this
        channel."
    ::= { cshcInternalChannelEntry 2 }

cshcIntlChnlRxTotalPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of the inbound packets accounted for
        this channel."
    ::= { cshcInternalChannelEntry 3 }

cshcIntlChnlRxDroppedPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of dropped inbound packets for this channel."
    ::= { cshcInternalChannelEntry 4 }

cshcIntlChnlTxPacketRate OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           CounterBasedGauge64
--    Rsyntax Counter
--  Units
--    packets per second
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Five minute exponentially-decayed moving
        average of outbound packet rate for this
        channel."
    ::= { cshcInternalChannelEntry 5 }

cshcIntlChnlTxTotalPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of the outbound packets accounted for
        this channel."
    ::= { cshcInternalChannelEntry 6 }

cshcIntlChnlTxDroppedPackets OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of dropped outbound packets for this channel."
    ::= { cshcInternalChannelEntry 7 }

cshcCPURateLimiterResourcesTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcCPURateLimiterResourcesEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information regarding
        CPU rate limiters resources."
    ::= { cshcCPURateLimiterResources 1 }

cshcCPURateLimiterResourcesEntry OBJECT-TYPE
    SYNTAX CshcCPURateLimiterResourcesEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information of CPU rate
        limiter resources for a managed network layer."
    INDEX { cshcCPURateLimiterNetworkLayer }
    ::= { cshcCPURateLimiterResourcesTable 1 }

CshcCPURateLimiterResourcesEntry ::= SEQUENCE {
    cshcCPURateLimiterNetworkLayer INTEGER,
    cshcCPURateLimiterTotal Gauge,
    cshcCPURateLimiterUsed Gauge,
    cshcCPURateLimiterReserved Gauge
    }

cshcCPURateLimiterNetworkLayer OBJECT-TYPE
    SYNTAX INTEGER {
        layer2(1),
        layer3(2),
        layer2Input(3),
        layer2Output(4)
        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates the network layer for which
        the CPU rate limiters are applied.
        
        'layer2'       - Layer 2.
        'layer3'       - Layer 3.
        'layer2Input'  - Ingress Layer 2.
                         Applicable for devices which support
                         CPU rate limiters on the Ingress Layer 2
                         traffic.
        'layer2Output' - Egress Layer 2.
                         Applicable for devices which support
                         CPU rate limiters on the Egress Layer 2
                         traffic."
    ::= { cshcCPURateLimiterResourcesEntry 1 }

cshcCPURateLimiterTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of CPU rate
        limiters avaiable."
    ::= { cshcCPURateLimiterResourcesEntry 2 }

cshcCPURateLimiterUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of CPU rate limiters
        that is currently in use."
    ::= { cshcCPURateLimiterResourcesEntry 3 }

cshcCPURateLimiterReserved OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of CPU rate limiters
        which is reserved by the switching device."
    ::= { cshcCPURateLimiterResourcesEntry 4 }

cshcIcamUtilizationTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcIcamUtilizationEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information regarding ICAM (Internal
        Content Addressable Memory) Resource usage and utilization
        for a switching engine capable of providing this
        information."
    ::= { cshcIcamResources 1 }

cshcIcamUtilizationEntry OBJECT-TYPE
    SYNTAX CshcIcamUtilizationEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information of ICAM
        usage and utilization for a switching engine, as specified
        as specified by entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex }
    ::= { cshcIcamUtilizationTable 1 }

CshcIcamUtilizationEntry ::= SEQUENCE {
    cshcIcamCreated Gauge,
    cshcIcamFailed Gauge,
    cshcIcamUtilization Percent
    }

cshcIcamCreated OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of ICAM
        entries created."
    ::= { cshcIcamUtilizationEntry 1 }

cshcIcamFailed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of ICAM entries
        which failed to be created."
    ::= { cshcIcamUtilizationEntry 2 }

cshcIcamUtilization OBJECT-TYPE
    SYNTAX Percent
--    Rsyntax INTEGER(0..100)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the ICAM utlization in percentage
        in this switching engine."
    ::= { cshcIcamUtilizationEntry 3 }

cshcNetflowFlowMaskTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcNetflowFlowMaskEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information regarding Netflow flow mask
        features supported."
    ::= { cshcNetflowFlowMaskResources 1 }

cshcNetflowFlowMaskEntry OBJECT-TYPE
    SYNTAX CshcNetflowFlowMaskEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains supported feature information of
        a Netflow flow mask supported by the device."
    INDEX { cshcNetflowFlowMaskAddrType, cshcNetflowFlowMaskIndex }
    ::= { cshcNetflowFlowMaskTable 1 }

CshcNetflowFlowMaskEntry ::= SEQUENCE {
    cshcNetflowFlowMaskAddrType InetAddressType,
    cshcNetflowFlowMaskIndex Gauge,
    cshcNetflowFlowMaskType INTEGER,
    cshcNetflowFlowMaskFeature OCTET STRING
    }

cshcNetflowFlowMaskAddrType OBJECT-TYPE
    SYNTAX InetAddressType
--    Rsyntax INTEGER {
--        ?? enum value of zero may cause problems
--        unknown(0),
--        ipv4(1),
--        ipv6(2),
--        ipv4z(3),
--        ipv6z(4),
--        dns(16)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates Internet address type for this
        flow mask."
    ::= { cshcNetflowFlowMaskEntry 1 }

cshcNetflowFlowMaskIndex OBJECT-TYPE
    SYNTAX Gauge
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates the unique flow mask number
        for a specific Internet address type."
    ::= { cshcNetflowFlowMaskEntry 2 }

cshcNetflowFlowMaskType OBJECT-TYPE
    SYNTAX INTEGER {
        null(1),
        srcOnly(2),
        destOnly(3),
        srcDest(4),
        interfaceSrcDest(5),
        fullFlow(6),
        interfaceFullFlow(7),
        interfaceFullFlowOrFullFlow(8),
        atleastInterfaceSrcDest(9),
        atleastFullFlow(10),
        atleastInterfaceFullFlow(11),
        atleastSrc(12),
        atleastDst(13),
        atleastSrcDst(14),
        shortest(15),
        lessThanFullFlow(16),
        exceptFullFlow(17),
        exceptInterfaceFullFlow(18),
        interfaceDest(19),
        atleastInterfaceDest(20),
        interfaceSrc(21),
        atleastInterfaceSrc(22),
        srcOnlyCR(23),
        dstOnlyCR(24),
        fullFlowCR(25),
        interfaceFullFlowCR(26),
        max(27),
        conflict(28),
        err(29),
        unused(30),
        fullFlow1(31),
        fullFlow2(32),
        fullFlow3(33),
        vlanFullFlow1(34),
        vlanFullFlow2(35),
        vlanFullFlow3(36),
        reserved(37)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the type of flow mask."
    ::= { cshcNetflowFlowMaskEntry 3 }

cshcNetflowFlowMaskFeature OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(1..11))
        -- BITS are:
        --   null(0)
        --   ipAcgIngress(1)
        --   ipAcgEgress(2)
        --   natIngress(3)
        --   natEngress(4)
        --   natInside(5)
        --   pbr(6)
        --   cryptoIngress(7)
        --   cryptoEgress(8)
        --   qos(9)
        --   idsIngress(10)
        --   tcpIntrcptEgress(11)
        --   guardian(12)
        --   ipv6AcgIngress(13)
        --   ipv6AcgEgress(14)
        --   mcastAcgIngress(15)
        --   mcastAcgEgress(16)
        --   mcastStub(17)
        --   mcastUrd(18)
        --   ipDsIngress(19)
        --   ipDsEgress(20)
        --   ipVaclIngress(21)
        --   ipVaclEgress(22)
        --   macVaclIngress(23)
        --   macVaclEgress(24)
        --   inspIngress(25)
        --   inspEgress(26)
        --   authProxy(27)
        --   rpf(28)
        --   wccpIngress(29)
        --   wccpEgress(30)
        --   inspDummyIngress(31)
        --   inspDummyEgress(32)
        --   nbarIngress(33)
        --   nbarEgress(34)
        --   ipv6Rpf(35)
        --   ipv6GlobalDefault(36)
        --   dai(37)
        --   ipPaclIngress(38)
        --   macPaclIngress(39)
        --   mplsIcmpBridge(40)
        --   ipSlb(41)
        --   ipv4Default(42)
        --   ipv6Default(43)
        --   mplsDefault(44)
        --   erSpanTermination(45)
        --   ipv6Mcast(46)
        --   ipDsL3Ingress(47)
        --   ipDsL3Egress(48)
        --   cryptoRedirectIngress(49)
        --   otherDefault(50)
        --   ipRecir(51)
        --   iPAdmissionL3Eou(52)
        --   iPAdmissionL2Eou(53)
        --   iPAdmissionL2EouArp(54)
        --   ipAdmissionL2Http(55)
        --   ipAdmissionL2HttpArp(56)
        --   ipv4L3IntfNde(57)
        --   ipv4L2IntfNde(58)
        --   ipSguardIngress(59)
        --   pvtHostsIngress(60)
        --   vrfNatIngress(61)
        --   tcpAdjustMssIngress(62)
        --   tcpAdjustMssEgress(63)
        --   eomIw(64)
        --   eomIw2(65)
        --   ipv4VrfNdeEgress(66)
        --   l1Egress(67)
        --   l1Ingress(68)
        --   l1GlobalEgress(69)
        --   l1GlobalIngress(70)
        --   ipDot1xAcl(71)
        --   ipDot1xAclArp(72)
        --   dot1ad(73)
        --   ipSpanPcap(74)
        --   ipv6CryptoRedirectIngress(75)
        --   svcAcclrtIngress(76)
        --   ipv6SvcAcclrtIngress(77)
        --   nfAggregation(78)
        --   nfSampling(79)
        --   ipv6Guardian(80)
        --   ipv6Qos(81)
        --   none(82)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the features supported by this flow
        mask."
    ::= { cshcNetflowFlowMaskEntry 4 }

cshcNetflowResourceUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcNetflowResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information regarding Netflow resource
        usage and utilization for a switching engine capable of 
        providing this information."
    ::= { cshcNetflowResourceUsage 1 }

cshcNetflowResourceUsageEntry OBJECT-TYPE
    SYNTAX CshcNetflowResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains information of the usage and
        utilization for a particular Netflow resource and
        switching engine, as specified by entPhysicalIndex
        in ENTITY-MIB."
    INDEX { entPhysicalIndex, cshcNetflowResourceUsageIndex }
    ::= { cshcNetflowResourceUsageTable 1 }

CshcNetflowResourceUsageEntry ::= SEQUENCE {
    cshcNetflowResourceUsageIndex Gauge,
    cshcNetflowResourceUsageDescr SnmpAdminString,
    cshcNetflowResourceUsageUtil Percent,
    cshcNetflowResourceUsageUsed Gauge,
    cshcNetflowResourceUsageFree Gauge,
    cshcNetflowResourceUsageFail INTEGER
    }

cshcNetflowResourceUsageIndex OBJECT-TYPE
    SYNTAX Gauge(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An arbitrary positive integer value that uniquely identifies a
        Netflow resource."
    ::= { cshcNetflowResourceUsageEntry 1 }

cshcNetflowResourceUsageDescr OBJECT-TYPE
    SYNTAX SnmpAdminString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates a description of the Netflow resource."
    ::= { cshcNetflowResourceUsageEntry 2 }

cshcNetflowResourceUsageUtil OBJECT-TYPE
    SYNTAX Percent
--    Rsyntax INTEGER(0..100)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the Netflow resource usage in
        percentage value."
    ::= { cshcNetflowResourceUsageEntry 3 }

cshcNetflowResourceUsageUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of Netflow entries used by
        this Netflow resource."
    ::= { cshcNetflowResourceUsageEntry 4 }

cshcNetflowResourceUsageFree OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of Netflow entries available
        for this Netflow resource."
    ::= { cshcNetflowResourceUsageEntry 5 }

cshcNetflowResourceUsageFail OBJECT-TYPE
    SYNTAX INTEGER(-1|0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of Netflow entries which
        were failed to be created for this Netflow resource.
        
        A value of -1 indicates that this resource does not maintain
        this counter."
    ::= { cshcNetflowResourceUsageEntry 6 }

cshcQosResourceUsageTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CshcQosResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains QoS capacity per resource type
        and its usage for each entity capable of providing this    
        information."
    ::= { cshcQosResourceUsage 1 }

cshcQosResourceUsageEntry OBJECT-TYPE
    SYNTAX CshcQosResourceUsageEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each row contains management information for QoS
        capacity and its usage on an entity, as specified by
        entPhysicalIndex in ENTITY-MIB."
    INDEX { entPhysicalIndex, cshcQosResourceType }
    ::= { cshcQosResourceUsageTable 1 }

CshcQosResourceUsageEntry ::= SEQUENCE {
    cshcQosResourceType INTEGER,
    cshcQosResourceUsed Gauge,
    cshcQosResourceTotal Gauge
    }

cshcQosResourceType OBJECT-TYPE
    SYNTAX INTEGER {
        aggregatePolicers(1),
        distributedPolicers(2),
        policerProfiles(3)
        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object indicates the QoS resource type."
    ::= { cshcQosResourceUsageEntry 1 }

cshcQosResourceUsed OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the number of QoS entries
        that are currently in use."
    ::= { cshcQosResourceUsageEntry 2 }

cshcQosResourceTotal OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of QoS
        entries available."
    ::= { cshcQosResourceUsageEntry 3 }

cshcMacUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides Layer 2
--    forwarding hardware capacity information in the device.
--  objects
--    cshcMacCollisions, cshcMacUsed, cshcMacTotal

cshcVpnCamUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides VPN CAM
--    hardware capacity information in the device.
--  objects
--    cshcVpnCamUsed, cshcVpnCamTotal

cshcFibTcamUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides FIB TCAM
--    hardware capacity information in the device.
--  objects
--    cshc72bitsFibTcamUsed, cshc72bitsFibTcamTotal, 
--    cshc144bitsFibTcamUsed, cshc144bitsFibTcamTotal

cshcProtocolFibTcamUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 4 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides FIB TCAM
--    hardware capacity information in conjunction with
--    Layer 3 protocol in the device.
--  objects
--    cshcProtocolFibTcamUsed, cshcProtocolFibTcamTotal

cshcAdjacencyUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 5 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides adjacency
--    hardware capacity information in the device.
--  objects
--    cshcAdjacencyUsed, cshcAdjacencyTotal

cshcForwardingLoadGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 6 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides forwarding
--    load information in the device.
--  objects
--    cshcForwardingLoadPktRate, cshcForwardingLoadPktPeakRate, 
--    cshcForwardingLoadPktPeakTime

cshcModuleInterfaceDropsGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 7 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides linecard
--    drop traffic information on the device.
--  objects
--    cshcModTxTotalDroppedPackets, cshcModRxTotalDroppedPackets, 
--    cshcModTxTopDropPort, cshcModRxTopDropPort

cshcInterfaceBufferGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 8 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides interface
--    buffer information on the device.
--  objects
--    cshcInterfaceTransmitBufferSize, 
--    cshcInterfaceReceiveBufferSize

cshcInternalChannelGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 9 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides internal
--    channel information on the device.
--  objects
--    cshcIntlChnlRxPacketRate, cshcIntlChnlRxTotalPackets, 
--    cshcIntlChnlRxDroppedPackets, cshcIntlChnlTxPacketRate, 
--    cshcIntlChnlTxTotalPackets, cshcIntlChnlTxDroppedPackets

cshcCPURateLimiterResourcesGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 10 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides CPU rate limiter
--    resource in the device.
--  objects
--    cshcCPURateLimiterTotal, cshcCPURateLimiterUsed, 
--    cshcCPURateLimiterReserved

cshcIcamResourcesGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 11 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides ICAM resources
--    information in the device.
--  objects
--    cshcIcamCreated, cshcIcamFailed, cshcIcamUtilization

cshcNetflowFlowMaskResourceGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 12 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides Netflow FlowMask
--    information in the device.
--  objects
--    cshcNetflowFlowMaskType, cshcNetflowFlowMaskFeature

cshcFibTcamUsageExtGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 13 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides additional FIB TCAM
--    hardware capacity information in the device.
--  objects
--    cshc288bitsFibTcamUsed, cshc288bitsFibTcamTotal

cshcNetflowFlowResourceUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 14 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides Netflow resource
--    usage information in the device.
--  objects
--    cshcNetflowResourceUsageDescr, cshcNetflowResourceUsageUtil, 
--    cshcNetflowResourceUsageUsed, cshcNetflowResourceUsageFree, 
--    cshcNetflowResourceUsageFail

cshcMacUsageExtGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 15 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides additional Layer 2
--    forwarding hardware capacity information in the device.
--  objects
--    cshcMacMcast, cshcMacUcast, cshcMacLines, cshcMacLinesFull

cshcProtocolFibTcamUsageExtGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 16 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides additional FIB TCAM
--    hardware capacity information in conjunction with
--    Layer 3 protocol in the device.
--  objects
--    cshcProtocolFibTcamLogicalUsed, 
--    cshcProtocolFibTcamLogicalTotal

cshcAdjacencyResourceUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 17 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides adjacency
--    hardware capacity information per resource in the device.
--  objects
--    cshcAdjacencyResourceDescr, cshcAdjacencyResourceUsed, 
--    cshcAdjacencyResourceTotal

cshcQosResourceUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 18 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides QoS
--    hardware capacity information per resource in the device.
--  objects
--    cshcQosResourceUsed, cshcQosResourceTotal

cshcModTopDropIfIndexListGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 19 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides information on
--    multiple interfaces with largest number of drop traffic 
--    on a module.
--  objects
--    cshcModTxTopDropIfIndexList, cshcModRxTopDropIfIndexList

cshcMetResourceUsageGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 20 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides MET hardware
--    capacity information per resource in the device.
--  objects
--    cshcMetResourceDescr, cshcMetResourceUsed, 
--    cshcMetResourceTotal, cshcMetResourceMcastGrp

cshcProtocolFibTcamWidthTypeGroup OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBGroups 21 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides FIB TCAM entry
--    width information in conjunction with Layer 3 protocol
--    in the device.
--  objects
--    cshcProtocolFibTcamWidthType

ciscoSwitchHardwareCapacityMIBCompliance OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for
--    CISCO-SWITCH-HARDWARE-CAPACITY-MIB. This statement is
--    deprecated and superseded by 
--    ciscoSwitchHardwareCapacityMIBCompliance1.
--  Module
--    >>current<<
--   MandGroup
--    cshcMacUsageGroup
--   MandGroup
--    cshcVpnCamUsageGroup
--   MandGroup
--    cshcFibTcamUsageGroup
--   MandGroup
--    cshcProtocolFibTcamUsageGroup
--   MandGroup
--    cshcAdjacencyUsageGroup
--   MandGroup
--    cshcForwardingLoadGroup
--   MandGroup
--    cshcModuleInterfaceDropsGroup
--   MandGroup
--    cshcInterfaceBufferGroup
--   MandGroup
--    cshcInternalChannelGroup
--   OptGroup
--    cshcCPURateLimiterResourcesGroup
--   OptGroup
--    cshcIcamResourcesGroup
--   OptGroup
--    cshcNetflowFlowMaskResourceGroup

ciscoSwitchHardwareCapacityMIBCompliance1 OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBCompliances 2 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for
--    CISCO-SWITCH-HARDWARE-CAPACITY-MIB.
--    
--    This statement is deprecated and superseded by
--    ciscoSwitchHardwareCapacityMIBCompliance2.
--  Module
--    >>current<<
--   MandGroup
--    cshcMacUsageGroup
--   MandGroup
--    cshcVpnCamUsageGroup
--   MandGroup
--    cshcFibTcamUsageGroup
--   MandGroup
--    cshcProtocolFibTcamUsageGroup
--   MandGroup
--    cshcAdjacencyUsageGroup
--   MandGroup
--    cshcForwardingLoadGroup
--   MandGroup
--    cshcModuleInterfaceDropsGroup
--   MandGroup
--    cshcInterfaceBufferGroup
--   MandGroup
--    cshcInternalChannelGroup
--   OptGroup
--    cshcCPURateLimiterResourcesGroup
--   OptGroup
--    cshcIcamResourcesGroup
--   OptGroup
--    cshcNetflowFlowMaskResourceGroup
--   OptGroup
--    cshcFibTcamUsageExtGroup

ciscoSwitchHardwareCapacityMIBCompliance2 OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBCompliances 3 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for
--    CISCO-SWITCH-HARDWARE-CAPACITY-MIB
--  Module
--    >>current<<
--   MandGroup
--    cshcMacUsageGroup
--   MandGroup
--    cshcVpnCamUsageGroup
--   MandGroup
--    cshcFibTcamUsageGroup
--   MandGroup
--    cshcProtocolFibTcamUsageGroup
--   MandGroup
--    cshcAdjacencyUsageGroup
--   MandGroup
--    cshcForwardingLoadGroup
--   MandGroup
--    cshcModuleInterfaceDropsGroup
--   MandGroup
--    cshcInterfaceBufferGroup
--   MandGroup
--    cshcInternalChannelGroup
--   OptGroup
--    cshcCPURateLimiterResourcesGroup
--   OptGroup
--    cshcIcamResourcesGroup
--   OptGroup
--    cshcNetflowFlowMaskResourceGroup
--   OptGroup
--    cshcFibTcamUsageExtGroup
--   OptGroup
--    cshcNetflowFlowResourceUsageGroup
--   OptGroup
--    cshcMacUsageExtGroup
--   OptGroup
--    cshcProtocolFibTcamUsageExtGroup
--   OptGroup
--    cshcAdjacencyResourceUsageGroup
--   OptGroup
--    cshcQosResourceUsageGroup
--   OptGroup
--    cshcModTopDropIfIndexListGroup
--   OptGroup
--    cshcMetResourceUsageGroup

ciscoSwitchHardwareCapacityMIBCompliance3 OBJECT IDENTIFIER ::= { ciscoSwitchHardwareCapacityMIBCompliances 4 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for
--    CISCO-SWITCH-HARDWARE-CAPACITY-MIB
--  Module
--    >>current<<
--   MandGroup
--    cshcMacUsageGroup
--   MandGroup
--    cshcVpnCamUsageGroup
--   MandGroup
--    cshcFibTcamUsageGroup
--   MandGroup
--    cshcProtocolFibTcamUsageGroup
--   MandGroup
--    cshcAdjacencyUsageGroup
--   MandGroup
--    cshcForwardingLoadGroup
--   MandGroup
--    cshcModuleInterfaceDropsGroup
--   MandGroup
--    cshcInterfaceBufferGroup
--   MandGroup
--    cshcInternalChannelGroup
--   OptGroup
--    cshcCPURateLimiterResourcesGroup
--   OptGroup
--    cshcIcamResourcesGroup
--   OptGroup
--    cshcNetflowFlowMaskResourceGroup
--   OptGroup
--    cshcFibTcamUsageExtGroup
--   OptGroup
--    cshcNetflowFlowResourceUsageGroup
--   OptGroup
--    cshcMacUsageExtGroup
--   OptGroup
--    cshcProtocolFibTcamUsageExtGroup
--   OptGroup
--    cshcAdjacencyResourceUsageGroup
--   OptGroup
--    cshcQosResourceUsageGroup
--   OptGroup
--    cshcModTopDropIfIndexListGroup
--   OptGroup
--    cshcMetResourceUsageGroup
--   OptGroup
--    cshcProtocolFibTcamWidthTypeGroup


END

