Network Working Group
Request for Comments: 4439
Category: Standards Track
C. DeSanti
V. Gaonkar
K. McCloghrie
Cisco Systems
S. Gai
Retired
March 2006

Fibre Channel Fabric Address Manager MIB

Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

Copyright © The Internet Society (2006).

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for information related to a Fibre Channel network's Fabric Address Manager.

Table of Contents

   1. Introduction ....................................................3
   2. The Internet-Standard Management Framework ......................3
   3. Short Overview of Fibre Channel .................................3
   4. Relationship to Other MIBs ......................................4
   5. MIB Overview ....................................................5
      5.1. Fibre Channel Management Instance ..........................5
      5.2. Switch Index ...............................................5
      5.3. Fabric Index ...............................................5
      5.4. The t11FamGroup Group ......................................6
      5.5. The t11FamDatabaseGroup Group ..............................6
      5.6. The t11FamAreaGroup Group ..................................6
      5.7. The t11FamCacheGroup Group .................................6
      5.8. The t11FamCommandGroup Group ...............................6
      5.9. The t11FamNotificationGroup Group ..........................6
      5.10. Use of RCF and BF .........................................6
   6. Definitions .....................................................8
      6.1. The T11-TC-MIB Module ......................................8
      6.2. The T11-FC-FABRIC-ADDR-MGR-MIB Module ......................9
   7. Acknowledgements ...............................................35
   8. Normative References ...........................................36
   9. Informative References .........................................36
   10. IANA Considerations ...........................................37
   11. Security Considerations .......................................37

1. Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for information related to a Fibre Channel network's Fabric Address Manager. Fabric Address Manager refers to the functionality of acquiring DomainID(s) as specified in [FC-SW-3], and managing Fibre Channel Identifiers as specified in [FC-FS].

2. The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].

3. Short Overview of Fibre Channel

The Fibre Channel (FC) is logically a bidirectional point-to-point serial data channel, structured for high performance. Fibre Channel provides a general transport vehicle for higher-level protocols such as Small Computer System Interface (SCSI) command sets, the High- Performance Parallel Interface (HIPPI) data framing, IP (Internet Protocol), IEEE 802.2, and others.

Physically, Fibre Channel is an interconnection of multiple communication points, called N_Ports, interconnected either by a switching network, called a Fabric, or by a point-to-point link. A Fibre Channel "node" consists of one or more N_Ports. A Fabric may consist of multiple Interconnect Elements, some of which are switches. An N_Port connects to the Fabric via a port on a switch called an F_Port. When multiple FC nodes are connected to a single port on a switch via an "Arbitrated Loop" topology, the switch port is called an FL_Port, and the nodes' ports are called NL_Ports. The term Nx_Port is used to refer to either an N_Port or an NL_Port. The term Fx_Port is used to refer to either an F_Port or an FL_Port. A switch port, which is interconnected to another switch port via an

Inter-Switch Link (ISL), is called an E_Port. A B_Port connects a bridge device with an E_Port on a switch; a B_Port provides a subset of E_Port functionality.

Many Fibre Channel components, including the Fabric, each node, and most ports, have globally-unique names. These globally-unique names are typically formatted as World Wide Names (WWNs). More information on WWNs can be found in [FC-FS]. WWNs are expected to be persistent across agent and unit resets.

Fibre Channel frames contain 24-bit address identifiers, which identify the frame's source and destination ports. Each FC port has both an address identifier and a WWN. When a Fabric is in use, the FC address identifiers are dynamically assigned by a switch. Each octet of a 24-bit address represents a level in an address hierarchy, with a Domain_ID being the highest level of the hierarchy.

Each switch in a Fabric is assigned one (or more) unique Domain_IDs using a two-step process. First, one switch, called Principal Switch, is selected from the switches of a Fabric. Then, the Principal Switch assigns Domain_IDs to the other switches of the Fabric. Address assignment within a domain is performed by the switch to which that Domain_ID is granted.

4. Relationship to Other MIBs

The first standardized MIB for Fibre Channel [RFC2837] was focused on Fibre Channel switches. It is being replaced by the more generic Fibre Channel Management MIB [FC-MGMT], which defines basic information for Fibre Channel hosts and switches, including extensions to the standard IF-MIB [IF-MIB] for Fibre Channel interfaces. [FC-MGMT] includes the specification of how the generic objects defined in [IF-MIB] apply to Fibre Channel interfaces.

Note that an interface's ifIndex value must be unique within an SNMP context, irrespective of how many Fibre Channel management instances (see below) and how many Fibre Channel switches are instrumented within that SNMP context.

This document defines the T11-FC-FABRIC-ADDR-MGR-MIB module, which extends beyond [FC-MGMT] to cover the functionality, in Fibre Channel switches, which is used to manage Fabric configuration, domains, and addresses within a domain.

This document also contains a MIB module, T11-TC-MIB, to define textual conventions that might also be useful in other MIBs defined by T11.

5. MIB Overview

This section explains the use of a Fibre Channel management instance, a Switch Index, and a Fabric Index. It also describes the six MIB groups contained in the MIB.

5.1. Fibre Channel Management Instance

A Fibre Channel management instance is defined in [FC-MGMT] as a separable managed instance of Fibre Channel functionality. Fibre Channel functionality may be grouped into Fibre Channel management instances in whatever way is most convenient for the implementation(s). For example, one such grouping accommodates a single SNMP agent having multiple AgentX sub-agents, with each sub- agent implementing a different Fibre Channel management instance.

The object, fcmInstanceIndex, is IMPORTed from the FC-MGMT-MIB [FC-MGMT] as the index value to uniquely identify a Fibre Channel management instance.

5.2. Switch Index

The FC-MGMT-MIB [FC-MGMT] defines the fcmSwitchTable as a table of information about Fibre Channel switches that are managed by Fibre Channel management instances. Each Fibre Channel management instance can manage one or more Fibre Channel switches. The Switch Index, fcmSwitchIndex, is IMPORTed from the FC-MGMT-MIB as the index value to uniquely identify a Fibre Channel switch amongst those (one or more) managed by the same Fibre Channel management instance.

5.3. Fabric Index

The [FC-SW-3] standard for an interconnecting Fabric consisting of multiple Fabric Switch elements describes the operation of a single Fabric in a physical infrastructure. The current [FC-SW-4] standard also supports the operation of multiple Virtual Fabrics operating within one (or more) physical infrastructures. In such a scenario, each Fabric has, of course, its own management instrumentation. In order to accommodate this scenario, this MIB module defines all Fabric-related information in tables that are INDEXed by an arbitrary integer, named a "Fabric Index". In a Fabric that is conformant to [FC-SW-3], the value of this Fabric Index will always be 1.

It is quite possible, and may even become likely, that (a port of) a Fibre Channel switch will be connected to multiple such Fabrics. Thus, in order to simplify a query concerning all the Fabrics to which a single switch is connected, fcmSwitchIndex will be listed before t11FamFabricIndex when they both appear in the same INDEX clause.

5.4. The t11FamGroup Group

This group contains basic information about the Fabric Address Manager functionality within a switch, including its configuration parameters that are per-interface (i.e., specified for a particular Fibre Channel interface identified by an ifIndex value).

5.5. The t11FamDatabaseGroup Group

This group contains information about which switches are assigned to which domains.

5.6. The t11FamAreaGroup Group

This group contains information about which Port-IDs have been assigned within the areas of the local domain.

5.7. The t11FamCacheGroup Group

This conditional mandatory group contains information about all the FC address identifier assignments that have been recently released. This cache is kept to support the concept of Preferred Domain_ID via a best-effort attempt for (short-term) re-assignment of the same FC address identifiers.

5.8. The t11FamCommandGroup Group

This optional group contains objects used for initiating an operation on a Fabric.

5.9. The t11FamNotificationGroup Group

This group contains notifications of significant events concerning the Fabric Address management functionality within a switch.

5.10. Use of RCF and BF

Included in [FC-SW-3] is the specification of Reconfigure Fabric (RCF) and Build Fabric (BF), both of which are command codes of the Switch Fabric Internal Link Service (SW_ILS). [FC-SW-3] includes the warning:

NOTE 13 - Since the RCF causes a complete reconfiguration of the Fabric, and may cause addresses allocated to a Switch to change, this SW_ILS should be used with caution. The BF SW_ILS allows the Fabric to attempt reconfiguration without loss of or change of address and therefore should be attempted before an RCF. Examples of situations in which RCF may be appropriate include resolution of overlapped Domains, or the failure of a Fabric Reconfiguration initiated by a BF.

Further, [FC-MI] specifies:

A Fabric is prohibited from autonomously generating an RCF, but an outside administrative function may request a switch to generate an RCF. Such an administrative function is outside the scope of this technical report.

The T11-FC-FABRIC-ADDR-MGR-MIB defined in this document is consistent with both of the above quotes since it defines two objects, t11FamAutoReconfigure and t11FamRestart, which are defined with a MAX-ACCESS of read-write, and setting them to the appropriate value is a means by which "an outside administrative function may request a switch to generate an RCF" [FC-MI].

Note, however, the MIB specifies in its compliance section that the minimum required level of support for these two objects is read-only.

Further, for both t11FamAutoReconfigure and t11FamRestart, the MIB serves only as a request to generate; it does not represent the action of the RCF or BF. That is, a successful SNMP SetRequest on these objects will cause an RCF (or BF) to be sent, but SNMP does not/cannot ensure the successful operation of the SW_ILS operation.

6. Definitions

6.1. The T11-TC-MIB Module

T11-TC-MIB DEFINITIONS ::= BEGIN

IMPORTS

    MODULE-IDENTITY, Unsigned32, mib-2
                                     FROM SNMPv2-SMI  -- [RFC2578]
    TEXTUAL-CONVENTION               FROM SNMPv2-TC;  -- [RFC2579]

t11TcMIB MODULE-IDENTITY

    LAST-UPDATED "200603020000Z"
    ORGANIZATION "T11"
    CONTACT-INFO
    
            "     Claudio DeSanti
                  Cisco Systems, Inc.
                  170 West Tasman Drive
                  San Jose, CA 95134 USA
                  Phone: +1 408 853-9172
                  EMail: cds@cisco.com
    
                  Keith McCloghrie
                  Cisco Systems, Inc.
                  170 West Tasman Drive
                  San Jose, CA USA 95134
                  Phone: +1 408-526-5260
                  EMail: kzm@cisco.com"
    DESCRIPTION
           "This module defines textual conventions used in T11 MIBs.
    
           Copyright © The Internet Society (2006).  This version
           of this MIB module is part of RFC 4439;  see the RFC
           itself for full legal notices."
    REVISION    "200603020000Z"
    DESCRIPTION
           "Initial version of this MIB module, published as RFC 4439."
    ::= { mib-2 136 }

T11FabricIndex ::= TEXTUAL-CONVENTION

    DISPLAY-HINT  "d"
    STATUS    current
    DESCRIPTION
           "A Fabric Index that is used as a unique
           index value to identify a particular Fabric within
           one (or more) physical infrastructures.

In an environment that is conformant to FC-SW-3, where

there is always exactly one Fabric in a single physical infrastructure, the value of this Fabric Index will always be 1.

However, the current standard, FC-SW-4, defines how multiple Fabrics, each with its own management instrumentation, could operate within one (or more) physical infrastructures. When such multiple Fabrics are in use, this index value is used to uniquely identify a particular Fabric within a physical infrastructure.

           Note that the value of this textual convention has a
           range of (0..4095) so as to be consistent with FC-SW-4,
           which says that a 'VF_ID Bitmap' is 512 bytes long, with
           the high-order bit representing VF_ID zero, and the
           low-order bit representing 4095."
    REFERENCE   "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
                 ANSI INCITS 418-2006, section 6.1.27.2.4."
    SYNTAX      Unsigned32 (0..4095)

END

6.2. The T11-FC-FABRIC-ADDR-MGR-MIB Module

T11-FC-FABRIC-ADDR-MGR-MIB DEFINITIONS ::= BEGIN

-- the Fibre Channel Fabric Address Manager MIB
--
-- for management of the functionality, in Fibre Channel switches,
-- which is used to manage fabric configuration, domains, and
-- addresses within a domain.
--

IMPORTS

    MODULE-IDENTITY, OBJECT-TYPE,
    NOTIFICATION-TYPE, Unsigned32,
    Counter32, Gauge32, mib-2          FROM SNMPv2-SMI   -- [RFC2578]
    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                 FROM SNMPv2-CONF  -- [RFC2580]
    TEXTUAL-CONVENTION, TruthValue,
    RowStatus                          FROM SNMPv2-TC    -- [RFC2579]
    ifIndex                            FROM IF-MIB       -- [IF-MIB]
    fcmInstanceIndex, fcmSwitchIndex,
    FcDomainIdOrZero, FcNameIdOrZero   FROM FC-MGMT-MIB  -- [FC-MGMT]
    T11FabricIndex                     FROM T11-TC-MIB;

t11FcFabricAddrMgrMIB MODULE-IDENTITY

    LAST-UPDATED "200603020000Z"
    ORGANIZATION "T11"
    CONTACT-INFO
            "     Claudio DeSanti
                  Cisco Systems, Inc.
                  170 West Tasman Drive
                  San Jose, CA 95134 USA
                  Phone: +1 408 853-9172
                  EMail: cds@cisco.com
    
                  Keith McCloghrie
                  Cisco Systems, Inc.
                  170 West Tasman Drive
                  San Jose, CA USA 95134
                  Phone: +1 408-526-5260
                  EMail: kzm@cisco.com"
    DESCRIPTION
           "The MIB module for the Fabric Address management
           functionality defined by the Fibre Channel standards.  For
           the purposes of this MIB, Fabric Address Manager refers to
           the functionality of acquiring DomainID(s) as specified in
           FC-SW-3, and managing Fibre Channel Identifiers as specified
           in FC-FS.  An instance of 'Fabric Address Manager' software
           functionality executes in the Principal Switch, and in each
           other switch.

After an agent reboot, the values of read-write objects defined in this MIB module are implementation-dependent.

           Copyright © The Internet Society (2006).  This version of
           this MIB module is part of RFC 4439;  see the RFC itself for
           full legal notices."
    REVISION    "200603020000Z"
    DESCRIPTION
           "Initial version of this MIB module, published as RFC 4439."
    ::= { mib-2 137 }

t11FamNotifications   OBJECT IDENTIFIER ::= { t11FcFabricAddrMgrMIB 0 }
t11FamMIBObjects      OBJECT IDENTIFIER ::= { t11FcFabricAddrMgrMIB 1 }
t11FamMIBConformance  OBJECT IDENTIFIER ::= { t11FcFabricAddrMgrMIB 2 }
t11FamConfiguration   OBJECT IDENTIFIER ::= { t11FamMIBObjects 1 }
t11FamInfo            OBJECT IDENTIFIER ::= { t11FamMIBObjects 2 }
t11FamNotifyControl   OBJECT IDENTIFIER ::= { t11FamMIBObjects 3 }

-- Textual Conventions

T11FamDomainPriority ::= TEXTUAL-CONVENTION

    DISPLAY-HINT  "d"
    STATUS    current
    DESCRIPTION
           "Priority of a switch.

The Principal Switch selection is influenced by the priority of the switches.

Some values of importance are:

           1   : The highest priority in Principal Switch
                 selection, which is used by the administrator
                 to establish which switch becomes the Principal
                 Switch.
           255 : Indicates that the switch is not capable of
                 acting as a Principal Switch."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, section 6.1.5."
    SYNTAX    Unsigned32 (1..255)

T11FamDomainInterfaceRole ::= TEXTUAL-CONVENTION

    STATUS    current
    DESCRIPTION
           "The 'designated' state/role of the Inter-Switch Link (ISL)
           to which an interface connects, or (if not connected)
           the state of the interface:
    
           nonPrincipal (1)       - non-Principal ISL
           principalUpstream (2)  - Upstream Principal ISL
           principalDownsteam (3) - Downstream Principal ISL
           isolated (4)           - interface is isolated
           down (5)               - interface is down
           unknown (6)            - state/role is unknown
           "
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, Sections 3.1, 5.7,
                 and Figure 9."
    SYNTAX    INTEGER {
                       nonPrincipal (1),
                       principalUpstream (2),
                       principalDownsteam (3),
                       isolated (4),
                       down (5),
                       unknown (6)
              }

T11FamState ::= TEXTUAL-CONVENTION

STATUS current

DESCRIPTION

"The state of the Fabric Address Manager, as described in Table 86 and Figure 15 of FC-SW-3.

- 'other' represents a switch that is in a state not

represented by any of the below enumerations.

  • 'starting' represents a switch engaged in the process represented by the first row in Table 86.

- 'unconfigured' represents a switch that requires

operator input before it can begin the process

represented by the first row in Table 86.

- 'principalSwitchSelection' represents a switch engaged

in the process represented by the second row in

Table 86, but not in states F0 or F1 of Figure 15.

  • 'domainIdDistribution' represents a switch engaged in the process represented by the third row in Table 86.
  • 'buildFabricPhase' represents a switch that is in state F0 of Figure 15.
  • 'reconfigureFabricPhase' represents a switch that is in state F1 of Figure 15.
  • 'stable' represents a switch that has successfully completed the process represented by the third row in Table 86 and has at least one E_Port.

- 'stableWithNoEports' represents a switch that has

successfully completed the process represented by the

third row in Table 86 but has no E_Ports.

  • 'noDomains' represents a switch that has completed the process represented by the third row in Table 86 but failed to obtain a Domain_ID.
  • 'disabled' represents any situation in which the corresponding instance of t11FamEnable has the value 'false'.
           - 'unknown' represents a switch that is confused about
             what state it is in."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, Table 86 and Figure 15."
    SYNTAX    INTEGER {
                       other(1),
                       starting(2),
                       unconfigured(3),
                       principalSwitchSelection(4),
                       domainIdDistribution(5),
                       buildFabricPhase(6),
                       reconfigureFabricPhase(7),
                       stable(8),
                       stableWithNoEports(9),
                       noDomains(10),
                       disabled(11),
                       unknown(12)
              }

--
-- t11FamTable
--

t11FamTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF T11FamEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains Fabric Address Manager related
           parameters that are able to be configured and monitored
           in a Fibre Channel switch.  For each of the switches
           (identified by fcmSwitchIndex) managed by a Fibre Channel
           management instance (identified by fcmInstanceIndex),
           there is any entry for each Fabric known to that switch.
           Entries are implicitly created/removed if and when
           additional Fabrics are created/deleted."
    ::= { t11FamConfiguration 1 }

t11FamEntry OBJECT-TYPE

    SYNTAX     T11FamEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry provides information on the local Fabric Address
           Manager functionality for a Fabric known to a
           particular switch."
    INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FamFabricIndex }
    ::= { t11FamTable 1 }

T11FamEntry ::= SEQUENCE {

    t11FamFabricIndex                       T11FabricIndex,
    t11FamConfigDomainId                    FcDomainIdOrZero,

    t11FamConfigDomainIdType                INTEGER,
    t11FamAutoReconfigure                   TruthValue,
    t11FamContiguousAllocation              TruthValue,
    t11FamPriority                          T11FamDomainPriority,
    t11FamPrincipalSwitchWwn                FcNameIdOrZero,
    t11FamLocalSwitchWwn                    FcNameIdOrZero,
    t11FamAssignedAreaIdList                OCTET STRING,
    t11FamGrantedFcIds                      Counter32,
    t11FamRecoveredFcIds                    Counter32,
    t11FamFreeFcIds                         Gauge32,
    t11FamAssignedFcIds                     Gauge32,
    t11FamAvailableFcIds                    Gauge32,
    t11FamRunningPriority                   T11FamDomainPriority,
    t11FamPrincSwRunningPriority            T11FamDomainPriority,
    t11FamState                             T11FamState,
    t11FamLocalPrincipalSwitchSlctns        Counter32,
    t11FamPrincipalSwitchSelections         Counter32,
    t11FamBuildFabrics                      Counter32,
    t11FamFabricReconfigures                Counter32,
    t11FamDomainId                          FcDomainIdOrZero,
    t11FamSticky                            TruthValue,
    t11FamRestart                           INTEGER,
    t11FamRcFabricNotifyEnable              TruthValue,
    t11FamEnable                            TruthValue,
    t11FamFabricName                        FcNameIdOrZero
}

t11FamFabricIndex OBJECT-TYPE

    SYNTAX      T11FabricIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
           "A unique index value that uniquely identifies a
           particular Fabric known to a particular switch.

In a Fabric conformant to FC-SW-3, only a single Fabric can operate within a physical infrastructure, and thus, the value of this Fabric Index will always be 1.

           However, the current standard, FC-SW-4, defines
           how multiple Fabrics, each with its own management
           instrumentation, could operate within one (or more)
           physical infrastructures.  When such multiple Fabrics
           are in use, this index value is used to uniquely
           identify a particular Fabric within a physical
           infrastructure."
    ::= { t11FamEntry 1 }

t11FamConfigDomainId OBJECT-TYPE

    SYNTAX      FcDomainIdOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "The configured Domain_ID of the particular switch on this
           Fabric, or zero if no Domain_ID has been configured.
           The meaning of this object depends on
           t11FamConfigDomainIdType object.

If t11FamConfigDomainIdType is 'preferred', then the configured Domain_ID is called the 'preferred Domain_ID'. Valid values are between 0 and 239. In a situation where this Domain_ID cannot be assigned, any other Domain_ID will be acceptable. A value of zero means any Domain_ID.

If t11FamConfigDomainIdType is 'insistent', then the configured Domain_ID is called the 'insistent Domain_ID' and valid values are between 1 and 239. In a situation where this Domain_ID cannot be assigned, no other Domain_ID is acceptable.

In both of the above cases, the switch sends an RDI (Request Domain_ID) to request this Domain_ID to the Principal Switch. If no Domain_ID is able to be granted in the case of 'preferred', or if an 'insistent' Domain_ID is configured but not able to be granted, then it is an error condition. When this error occurs, the switch will continue as if it receives a SW_RJT with a reason/explanation of 'Unable to perform command request'/'Domain_ID not available'. That is, its E_Ports on that Fabric will be isolated and the administrator informed via a 't11FamDomainIdNotAssigned' notification.

If t11FamConfigDomainIdType is 'static', then the configured Domain_ID is called the 'static Domain_ID' and valid values are between 1 and 239. In this situation, there is no Principal Switch in the Fabric and the Domain_ID is simply assigned by configuration, together with the Fabric_Name. A switch configured with a static Domain_ID, on receiving an EFP, BF, RCF, DIA, or RDI SW_ILS, shall reply with an SW_RJT having Reason Code Explanation 'E_Port is Isolated' and shall isolate the receiving E_Port.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    REFERENCE   "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
                 ANSI INCITS 418-2006, section 7."
    
    DEFVAL      { 0 }
    ::= { t11FamEntry 2 }

t11FamConfigDomainIdType OBJECT-TYPE

    SYNTAX      INTEGER {
                       preferred(1),
                       insistent(2),
                       static(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Type of configured Domain_ID contained in
           t11FamConfigDomainId.
    
           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    DEFVAL  { preferred }
    ::= { t11FamEntry 3 }

t11FamAutoReconfigure OBJECT-TYPE

    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "This object determines how a particular switch
           responds to certain error conditions.

The condition that might cause these errors is

the merging of two disjoint Fabrics that have

overlapping Domain_ID lists.

If value of this object is 'true', the switch will

send an RCF (ReConfigureFabric) to rebuild the

Fabric.

If 'false', the switch will isolate the E_Ports on which the errors happened.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                   December 2003, sections 6.1.12 & 7.3.
                Fibre Channel - Methodologies for Interconnects
                   (FC-MI), INCITS TR-30-2002, table 14, note g."
    DEFVAL  { false }
    ::= { t11FamEntry 4 }

t11FamContiguousAllocation OBJECT-TYPE

    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Determines how a particular switch behaves when elected as
           the Principal Switch.

If true, the switch will only accept RDIs with a contiguous allocation; specifically, it will reject RDIs with non-contiguous Domain_IDs, and if an RDI for a contiguous Domain_ID is not able to be fulfilled, it will try to replace all the Domain_IDs in the list with contiguous Domain_IDs, and if that fails, the RDI will be rejected.

If false, then the switch acts normally in granting

the Domain_IDs even if they are not contiguous.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    ::= { t11FamEntry 5 }

t11FamPriority  OBJECT-TYPE
    SYNTAX     T11FamDomainPriority
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The initial or configured priority of a particular switch
           to be used in Principal Switch selection process.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    ::= { t11FamEntry 6 }

t11FamPrincipalSwitchWwn OBJECT-TYPE

    SYNTAX      FcNameIdOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The WWN of the Principal Switch on this Fabric,
           or zero-length string if the identity of the principal
           switch is unknown."
    DEFVAL  { ''H }
    ::= { t11FamEntry 7 }

t11FamLocalSwitchWwn OBJECT-TYPE

    SYNTAX      FcNameIdOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The WWN of the particular switch on this Fabric."
    ::= { t11FamEntry 8 }

t11FamAssignedAreaIdList    OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..256))
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The list of (zero or more) Area_IDs that have been
           assigned by a particular switch in this Fabric, formatted
           as an array of octets in ascending order.

Each octet represents one Area_ID. So, the list containing Area_IDs 23, 45, 235, and 56 would be formatted as the 4-octet string x'172d38eb'.

           A particular area's Area_ID is used as the index into the
           t11FamAreaTable to get the statistics on that area."
    ::= { t11FamEntry 9 }

t11FamGrantedFcIds OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The total number of Fibre Channel Address Identifiers
           granted (for local use, i.e., with a particular switch's
           Domain_ID) by the Fabric Address Manager on that switch.
    
           This counter has no discontinuities other than those
           that all Counter32s have when sysUpTime=0."
    ::= { t11FamEntry 10 }

t11FamRecoveredFcIds OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The total number of Fibre Channel Address Identifiers that
           have been recovered by the Fabric Address Manager on a
           particular switch since the switch has been initialized.
           A recovered Fibre Channel Address Identifier is one that is
           explicitly returned after previously being used.

This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0."

    ::= { t11FamEntry 11 }

t11FamFreeFcIds OBJECT-TYPE

    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of Fibre Channel Address Identifiers that are
           currently unassigned on this Fabric and could be available
           for assignment either immediately or at some later time.
    
           The sum of the instances of FreeFcIds and AssignedFcIds
           corresponding to a particular Fabric is the total number of
           Fibre Channel Address Identifiers that the local Fabric
           Address Management is capable of assigning on that Fabric."
    ::= { t11FamEntry 12 }

t11FamAssignedFcIds OBJECT-TYPE

    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of Fibre Channel Address Identifiers that are
           currently assigned on this Fabric.
    
           The sum of the instances of FreeFcIds and AssignedFcIds
           corresponding to a particular Fabric is the total number of
           Fibre Channel Address Identifiers that the local Fabric
           Address Management is capable of assigning on that Fabric."
    ::= { t11FamEntry 13 }

t11FamAvailableFcIds OBJECT-TYPE

    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of Fibre Channel Address Identifiers that are
           unassigned and currently available for immediate assignment
           on the Fabric, e.g., with the 'Clean Address' bit set to 1."
    REFERENCE
        "Fibre Channel - Framing and Signaling (FC-FS),
         ANSI INCITS 373-2003, section 15.6.2.4.2."
    ::= { t11FamEntry 14 }

t11FamRunningPriority OBJECT-TYPE

    SYNTAX     T11FamDomainPriority
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The running priority of a particular switch on this Fabric.
           This value is initialized to the value of t11FamPriority,
           and subsequently altered as specified by the procedures
           defined in FC-SW-3."
    ::= { t11FamEntry 15 }

t11FamPrincSwRunningPriority OBJECT-TYPE

    SYNTAX     T11FamDomainPriority
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The running priority of the Principal Switch on this
           Fabric."
    ::= { t11FamEntry 16 }

t11FamState OBJECT-TYPE

    SYNTAX     T11FamState
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The state of the Fabric Address Manager on a particular
           switch on this Fabric."
    ::= { t11FamEntry 17 }

t11FamLocalPrincipalSwitchSlctns OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of times a particular switch became the
           Principal Switch on this Fabric.
    
           This counter has no discontinuities other than those
           that all Counter32s have when sysUpTime=0."
    ::= { t11FamEntry 18 }

t11FamPrincipalSwitchSelections OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of Principal Switch selections on this Fabric.
    
           This counter has no discontinuities other than those
           that all Counter32s have when sysUpTime=0."
    ::= { t11FamEntry 19 }

t11FamBuildFabrics OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of non-disruptive fabric reconfigurations (BFs)
           that have occurred on this Fabric.
    
           This counter has no discontinuities other than those
           that all Counter32s have when sysUpTime=0."
    ::= { t11FamEntry 20 }

t11FamFabricReconfigures OBJECT-TYPE

    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The number of disruptive fabric reconfigurations (RCFs)
           that have occurred on this Fabric.
    
           This counter has no discontinuities other than those
           that all Counter32s have when sysUpTime=0."
    ::= { t11FamEntry 21 }

t11FamDomainId OBJECT-TYPE

    SYNTAX      FcDomainIdOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The Domain_ID of a particular switch on this Fabric or
           zero if no Domain_ID has been assigned."
    ::= { t11FamEntry 22 }

t11FamSticky   OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "An indication of whether a particular switch is supporting
           the concept of Preferred Domain_IDs via a best-effort
           attempt to re-assign the same Fibre Channel Address
           Identifier value to a port on the next occasion when a port
           requests an assignment on this Fabric.

           If the value of this object is 'true', then the switch is
           maintaining rows in the t11FamFcIdCacheTable for this
           Fabric."
    ::= { t11FamEntry 23 }

t11FamRestart  OBJECT-TYPE
    SYNTAX     INTEGER {
                       nonDisruptive(1),
                       disruptive(2),
                       noOp(3)
               }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "This object tells the Fabric Address Manager to
           request a Fabric reconfiguration.

If this object is set to 'disruptive', then an RCF

(ReConfigure Fabric) is generated in the Fabric

in order for the Fabric to recover from the errors.

If this object is set to 'nonDisruptive', then a

BF (Build Fabric) is generated in the Fabric.

No action is taken if this object is set to 'noOp'.

The value of the object when read is always 'noOp'.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, section 7.3."
    ::= { t11FamEntry 24 }

t11FamRcFabricNotifyEnable OBJECT-TYPE

    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "An indication of whether or not a particular switch
           should issue a t11FamFabricChangeNotify notification on
           sending or receiving ReConfigureFabric (RCF) on a Fabric.

If the value of the object is 'true', then the

notification is generated. If the value is 'false',

notification is not generated.

If an implementation requires all Fabrics to have the same value, then setting one instance of this object to a new object will result in all corresponding instances being set to that same new value.

For the persistence of values across reboots, see the MODULE-IDENTITY's DESCRIPTION clause."

    DEFVAL { false }
    ::= { t11FamEntry 25 }

t11FamEnable OBJECT-TYPE

    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "Enables the Fabric Address Manager on this switch
           on this Fabric.

If enabled on a Fabric, the switch will participate in Principal Switch selection, and Domain_IDs are assigned dynamically. If disabled, the switch will not participate in Principal Switch selection, and Domain_IDs are assigned statically. Thus, the corresponding value of t11FamConfigDomainIdType needs to be 'static'.

           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
  REFERENCE   "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
               ANSI INCITS 418-2006, sections 7.1 and 7.3."
  DEFVAL  { true }
  ::= { t11FamEntry 26 }

t11FamFabricName  OBJECT-TYPE
    SYNTAX      FcNameIdOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
           "The WWN that is configured on this switch to be used as
           the name of this Fabric when the value of t11FamEnable is
           'false'.

If the value of t11FamEnable is 'true', this value is not used.

           Fibre Channel requires that:
               a) all switches in an operational Fabric be
                  configured with the same Fabric name; and
               b) each Fabric have a unique Fabric name.
           If either of these is violated, either by switches within a
           single Fabric being configured with different Fabric names,
           or by multiple Fabrics that share management applications
           or interact in other ways having the same Fabric name,
           then the behavior of the switches and associated management
           functions is not specified by Fibre Channel or Internet
           standards.
           For the persistence of values across reboots, see the
           MODULE-IDENTITY's DESCRIPTION clause."
    REFERENCE   "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
                 ANSI INCITS 418-2006, section 7.1."
    ::= { t11FamEntry 27 }

--
-- t11FamIfTable - Interface configuration
--

t11FamIfTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF T11FamIfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains those Fabric Address Manager parameters
           and status values that are per-interface (identified
           by an ifIndex value), per-Fabric (identified by a
           t11FamFabricIndex value), and per-switch (identified by
           values of fcmInstanceIndex and fcmSwitchIndex).

An entry in this table is automatically created when

an E_Port becomes non-isolated on a particular Fabric.

           An entry is deleted automatically from this table if:
           a) the corresponding interface is no longer an E_Port (e.g.,
              a G_Port that is dynamically determined to be an F_Port),
              and all configuration parameter(s) have default values; or
           b) the interface identified by ifIndex no longer exists
              (e.g., because a line-card is physically removed); or
           c) the row in the t11FamTable corresponding the fabric
              identified by t11FamFabricID no longer exists.
    
           Creating an entry in this table via t11FamIfRowStatus
           provides the means to specify non-default parameter value(s)
           for an interface at a time when the relevant row in this
           table does not exist, i.e., because the interface is either
           down or it is not an E_Port."
    ::= { t11FamConfiguration 2 }

t11FamIfEntry OBJECT-TYPE

    SYNTAX     T11FamIfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry containing information on the interface
           configuration on the Fabric identified by
    
           t11FamFabricIndex."
    INDEX { fcmInstanceIndex, fcmSwitchIndex,
            t11FamFabricIndex, ifIndex}
    ::= { t11FamIfTable 1 }

T11FamIfEntry ::= SEQUENCE {
    t11FamIfRcfReject    TruthValue,
    t11FamIfRole         T11FamDomainInterfaceRole,
    t11FamIfRowStatus    RowStatus
}

t11FamIfRcfReject    OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS      current
    DESCRIPTION
           "This object determines if the incoming ReConfigure
           Fabric (RCF) messages on this interface on this
           Fabric is accepted or not.  If this object is 'true', then
           the incoming RCF is rejected.  If 'false', incoming RCF is
           accepted.

Note that this object does not apply to the outgoing RCFs generated by this interface.

           Implementations that support write-access to this object
           can do so under whatever conditions they choose."
    DEFVAL {false}
    ::= { t11FamIfEntry 1 }

t11FamIfRole    OBJECT-TYPE
    SYNTAX     T11FamDomainInterfaceRole
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION
           "The role of this interface."
    ::= { t11FamIfEntry 2 }

t11FamIfRowStatus    OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS      current
    DESCRIPTION
           "The status of this row."
    ::= { t11FamIfEntry 3 }

--

-- t11FamAreaTable

--

t11FamAreaTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF T11FamAreaEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains area assignments per-Fabric by a
           switch's Fabric Address Manager.  Each octet in
           t11FamAssignedAreaList is able to be used to index into
           this table to find information on each area."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, section 4.8."
    ::= { t11FamInfo 1 }

t11FamAreaEntry OBJECT-TYPE

    SYNTAX     T11FamAreaEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry gives information on the Area_ID and all
           Port_IDs that have been assigned within an area for
           the Fabric identified by t11FamFabricIndex, by the
           Fabric Address Manager in the switch identified by
           fcmInstanceIndex and fcmSwitchIndex."
    INDEX { fcmInstanceIndex, fcmSwitchIndex,
            t11FamFabricIndex, t11FamAreaAreaId}
    ::= { t11FamAreaTable 1 }

T11FamAreaEntry ::= SEQUENCE {
    t11FamAreaAreaId                Unsigned32,
    t11FamAreaAssignedPortIdList    OCTET STRING
}

t11FamAreaAreaId    OBJECT-TYPE
    SYNTAX     Unsigned32 (0..255)
    MAX-ACCESS not-accessible
    STATUS      current
    DESCRIPTION
           "The Area_ID of this area."
    ::= { t11FamAreaEntry 1 }

t11FamAreaAssignedPortIdList    OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..256))
    MAX-ACCESS read-only
    STATUS      current
    DESCRIPTION

"The list of Port_IDs which have been assigned in this area and Fabric, formatted as an array of
octets in ascending order. There could be zero or more Port_IDs assigned on this area and Fabric.

           Each octet represents one Port_ID.  So, the list containing
           the Port_IDs 23, 45, 235, and 56 would be formatted as the
           4-octet string x'172d38eb'."
    ::= { t11FamAreaEntry 2 }

--
-- t11FamDatabaseTable
--

t11FamDatabaseTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF T11FamDatabaseEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains all information known by
           a switch about all the domains that have been
           assigned in each Fabric."
    REFERENCE   "Fibre Channel - Switch Fabric - 3 (FC-SW-3),
                 ANSI INCITS 384-2004, section 4.8."
    ::= { t11FamInfo 2 }

t11FamDatabaseEntry OBJECT-TYPE

    SYNTAX     T11FamDatabaseEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry (conceptual row) in the t11FamDatabaseTable
           containing information about one Domain_ID in the
           Fabric identified by t11FamFabricIndex, and known by
           the switch identified by t11FamFabricIndex and
           t11FamDatabaseDomainId."
    INDEX { fcmInstanceIndex, fcmSwitchIndex,
            t11FamFabricIndex , t11FamDatabaseDomainId}
    ::= { t11FamDatabaseTable 1 }

T11FamDatabaseEntry ::= SEQUENCE {
    t11FamDatabaseDomainId              FcDomainIdOrZero,
    t11FamDatabaseSwitchWwn             FcNameIdOrZero
}

t11FamDatabaseDomainId OBJECT-TYPE

SYNTAX FcDomainIdOrZero (1..239)

    MAX-ACCESS not-accessible
    STATUS      current
    DESCRIPTION
           "The Domain_ID for which this row contains information.
           The value must be non-zero."
    ::= { t11FamDatabaseEntry 1 }

t11FamDatabaseSwitchWwn  OBJECT-TYPE
    SYNTAX      FcNameIdOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The node name (WWN) of the switch to which the
            corresponding value of t11FamDatabaseDomainId is currently
            assigned for the particular Fabric."
    ::= { t11FamDatabaseEntry 2 }

--
-- Fibre Channel Address Identifier cache information
--
-- The cached information allows the Fabric Address Manager to -- implement the concept of a Preferred Domain_ID, whereby after a port -- releases a Fibre Channel Address Identifier value, a switch makes an -- attempt to re-assign the same Fibre Channel Address Identifier value -- on the next occasion when that port requests an assignment.
--

t11FamMaxFcIdCacheSize  OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The maximum number of Fibre Channel Address Identifiers
           that are able to be cached in the t11FamFcIdCacheTable.
           If the number is unknown, the value of this object is
           zero."
    ::= { t11FamInfo 3 }

--
-- t11FamFcIdCacheTable
--

t11FamFcIdCacheTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF T11FamFcIdCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "This table contains all the Fibre Channel Address
           Identifiers that have recently been released by the
           Fabric Address Manager in a switch.  So, it lists
           all the Fibre Channel Address Identifiers that have valid
           WWN-to-Fibre Channel Address Identifier mappings and are
           currently not assigned to any ports.  These Fibre Channel
           Address Identifiers were assigned to ports but have since
           been released.  These cached Fibre Channel Address
           Identifiers contain only Area_ID and Port_ID information.
           This cache is kept to provide best-effort re-assignment of
           same Fibre Channel Address Identifiers; i.e., when an
           Nx_Port asks for a Fibre Channel Address Identifier, soon
           after releasing one, the same value is re-assigned, if
           possible."
    ::= { t11FamInfo 4 }

t11FamFcIdCacheEntry OBJECT-TYPE

    SYNTAX     T11FamFcIdCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry (conceptual row) in the t11FamFcIdCacheTable
           containing information about one Fibre Channel Address
           Identifier that was released from a WWN, corresponding to a
           range of one or more ports connected to the switch
           (identified by t11FamFabricIndex and t11FamFcIdCacheWwn) in
           the Fabric (identified by t11FamFabricIndex).  An entry is
           created when a Fibre Channel Address Identifier is released
           by the last port in the range.  The oldest entry is deleted
           if the number of rows in this table reaches
           t11FamMaxFcIdCacheSize, and its space is required for a new
           entry.  An entry is also deleted when its Fibre Channel
           Address Identifier is assigned to a port."
    INDEX { fcmInstanceIndex, fcmSwitchIndex,
            t11FamFabricIndex, t11FamFcIdCacheWwn}
    ::= { t11FamFcIdCacheTable 1 }

T11FamFcIdCacheEntry ::= SEQUENCE {
    t11FamFcIdCacheWwn                  FcNameIdOrZero,
    t11FamFcIdCacheAreaIdPortId         OCTET STRING,
    t11FamFcIdCachePortIds              Unsigned32
}

t11FamFcIdCacheWwn  OBJECT-TYPE
    SYNTAX     FcNameIdOrZero
    MAX-ACCESS not-accessible
    STATUS      current
    DESCRIPTION
           "The N_Port_Name (WWN) of the port associated with this
           entry."
    ::= { t11FamFcIdCacheEntry 1 }

t11FamFcIdCacheAreaIdPortId  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (2))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The combination of this object and t11FamFcIdCachePortIds
           represent one range of Fibre Channel Address Identifiers,
           which were assigned and later released.  This object
           contains the Area_ID and Port_ID of the first Fibre
           Channel Address Identifier in the range.

           Note that this object is only 2 bytes."
    ::= { t11FamFcIdCacheEntry 2 }

t11FamFcIdCachePortIds  OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
           "The combination of t11FamFcIdCacheAreaIdPortId and this
           object represent one range of Fibre Channel Address
           Identifiers, which were assigned and later released.  This
           object contains the number of (consecutive) Fibre Channel
           Address Identifiers in the range."
    ::= { t11FamFcIdCacheEntry 3 }

-- Objects for use in notifications

t11FamNotifyFabricIndex OBJECT-TYPE

    SYNTAX      T11FabricIndex
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
           "A unique index value that identifies a particular
           Fabric for which a particular notification is generated.

In a Fabric conformant to SW-3, only a single Fabric

can operate within a physical infrastructure, and thus,

the value of this Fabric Index will always be 1.

However, the current standard, FC-SW-4, defines

how multiple Fabrics, each with its own management

           instrumentation, could operate within one (or more)
           physical infrastructures.  In order to accommodate this
           scenario, this index value is used to uniquely identify a
           particular Fabric within a physical infrastructure."
    ::= { t11FamNotifyControl 1 }

-- Notifications

t11FamDomainIdNotAssignedNotify NOTIFICATION-TYPE

    OBJECTS     { t11FamLocalSwitchWwn, t11FamNotifyFabricIndex }
    STATUS      current
    DESCRIPTION
           "This notification indicates that a Domain_ID has not
           been configured or assigned for a particular Fabric,
           identified by t11FamNotifyFabricIndex, on a particular
           switch identified by t11FamLocalSwitchWwn.  This could
           happen under the following conditions, and results in the
           switch isolating E_Ports on the Fabric:
    
            - if the switch's request for a configured static
              Domain_ID is rejected or no other Domain_ID is
              assigned, then the E_Ports are isolated."
    ::= { t11FamNotifications 1 }

t11FamNewPrincipalSwitchNotify NOTIFICATION-TYPE

    OBJECTS     { t11FamLocalSwitchWwn, t11FamNotifyFabricIndex }
    STATUS      current
    DESCRIPTION
           "This notification indicates that a particular switch,
           identified by t11FamLocalSwitchWwn, has become the new
           Principal Switch on the Fabric identified by
           t11FamNotifyFabricIndex.
    
           This notification is sent soon after its election as
           the new Principal Switch, i.e., upon expiration of a
           Principal Switch selection timer that is equal to
           twice the Fabric Stability Timeout value (F_S_TOV)."
    ::= { t11FamNotifications 2 }

t11FamFabricChangeNotify NOTIFICATION-TYPE

    OBJECTS     { t11FamLocalSwitchWwn, t11FamNotifyFabricIndex }
    STATUS      current
    DESCRIPTION
           "This notification is sent whenever a particular switch,
           identified by t11FamLocalSwitchWwn, sends or
           receives a Build Fabric (BF) or a ReConfigure Fabric
           (RCF) message on the Fabric identified by

t11FamNotifyFabricIndex.

           This notification is not sent if a
           't11FamNewPrincipalSwitchNotify' notification is sent
           for the same event."
    ::= { t11FamNotifications 3 }

--
-- Conformance
--

t11FamMIBCompliances OBJECT IDENTIFIER ::= { t11FamMIBConformance 1 }

t11FamMIBGroups OBJECT IDENTIFIER ::= { t11FamMIBConformance 2 }

t11FamMIBCompliance MODULE-COMPLIANCE

    STATUS   current
    DESCRIPTION
           "The compliance statement for Fibre Channel switches
           that implement Fabric Address Manager functionality."
    MODULE
    MANDATORY-GROUPS { t11FamGroup,
                       t11FamDatabaseGroup,
                       t11FamAreaGroup,
                       t11FamNotificationGroup
                     }
    
      OBJECT t11FamConfigDomainId
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
    
      OBJECT t11FamConfigDomainIdType
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
    
      OBJECT t11FamAutoReconfigure
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
    
      OBJECT t11FamContiguousAllocation
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
    
      OBJECT t11FamPriority

MIN-ACCESS read-only
DESCRIPTION

"Write access is not required."

      OBJECT t11FamIfRcfReject
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
      
      OBJECT t11FamIfRowStatus
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
      
      OBJECT t11FamRcFabricNotifyEnable
      MIN-ACCESS read-only
      DESCRIPTION
             "Write access is not required."
      
      GROUP  t11FamCacheGroup
      DESCRIPTION
             "This group is mandatory only for switches that
             support the concept of Preferred Domain_ID via a best-
             effort attempt for (short-term) re-assignment of the
             same FC address identifiers."
      
      GROUP  t11FamCommandGroup
      DESCRIPTION
             "This group is optional."
    
    ::= { t11FamMIBCompliances 1 }

-- Units of Conformance

t11FamGroup OBJECT-GROUP

    OBJECTS  { t11FamConfigDomainId,
               t11FamConfigDomainIdType,
               t11FamAutoReconfigure,
               t11FamContiguousAllocation,
               t11FamPriority,
               t11FamPrincipalSwitchWwn,
               t11FamLocalSwitchWwn,
               t11FamAssignedAreaIdList,
               t11FamGrantedFcIds,
               t11FamRecoveredFcIds,
               t11FamFreeFcIds,
               t11FamAssignedFcIds,
    
               t11FamAvailableFcIds,
               t11FamRunningPriority,
               t11FamPrincSwRunningPriority,
               t11FamState,
               t11FamLocalPrincipalSwitchSlctns,
               t11FamPrincipalSwitchSelections,
               t11FamBuildFabrics,
               t11FamFabricReconfigures,
               t11FamDomainId,
               t11FamSticky,
               t11FamRestart,
               t11FamRcFabricNotifyEnable,
               t11FamEnable,
               t11FamFabricName,
               t11FamIfRcfReject,
               t11FamIfRole,
               t11FamIfRowStatus,
               t11FamNotifyFabricIndex
            }
    STATUS   current
    DESCRIPTION
           "A collection of general objects for displaying and
           configuring Fabric Address management."
    ::= { t11FamMIBGroups 1 }

t11FamCommandGroup OBJECT-GROUP

    OBJECTS  { t11FamRestart }
    STATUS   current
    DESCRIPTION
           "A collection of objects used for initiating an
           operation on the Fabric."
    ::= { t11FamMIBGroups 2 }

t11FamDatabaseGroup OBJECT-GROUP

    OBJECTS  { t11FamDatabaseSwitchWwn }
    STATUS   current
    DESCRIPTION
           "A collection of objects containing information about
           Domain-IDs assignments."
    ::= { t11FamMIBGroups 3 }

t11FamAreaGroup OBJECT-GROUP

    OBJECTS  { t11FamAreaAssignedPortIdList }
    STATUS   current
    DESCRIPTION
           "A collection of objects containing information about
           currently assigned addresses within a domain."
    ::= { t11FamMIBGroups 4 }

t11FamCacheGroup OBJECT-GROUP

    OBJECTS  { t11FamMaxFcIdCacheSize,
               t11FamFcIdCacheAreaIdPortId,
               t11FamFcIdCachePortIds
             }
    STATUS   current
    DESCRIPTION
           "A collection of objects containing information about
           recently-released Fibre Channel Address Identifiers."
    ::= { t11FamMIBGroups 5 }

t11FamNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS  { t11FamDomainIdNotAssignedNotify,
                     t11FamNewPrincipalSwitchNotify,
                     t11FamFabricChangeNotify }
    STATUS   current
    DESCRIPTION
           "A collection of notifications for status monitoring
           and notification."
    ::= { t11FamMIBGroups 6 }
END

7. Acknowledgements

This document began life as a work item of the INCITS Task Group T11.5. We wish to acknowledge the many contributions and comments from the INCITS Technical Committee T11, including the following:

T11 Chair: Robert Snively, Brocade
T11 Vice Chair: Claudio DeSanti, Cisco Systems
T11.5 Chair: Roger Cummings, Symantec
T11.5 members, especially:

Ken Hirata, Emulex
Scott Kipp, McData
Michael O'Donnell, McData
Elizabeth G. Rodriguez, Dot Hill
Steven L. Wilson, Brocade

Thanks also to Orly Nicklass of RAD Data Communications, Bert Wijnen of Lucent, and those members of the IMSS WG who provided review comments.

8. Normative References

   [RFC2578]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Structure of Management Information Version 2 (SMIv2)",
              STD 58, RFC 2578, April 1999.
   
   [RFC2579]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Textual Conventions for SMIv2", STD 58, RFC 2579, April
              1999.
   
   [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Conformance Statements for SMIv2", STD 58, RFC 2580,
              April 1999.
   
   [IF-MIB]   McCloghrie, K. and F. Kastenholz, "The Interfaces Group
              MIB", RFC 2863, June 2000.
   
   [FC-MGMT]  McCloghrie, K., "Fibre Channel Management MIB", RFC 4044,
              May 2005.
   
   [FC-SW-3]  "Fibre Channel - Switch Fabric - 3 (FC-SW-3)", ANSI INCITS
              384-2004, June 2004.
   
   [FC-SW-4]  "Fibre Channel - Switch Fabric - 4 (FC-SW-4)", ANSI INCITS
              418-2006, 2006.
   
   [FC-FS]    "Fibre Channel - Framing and Signaling (FC-FS)" ANSI
              INCITS 373-2003, April 2003.

9. Informative References

   [RFC2837]  Teow, K., "Definitions of Managed Objects for the Fabric
              Element in Fibre Channel Standard", RFC 2837, May 2000.
   
   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.
   
   [FC-MI]    "Fibre Channel - Methodologies for Interconnects (FC-MI)",
              INCITS TR-30-2002, November 2002.

10. IANA Considerations

IANA has made two MIB OID assignments, one for the T11-TC-MIB module and one for the T11-FC-FABRIC-ADDR-MGR-MIB module, under the appropriate subtree(s).

11. Security Considerations

There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. These are the tables and objects and their sensitivity/vulnerability:

t11FamConfigDomainId, t11FamConfigDomainIdType and t11FamContiguousAllocation -- ability to change the address allocation policy.

t11FamRestart and t11FamAutoReconfigure -- ability to cause a fabric reconfiguration, e.g., on certain error conditions.

t11FamPriority -- ability to affect which switch becomes the Principal Switch.

t11FamRcFabricNotifyEnable -- ability to enable/disable a notification.

t11FamIfRcfReject -- ability to change the switch's behavior on receipt of an RCF.

t11FamIfRowStatus -- ability to change an interface configuration parameter.

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may also be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:

t11FamTable and t11FamIfTable -- contain the configuration, status, and statistics of the Fabric Address Manager.

t11FamAreaTable, t11FamDatabaseTable and t11FamFcIdCacheTable -- contain information on currently assigned or recently- released addresses.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.

It is RECOMMENDED that implementors consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

Authors' Addresses

Claudio DeSanti
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134 USA

   Phone: +1 408 853-9172
   EMail: cds@cisco.com

Vinay Gaonkar
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134 USA

   Phone: +1 408 527-8576
   EMail: vgaonkar@cisco.com

Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA USA 95134

   Phone: +1 408-526-5260
   EMail: kzm@cisco.com

Silvano Gai
Retired

Full Copyright Statement

Copyright © The Internet Society (2006).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

Acknowledgement

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).