-- ***************************************************************** -- DLINKES-CPU-PROTECT-MIB.mib : CPU Protection MIB -- -- Copyright (c) 2012 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-CPU-PROTECT-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF Integer32, Counter64, OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsCpuProtectMIB MODULE-IDENTITY LAST-UPDATED "201208080000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "The MIB module for managing CPU protection." REVISION "201208080000Z" DESCRIPTION "Initial version of this MIB module." ::= { dlinkCommon 19 } -- -- Textual conventions -- CpuProtectProtocolType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents a protocol type. Note that a particular agent may support only certain protocol types. Thus, the valid values of this object are project dependent. An agent may respond with an error (e.g., 'inconsistentValue ') to a management SET operation which attempts to modify the value to one which is not supported by the managed device. arp(1) indicates IP Address Resolution Protocol (ARP). bgp(2) indicates Border Gateway Protocol. dhcp(3) indicates Dynamic Host Configuration Protocol. dhcpv6(4) indicates Dynamic Host Configuration Protocol for IPv6. dns(5) indicates Domain Name Services. dot1x(6) indicates IEEE 802.1X (Port Based Network Access Control). dvmrp(7) indicates Distance Vector Multicast Routing Protocol. gvrp(8) indicates GARP VLAN Registration Protocol. icmp(9) indicates IPv4 Internet Control Message Protocol. icmpv6Ndp(10) indicates IPv6 ICMP Neighbor Discover Protocol (NS/NA/RS/RA). icmpv6Other(11) indicates IPv6 ICMP except NDP NS/NA/RS/RA. igmp(12) indicates Internet Group Management Protocol. lacp(13), indicates Link Aggregation Control Protocol. ntp(14), indicates Network Time Protocol. ospf(15), indicates Open Shortest Path First. ospfv3(16), indicates OSPF for IPv6. pim(17), indicates Protocol Independent Multicast. pppoe(18), indicates Point-to-Point Protocol over Ethernet. rip(19), indicates Routing Information Protocol. ripng(20), indicates Routing Information Protocol for IPv6. snmp(21), indicates Simple Network Management Protocol. ssh(22), indicates Secured shell. stp(23), indicates Spanning Tree Protocol (IEEE 802.1D). telnet(24), indicates Telnet. tftp(25), indicates Trivial File Transfer Protocol. vrrp(26), indicates Virtual Router Redundancy Protocol. web(27) indicates HTTP and HTTPS. " SYNTAX INTEGER { arp(1), bgp(2), dhcp(3), dhcpv6(4), dns(5), dot1x(6), dvmrp(7), gvrp(8), icmp(9), icmpv6Ndp(10), icmpv6Other(11), igmp(12), lacp(13), ntp(14), ospf(15), ospfv3(16), pim(17), pppoe(18), rip(19), ripng(20), snmp(21), ssh(22), stp(23), telnet(24), tftp(25), vrrp(26), web(27) } MaxRate ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The range for configuring rate-limit in packet per second (pps). Note that a particular agent may support different rate range. Thus, the valid values are project dependent. An agent may respond with an error (e.g., 'inconsistentValue ') to a management SET operation which attempts to modify the value to one which is not supported by the managed device. The value -1 has a special meaning. When this object is set to -1, there is no rate-limit of the entry." SYNTAX Integer32 (-1 | 0..65535) UnitID ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "This object indicates the slot (for a chassis device) or unit number (for stacking device). For a standalone device, 0 is used for UnitID. Note that a particular agent may support different range of unit/slot ID. Thus, the valid values are project dependent. An agent may respond with an error (e.g., 'inconsistentValue ') to a management SET operation which attempts to modify the value to one which is not supported by the managed device. " SYNTAX Integer32 (0 | 1..64) -- -- Node definitions -- esCpuProtectMIBNotifications OBJECT IDENTIFIER ::= { dlinkEsCpuProtectMIB 0 } esCpuProtectMIBObjects OBJECT IDENTIFIER ::= { dlinkEsCpuProtectMIB 1 } esCpuProtectMIBConformance OBJECT IDENTIFIER ::= { dlinkEsCpuProtectMIB 2 } esCpuProtectMIBObjectsCtrl OBJECT IDENTIFIER ::= { esCpuProtectMIBObjects 2 } -- *************************************************************************** -- esCpuProtectProtoRateLimitTable -- *************************************************************************** esCpuProtectProtoRateLimitTable OBJECT-TYPE SYNTAX SEQUENCE OF EsCpuProtectProtoRateLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configure the rate-limit of traffic destined to CPU based on protocol type." ::= { esCpuProtectMIBObjectsCtrl 1 } esCpuProtectProtoRateLimitEntry OBJECT-TYPE SYNTAX EsCpuProtectProtoRateLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configures rate-limit control based on a specific protocol type." INDEX { esCpuProtectProtoRLType } ::= { esCpuProtectProtoRateLimitTable 1 } EsCpuProtectProtoRateLimitEntry ::= SEQUENCE { esCpuProtectProtoRLType CpuProtectProtocolType, esCpuProtectProtoRLRate MaxRate, esCpuProtectProtoRLClearCounter INTEGER } esCpuProtectProtoRLType OBJECT-TYPE SYNTAX CpuProtectProtocolType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the protocol type." ::= { esCpuProtectProtoRateLimitEntry 1 } esCpuProtectProtoRLRate OBJECT-TYPE SYNTAX MaxRate MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the rate-limit of the specific protocol type. The value of -1 has the special meaning of identifying that there is no rate-limit of the specific protocol type." DEFVAL { -1 } ::= { esCpuProtectProtoRateLimitEntry 2 } esCpuProtectProtoRLClearCounter OBJECT-TYPE SYNTAX INTEGER { clear(1), noOp(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to reset the counter of the specific protocol type when set to 'clear'. No action is taken if this object is set to 'noOp'. When read, the value 'noOp' is returned." DEFVAL { noOp } ::= { esCpuProtectProtoRateLimitEntry 3 } -- *************************************************************************** -- esCpuProtectSubIntfRLTable -- *************************************************************************** esCpuProtectSubIntfRLTable OBJECT-TYPE SYNTAX SEQUENCE OF EsCpuProtectSubIntfRLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the rate-limit information of the sub-interface." ::= { esCpuProtectMIBObjectsCtrl 2 } esCpuProtectSubIntfRLEntry OBJECT-TYPE SYNTAX EsCpuProtectSubIntfRLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configure rate-limit control based on a specific sub-interface." INDEX { esCpuProtectSubIntfRLType } ::= { esCpuProtectSubIntfRLTable 1 } EsCpuProtectSubIntfRLEntry ::= SEQUENCE { esCpuProtectSubIntfRLType INTEGER, esCpuProtectSubIntfRLRate MaxRate, esCpuProtectSubIntfRLClearCounter INTEGER } esCpuProtectSubIntfRLType OBJECT-TYPE SYNTAX INTEGER { manage(1), protocol(2), route(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the type of sub-interface." ::= { esCpuProtectSubIntfRLEntry 1 } esCpuProtectSubIntfRLRate OBJECT-TYPE SYNTAX MaxRate MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the rate-limit of the specific sub-interface. The value of -1 has the special meaning of identifying that there is no rate-limit of the specific sub-interface." DEFVAL { -1 } ::= { esCpuProtectSubIntfRLEntry 2 } esCpuProtectSubIntfRLClearCounter OBJECT-TYPE SYNTAX INTEGER { clear(1), noOp(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to reset the counter of the specific sub-interface when set to 'clear'. No action is taken if this object is set to 'noOp'. When read, the value 'noOp' is returned." DEFVAL { noOp } ::= { esCpuProtectSubIntfRLEntry 3 } esCpuProtectMIBObjectsCounters OBJECT IDENTIFIER ::= { esCpuProtectMIBObjects 3 } -- *************************************************************************** -- esCpuProtectProtoRLCntTable -- *************************************************************************** esCpuProtectProtoRLCntTable OBJECT-TYPE SYNTAX SEQUENCE OF EsCpuProtectProtoRLCntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the traffic statistics by protocol type." ::= { esCpuProtectMIBObjectsCounters 1 } esCpuProtectProtoRLCntEntry OBJECT-TYPE SYNTAX EsCpuProtectProtoRLCntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The per unit/slot traffic statistics about a protocol type. Objects in this table are read-only and appear automatically whenever the value of esCpuProtectProtoRLRate of a row in the esCpuProtectProtoRateLimitTable is not -1 (no-limit)." INDEX { esCpuProtectProtoRLCntType, esCpuProtectProtoRLCntUnitID } ::= { esCpuProtectProtoRLCntTable 1 } EsCpuProtectProtoRLCntEntry ::= SEQUENCE { esCpuProtectProtoRLCntType CpuProtectProtocolType, esCpuProtectProtoRLCntUnitID UnitID, esCpuProtectProtoRLCntTotalCnt Counter64, esCpuProtectProtoRLCntDropCnt Counter64 } esCpuProtectProtoRLCntType OBJECT-TYPE SYNTAX CpuProtectProtocolType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Protocol type." ::= { esCpuProtectProtoRLCntEntry 1 } esCpuProtectProtoRLCntUnitID OBJECT-TYPE SYNTAX UnitID MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the unit/slot ID (for a chassis device) or unit number (for stacking device). For a standalone device, 0 is used for UnitID." ::= { esCpuProtectProtoRLCntEntry 2 } esCpuProtectProtoRLCntTotalCnt OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the counter which counts the packets received by CPU (per unit/slot) for the protocol type." ::= { esCpuProtectProtoRLCntEntry 3 } esCpuProtectProtoRLCntDropCnt OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the counter which counts the dropped packets due to exceeding the configured rate-limit." ::= { esCpuProtectProtoRLCntEntry 4 } -- *************************************************************************** -- esCpuProtectSubIntfRLCounterTable -- *************************************************************************** esCpuProtectSubIntfRLCounterTable OBJECT-TYPE SYNTAX SEQUENCE OF EsCpuProtectSubIntfRLCounterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the traffic statistics by sub-interface." ::= { esCpuProtectMIBObjectsCounters 2 } esCpuProtectSubIntfRLCounterEntry OBJECT-TYPE SYNTAX EsCpuProtectSubIntfRLCounterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The per unit traffic statistics about a sub-interface. Objects in this table are read-only and appear automatically whenever the value of esCpuProtectSubIntfRLRate of a row in the esCpuProtectSubIntfRLTable is not -1 (no-limit)." INDEX { esCpuProtectSubIntfRLCntType, esCpuProtectSubIntfRLCntUnitID } ::= { esCpuProtectSubIntfRLCounterTable 1 } EsCpuProtectSubIntfRLCounterEntry ::= SEQUENCE { esCpuProtectSubIntfRLCntType INTEGER, esCpuProtectSubIntfRLCntUnitID UnitID, esCpuProtectSubIntfRLCntTotalCnt Counter64, esCpuProtectSubIntfRLCntDropCnt Counter64 } esCpuProtectSubIntfRLCntType OBJECT-TYPE SYNTAX INTEGER { manage(1), protocol(2), route(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the type of sub-interface." ::= { esCpuProtectSubIntfRLCounterEntry 1 } esCpuProtectSubIntfRLCntUnitID OBJECT-TYPE SYNTAX UnitID MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the slot (for a chassis device) or unit number (for stacking device). For a standalone device, 0 is used for UnitID." ::= { esCpuProtectSubIntfRLCounterEntry 2 } esCpuProtectSubIntfRLCntTotalCnt OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the counter which counts the packets received by CPU (per unit/slot) for the subinterface." ::= { esCpuProtectSubIntfRLCounterEntry 3 } esCpuProtectSubIntfRLCntDropCnt OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the counter which counts the dropped packets due to exceeding the configured rate-limit." ::= { esCpuProtectSubIntfRLCounterEntry 4 } -- *************************************************************************** -- Conformance -- *************************************************************************** esCpuProtectMIBCompliances OBJECT IDENTIFIER ::= { esCpuProtectMIBConformance 1 } esCpuProtectMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKES-CPU-PROTECT-MIB." MODULE -- this module MANDATORY-GROUPS { esCpuProtectProtoGroup } GROUP esCpuProtectSubIntfGroup DESCRIPTION "This group is required only if the agent implements the rate-limit for traffic destined to CPU by sub-interface type." ::= { esCpuProtectMIBCompliances 1 } esCpuProtectMIBGroups OBJECT IDENTIFIER ::= { esCpuProtectMIBConformance 2 } esCpuProtectProtoGroup OBJECT-GROUP OBJECTS { esCpuProtectProtoRLRate, esCpuProtectProtoRLClearCounter, esCpuProtectProtoRLCntTotalCnt, esCpuProtectProtoRLCntDropCnt } STATUS current DESCRIPTION "A collection of objects providing the configuration or statistics about the rate-limit of traffic destined to CPU by protocol type." ::= { esCpuProtectMIBGroups 1 } esCpuProtectSubIntfGroup OBJECT-GROUP OBJECTS { esCpuProtectSubIntfRLRate, esCpuProtectSubIntfRLClearCounter, esCpuProtectSubIntfRLCntTotalCnt, esCpuProtectSubIntfRLCntDropCnt } STATUS current DESCRIPTION "A collection of objects providing the configuration or statistics about the rate-limit of traffic destined to CPU by sub-interface type." ::= { esCpuProtectMIBGroups 2 } END