1-- *********************************************************************
2-- CISCO-FCC-MIB.my Fibre Channel Congestion Control (FCC) MIB
3--
4-- Jul 2003, Sanjeev Joshi, Dinkar Sitaram
5--
6-- Copyright (c) 2003, 2004 by cisco Systems, Inc.
7-- All rights reserved.
8--
9-- *********************************************************************
10
11CISCO-FCC-MIB DEFINITIONS ::= BEGIN
12
13IMPORTS
14        MODULE-IDENTITY,
15        OBJECT-TYPE,
16        NOTIFICATION-TYPE,
17        Counter32,Integer32
18                FROM SNMPv2-SMI
19        MODULE-COMPLIANCE, OBJECT-GROUP,NOTIFICATION-GROUP
20                FROM SNMPv2-CONF
21        TruthValue,TimeStamp, TEXTUAL-CONVENTION
22                FROM SNMPv2-TC
23        ciscoMgmt
24                FROM CISCO-SMI
25        ifIndex
26                FROM IF-MIB
27        FcAddressId, VsanIndex
28                FROM CISCO-ST-TC;
29
30ciscoFCCMIB MODULE-IDENTITY
31        LAST-UPDATED        "200407080000Z"
32        ORGANIZATION        "Cisco Systems, Inc."
33        CONTACT-INFO
34                "       Cisco Systems
35                        Customer Service
36
37                Postal 170 W Tasman Drive
38                        San Jose, CA  95134
39                        USA
40
41                   Tel +1 800 553-NETS
42
43                E-mail cs-san@cisco.com"
44
45        DESCRIPTION
46                "The MIB module for the management of Fibre Channel
47                 Congestion Control(FCC). FCC is a Cisco proprietary
48                 flow control mechanism that alleviates congestion
49                 on Fibre Channel networks. This MIB enables managers
50                 to configure the FCC mechanism on the switch, provides
51                 statistics of the congestion control packets,
52                 notification of congestion state changes of the
53                 FC port and monitoring of the congestion state of
54                 the FC port."
55        REVISION  "200407080000Z"
56        DESCRIPTION
57                "Added the following objects to the 'cFCCPortTable' :
58                  - 'cFCCLastCongestionStartTime'  and
59                  - 'cFCCIsRateLimitingApplied'."
60        REVISION  "200402250000Z"
61        DESCRIPTION
62                "Changed the cFCCNotificationEnable DEFVAL to 'false'
63                 instead of 1."
64        REVISION  "200308060000Z"
65        DESCRIPTION
66                "Changed cFCCCongestionSourceID and
67                 cFCCCongestionDestinationID to be FC_IDs
68                 instead of WWNs and added
69                 cFCCCongestionNotifyVSANIndex"
70        REVISION  "200305260000Z"
71        DESCRIPTION
72                "Initial version of this MIB."
73        ::= { ciscoMgmt 365 }
74
75--
76-- FCC-MIB object definitions
77--
78
79ciscoFCCMIBNotifs       OBJECT IDENTIFIER ::=  { ciscoFCCMIB 0 }
80ciscoFCCMIBObjects      OBJECT IDENTIFIER ::=  { ciscoFCCMIB 1 }
81ciscoFCCMIBConformance  OBJECT IDENTIFIER ::=  { ciscoFCCMIB 2 }
82
83cFCCConfig              OBJECT IDENTIFIER ::= { ciscoFCCMIBObjects 1 }
84cFCCPortEntries         OBJECT IDENTIFIER ::= { ciscoFCCMIBObjects 2 }
85cFCCNotifObjects        OBJECT IDENTIFIER ::= { ciscoFCCMIBObjects 3 }
86
87--
88-- Textual Conventions
89--
90
91CiscoFCCCongestionState ::= TEXTUAL-CONVENTION
92        STATUS   current
93        DESCRIPTION
94           "The FCC Congestion state. This is to indicate the severity
95            of the Congestion
96
97                 noCongestion(1)       - No Congestion
98                 Congested(2)          - Congested
99                 SeverelyCongested(3)  - Severely Congested."
100        SYNTAX         INTEGER {
101                          noCongestion(1),
102                          congested (2),
103                          severelyCongested(3)
104                        }
105
106--
107-- FCC Configuration
108--
109
110cFCCEnable OBJECT-TYPE
111        SYNTAX         INTEGER {
112                          enable(1),
113                          disable(2)
114                       }
115        MAX-ACCESS     read-write
116        STATUS         current
117        DESCRIPTION
118           "To enable/disable FCC on the device."
119        DEFVAL { disable }
120        ::= { cFCCConfig 1 }
121
122cFCCPacketPriority OBJECT-TYPE
123        SYNTAX         Integer32(0..7)
124        MAX-ACCESS     read-write
125        STATUS         current
126        DESCRIPTION
127           "The traffic Priority for the  FCC packets. The generated
128            FCC quench packets should be granted high, but not
129            highest priority, so that the FCC packet priority
130            is higher than the normal data traffic priority but lower
131            than control and critical traffic priority.  This ensures
132            that the packets of the protocols guaranteeing the
133            proper behavior of the fabric are not disturbed by
134            quench packets.
135
136            0 is the lowest priority and 7 is the highest."
137        DEFVAL { 4 }
138        ::= { cFCCConfig 2 }
139
140cFCCNotificationEnable OBJECT-TYPE
141        SYNTAX         TruthValue
142        MAX-ACCESS     read-write
143        STATUS         current
144        DESCRIPTION
145                "This object specifies whether the agent should
146                 generate the notifications defined in this MIB
147                 module.
148                 If the value of this object is 'true', then the
149                 notifications are generated.
150                 If the value of this object is 'false', then the
151                 notifications are not generated."
152        DEFVAL { false }
153        ::= { cFCCConfig 3 }
154
155--
156-- FCC Port Data
157--
158
159cFCCPortTable OBJECT-TYPE
160        SYNTAX         SEQUENCE OF CFCCPortEntry
161        MAX-ACCESS     not-accessible
162        STATUS         current
163        DESCRIPTION
164           "A table providing statistics and status for FCC
165            on a per FC Port basis."
166        ::= { cFCCPortEntries 1 }
167
168cFCCPortEntry OBJECT-TYPE
169        SYNTAX      CFCCPortEntry
170        MAX-ACCESS  not-accessible
171        STATUS      current
172        DESCRIPTION
173           "Each entry contains the FCC statistics and
174            status for a particular FC port identified
175            by the value of ifIndex."
176        INDEX { ifIndex
177              }
178        ::= { cFCCPortTable 1 }
179
180CFCCPortEntry::=
181        SEQUENCE {
182           cFCCEdgeQuenchPktsRecd          Counter32,
183           cFCCEdgeQuenchPktsSent          Counter32,
184           cFCCPathQuenchPktsRecd          Counter32,
185           cFCCPathQuenchPktsSent          Counter32,
186           cFCCCurrentCongestionState      CiscoFCCCongestionState,
187           cFCCLastCongestedTime           TimeStamp,
188           cFCCLastCongestionStartTime     TimeStamp,
189           cFCCIsRateLimitingApplied       TruthValue
190}
191
192cFCCEdgeQuenchPktsRecd OBJECT-TYPE
193        SYNTAX      Counter32
194        MAX-ACCESS  read-only
195        STATUS      current
196        DESCRIPTION
197           "The number of Edge Quench packets received and processed
198            on this Port."
199        ::= { cFCCPortEntry 1 }
200
201cFCCEdgeQuenchPktsSent OBJECT-TYPE
202        SYNTAX         Counter32
203        MAX-ACCESS     read-only
204        STATUS         current
205        DESCRIPTION
206           "The number of Edge Quench packets generated on this
207            Port as result of congestion."
208        ::= { cFCCPortEntry 2 }
209
210cFCCPathQuenchPktsRecd OBJECT-TYPE
211        SYNTAX         Counter32
212        MAX-ACCESS     read-only
213        STATUS         current
214        DESCRIPTION
215           "The number of Path Quench packets recieved and processed
216            on this Port."
217        ::= { cFCCPortEntry 3 }
218
219cFCCPathQuenchPktsSent OBJECT-TYPE
220        SYNTAX         Counter32
221        MAX-ACCESS     read-only
222        STATUS         current
223        DESCRIPTION
224           "The number of Path Quench packets generated on this
225            Port as result of congestion."
226        ::= { cFCCPortEntry 4 }
227
228cFCCCurrentCongestionState OBJECT-TYPE
229        SYNTAX      CiscoFCCCongestionState
230        MAX-ACCESS  read-only
231        STATUS      current
232        DESCRIPTION
233           "The current FCC congestion state of this Port indicating the
234            severity of the congestion."
235        ::= { cFCCPortEntry 5 }
236
237cFCCLastCongestedTime OBJECT-TYPE
238        SYNTAX      TimeStamp
239        MAX-ACCESS  read-only
240        STATUS      current
241        DESCRIPTION
242           "The value of sysUpTime at the most recent time the
243            congestion state of the Port changed to noCongestion(1)
244            from some other value.  0 if the congestion state of
245            the Port has never transitioned to noCongestion(1)
246            since the last restart of the device."
247        ::= { cFCCPortEntry 6 }
248
249cFCCLastCongestionStartTime OBJECT-TYPE
250        SYNTAX      TimeStamp
251        MAX-ACCESS  read-only
252        STATUS      current
253        DESCRIPTION
254           "The value of sysUpTime at the most recent time the
255            congestion state (value of corresponding instance of
256            'cFCCCurrentCongestionState') of the Port changed from
257            'noCongestion' to some other value. 0 if the congestion
258            state of the Port has never transitioned from
259            'noCongestion' to  some other value  since the last
260            restart of the device."
261        ::= { cFCCPortEntry 7 }
262
263cFCCIsRateLimitingApplied OBJECT-TYPE
264        SYNTAX         TruthValue
265        MAX-ACCESS     read-only
266        STATUS         current
267        DESCRIPTION
268                "The value of this object indicates if the rate
269                 limiting is currently being applied on this Port.
270                 If the value of this object is 'true', the rate
271                 limiting is currently being applied on this
272                 Port. If the value of this object is 'false', the
273                 rate limiting is not being applied currently on
274                 this Port."
275        ::= { cFCCPortEntry 8 }
276
277--
278-- Objects for notification  only
279--
280
281cFCCCongestionSourceID OBJECT-TYPE
282        SYNTAX         FcAddressId
283        MAX-ACCESS     accessible-for-notify
284        STATUS         current
285        DESCRIPTION
286           "The FC_ID associated with the Source causing
287            the congestion. The value is extracted from
288            the FCC congestion quench packet."
289        ::= { cFCCNotifObjects 1 }
290
291cFCCCongestionDestinationID OBJECT-TYPE
292        SYNTAX         FcAddressId
293        MAX-ACCESS     accessible-for-notify
294        STATUS         current
295        DESCRIPTION
296           "The  FC_ID associated with the Destination that
297            is part of Source-Destination Flow causing the
298            congestion. The value is extracted from the
299            FCC congestion quench packet."
300        ::= { cFCCNotifObjects 2 }
301
302cFCCCongestionNotifyVSANIndex OBJECT-TYPE
303        SYNTAX         VsanIndex
304        MAX-ACCESS     accessible-for-notify
305        STATUS         current
306        DESCRIPTION
307           "Id of the VSAN containing the Source-Destination
308           flow causing the congestion. The value is extracted
309           from the FCC congestion quench packet. This along
310           with cFCCCongestionSourceID and
311           cFCCCongestionDestinationID gives the Flow causing
312           the congestion."
313        ::= { cFCCNotifObjects 3 }
314
315cFCCCongestionState OBJECT-TYPE
316        SYNTAX         CiscoFCCCongestionState
317        MAX-ACCESS     accessible-for-notify
318        STATUS         current
319        DESCRIPTION
320           "This is to indicate the congestion state of the port."
321        ::= { cFCCNotifObjects 4 }
322
323--
324-- Notifications
325--
326
327ciscoFCCCongestionStateChange NOTIFICATION-TYPE
328        OBJECTS        {ifIndex ,
329                        cFCCCongestionState}
330        STATUS         current
331        DESCRIPTION
332           "Notification to indicate that the congestion state of
333            this port has changed. cFCCCongestionState indicates
334            the new state of the port."
335        ::= { ciscoFCCMIBNotifs 1 }
336
337ciscoFCCCongestionRateLimitStart NOTIFICATION-TYPE
338        OBJECTS        {ifIndex,
339                        cFCCCongestionSourceID,
340                        cFCCCongestionDestinationID,
341                        cFCCCongestionNotifyVSANIndex}
342        STATUS         current
343        DESCRIPTION
344           "Notification to indicate that the rate limiting has
345            begun on this port for a source-destination pair."
346        ::= { ciscoFCCMIBNotifs 2 }
347
348ciscoFCCCongestionRateLimitEnd NOTIFICATION-TYPE
349        OBJECTS        {ifIndex,
350                        cFCCCongestionSourceID,
351                        cFCCCongestionDestinationID,
352                        cFCCCongestionNotifyVSANIndex}
353        STATUS         current
354        DESCRIPTION
355           "Notification to indicate that the rate limiting has
356            been stopped on this port for a source-destination
357            pair."
358        ::= { ciscoFCCMIBNotifs 3 }
359
360--
361-- Conformance
362--
363
364ciscoFCCMIBCompliances OBJECT IDENTIFIER ::= {ciscoFCCMIBConformance 1}
365ciscoFCCMIBGroups      OBJECT IDENTIFIER ::= {ciscoFCCMIBConformance 2}
366
367ciscoFCCMIBCompliance MODULE-COMPLIANCE
368        STATUS         deprecated -- superseded by
369                                  -- ciscoFCCMIBComplianceRev1
370        DESCRIPTION
371           "The compliance statement for entities which implement the
372           CISCO-FCC-MIB."
373        MODULE
374          MANDATORY-GROUPS {cFCCConfigurationGroup,
375                            cFCCPortEntriesGroup,
376                            cFCCNotificationObjectsGroup,
377                            cFCCNotificationGroup}
378
379          ::= { ciscoFCCMIBCompliances 1 }
380
381ciscoFCCMIBComplianceRev1 MODULE-COMPLIANCE
382        STATUS         current
383        DESCRIPTION
384           "The compliance statement for entities which implement the
385           CISCO-FCC-MIB."
386        MODULE
387          MANDATORY-GROUPS {cFCCConfigurationGroup,
388                            cFCCPortEntriesGroupRev1,
389                            cFCCNotificationObjectsGroup,
390                            cFCCNotificationGroup}
391
392          ::= { ciscoFCCMIBCompliances 2 }
393
394--
395-- Units of Conformance
396--
397
398cFCCConfigurationGroup  OBJECT-GROUP
399        OBJECTS        {cFCCEnable,
400                        cFCCPacketPriority,
401                        cFCCNotificationEnable}
402        STATUS         current
403        DESCRIPTION
404           "A collection of objects for FCC configuration."
405        ::= { ciscoFCCMIBGroups 1 }
406
407cFCCPortEntriesGroup  OBJECT-GROUP
408        OBJECTS        {cFCCEdgeQuenchPktsRecd,
409                        cFCCEdgeQuenchPktsSent,
410                        cFCCPathQuenchPktsRecd,
411                        cFCCPathQuenchPktsSent,
412                        cFCCCurrentCongestionState,
413                        cFCCLastCongestedTime}
414        STATUS         deprecated
415        DESCRIPTION
416           "A collection of objects for FCC Statistics and Status."
417        ::= { ciscoFCCMIBGroups 2 }
418
419cFCCNotificationObjectsGroup OBJECT-GROUP
420        OBJECTS        {cFCCCongestionDestinationID,
421                        cFCCCongestionSourceID,
422                        cFCCCongestionNotifyVSANIndex,
423                        cFCCCongestionState}
424        STATUS         current
425        DESCRIPTION
426           "A collection of objects defined for notification only."
427        ::= { ciscoFCCMIBGroups 3 }
428
429cFCCNotificationGroup  NOTIFICATION-GROUP
430        NOTIFICATIONS  {ciscoFCCCongestionStateChange,
431                        ciscoFCCCongestionRateLimitStart,
432                        ciscoFCCCongestionRateLimitEnd}
433        STATUS         current
434        DESCRIPTION
435           "A collection of notifications for Congestion Monitoring."
436        ::= { ciscoFCCMIBGroups 4 }
437
438cFCCPortEntriesGroupRev1  OBJECT-GROUP
439        OBJECTS        {cFCCEdgeQuenchPktsRecd,
440                        cFCCEdgeQuenchPktsSent,
441                        cFCCPathQuenchPktsRecd,
442                        cFCCPathQuenchPktsSent,
443                        cFCCCurrentCongestionState,
444                        cFCCLastCongestedTime,
445                        cFCCLastCongestionStartTime,
446                        cFCCIsRateLimitingApplied}
447        STATUS         current
448        DESCRIPTION
449           "A collection of objects for FCC Statistics and Status."
450        ::= { ciscoFCCMIBGroups 5 }
451
452END
453
454