-- ***************************************************************** -- DLINKSW-CPU-PROTECT-MIB.mib : CPU Protection MIB -- -- Copyright (c) 2012 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKSW-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 dlinkIndustrialCommon FROM DLINK-ID-REC-MIB; dlinkSwCpuProtectMIB 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." ::= { dlinkIndustrialCommon 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 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 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 -- dCpuProtectMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 0 } dCpuProtectMIBObjects OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 1 } dCpuProtectMIBConformance OBJECT IDENTIFIER ::= { dlinkSwCpuProtectMIB 2 } dCpuProtectMIBObjectsCtrl OBJECT IDENTIFIER ::= { dCpuProtectMIBObjects 2 } -- *************************************************************************** -- dCpuProtectProtoRateLimitTable -- *************************************************************************** dCpuProtectProtoRateLimitTable OBJECT-TYPE SYNTAX SEQUENCE OF DCpuProtectProtoRateLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configure the rate-limit of traffic destined to CPU based on protocol type." ::= { dCpuProtectMIBObjectsCtrl 1 } dCpuProtectProtoRateLimitEntry OBJECT-TYPE SYNTAX DCpuProtectProtoRateLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configures rate-limit control based on a specific protocol type." INDEX { dCpuProtectProtoRLType } ::= { dCpuProtectProtoRateLimitTable 1 } DCpuProtectProtoRateLimitEntry ::= SEQUENCE { dCpuProtectProtoRLType CpuProtectProtocolType, dCpuProtectProtoRLRate MaxRate, dCpuProtectProtoRLClearCounter INTEGER } dCpuProtectProtoRLType OBJECT-TYPE SYNTAX CpuProtectProtocolType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the protocol type." ::= { dCpuProtectProtoRateLimitEntry 1 } dCpuProtectProtoRLRate 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 } ::= { dCpuProtectProtoRateLimitEntry 2 } dCpuProtectProtoRLClearCounter 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 } ::= { dCpuProtectProtoRateLimitEntry 3 } -- *************************************************************************** -- dCpuProtectSubIntfRLTable -- *************************************************************************** dCpuProtectSubIntfRLTable OBJECT-TYPE SYNTAX SEQUENCE OF DCpuProtectSubIntfRLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the rate-limit information of the sub-interface." ::= { dCpuProtectMIBObjectsCtrl 2 } dCpuProtectSubIntfRLEntry OBJECT-TYPE SYNTAX DCpuProtectSubIntfRLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The object configure rate-limit control based on a specific sub-interface." INDEX { dCpuProtectSubIntfRLType } ::= { dCpuProtectSubIntfRLTable 1 } DCpuProtectSubIntfRLEntry ::= SEQUENCE { dCpuProtectSubIntfRLType INTEGER, dCpuProtectSubIntfRLRate MaxRate, dCpuProtectSubIntfRLClearCounter INTEGER } dCpuProtectSubIntfRLType 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." ::= { dCpuProtectSubIntfRLEntry 1 } dCpuProtectSubIntfRLRate 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 } ::= { dCpuProtectSubIntfRLEntry 2 } dCpuProtectSubIntfRLClearCounter 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 } ::= { dCpuProtectSubIntfRLEntry 3 } dCpuProtectMIBObjectsCounters OBJECT IDENTIFIER ::= { dCpuProtectMIBObjects 3 } -- *************************************************************************** -- dCpuProtectProtoRLCntTable -- *************************************************************************** dCpuProtectProtoRLCntTable OBJECT-TYPE SYNTAX SEQUENCE OF DCpuProtectProtoRLCntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the traffic statistics by protocol type." ::= { dCpuProtectMIBObjectsCounters 1 } dCpuProtectProtoRLCntEntry OBJECT-TYPE SYNTAX DCpuProtectProtoRLCntEntry 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 dCpuProtectProtoRLRate of a row in the dCpuProtectProtoRateLimitTable is not -1 (no-limit)." INDEX { dCpuProtectProtoRLCntType, dCpuProtectProtoRLCntUnitID } ::= { dCpuProtectProtoRLCntTable 1 } DCpuProtectProtoRLCntEntry ::= SEQUENCE { dCpuProtectProtoRLCntType CpuProtectProtocolType, dCpuProtectProtoRLCntUnitID UnitID, dCpuProtectProtoRLCntTotalCnt Counter64, dCpuProtectProtoRLCntDropCnt Counter64 } dCpuProtectProtoRLCntType OBJECT-TYPE SYNTAX CpuProtectProtocolType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Protocol type." ::= { dCpuProtectProtoRLCntEntry 1 } dCpuProtectProtoRLCntUnitID 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." ::= { dCpuProtectProtoRLCntEntry 2 } dCpuProtectProtoRLCntTotalCnt 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." ::= { dCpuProtectProtoRLCntEntry 3 } dCpuProtectProtoRLCntDropCnt 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." ::= { dCpuProtectProtoRLCntEntry 4 } -- *************************************************************************** -- dCpuProtectSubIntfRLCounterTable -- *************************************************************************** dCpuProtectSubIntfRLCounterTable OBJECT-TYPE SYNTAX SEQUENCE OF DCpuProtectSubIntfRLCounterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of the traffic statistics by sub-interface." ::= { dCpuProtectMIBObjectsCounters 2 } dCpuProtectSubIntfRLCounterEntry OBJECT-TYPE SYNTAX DCpuProtectSubIntfRLCounterEntry 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 dCpuProtectSubIntfRLRate of a row in the dCpuProtectSubIntfRLTable is not -1 (no-limit)." INDEX { dCpuProtectSubIntfRLCntType, dCpuProtectSubIntfRLCntUnitID } ::= { dCpuProtectSubIntfRLCounterTable 1 } DCpuProtectSubIntfRLCounterEntry ::= SEQUENCE { dCpuProtectSubIntfRLCntType INTEGER, dCpuProtectSubIntfRLCntUnitID UnitID, dCpuProtectSubIntfRLCntTotalCnt Counter64, dCpuProtectSubIntfRLCntDropCnt Counter64 } dCpuProtectSubIntfRLCntType 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." ::= { dCpuProtectSubIntfRLCounterEntry 1 } dCpuProtectSubIntfRLCntUnitID 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." ::= { dCpuProtectSubIntfRLCounterEntry 2 } dCpuProtectSubIntfRLCntTotalCnt 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." ::= { dCpuProtectSubIntfRLCounterEntry 3 } dCpuProtectSubIntfRLCntDropCnt 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." ::= { dCpuProtectSubIntfRLCounterEntry 4 } -- *************************************************************************** -- Conformance -- *************************************************************************** dCpuProtectMIBCompliances OBJECT IDENTIFIER ::= { dCpuProtectMIBConformance 1 } dCpuProtectMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKSW-CPU-PROTECT-MIB." MODULE -- this module MANDATORY-GROUPS { dCpuProtectProtoGroup } GROUP dCpuProtectSubIntfGroup DESCRIPTION "This group is required only if the agent implements the rate-limit for traffic destined to CPU by sub-interface type." ::= { dCpuProtectMIBCompliances 1 } dCpuProtectMIBGroups OBJECT IDENTIFIER ::= { dCpuProtectMIBConformance 2 } dCpuProtectProtoGroup OBJECT-GROUP OBJECTS { dCpuProtectProtoRLRate, dCpuProtectProtoRLClearCounter, dCpuProtectProtoRLCntTotalCnt, dCpuProtectProtoRLCntDropCnt } STATUS current DESCRIPTION "A collection of objects providing the configuration or statistics about the rate-limit of traffic destined to CPU by protocol type." ::= { dCpuProtectMIBGroups 1 } dCpuProtectSubIntfGroup OBJECT-GROUP OBJECTS { dCpuProtectSubIntfRLRate, dCpuProtectSubIntfRLClearCounter, dCpuProtectSubIntfRLCntTotalCnt, dCpuProtectSubIntfRLCntDropCnt } 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." ::= { dCpuProtectMIBGroups 2 } END