1 T11-FC-FABRIC-LOCK-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE,
5 mib-2 FROM SNMPv2-SMI -- [RFC2578]
6 RowStatus FROM SNMPv2-TC -- [RFC2579]
7 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
8 InetAddressType, InetAddress FROM
9 INET-ADDRESS-MIB -- [RFC4001]
10 fcmInstanceIndex, fcmSwitchIndex FROM FC-MGMT-MIB -- [RFC4044]
11 T11NsGs4RejectReasonCode FROM
12 T11-FC-NAME-SERVER-MIB -- [RFC4438]
13 T11FabricIndex FROM T11-TC-MIB; -- [RFC4439]
15 t11FabricLockMIB MODULE-IDENTITY
16 LAST-UPDATED "200706270000Z"
17 ORGANIZATION "For the initial versions, T11.
18 For later versions, the IETF's IMSS Working Group."
23 San Jose, CA 95134 USA
32 San Jose, CA 95134 USA
36 "The MIB module for the management of locks on a Fibre
37 Channel Fabric. A Fibre Channel Fabric lock is used to
38 ensure serialized access to some types of management data
39 related to a Fabric, e.g., the Fabric's Zoning Database.
41 Some (managing) applications generate Fabric locks by
42 initiating server sessions. Server sessions are
43 defined generically in FC-GS-5 to represent a collection of
44 one or more requests to the session's server, e.g., to the
45 Zone Server. Such a session is started by a Server Session
46 Begin (SSB) request, and terminated by a Server Session End
47 (SSE) request. The switch receiving the SSB is called the
48 'managing' switch. Some applications require the
49 'managing' switch to lock the Fabric for the particular
50 application, e.g., for Enhanced Zoning, before it can
51 respond successfully to the SSB. On receipt of the
52 subsequent SSE, the lock is released. For this usage, the
53 managing switch sends an Acquire Change Authorization (ACA)
54 request to other switches to lock the Fabric.
56 For some other applications, a managing switch locks the
57 Fabric using an Enhanced Acquire Change Authorization (EACA)
58 request, which identifies the application on whose behalf
59 the Fabric is being locked with an Application_ID.
61 Fabric locks can also be requested more directly, e.g.,
62 through the use of this MIB. In these situations, the term
63 'managing' switch is used to indicate the switch that
64 receives such a request and executes it by issuing either
65 ACA or EACA requests to other switches in the Fabric.
67 This MIB module defines information about the 'managing'
68 switch for currently-active Fabric locks.
70 Copyright (C) The IETF Trust (2007). This version
71 of this MIB module is part of RFC 4936; see the RFC
72 itself for full legal notices."
73 REVISION "200706270000Z"
75 "Initial version of this MIB module, published as RFC 4936."
81 t11FLockMIBObjects OBJECT IDENTIFIER ::= { t11FabricLockMIB 1 }
82 t11FLockMIBConformance OBJECT IDENTIFIER ::= { t11FabricLockMIB 2 }
83 t11FLockMIBNotifications OBJECT IDENTIFIER ::= { t11FabricLockMIB 0 }
84 t11FLockConfiguration OBJECT IDENTIFIER ::= { t11FLockMIBObjects 1 }
87 -- The table of Managing Switches and their Fabric Locks
90 t11FLockTable OBJECT-TYPE
91 SYNTAX SEQUENCE OF T11FLockEntry
92 MAX-ACCESS not-accessible
95 "A table containing information about the 'managing'
96 switch of each current Fabric lock, e.g., for the
97 types of Servers defined in FC-GS-5.
99 Each entry in this table represents either:
101 1) a current Fabric lock,
102 2) an in-progress attempt, requested via SNMP, to set up
104 3) a failed attempt, requested via SNMP, to set up a lock.
106 If an entry is created via t11FLockRowStatus, but the
107 attempt to obtain the lock fails, then the entry continues
108 to exist until it is deleted via t11FLockRowStatus, or
109 it is overwritten by the lock being established via
110 a means other than SNMP. However, rows created via
111 t11FLockRowStatus are not retained over restarts."
113 "Fibre Channel - Generic Services-5 (FC-GS-5),
114 ANSI INCITS 427-2007, sections 4.9.5 and 6.4.10.2."
115 ::= { t11FLockConfiguration 1 }
117 t11FLockEntry OBJECT-TYPE
119 MAX-ACCESS not-accessible
122 "Each entry contains information specific to a current
123 Fabric lock set up by a particular 'managing' switch on a
124 particular Fabric. The 'managing switch' is identified by
125 values of fcmInstanceIndex and fcmSwitchIndex.
127 Server sessions for several different types of servers
128 are defined in FC-GS-5. The behavior of a server with
132 respect to commands received within a server session is
133 specified for each type of server. For some types,
134 parameter changes can only be made within the context of a
135 session, and the setting up of a session requires that the
136 Fabric be locked. A Fabric is locked by one switch, called
137 the 'managing' switch, sending Acquire Change Authorization
138 (ACA) requests to all other switches in the Fabric.
140 For other applications, a Fabric lock is established by the
141 'managing' switch sending Enhanced Acquire Change
142 Authorization (EACA) requests to other switches in the
143 Fabric. Each EACA request includes an Application_ID
144 value to identify the application requesting the lock.
146 For the benefit of this MIB module, a distinct value of
147 Application_ID has also been assigned/reserved (see
148 ANSI INCITS T11/06-679v0, titled 'FC-SW-5 Letter to
149 T11.5') as a means of distinguishing locks established via
150 Acquire Change Authorization (ACA) requests. This
151 additional assignment allows an Application_ID to be used to
152 uniquely identify any active lock amongst all those
153 established by either an EACA or an ACA.
155 Whenever a Fabric is locked, by the sending of either an ACA
156 or an EACA, a row gets created in the representation of this
157 table for the 'managing' switch.
159 In order to process SNMP SetRequests that make parameter
160 changes for the relevant types of servers (e.g., to the
161 Zoning Database), the SNMP agent must get serialized access
162 to the Fabric (for the relevant type of management data),
163 i.e., the Fabric must be locked by creating an entry in
164 this table via an SNMP SetRequest. Creating an entry in
165 this table via an SNMP SetRequest causes an ACA or an EACA
166 to be sent to all other switches in the Fabric. The value
167 of t11FLockApplicationID for such an entry determines
168 whether an ACA or an EACA is sent.
170 If an entry in this table is created by an SNMP SetRequest,
171 the value of the t11FLockInitiatorType object in that entry
172 will normally be 'snmp'. A row for which the value of
173 t11FLockInitiatorType is not 'snmp' cannot be modified
174 via SNMP. In particular, it cannot be deleted via
175 t11FLockRowStatus. Note that it's possible for a row to be
176 created by an SNMP SetRequest, but for the setup of the lock
177 to fail, and immediately thereafter be replaced by a lock
178 successfully set up by some other means; in such a case, the
179 value of t11FLockInitiatorType would change as and when the
183 lock was set up by the other means, and so the row could
184 not thereafter be deleted via t11FLockRowStatus.
186 FC-GS-5 mentions various error situations in which a
187 Fabric lock is released so as to avoid a deadlock. In
188 such situations, the agent removes the corresponding row
189 in this table as and when the lock is released. This can
190 happen for all values of t11FLockInitiatorType."
192 "Fibre Channel - Generic Services-5 (FC-GS-5),
193 ANSI INCITS 427-2007, sections 4.9.5.5 and 6.4.7.1.
195 Fibre Channel - Switch Fabric-4 (FC-SW-4),
196 ANSI INCITS 418-2006, sections 6.1.17, 10.6.6, and 13.2,
199 'FC-SW-5 Letter to T11.5' ANSI INCITS T11/06-679v0,
200 http://www.t11.org/ftp/t11/pub/fc/sw-5/06-679v0.pdf,
202 INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FLockFabricIndex,
203 t11FLockApplicationID }
204 ::= { t11FLockTable 1 }
206 T11FLockEntry ::= SEQUENCE {
207 t11FLockFabricIndex T11FabricIndex,
208 t11FLockApplicationID OCTET STRING,
209 t11FLockInitiatorType INTEGER,
210 t11FLockInitiator OCTET STRING,
211 t11FLockInitiatorIpAddrType InetAddressType,
212 t11FLockInitiatorIpAddr InetAddress,
213 t11FLockStatus INTEGER,
214 t11FLockRejectReasonCode T11NsGs4RejectReasonCode,
215 t11FLockRejectReasonCodeExp OCTET STRING,
216 t11FLockRejectReasonVendorCode OCTET STRING,
217 t11FLockRowStatus RowStatus
220 t11FLockFabricIndex OBJECT-TYPE
221 SYNTAX T11FabricIndex
222 MAX-ACCESS not-accessible
225 "A unique index value that uniquely identifies a
228 In a Fabric conformant to FC-SW-4, multiple Virtual Fabrics
229 can operate within one (or more) physical infrastructures,
230 and this index value is used to uniquely identify a
234 particular (physical or virtual) Fabric within a physical
237 In a Fabric conformant to versions earlier than FC-SW-4,
238 only a single Fabric could operate within a physical
239 infrastructure, and thus, the value of this Fabric Index
240 was defined to always be 1."
241 ::= { t11FLockEntry 1 }
243 t11FLockApplicationID OBJECT-TYPE
244 SYNTAX OCTET STRING (SIZE (1))
245 MAX-ACCESS not-accessible
248 "The Application_ID value that identifies the type of
249 application for which the Fabric is locked.
251 A lock established via Acquire Change Authorization (ACA)
252 does not, strictly speaking, have an Application_ID value.
253 However, the value 'FF'h (255 decimal) has been reserved
254 by T11 to be used as the value of this MIB object as and
255 when a lock is established by an ACA. This value was
256 initially documented in a letter from the FC-SW-5 Editor
257 to T11.5, which was approved by the T11 and T11.5 plenary
258 meetings on October 5, 2006."
260 "Fibre Channel - Switch Fabric-4 (FC-SW-4),
261 ANSI INCITS 418-2006, April 2006, Table 116.
263 'FC-SW-5 Letter to T11.5' ANSI INCITS T11/06-679v0,
264 http://www.t11.org/ftp/t11/pub/fc/sw-5/06-679v0.pdf,
266 ::= { t11FLockEntry 2 }
268 t11FLockInitiatorType OBJECT-TYPE
278 "This object specifies what type of initiator generated
279 the request that caused this lock to be established:
281 other - none of the following.
285 ssb - this lock was established due to the
286 receipt of an SSB, e.g., from a GS-5
288 cli - this lock was established in order
289 to process a Command Line Interface
291 snmp - this lock was established as a result
292 of an SNMP SetRequest.
294 ::= { t11FLockEntry 3 }
296 t11FLockInitiator OBJECT-TYPE
297 SYNTAX OCTET STRING (SIZE(0..64))
301 "This object specifies the initiator whose request
302 caused this lock to be established.
304 If the value of the corresponding instance
305 of t11FLockInitiatorType is 'ssb', this
306 object will contain the FC_ID of the client
307 that issued the Server Session Begin (SSB)
308 that required the lock to be established.
310 If the value of the corresponding instance
311 of t11FLockInitiatorType object is 'cli', this
312 object will contain the user name of the CLI
313 (Command Line Interface) user on whose behalf
314 the lock was established.
316 If the value of the corresponding instance of
317 t11FLockInitiatorType is 'snmp', this object
318 will contain the SNMP securityName used by the
319 SNMPv3 message containing the SetRequest that
320 created this row. (If the row was created via
321 SNMPv1 or SNMPv2c, then the appropriate value of
322 the snmpCommunitySecurityName is used.)"
324 "Fibre Channel - Generic Services-5 (FC-GS-5),
325 ANSI INCITS 427-2007, section 4.9.5.2.
327 SNMP securityName is defined in RFC 3411, 'An
328 Architecture for Describing Simple Network
329 Management Protocol (SNMP) Management Frameworks'.
331 snmpCommunitySecurityName is defined in RFC 3584,
332 'Coexistence between Version 1, Version 2, and
336 Version 3 of the Internet-standard Network
337 Management Framework.'"
338 ::= { t11FLockEntry 4 }
340 t11FLockInitiatorIpAddrType OBJECT-TYPE
341 SYNTAX InetAddressType
345 "This object specifies the type of IP address contained
346 in the corresponding instance of t11FLockInitiatorIpAddr.
347 If the IP address of the location of the initiator is
348 unknown or not applicable, this object has the value:
350 ::= { t11FLockEntry 5 }
352 t11FLockInitiatorIpAddr OBJECT-TYPE
357 "This object specifies the IP address of the location
358 of the initiator that established this lock via a
359 request of the type given by the corresponding instance
360 of t11FLockInitiatorType. In cases where the
361 corresponding instance of t11FLockInitiatorIpAddrType has
362 the value: 'unknown', the value of this object is the
364 ::= { t11FLockEntry 6 }
366 t11FLockStatus OBJECT-TYPE
376 "This object gives the current status of the lock:
378 'active' -- the lock is currently established.
379 'settingUp' -- the 'managing' switch is currently
380 attempting to set up the lock, e.g.,
381 it is waiting to receive Accepts
382 for ACAs from every switch in the
387 'rejectFailure' -- the 'managing' switch's attempt to
388 set up the lock was rejected with
389 the reason codes given by:
390 t11FLockRejectReasonCode,
391 t11FLockRejectReasonCodeExp and
392 t11FLockRejectReasonVendorCode.
393 'otherFailure' -- the 'managing' switch's attempt
394 to set up the lock failed (but no
395 reason codes are available).
397 For values of t11FLockInitiatorType other than 'snmp',
398 a row is only required to be instantiated in this table
399 when the value of this object is 'active'.
401 If the value of the corresponding instance of
402 t11FLockInitiatorType is 'snmp', the initial value of this
403 object when the row is first created is 'settingUp'. As
404 and when the setup succeeds, the value transitions to
405 'active'. If the setup fails, the value transitions to
406 either 'rejectFailure' or 'otherFailure'. Note that such a
407 failure value is overwritten on the next attempt to obtain
408 the lock, which could be immediately after the failure,
409 e.g., by a GS-5 client.
411 When the value of this object is 'rejectFailure', the
412 rejection's reason codes are given by the corresponding
413 values of t11FLockRejectReasonCode,
414 t11FLockRejectReasonCodeExp and
415 t11FLockRejectReasonVendorCode."
416 ::= { t11FLockEntry 7 }
418 t11FLockRejectReasonCode OBJECT-TYPE
419 SYNTAX T11NsGs4RejectReasonCode
423 "When the value of the corresponding instance of
424 t11FLockStatus is 'rejectFailure', this object contains
425 the rejection's reason code."
427 "Fibre Channel - Generic Services-5 (FC-GS-5),
428 ANSI INCITS 427-2007, section 4.4.4 and table 10."
429 ::= { t11FLockEntry 8 }
431 t11FLockRejectReasonCodeExp OBJECT-TYPE
432 SYNTAX OCTET STRING (SIZE(0 | 1))
439 "When the value of the corresponding instance of
440 t11FLockStatus is 'rejectFailure', this object contains
441 the rejection's reason code explanation."
443 "Fibre Channel - Generic Services-5 (FC-GS-5),
444 ANSI INCITS 427-2007, sections 4.4.4 and 6.4.9,
446 ::= { t11FLockEntry 9 }
448 t11FLockRejectReasonVendorCode OBJECT-TYPE
449 SYNTAX OCTET STRING (SIZE(0 | 1))
453 "When the value of the corresponding instance of
454 t11FLockStatus is 'rejectFailure', this object contains
455 the rejection's vendor-specific code."
457 "Fibre Channel - Generic Services-5 (FC-GS-5),
458 ANSI INCITS 427-2007, section 4.4.4."
459 ::= { t11FLockEntry 10 }
461 t11FLockRowStatus OBJECT-TYPE
463 MAX-ACCESS read-create
466 "The status of this conceptual row.
468 A row in this table can be modified or deleted via
469 this object only when the row's value of
470 t11FLockInitiatorType is 'snmp'."
471 ::= { t11FLockEntry 11 }
475 t11FLockMIBCompliances
476 OBJECT IDENTIFIER ::= { t11FLockMIBConformance 1 }
477 t11FLockMIBGroups OBJECT IDENTIFIER ::= { t11FLockMIBConformance 2 }
479 t11FLockMIBCompliance MODULE-COMPLIANCE
482 "The compliance statement for entities that support
483 Fabric locks in support of GS-5 Server applications."
484 MODULE MANDATORY-GROUPS { t11FLockActiveGroup }
489 OBJECT t11FLockRowStatus
492 "Write access is not required."
494 ::= { t11FLockMIBCompliances 1 }
496 -- Units of Conformance
498 t11FLockActiveGroup OBJECT-GROUP
499 OBJECTS { t11FLockInitiatorType,
501 t11FLockInitiatorIpAddrType,
502 t11FLockInitiatorIpAddr,
504 t11FLockRejectReasonCode,
505 t11FLockRejectReasonCodeExp,
506 t11FLockRejectReasonVendorCode,
511 "A collection of objects containing information
512 about current Fabric locks."
513 ::= { t11FLockMIBGroups 1 }