Fibre Channel Fabric Address Manager MIB
Extracted elements (28)
Fabric-related tables are indexed by an arbitrary integer Fabric Index to accommodate both FC-SW-3 (single Fabric, index always 1) and FC-SW-4 (multiple Virtual Fabrics per physical infrastructure) in a single table structure. fcmSwitchIndex is placed before t11FamFabricIndex in INDEX clauses to simplify queries across all Fabrics connected to a single switch.
FC-SW-3 warns that RCF causes complete Fabric reconfiguration with possible address changes, so BF should be attempted first. FC-MI prohibits autonomous RCF generation, requiring an outside administrative function to request it. This MIB's t11FamRestart and t11FamAutoReconfigure objects are that administrative mechanism, consistent with both constraints.
t11FamAutoReconfigure and t11FamRestart serve only as a request mechanism: a successful SNMP SetRequest causes the SW_ILS (RCF or BF) to be sent, but SNMP cannot and does not guarantee the SW_ILS operation succeeds. The MIB compliance requires a minimum of read-only access for these two objects.
The t11FamFcIdCacheTable (t11FamCacheGroup) implements the Preferred Domain_ID concept: after a port releases a Fibre Channel Address Identifier, the switch makes a best-effort attempt to re-assign the same identifier on the next request from that port. This group is therefore conditional mandatory only for switches that support this concept.
An interface's ifIndex value must be unique within an SNMP context regardless of how many Fibre Channel management instances or FC switches are instrumented within that context, as required by the IF-MIB relationship described in Section 4.
In an FC-SW-3-conformant environment, t11FamFabricIndex is always 1 because only a single Fabric operates within a physical infrastructure. The same MIB structure supports FC-SW-4 multi-Virtual-Fabric environments by allowing other index values (0..4095).
A switch configured with a static Domain_ID shall reply with an SW_RJT having Reason Code Explanation 'E_Port is Isolated' and shall isolate the receiving E_Port upon receiving an EFP, BF, RCF, DIA, or RDI SW_ILS.
Fibre Channel requires that all switches in an operational Fabric be configured with the same Fabric name (t11FamFabricName) and that each Fabric have a unique name. Violation results in unspecified behavior for switches and associated management functions.
It is RECOMMENDED that implementors deploy SNMPv3 with full cryptographic mechanisms (authentication and privacy). Deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED; access to MIB objects should be restricted to principals with legitimate rights.
Mandatory compliance groups are t11FamGroup, t11FamDatabaseGroup, t11FamAreaGroup, and t11FamNotificationGroup. t11FamCacheGroup is mandatory only for switches supporting Preferred Domain_ID. t11FamCommandGroup is optional. All read-write objects have a minimum required compliance of read-only.
T11FabricIndex is a textual convention (Unsigned32, range 0..4095) used to uniquely identify a Fabric within one or more physical infrastructures. In FC-SW-3 environments exactly one Fabric exists per infrastructure so the value is always 1; FC-SW-4 allows multiple Virtual Fabrics with distinct indices. The range 0..4095 matches FC-SW-4's 512-byte VF_ID Bitmap.
t11FamAreaTable provides, for each Area_ID assigned by the local switch in a Fabric, the list of Port_IDs assigned within that area via t11FamAreaAssignedPortIdList, encoded as an OCTET STRING of single-octet Port_ID values in ascending order.
t11FamConfigDomainId and t11FamConfigDomainIdType together specify the configured Domain_ID as type preferred (0–239, any Domain_ID acceptable as fallback), insistent (1–239, no other Domain_ID acceptable), or static (1–239, no Principal Switch, direct assignment). Failure to obtain an insistent or static Domain_ID causes E_Port isolation and a t11FamDomainIdNotAssigned notification.
t11FamDatabaseTable maps each assigned Domain_ID (1..239) to the WWN of the switch owning that domain in a given Fabric, representing all domain assignments known to the local switch.
T11FamDomainInterfaceRole is a textual convention with six values: nonPrincipal(1), principalUpstream(2), principalDownsteam(3), isolated(4), down(5), unknown(6), representing the designated state or role of the ISL to which an interface connects.
T11FamDomainPriority is a textual convention (Unsigned32, range 1..255) representing a switch's priority in Principal Switch selection. Value 1 is the highest priority; value 255 indicates the switch cannot act as Principal Switch.
t11FamFcIdCacheTable caches recently released Fibre Channel Address Identifiers to support best-effort re-assignment (Preferred Domain_ID concept). Each entry maps a WWN index (t11FamFcIdCacheWwn) to a range described by t11FamFcIdCacheAreaIdPortId and t11FamFcIdCachePortIds. The oldest entry is evicted when the cache reaches t11FamMaxFcIdCacheSize.
t11FamIfRcfReject (TruthValue, default false, indexed per-interface per-Fabric) controls whether incoming ReConfigure Fabric (RCF) messages on a given interface are accepted or rejected. It does not apply to outgoing RCFs generated by that interface.
t11FamIfTable (indexed by fcmInstanceIndex, fcmSwitchIndex, t11FamFabricIndex, ifIndex) holds per-interface per-Fabric Fabric Address Manager parameters. Entries are auto-created when an E_Port becomes non-isolated and auto-deleted when the interface is no longer an E_Port with all-default parameters, the interface no longer exists, or the parent Fabric row is removed.
t11FamRestart (read-write INTEGER: nonDisruptive(1), disruptive(2), noOp(3)) allows an outside administrative function to request Fabric reconfiguration: 'disruptive' causes an RCF to be sent; 'nonDisruptive' causes a BF to be sent. The object always reads back as 'noOp'.
t11FamTable (indexed by fcmInstanceIndex, fcmSwitchIndex, t11FamFabricIndex) is the main per-Fabric configuration and status table. It holds Domain_ID configuration, priority, FAM state, WWNs of the principal and local switch, counters for granted/recovered/free/assigned/available FC address identifiers, and fabric reconfiguration event counters.
Three SNMP notifications are defined: t11FamDomainIdNotAssignedNotify (Domain_ID not obtained, E_Ports isolated), t11FamNewPrincipalSwitchNotify (sent after twice the F_S_TOV timer on Principal Switch election), and t11FamFabricChangeNotify (sent on BF or RCF sent or received; suppressed if t11FamNewPrincipalSwitchNotify is sent for the same event).
IANA assigned two MIB OIDs: mib-2 136 for the T11-TC-MIB module and mib-2 137 for the T11-FC-FABRIC-ADDR-MGR-MIB module, both under the appropriate mib-2 subtree.
Readable objects (t11FamTable, t11FamIfTable, t11FamAreaTable, t11FamDatabaseTable, t11FamFcIdCacheTable) expose configuration, topology, and address assignment data and may also be sensitive. GET and NOTIFY access should be controlled and values encrypted in transit; SNMPv3 prior versions provide no per-user access control even on IPsec-secured networks.
Several read-write objects are sensitive: t11FamConfigDomainId, t11FamConfigDomainIdType, and t11FamContiguousAllocation (address allocation policy); t11FamRestart and t11FamAutoReconfigure (can trigger disruptive Fabric reconfiguration); t11FamPriority (affects Principal Switch election); t11FamRcFabricNotifyEnable (suppresses notifications); t11FamIfRcfReject (alters RCF handling); t11FamIfRowStatus (interface reconfiguration). Unauthorized SET operations can negatively affect Fabric operations.
T11FamState defines 12 states for the Fabric Address Manager: other, starting, unconfigured, principalSwitchSelection, domainIdDistribution, buildFabricPhase, reconfigureFabricPhase, stable, stableWithNoEports, noDomains, disabled, unknown. States map to Table 86 and Figure 15 of FC-SW-3; the 'disabled' state corresponds to t11FamEnable being false.
t11FamAssignedAreaIdList and t11FamAreaAssignedPortIdList are both OCTET STRING (SIZE 0..256) fields where each octet encodes one Area_ID or Port_ID respectively in an ascending-order array. For example, Area_IDs 23, 45, 56, 235 are encoded as the 4-byte string x'172d38eb'.
t11FamFcIdCacheAreaIdPortId is a fixed 2-byte OCTET STRING encoding the Area_ID and Port_ID of the first FC address identifier in a cached range. t11FamFcIdCachePortIds (Unsigned32, 0..65535) gives the count of consecutive identifiers in that range.