RFC 4935
Fibre Channel Fabric Configuration Server MIB
RFC 4935: Fibre Channel Fabric Configuration Server MIB π
okay bestie, this one is a standards track doc from August 2007 π¦ It's written by C. DeSanti, H.K. Vivek, and K. McCloghrie from Cisco Systems, plus S. Gai from Nuova Systems. It's a "Standards Track" category, which means it's a real protocol spec that people are supposed to implement, not just a vibe. The title block doesn't list anything it obsoletes or updates, so nothing is being replaced or amended here β¨
Status of This Memo
this doc is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements π for the official standardization state and status, check the current edition of "Internet Official Protocol Standards" (STD 1). distribution of this memo is unlimited, so share away πΈ
Copyright Notice
Copyright (C) The IETF Trust (2007). π₯
Abstract
this memo defines a piece of the Management Information Base (MIB) for use with network management protocols in the Internet community π§ specifically, it describes managed objects for info about the Fabric Configuration Server function of a Fibre Channel network. iconic π
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 ......................................5
5. MIB Overview ....................................................5
5.1. Fibre Channel Management Instance ..........................6
5.2. Switch Index ...............................................6
5.3. Fabric Index ...............................................6
5.4. The MIB Groups .............................................7
5.5. OS Logical Unit Number (LUN) Map Entries ...................8
6. The T11-FC-FABRIC-CONFIG-SERVER-MIB Module ......................9
7. IANA Considerations ............................................45
8. Security Considerations ........................................45
9. Acknowledgements ...............................................46
10. Normative References ..........................................47
11. Informative References ........................................48
1. Introduction β¨
okay so this memo is the MIB slice for network management, and it's all about the Fabric Configuration Server function of a Fibre Channel network π the Fabric Configuration Server is how a management app discovers the topology and attributes of a fabric. the topology it finds includes Interconnect Elements (like switches, hubs, bridges, and so on), their ports, and "platforms" made of one or more Fibre Channel nodes. it's giving discovery era π
this memo was previously approved by INternational Committee for Information Technology Standards (INCITS) Task Group T11.5 (http://www.t11.org). this doc is a product of the IETF's IMSS working group π¦
the key words for this doc are "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL". they're to be read as described in BCP 14, RFC 2119 [RFC2119]. bestie, these words are doing the heavy lifting, so don't skim them π«Ά
2. The Internet-Standard Management Framework π
for a detailed tour of the docs that describe the current Internet-Standard Management Framework, check section 7 of RFC 3410 [RFC3410] π
managed objects are accessed through a virtual information store called the Management Information Base, or MIB. MIB objects are usually accessed through the Simple Network Management Protocol (SNMP) π§ the objects in the MIB are defined using the mechanisms from the Structure of Management Information (SMI). this memo specifies a MIB module that's compliant with 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 π¦
okay, the Fibre Channel (FC) is logically a bidirectional point-to-point serial data channel, and it's built for high performance π₯ it's a general transport for higher-level protocols like Small Computer System Interface (SCSI) command sets, the High-Performance Parallel Interface (HIPPI) data framing, IP (Internet Protocol), IEEE 802.2, and more π
physically, Fibre Channel is a bunch of communication points called N_Ports, linked either through a switching network (called a Fabric) or by a point-to-point link. a Fibre Channel "node" is one or more N_Ports. a Fabric can have multiple Interconnect Elements, and some of those are switches. an N_Port connects to the Fabric through a switch port called an F_Port. when multiple FC nodes hang off a single switch port in an "Arbitrated Loop" topology, the switch port is an FL_Port and the nodes' ports are NL_Ports. Nx_Port means either an N_Port or an NL_Port, and Fx_Port means either an F_Port or an FL_Port π«Ά a switch port linked to another switch port by an Inter-Switch Link (ISL) is an E_Port. a B_Port connects a bridge device to an E_Port on a switch, and it gives you a subset of E_Port functionality π
a lot of FC parts, like the Fabric, each node, and most ports, have globally unique names. these are usually formatted as World Wide Names (WWNs). more info on WWNs is in [FC-FS] β¨ WWNs are expected to stay persistent across agent and unit resets π
FC frames carry 24-bit address identifiers that name the frame's source and destination ports. every FC port has both an address identifier and a WWN. when a Fabric is in use, the FC address identifiers are dynamic and a switch assigns them π§ each octet of a 24-bit address is a level in an address hierarchy, and the Domain_ID is the highest level πΈ
the Fibre Channel Fabric Configuration Server gives a management app a way to discover fabric topology and attributes. it's designed so it can be distributed among switches and reached from any Nx_Port. but it isn't restricted to being part of a Fabric, and it isn't required to be either π
the info registered with and available from each Fabric Configuration Server is modeled as a Fabric made of one or more Interconnect Elements, which each have some physical Ports. it also includes one or more Fibre Channel nodes grouped into Platforms to make discovery and management easier π¦ the Ports connect either to other Ports on other Interconnect Elements, or to Nx_Ports. each Interconnect Element may have attributes like its name, type, Domain Identifier, Management Identifier, Logical Name, Management Address(es), Information List, Zoning Enforcement Status, and so on. each Port may have attributes like its name, type, TX type, Module type, physical port number, attached port name(s), port state, speed, and so on. each platform may have attributes like its name, type, description, label, location, management address, and so on π
the Fibre Channel Fabric Configuration Server is defined in the FC-GS specification. it's one of a set of functions collectively known as the Management Service. the latest version is [FC-GS-5] π₯
the latest standard for an interconnecting Fabric with multiple Fabric Switch elements is [FC-SW-4]. [FC-SW-4] carries forward the earlier spec for operating a single Fabric in a physical infrastructure, and adds Virtual Fabrics plus the specification for how multiple Virtual Fabrics can run within one (or more) physical infrastructures π each frame can be tagged in its header to show which of the Virtual Fabrics it's going out on. all frames entering a particular "Core Switch" [FC-SW-4] (that's a physical switch) on the same Virtual Fabric get processed by the same "Virtual Switch" inside that Core Switch π
4. Relationship to Other MIBs π
the first standardized MIB for Fibre Channel [RFC2837] was focused on Fibre Channel switches. it's been replaced by the more generic Fibre Channel Management MIB [RFC4044], which defines basic info for Fibre Channel hosts and switches, including extensions to the standard IF-MIB for Fibre Channel interfaces π
this MIB goes beyond [RFC4044] to cover the function, in Fibre Channel switches, of providing the Fabric Configuration Server function π§
this MIB imports some common Textual Conventions from T11-TC-MIB [RFC4439] and from T11-FC-NAME-SERVER-MIB [RFC4438]. it also imports URLString from NETWORK-SERVICES-MIB [RFC2788] β¨
5. MIB Overview π
this MIB module gives you a way to monitor how one or more Fabric Configuration Servers (FCS) in a Fibre Channel (FC) network operate, and to configure some of their parameters π¦ the capabilities include triggering a discovery of the configuration of one or more Fabrics, retrieving the results of that discovery, and controlling and monitoring how an FCS operates. the discovered configuration contains info about:
- Interconnect Elements (IEs), i.e., switches, hubs, bridges, etc.,
- Ports on IEs, and
- Platforms that consist of one or more FC nodes.
5.1. Fibre Channel Management Instance π
a Fibre Channel management instance is defined in [RFC4044] as a separable managed instance of Fibre Channel functionality. Fibre Channel functionality can be grouped into management instances however is most convenient for the implementation(s) π«Ά for example, one grouping works for a single SNMP agent with multiple AgentX [RFC2741] sub-agents, where each sub-agent implements a different Fibre Channel management instance.
the object, fcmInstanceIndex, is IMPORTed from the FC-MGMT-MIB [RFC4044] as the index value that uniquely identifies each Fibre Channel management instance. for example, that's within the same SNMP context ([RFC3411], section 3.3.1) πΈ
5.2. Switch Index π§
the FC-MGMT-MIB [RFC4044] defines the fcmSwitchTable as a table of info about Fibre Channel switches 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 that uniquely identifies a Fibre Channel switch among those (one or more) managed by the same Fibre Channel management instance π
5.3. Fabric Index π§
okay so bestie, when you've got multiple Fabrics, each one gets its own copy of all the Fabric-related management instrumentation π so this MIB puts all the Fabric-related info into tables that are INDEXed by a random-ish integer called a "Fabric Index" π Its syntax is T11FabricIndex, which gets imported from T11-TC-MIB [RFC4439]. If a device is hooked up to just one physical Fabric with no virtual Fabrics involved, the Fabric Index is ALWAYS going to be 1 (simple, iconic β¨). But in a setup with lots of virtual and/or physical Fabrics, this index is how you tell them apart π¦
ngl, it's super likely that a Fibre Channel switch will have ports hooked up to multiple virtual and/or physical Fabrics π So to make life easier when a management protocol wants to ask about all the Fabrics one switch is connected to, fcmSwitchIndex gets listed before t11FcsFabricIndex whenever they both show up in the same INDEX clause π main character organization, literally.
5.4. The MIB Groups πΈ
this section walks through the six MIB groups in the module π«Ά
5.4.1. The t11FcsDiscoveredConfigGroup Group π
this group holds the Fabric configuration info that the Fabric Configuration Servers discovered β¨
5.4.2. The t11FcsDiscoveryStatusGroup Group π
this group has the objects you use to keep an eye on how discovery of Fabric configurations is going for the Fabric Configuration Servers π
5.4.3. The t11FcsDiscoveryControlGroup Group ποΈ
this one has the objects for asking a Fabric Configuration Server to go discover the configuration of one or more Fabrics π₯
5.4.4. The t11FcsStatisticsGroup Group π
this group is all about the statistics information for the Fabric Configuration Server π
5.4.5. The t11FcsNotificationGroup Group π
this group has three notifications, and each one gets generated when an FCS:
- rejects a registration, deregistration, or query request π ββοΈ
- completes discovery on a range of Fabrics π
- learns that a management address of an Interconnect Element has changed π
5.4.5.1. Flow Control for Notifications π¦
okay, so when you're defining SNMP notifications for events that happen in the data-plane, you have to think about how often they could get generated π Unless something is limiting them, those notifications need some kind of flow control. Like, you could define it so that once a certain maximum number has happened within a set time interval, any further notifications get suppressed for some later time interval π BUT here's the tea: when that suppression happens, the Network Management System (NMS) that missed the suppressed notifications still needs a way to find out how many it missed π So you'd need to define an extra Counter32 object, and/or a brand new type of notification to send at the end of the interval.
is that extra complexity annoying? yeah, lowkey, but it's totally necessary for notifications that need flow control π
now for the notifications in this MIB module, the ones that come from control-plane events (and can't start a chain reaction), it's different π
- trying to estimate the max number that could possibly be generated per unit time for each type of notification is way too simplistic π For example, it's unreasonable to ask how many t11FcsDiscoveryCompleteNotify notifications could show up in a time interval, because it depends on so many things: how big is the network? how many Virtual Fabrics need to be discovered? how fast can the operator ask for another discovery after the last one finishes? π€―
- the extra complexity of flow-controlling these kinds of notifications just isn't worth it β¨
5.4.6. The t11FcsNotificationInfoGroup Group βΉοΈ
this group has the notification control and notification information objects for keeping an eye on Fabric Configuration Server request rejections and the discovery of topology information π
5.5. OS Logical Unit Number (LUN) Map Entries π§©
so FC-GS-5 defines a "Platform" as not just a set of zero or more FC nodes, but also a set of zero or more "OS LUN Map Entries" (check Figure 8 in [FC-GS-5]) π Info about "OS LUN Map Entries" is NOT in this T11-FC-FABRIC-CONFIG-SERVER-MIB, sorry bestie π Instead, you can get LUN Map info through the scsiLunMapGroup object group defined in the SCSI-MIB [RFC4455] π¦
6. The T11-FC-FABRIC-CONFIG-SERVER-MIB Module π
T11-FC-FABRIC-CONFIG-SERVER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
NOTIFICATION-TYPE, mib-2, Counter32, Unsigned32
FROM SNMPv2-SMI -- [RFC2578]
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF -- [RFC2580]
TEXTUAL-CONVENTION, TruthValue, TimeStamp
FROM SNMPv2-TC -- [RFC2579]
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB -- [RFC3411]
URLString
FROM NETWORK-SERVICES-MIB -- [RFC2788]
FcPortType, FcNameIdOrZero, FcDomainIdOrZero,
fcmInstanceIndex, fcmSwitchIndex, FcAddressIdOrZero
FROM FC-MGMT-MIB -- [RFC4044]
T11NsGs4RejectReasonCode
FROM T11-FC-NAME-SERVER-MIB -- [RFC4438]
T11FabricIndex
FROM T11-TC-MIB -- [RFC4439]
t11FamLocalSwitchWwn
FROM T11-FC-FABRIC-ADDR-MGR-MIB; -- [RFC4439]
t11FcFabricConfigServerMIB MODULE-IDENTITY
LAST-UPDATED "200706270000Z"
ORGANIZATION "For the initial versions, T11.
For later versions, the IETF's IMSS Working Group."
CONTACT-INFO
" Claudio DeSanti
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134 USA
EMail: cds@cisco.com
Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134 USA
EMail: kzm@cisco.com"
DESCRIPTION
"The MIB module for the management of a Fabric
Configuration Server (FCS) in a Fibre Channel (FC)
network. An FCS is defined by the FC-GS-5 standard. This
MIB provides the capabilities to trigger a discovery of
the configuration of one or more Fabrics, to retrieve the
results of such a discovery, as well as to control and
monitor the operation of an FCS. The discovered
configuration contains information about:
- Interconnect Elements (IEs), i.e., switches, hubs,
bridges, etc.,
- Ports on IEs, and
- Platforms that consist of one or more FC nodes.
Copyright (C) The IETF Trust (2007). This version of
this MIB module is part of RFC 4935; see the RFC itself for
full legal notices."
REVISION "200706270000Z"
DESCRIPTION
"Initial version of this MIB module, published as RFC 4935."
::= { mib-2 162 }
t11FcsMIBObjects OBJECT IDENTIFIER
::= { t11FcFabricConfigServerMIB 1 }
t11FcsMIBConformance OBJECT IDENTIFIER
::= { t11FcFabricConfigServerMIB 2 }
t11FcsNotifications OBJECT IDENTIFIER
::= { t11FcFabricConfigServerMIB 0 }
t11FcsDiscovery OBJECT IDENTIFIER ::= { t11FcsMIBObjects 1 }
t11FcsDiscoveredConfig OBJECT IDENTIFIER ::= { t11FcsMIBObjects 2 }
t11FcsStats OBJECT IDENTIFIER ::= { t11FcsMIBObjects 3 }
t11FcsNotificationInfo OBJECT IDENTIFIER ::= { t11FcsMIBObjects 4 }
--
-- Textual Conventions
--
T11FcListIndex ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"An index that identifies a list of elements.
All elements that belong to the same list have the
same index value. This syntax is used for objects
which identify a list in the INDEX clause of a table
of elements of that type of list."
SYNTAX Unsigned32 (1..4294967295)
T11FcListIndexPointerOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"Objects with this syntax point to a list of elements
contained in a table, by holding the same value as the
object with syntax T11FcListIndex defined in the table's
INDEX clause, or, zero to indicate an empty list.
Note that such a table could have one row per list, or
it could have one row per element of a list.
The definition of an object with this syntax must
identify the table(s) into which it points."
SYNTAX Unsigned32 -- the default range of (0..4294967295)
T11FcIeType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The type of Interconnect Element (IE):
unknown(1) - an unknown IE.
other(2) - some other type of IE.
switch(3) - the IE is a switch.
hub(4) - the IE is a hub.
bridge(5) - the IE is a bridge."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, Table 96."
SYNTAX INTEGER {
unknown(1),
other(2),
switch(3),
hub(4),
bridge(5)
}
T11FcPortState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The state of a port:
unknown(1) - unknown state.
other(2) - some other state.
online(3) - port is in online state.
offline(4) - port is in offline state.
testing(5) - port is in testing state.
fault(6) - port is faulty."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, Table 106."
SYNTAX INTEGER {
unknown(1),
other(2),
online(3),
offline(4),
testing(5),
fault(6)
}
Okay bestie, now we're getting into the port transceiver types πβ¨ This first one is a textual convention, and it's giving a whole menu of laser and wire flavors π
T11FcPortTxType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The technology of the port transceiver:
unknown(1) - unknown (includes the 'null' type)
other(2) - some other technology
shortwave850nm(3) - Short wave laser - SN (850 nm)
longwave1550nm(4) - Long wave laser - LL (1550 nm)
longwave1310nm(5) - Long wave laser cost
reduced - LC (1310 nm)
electrical(6) - Electrical - EL.
tenGbaseSr850(7) - 10GBASE-SR 850nm laser
tenGbaseLr1310(8) - 10GBASE-LR 1310nm laser
tenGbaseEr1550(9) - 10GBASE-ER 1550nm laser
tenGbaseLx1300(10) - 10GBASE-LX4 WWDM 1300nm laser
tenGbaseSw850(11) - 10GBASE-SW 850nm laser
tenGbaseLw1310(12) - 10GBASE-LW 1310nm laser
tenGbaseEw1550(13) - 10GBASE-EW 1550nm laser
"
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, Table 101."
SYNTAX INTEGER {
unknown(1),
other(2),
shortwave850nm(3),
longwave1550nm(4),
longwave1310nm(5),
electrical(6),
tenGbaseSr850(7),
tenGbaseLr1310(8),
tenGbaseEr1550(9),
tenGbaseLx1300(10),
tenGbaseSw850(11),
tenGbaseLw1310(12),
tenGbaseEw1550(13)
}
Next up is the reject reason explanation, which is basically the full list of "why did this request get bounced" codes π Every single one has its own little explanation, so this one is a lot, but it's so thorough it's kind of iconic π
T11FcsRejectReasonExplanation ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The reject reason code explanation:
noAdditionalExplanation(1)
- no additional explanation.
invNameIdForIEOrPort(2)
- the format of IE or port name is invalid.
ieListNotAvailable(3)
- IE list is not available.
ieTypeNotAvailable(4)
- IE type is not available.
domainIdNotAvailable(5)
- Domain ID is not available.
mgmtIdNotAvailable(6)
- mgmt ID is not available.
fabNameNotAvailable(7)
- Fabric_Name is not available.
ielogNameNotAvailable(8)
- IE logical name is not available.
mgmtAddrListNotAvailable(9)
- mgmt address list is not available.
ieInfoListNotAvailable(10)
- IE info list is not available.
portListNotAvailable(11)
- port list is not available.
portTypeNotAvailable(12)
- port type is not available.
phyPortNumNotAvailable(13)
- physical port number is not available.
attPortNameListNotAvailable(14)
- attached port name list is not available.
portStateNotAvailable(15)
- port state is not available.
unableToRegIELogName(16)
- not able to register IE logical name.
platformNameNoExist(17)
- platform name does not exist.
platformNameAlreadyExists(18)
- platform name already exists.
platformNodeNameNoExists(19)
- platform node name does not exist.
platformNodeNameAlreadyExists(20)
- platform node name already exists.
resourceUnavailable(21)
- resource unavailable.
noEntriesInLunMap(22)
- zero entries in OS LUN Map.
invalidDeviceNameLength(23)
- invalid OS device name length.
multipleAttributes(24)
- multiple attributes of same type in
platform attribute block.
invalidAttribBlockLength(25)
- invalid platform attribute block length.
attributesMissing(26)
- required platform attributes not present."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, Table 124."
SYNTAX INTEGER {
noAdditionalExplanation(1),
invNameIdForIEOrPort(2),
ieListNotAvailable(3),
ieTypeNotAvailable(4),
domainIdNotAvailable(5),
mgmtIdNotAvailable(6),
fabNameNotAvailable(7),
ielogNameNotAvailable(8),
mgmtAddrListNotAvailable(9),
ieInfoListNotAvailable(10),
portListNotAvailable(11),
portTypeNotAvailable(12),
phyPortNumNotAvailable(13),
attPortNameListNotAvailable(14),
portStateNotAvailable(15),
unableToRegIELogName(16),
platformNameNoExist(17),
platformNameAlreadyExists(18),
platformNodeNameNoExists(19),
platformNodeNameAlreadyExists(20),
resourceUnavailable(21),
noEntriesInLunMap(22),
invalidDeviceNameLength(23),
multipleAttributes(24),
invalidAttribBlockLength(25),
attributesMissing(26)
}
--
-- Objects for Fabric Discovery
--
Now we get to the fabric discovery objects π§ The first one is the discovery table, where the control info lives. Quick heads up: values written here don't survive an agent reboot, so keep that in mind π«Ά
t11FcsFabricDiscoveryTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcsFabricDiscoveryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains control information for discovery
of Fabric configuration by switches.
Values written to objects in this table are not
retained over agent reboots."
::= { t11FcsDiscovery 1 }
t11FcsFabricDiscoveryEntry OBJECT-TYPE
SYNTAX T11FcsFabricDiscoveryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Control information for discovery by the switch
identified by fcmInstanceIndex and fcmSwitchIndex."
INDEX { fcmInstanceIndex, fcmSwitchIndex }
::= { t11FcsFabricDiscoveryTable 1 }
T11FcsFabricDiscoveryEntry ::= SEQUENCE {
t11FcsFabricDiscoveryRangeLow T11FabricIndex,
t11FcsFabricDiscoveryRangeHigh T11FabricIndex,
t11FcsFabricDiscoveryStart INTEGER,
t11FcsFabricDiscoveryTimeOut Unsigned32
}
t11FcsFabricDiscoveryRangeLow OBJECT-TYPE
SYNTAX T11FabricIndex
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The discovery by a particular switch operates
within all existing Fabrics that have a Fabric
Index within a specific inclusive range. This
object specifies the minimum Fabric Index value
within that range. This value just represents
the lower end of the range and does not necessarily
represent any existing Fabric."
::= { t11FcsFabricDiscoveryEntry 1 }
t11FcsFabricDiscoveryRangeHigh OBJECT-TYPE
SYNTAX T11FabricIndex
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The discovery by a particular switch operates
within all existing Fabrics that have a Fabric
Index within a specific inclusive range. This
object specifies the maximum Fabric Index value
within that range. This value just represents the
higher end of the range and does not necessarily
represent any existing Fabric."
::= { t11FcsFabricDiscoveryEntry 2 }
t11FcsFabricDiscoveryStart OBJECT-TYPE
SYNTAX INTEGER {
start(1),
noOp(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object provides the capability to trigger the start
of a discovery by a Fabric Configuration Server. If this
object is set to 'start', then the discovery is started on
those Fabrics that have their Fabric Index value in the
range specified by t11FcsFabricDiscoveryRangeLow and
t11FcsFabricDiscoveryRangeHigh. It is recommended that
whenever an instance of this object is set to 'start',
that the desired range be specified at the same time by
setting the corresponding instances of
t11FcsFabricDiscoveryRangeLow and
t11FcsFabricDiscoveryRangeHigh.
Setting this object to 'start' will be rejected if a
discovery is already/still in progress on any Fabrics in
the specified range.
No action is taken if this object is set to 'noOp'.
The value of this object when read is always 'noOp'."
::= { t11FcsFabricDiscoveryEntry 3 }
t11FcsFabricDiscoveryTimeOut OBJECT-TYPE
SYNTAX Unsigned32 (300..86400)
UNITS "Seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The minimum interval of time for which the discovered
Fabric information is cached by a Fabric Configuration
Server."
DEFVAL { 900 }
::= { t11FcsFabricDiscoveryEntry 4 }
--
-- Discovery State table
--
t11FcsDiscoveryStateTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcsDiscoveryStateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the status of discovery of
locally known Fabrics."
::= { t11FcsDiscovery 2 }
t11FcsDiscoveryStateEntry OBJECT-TYPE
SYNTAX T11FcsDiscoveryStateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The discovery status for a particular Fabric on the
switch identified by fcmInstanceIndex and fcmSwitchIndex."
INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex }
::= { t11FcsDiscoveryStateTable 1 }
T11FcsDiscoveryStateEntry ::= SEQUENCE {
t11FcsFabricIndex T11FabricIndex,
t11FcsDiscoveryStatus INTEGER,
t11FcsDiscoveryCompleteTime TimeStamp
}
t11FcsFabricIndex OBJECT-TYPE
SYNTAX T11FabricIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique index value that uniquely identifies a
particular Fabric.
In a Fabric conformant to FC-SW-4, multiple Virtual Fabrics
can operate within one (or more) physical infrastructures,
and this index value is used to uniquely identify a
particular (physical or virtual) Fabric within a physical
infrastructure.
In a Fabric conformant to versions earlier than FC-SW-4,
only a single Fabric could operate within a physical
infrastructure, and thus, the value of this Fabric Index
was defined to always be 1."
::= { t11FcsDiscoveryStateEntry 1 }
okay so the status object is basically the discovery vibe check π
it starts out localOnly and only levels up when a discovery actually runs β¨
t11FcsDiscoveryStatus OBJECT-TYPE
SYNTAX INTEGER {
inProgress(1),
completed(2),
localOnly(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The status of the discovery for the particular Fabric.
Initially when the switch comes up, all instances of this
object have the value: 'localOnly', and the database
contains only local information, i.e., no information
discovered via the Fabric Configuration Server protocol
specified in FC-GS-5.
If t11FcsFabricDiscoveryStart is set to 'start' for a
range of Fabrics that includes this Fabric, then the
value of this object transitions to 'inProgress'. When
the discovery completes, this object transitions to
'completed', and the data is cached for the minimum
interval of time specified by
t11FcsFabricDiscoveryTimeOut. After this interval has
been exceeded, the data may be lost, in which case, the
value of this object changes to 'localOnly'.
This object cannot be set via SNMP to any value other
than 'localOnly'. If this object is set (via SNMP) to
'localOnly', the cached data for the Fabric is discarded
immediately, and if a discovery initiated from this
switch was in progress for this Fabric, then that
discovery is aborted."
::= { t11FcsDiscoveryStateEntry 2 }
t11FcsDiscoveryCompleteTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the value of sysUpTime at which
discovery was most recently completed or aborted on this
Fabric. This object contains the value of zero before
the first discovery on this Fabric."
::= { t11FcsDiscoveryStateEntry 3 }
--
-- The Database of Fabric Configuration Information
--
-- Interconnect Element table
--
t11FcsIeTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcsIeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of Interconnect Elements. Interconnect
Elements (IEs) are switches, hubs, bridges etc.
By default, the Fabric Configuration Server will
maintain detailed information pertaining only to
local resources. As far as discovered topology is
concerned, only the IE name, type, and Domain ID
information will be maintained. If a discovery
cycle is triggered on a set of Fabrics, this table
along with the Port and Platform tables will be
populated with the discovered information. The
discovered data will be retained in this table for
at least t11FcsFabricDiscoveryTimeOut seconds after
the completion of its discovery or until the
discovered data is invalidated."
::= { t11FcsDiscoveredConfig 1 }
t11FcsIeEntry OBJECT-TYPE
SYNTAX T11FcsIeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about an Interconnect Element that was
discovered on a Fabric (identified by t11FcsFabricIndex),
by a switch (identified by fcmInstanceIndex and
fcmSwitchIndex)."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2."
INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex,
t11FcsIeName }
::= { t11FcsIeTable 1 }
T11FcsIeEntry ::= SEQUENCE {
t11FcsIeName FcNameIdOrZero,
t11FcsIeType T11FcIeType,
t11FcsIeDomainId FcDomainIdOrZero,
t11FcsIeMgmtId FcAddressIdOrZero,
t11FcsIeFabricName FcNameIdOrZero,
t11FcsIeLogicalName OCTET STRING,
t11FcsIeMgmtAddrListIndex T11FcListIndexPointerOrZero,
t11FcsIeInfoList OCTET STRING
}
t11FcsIeName OBJECT-TYPE
SYNTAX FcNameIdOrZero (SIZE(8 | 16))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The WWN of an Interconnect Element. This object
uniquely identifies an Interconnect Element on a
Fabric. If the IE is a switch, then this object
is the Switch_Name (WWN) of the switch."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.1."
::= { t11FcsIeEntry 1 }
t11FcsIeType OBJECT-TYPE
SYNTAX T11FcIeType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of this Interconnect Element."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.2"
::= { t11FcsIeEntry 2 }
t11FcsIeDomainId OBJECT-TYPE
SYNTAX FcDomainIdOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Domain ID of this Interconnect Element."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.3."
::= { t11FcsIeEntry 3 }
t11FcsIeMgmtId OBJECT-TYPE
SYNTAX FcAddressIdOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The management identifier of this Interconnect Element.
If the Interconnect Element is a switch, this object will
be the Domain Controller identifier of the switch. When
the value of the identifier is unknown, this object
contains the all-zeros value: x'00 00 00'."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.4."
DEFVAL { '000000'h }
::= { t11FcsIeEntry 4 }
t11FcsIeFabricName OBJECT-TYPE
SYNTAX FcNameIdOrZero (SIZE(8 | 16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Fabric_Name (WWN) of this Interconnect Element.
When the Fabric_Name is unknown, this object contains
the all-zeros value: x'00 00 00 00 00 00 00 00'."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.5."
DEFVAL { '0000000000000000'h }
::= { t11FcsIeEntry 5 }
t11FcsIeLogicalName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The logical name of this Interconnect Element.
When the logical name is unknown, this object contains
the zero-length string."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.6."
::= { t11FcsIeEntry 6 }
t11FcsIeMgmtAddrListIndex OBJECT-TYPE
SYNTAX T11FcListIndexPointerOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The management address list for this Interconnect Element.
This object points to an entry in the
t11FcsMgmtAddrListTable."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.7."
::= { t11FcsIeEntry 7 }
t11FcsIeInfoList OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..252))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The information list for this Interconnect Element.
The value of this object is formatted as specified in
FC-GS-5, i.e., it has the following substrings in order:
vendor name, model name/number, and release code/level,
followed by zero or more substrings of vendor-specific
information. Each substring is terminated with a byte
containing a null value (x'00')."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.8"
::= { t11FcsIeEntry 8 }
--
-- Management Address List table
--
t11FcsMgmtAddrListTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcsMgmtAddrListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the set of management address lists
that are currently referenced by any instance of the
t11FcsIeMgmtAddrListIndex or
t11FcsPlatformMgmtAddrListIndex objects."
::= { t11FcsDiscoveredConfig 2 }
t11FcsMgmtAddrListEntry OBJECT-TYPE
SYNTAX T11FcsMgmtAddrListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about one management address in a
management address list, which is known to a
switch (identified by fcmInstanceIndex and
fcmSwitchIndex)."
INDEX { fcmInstanceIndex, fcmSwitchIndex,
t11FcsMgmtAddrListIndex, t11FcsMgmtAddrIndex }
::= { t11FcsMgmtAddrListTable 1 }
T11FcsMgmtAddrListEntry ::= SEQUENCE {
t11FcsMgmtAddrListIndex T11FcListIndex,
t11FcsMgmtAddrIndex Unsigned32,
t11FcsMgmtAddr URLString
}
t11FcsMgmtAddrListIndex OBJECT-TYPE
SYNTAX T11FcListIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index value of the management address list."
::= { t11FcsMgmtAddrListEntry 1 }
t11FcsMgmtAddrIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An integer value to distinguish different
management addresses in the same list."
::= { t11FcsMgmtAddrListEntry 2 }
t11FcsMgmtAddr OBJECT-TYPE
SYNTAX URLString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The management address of this entry.
The format of this object is a Uniform Resource
Locator (URL), e.g., for SNMP, see RFC 4088."
REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5,
FC-GS-5, section 6.2.3.2.7"
::= { t11FcsMgmtAddrListEntry 3 }
--
-- Ports
--
t11FcsPortTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcsPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information about the ports of IEs."
::= { t11FcsDiscoveredConfig 4 }
t11FcsPortEntry OBJECT-TYPE
SYNTAX T11FcsPortEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular port of an Interconnect
Element (identified by t11FcsIeName). The port is
connected to a Fabric (identified by t11FcsFabricIndex)
and known to a switch (identified by fcmInstanceIndex
and fcmSwitchIndex)."
INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex,
t11FcsIeName, t11FcsPortName }
::= { t11FcsPortTable 1 }
T11FcsPortEntry ::= SEQUENCE {
t11FcsPortName FcNameIdOrZero,
t11FcsPortType FcPortType,
t11FcsPortTxType T11FcPortTxType,
t11FcsPortModuleType Unsigned32,
t11FcsPortPhyPortNum Unsigned32,
t11FcsPortAttachPortNameIndex T11FcListIndexPointerOrZero,
t11FcsPortState T11FcPortState,
t11FcsPortSpeedCapab OCTET STRING,
t11FcsPortOperSpeed OCTET STRING,
t11FcsPortZoningEnfStatus OCTET STRING
}
Okay bestie, we're picking up right where the port table left off π¦β¨
t11FcsPortName OBJECT-TYPE SYNTAX FcNameIdOrZero (SIZE(8 | 16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Port_Name (WWN) of the port for which this row contains information." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.1." ::= { t11FcsPortEntry 1 }
t11FcsPortType OBJECT-TYPE SYNTAX FcPortType MAX-ACCESS read-only STATUS current DESCRIPTION "The Port Type of this port."
REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.2." ::= { t11FcsPortEntry 2 }
t11FcsPortTxType OBJECT-TYPE SYNTAX T11FcPortTxType MAX-ACCESS read-only STATUS current DESCRIPTION "The Port TX Type of this port." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.3." ::= { t11FcsPortEntry 3 }
t11FcsPortModuleType OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The port module type of this port." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.4." ::= { t11FcsPortEntry 4 }
t11FcsPortPhyPortNum OBJECT-TYPE SYNTAX Unsigned32 -- the default range of (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "The physical number for this port. FC-GS-5 says that the contents of this field, which are carried in a field with a size of 4 bytes, are not to be restricted due to vendor-specific methods for numbering physical ports." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.5." ::= { t11FcsPortEntry 5 }
t11FcsPortAttachPortNameIndex OBJECT-TYPE SYNTAX T11FcListIndexPointerOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The attached port name list for this port. This object points to an entry in the t11FcsAttachPortNameListTable."
REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.6." ::= { t11FcsPortEntry 6 }
t11FcsPortState OBJECT-TYPE SYNTAX T11FcPortState MAX-ACCESS read-only STATUS current DESCRIPTION "The state of this port." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.7." ::= { t11FcsPortEntry 7 }
t11FcsPortSpeedCapab OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The port speed capabilities of this port. The two octets of the value are formatted as described in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.8." ::= { t11FcsPortEntry 8 }
t11FcsPortOperSpeed OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The operating speed of this port. The two octets of the value are formatted as described in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.9." ::= { t11FcsPortEntry 9 }
t11FcsPortZoningEnfStatus OBJECT-TYPE SYNTAX OCTET STRING (SIZE (12)) MAX-ACCESS read-only STATUS current DESCRIPTION "The zoning enforcement status of this port. The 12 octets of the value are formatted as described in FC-GS-5." REFERENCE
"ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.10." ::= { t11FcsPortEntry 10 }
Ngl, the port objects are giving **fully detailed port profile** β¨ Each one points back to FC-GS-5, so you always know where the number came from π§ The WWN, port type, speed bits and zoning status are all in there, and the physical port number is allowed to be vendor-specific πΈ
Next up is the Attached Port List table, the list of port names hanging off a port π
-- -- Attached Port List table --
t11FcsAttachPortNameListTable OBJECT-TYPE SYNTAX SEQUENCE OF T11FcsAttachPortNameListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all the lists of attach port names." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.6" ::= { t11FcsDiscoveredConfig 5 }
t11FcsAttachPortNameListEntry OBJECT-TYPE SYNTAX T11FcsAttachPortNameListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about the name of a particular attached port, which is known to a switch (identified by fcmInstanceIndex and fcmSwitchIndex)." INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsAttachPortNameListIndex, t11FcsAttachPortName } ::= { t11FcsAttachPortNameListTable 1 }
T11FcsAttachPortNameListEntry ::= SEQUENCE { t11FcsAttachPortNameListIndex T11FcListIndex, t11FcsAttachPortName OCTET STRING }
t11FcsAttachPortNameListIndex OBJECT-TYPE SYNTAX T11FcListIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index value of the attach port name list." ::= { t11FcsAttachPortNameListEntry 1 }
t11FcsAttachPortName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (12)) MAX-ACCESS read-only STATUS current DESCRIPTION "The attached port name. Zero or more of these names may be associated with a port object. The first 8 bytes of this object contain the WWN of the port followed by 2 reserved bytes. Following this is one byte of Port flags and one byte of Port type, as described in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.3.6" ::= { t11FcsAttachPortNameListEntry 2 }
This table is basically a bunch of lists, and each name is 12 bytes: the WWN up front, then 2 reserved bytes, then the port flags and port type bytes π
It's all tied together through the switch's instance and switch indexes, so everything stays in its lane π
Last bit of this chunk is the Platforms section, where the platform entry starts getting **seriously detailed** π
-- -- Platforms --
t11FcsPlatformTable OBJECT-TYPE SYNTAX SEQUENCE OF T11FcsPlatformEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information on platforms.
By default, this table only contains local (e.g., for a local switch) information. If a discovery is triggered, this table will also contain information gathered by the discovery process. The discovered information is retained in this table for at least t11FcsFabricDiscoveryTimeOut seconds after the completion of its discovery or until the discovered cache is invalidated." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4" ::= { t11FcsDiscoveredConfig 6 }
t11FcsPlatformEntry OBJECT-TYPE SYNTAX T11FcsPlatformEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular platform, which is known to a switch (identified by fcmInstanceIndex and fcmSwitchIndex).
A platform can contain multiple nodes. Information on nodes is contained in the t11FcsNodeNameListTable. The t11FcsPlatformNodeNameListIndex object in this table points to the list of nodes contained in this platform. Similarly, the t11FcsPlatformMgmtAddrListIndex object in this table points to the list of management addresses associated with this platform." INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex, t11FcsPlatformIndex } ::= { t11FcsPlatformTable 1 }
T11FcsPlatformEntry ::= SEQUENCE { t11FcsPlatformIndex Unsigned32, t11FcsPlatformName OCTET STRING, t11FcsPlatformType OCTET STRING, t11FcsPlatformNodeNameListIndex T11FcListIndexPointerOrZero, t11FcsPlatformMgmtAddrListIndex T11FcListIndexPointerOrZero, t11FcsPlatformVendorId SnmpAdminString, t11FcsPlatformProductId SnmpAdminString, t11FcsPlatformProductRevLevel SnmpAdminString, t11FcsPlatformDescription SnmpAdminString, t11FcsPlatformLabel SnmpAdminString, t11FcsPlatformLocation SnmpAdminString, t11FcsPlatformSystemID SnmpAdminString, t11FcsPlatformSysMgmtAddr T11FcListIndexPointerOrZero, t11FcsPlatformClusterId SnmpAdminString, t11FcsPlatformClusterMgmtAddr T11FcListIndexPointerOrZero, t11FcsPlatformFC4Types OCTET STRING }
t11FcsPlatformIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer value to distinguish one platform from other platforms in the same Fabric." ::= { t11FcsPlatformEntry 1 }
t11FcsPlatformName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this platform. The last byte of the value indicates the format of the name (even if the name itself is the zero-length string) as specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.2" ::= { t11FcsPlatformEntry 2 }
t11FcsPlatformType OBJECT-TYPE SYNTAX OCTET STRING (SIZE (4)) MAX-ACCESS read-only STATUS current DESCRIPTION "The type(s) of this platform, encoded in 4 bytes as specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.3" ::= { t11FcsPlatformEntry 3 }
t11FcsPlatformNodeNameListIndex OBJECT-TYPE SYNTAX T11FcListIndexPointerOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The list of nodes for this platform. This object points to an entry in the t11FcsNodeNameListTable." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.6" ::= { t11FcsPlatformEntry 4 }
t11FcsPlatformMgmtAddrListIndex OBJECT-TYPE SYNTAX T11FcListIndexPointerOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The list of management addresses for this platform. This object points to an entry in the t11FcsMgmtAddrListTable." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.7" ::= { t11FcsPlatformEntry 5 }
t11FcsPlatformVendorId OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 12)) MAX-ACCESS read-only STATUS current DESCRIPTION "The identifier of the vendor of this platform, in the format specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 6 }
t11FcsPlatformProductId OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 20)) MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor's product and/or model identifier for this platform, in the format specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 7 }
<pink>Okay bestie, we're picking up right where the last part left off</pink> π
β¨ This batch is all about the platform's product revision level, description, label, location, and cluster stuff, then the Node Name List table, the stats counters, and the notification controls. Let's go π
<purple>The product revision level</purple> is the first one here. It's a 0-or-4-to-32 character string, read-only, and it follows the format in FC-GS-5 πΈ
t11FcsPlatformProductRevLevel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The product revision level for this platform, in the format specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 8 }
t11FcsPlatformDescription OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..128)) MAX-ACCESS read-only STATUS current DESCRIPTION "The description of this platform, in the format specified in FC-GS-5. This value should include the full name and version identification of the platform's hardware type and software operating system." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.10" ::= { t11FcsPlatformEntry 9 }
t11FcsPlatformLabel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..64)) MAX-ACCESS read-only STATUS current DESCRIPTION "An administratively assigned symbolic name for the platform, in the format specified in FC-GS-5." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.11"
::= { t11FcsPlatformEntry 10 }
t11FcsPlatformLocation OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..128)) MAX-ACCESS read-only STATUS current DESCRIPTION "The physical location of the platform, in the format specified in FC-GS-5 (e.g., 'telephone closet, 3rd floor')." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.12" ::= { t11FcsPlatformEntry 11 }
t11FcsPlatformSystemID OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..64)) MAX-ACCESS read-only STATUS current DESCRIPTION "An identifier for a hosting system that this platform is associated with. This identifier is used to associate platforms of logical types (e.g., logical partitions) with a physical system." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 12 }
t11FcsPlatformSysMgmtAddr OBJECT-TYPE SYNTAX T11FcListIndexPointerOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "A list of management addresses for the platform." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, sections 6.2.3.4.5 and 6.2.3.2.7." ::= { t11FcsPlatformEntry 13 }
t11FcsPlatformClusterId OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0 | 4..64)) MAX-ACCESS read-only STATUS current DESCRIPTION "An identifier for a cluster that this platform is associated with, where a cluster is a set of independent platforms that are managed together to provide increased performance capabilities, failover, etc."
REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 14 }
t11FcsPlatformClusterMgmtAddr OBJECT-TYPE SYNTAX T11FcListIndexPointerOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "A list of management addresses for the cluster identified in the corresponding instance of t11FcsPlatformClusterId." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, sections 6.2.3.4.5 and 6.2.3.2.7." ::= { t11FcsPlatformEntry 15 }
t11FcsPlatformFC4Types OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 32)) MAX-ACCESS read-only STATUS current DESCRIPTION "The FC-4 types supported by this platform, formatted as a bit mask as specified in FC-GS-5. If this object contains the zero-length string, the types are unknown." REFERENCE "ANSI INCITS 427-2007, Fibre Channel - Generic Services 5, FC-GS-5, section 6.2.3.4.5" ::= { t11FcsPlatformEntry 16 }
-- -- Node Name List table --
t11FcsNodeNameListTable OBJECT-TYPE SYNTAX SEQUENCE OF T11FcsNodeNameListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all the lists of nodes." ::= { t11FcsDiscoveredConfig 7 }
t11FcsNodeNameListEntry OBJECT-TYPE SYNTAX T11FcsNodeNameListEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a node, which is known to a switch (identified by fcmInstanceIndex and fcmSwitchIndex)." INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsNodeNameListIndex, t11FcsNodeName } ::= { t11FcsNodeNameListTable 1 }
T11FcsNodeNameListEntry ::= SEQUENCE { t11FcsNodeNameListIndex T11FcListIndex, t11FcsNodeName FcNameIdOrZero }
t11FcsNodeNameListIndex OBJECT-TYPE SYNTAX T11FcListIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index value of the node name list." ::= { t11FcsNodeNameListEntry 1 }
t11FcsNodeName OBJECT-TYPE SYNTAX FcNameIdOrZero (SIZE(8 | 16)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this node." ::= { t11FcsNodeNameListEntry 2 }
-- -- Statistics --
t11FcsStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF T11FcsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all the statistics related to the Fabric Configuration Server." ::= { t11FcsStats 1 }
t11FcsStatsEntry OBJECT-TYPE SYNTAX T11FcsStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of statistics for a particular Fabric (identified by t11FcsFabricIndex) on a switch (identified by fcmInstanceIndex and fcmSwitchIndex)."
INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex } ::= { t11FcsStatsTable 1 }
T11FcsStatsEntry ::= SEQUENCE { t11FcsInGetReqs Counter32, t11FcsOutGetReqs Counter32, t11FcsInRegReqs Counter32, t11FcsOutRegReqs Counter32, t11FcsInDeregReqs Counter32, t11FcsOutDeregReqs Counter32, t11FcsRejects Counter32 }
t11FcsInGetReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Get Requests received by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 1 }
t11FcsOutGetReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Get Requests sent by the Fabric Configuration Server on this Fabric to other servers in the Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 2 }
t11FcsInRegReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Registration Requests received by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 3 }
t11FcsOutRegReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Registration Requests sent by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 4 }
t11FcsInDeregReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Deregistration Requests received by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 5 }
t11FcsOutDeregReqs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Deregistration Requests sent by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 6 }
t11FcsRejects OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of requests rejected by the Fabric Configuration Server on this Fabric.
This counter has no discontinuities other than those that all Counter32s have when sysUpTime=0." ::= { t11FcsStatsEntry 7 }
-- -- Notification Control Table --
t11FcsNotifyControlTable OBJECT-TYPE SYNTAX SEQUENCE OF T11FcsNotifyControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of control information for notifications generated due to Fabric Configuration Server events.
Values written to objects in this table should be persistent/retained over agent reboots." ::= { t11FcsNotificationInfo 1 }
t11FcsNotifyControlEntry OBJECT-TYPE SYNTAX T11FcsNotifyControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains notification control information for a Fabric Configuration Server on a particular Fabric (identified by t11FcsFabricIndex) on a particular switch (identified by fcmInstanceIndex and fcmSwitchIndex)." INDEX { fcmInstanceIndex, fcmSwitchIndex, t11FcsFabricIndex } ::= { t11FcsNotifyControlTable 1 }
T11FcsNotifyControlEntry ::= SEQUENCE { t11FcsReqRejectNotifyEnable TruthValue, t11FcsDiscoveryCompNotifyEnable TruthValue, t11FcsMgmtAddrChangeNotifyEnable TruthValue, t11FcsRejectCtCommandString OCTET STRING, t11FcsRejectRequestSource FcNameIdOrZero, t11FcsRejectReasonCode T11NsGs4RejectReasonCode, t11FcsRejectReasonCodeExp T11FcsRejectReasonExplanation, t11FcsRejectReasonVendorCode OCTET STRING }
t11FcsReqRejectNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies if the Fabric Configuration Server should generate 't11FcsRqRejectNotification' notifications.
If the value of this object is 'true', then the notification is issued. If the value of this object is 'false', then the notification is not issued." DEFVAL { false } ::= { t11FcsNotifyControlEntry 1 }
<lavender>That's the whole batch</lavender> π¦ Next up we've got the rest of the notification control objects, so keep your eyes peeled ππ
t11FcsDiscoveryCompNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies if the Fabric Configuration Server should generate 't11FcsDiscoveryCompleteNotify' notifications.
If the value of this object is 'true', then the notification is issued. If the value of this object is 'false', then the notification is not issued." DEFVAL { false } ::= { t11FcsNotifyControlEntry 2 }
t11FcsMgmtAddrChangeNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies if the Fabric Configuration Server should generate 't11FcsMgmtAddrChangeNotify' notifications.
If the value of this object is 'true', then the notification is issued. If the value of this object is 'false', then the notification is not issued." DEFVAL { false } ::= { t11FcsNotifyControlEntry 3 }
t11FcsRejectCtCommandString OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The binary content of the Fabric Configuration Server request, formatted as an octet string (in network byte order) containing the Common Transport Information Unit (CT_IU), as described in Table 2 of FC-GS-5 (including the preamble), which was most recently rejected by the Fabric Configuration Server for this Fabric.
This object contains the zero-length string if and when the CT-IU's content is unavailable.
When the length of this object is 255 octets, it contains the first 255 octets of the CT-IU (in network byte order)." ::= { t11FcsNotifyControlEntry 4 }
t11FcsRejectRequestSource OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The WWN that was the source of the CT_IU contained in the corresponding instance of t11FcsRejectCtCommandString." ::= { t11FcsNotifyControlEntry 5 }
t11FcsRejectReasonCode OBJECT-TYPE SYNTAX T11NsGs4RejectReasonCode MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the reason code corresponding to the latest Fabric Configuration Server request rejected by the local system." ::= { t11FcsNotifyControlEntry 6 }
t11FcsRejectReasonCodeExp OBJECT-TYPE SYNTAX T11FcsRejectReasonExplanation MAX-ACCESS read-only STATUS current DESCRIPTION "When the corresponding instance of t11FcsRejectReasonCode has the value: 'unable to perform command request', this object contains the corresponding reason code explanation." ::= { t11FcsNotifyControlEntry 7 }
t11FcsRejectReasonVendorCode OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS read-only STATUS current DESCRIPTION
"A registration reject vendor-specific code. This object contains the vendor-specific code of the most recently rejected Fabric Configuration Server Registration request for the particular port on the particular Fabric." ::= { t11FcsNotifyControlEntry 8 } -- -- Notifications --
t11FcsRqRejectNotification NOTIFICATION-TYPE OBJECTS { t11FamLocalSwitchWwn, t11FcsRejectReasonCode, t11FcsRejectReasonCodeExp, t11FcsRejectReasonVendorCode } STATUS current DESCRIPTION "This notification is generated whenever the Fabric Configuration Server on a switch (indicated by the value of t11FamLocalSwitchWwn) rejects a Fabric Configuration Server request.
The Fabric Configuration Server should update the t11FcsRejectReasonCode, t11FcsRejectReasonCodeExp and t11FcsRejectReasonVendorCode objects with the corresponding reason code, explanation and vendor specific code before sending the notification." ::= { t11FcsNotifications 1 }
t11FcsDiscoveryCompleteNotify NOTIFICATION-TYPE OBJECTS {t11FcsFabricDiscoveryRangeLow} STATUS current DESCRIPTION "This notification is generated by the Fabric Configuration Server on the completion of the discovery of Fabrics in the range that has t11FcsFabricDiscoveryRangeLow at its low end." ::= { t11FcsNotifications 2 }
t11FcsMgmtAddrChangeNotify NOTIFICATION-TYPE OBJECTS { t11FcsMgmtAddrChangeFabricIndex, t11FcsMgmtAddrChangeIeName } STATUS current DESCRIPTION "This notification is generated by the Fabric Configuration Server whenever the management address of an IE changes, i.e., whenever an entry in the t11FcsMgmtAddrListTable changes."
::= { t11FcsNotifications 3 }
t11FcsMgmtAddrChangeFabricIndex OBJECT-TYPE SYNTAX T11FabricIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The index value that identifies the Fabric on which a management address change has been detected." ::= { t11FcsNotificationInfo 2 }
t11FcsMgmtAddrChangeIeName OBJECT-TYPE SYNTAX FcNameIdOrZero MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The IE for which a management address change has been detected." ::= { t11FcsNotificationInfo 3 }
-- Conformance
t11FcsMIBCompliances OBJECT IDENTIFIER ::= { t11FcsMIBConformance 1 } t11FcsMIBGroups OBJECT IDENTIFIER ::= { t11FcsMIBConformance 2 }
t11FcsMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that implement the Fabric Configuration Server." MODULE MANDATORY-GROUPS { t11FcsDiscoveredConfigGroup, t11FcsDiscoveryStatusGroup, t11FcsNotificationInfoGroup, t11FcsNotificationGroup }
GROUP t11FcsDiscoveryControlGroup DESCRIPTION "This group is mandatory only for those systems that allow discovery of configuration by Fabric Configuration Servers to be controlled via a MIB."
GROUP t11FcsStatisticsGroup DESCRIPTION "These counters, containing Fabric Configuration Server statistics, are mandatory only for those systems that count such events."
OBJECT t11FcsDiscoveryStatus WRITE-SYNTAX INTEGER { localOnly(3) } MIN-ACCESS read-only DESCRIPTION "Write access is not required. However, if write access is supported, then the only writable value is 'localOnly'."
OBJECT t11FcsReqRejectNotifyEnable MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT t11FcsDiscoveryCompNotifyEnable MIN-ACCESS read-only DESCRIPTION "Write access is not required."
OBJECT t11FcsMgmtAddrChangeNotifyEnable MIN-ACCESS read-only DESCRIPTION "Write access is not required."
::= { t11FcsMIBCompliances 1 }
-- Units of Conformance
t11FcsDiscoveryControlGroup OBJECT-GROUP OBJECTS { t11FcsFabricDiscoveryRangeLow, t11FcsFabricDiscoveryRangeHigh, t11FcsFabricDiscoveryStart, t11FcsFabricDiscoveryTimeOut } STATUS current DESCRIPTION "A collection of objects for requesting a Fabric Configuration Server to discover the configuration of one or more Fabrics." ::= { t11FcsMIBGroups 1 }
t11FcsDiscoveryStatusGroup OBJECT-GROUP OBJECTS { t11FcsDiscoveryStatus, t11FcsDiscoveryCompleteTime } STATUS current DESCRIPTION "A collection of objects with which to monitor the status of discovery (of Fabric configurations) by Fabric Configuration Servers."
::= { t11FcsMIBGroups 2 }
t11FcsDiscoveredConfigGroup OBJECT-GROUP OBJECTS { t11FcsIeType, t11FcsIeDomainId, t11FcsIeMgmtId, t11FcsIeFabricName, t11FcsIeLogicalName, t11FcsIeMgmtAddrListIndex, t11FcsIeInfoList, t11FcsMgmtAddr, t11FcsPortType, t11FcsPortTxType, t11FcsPortModuleType, t11FcsPortPhyPortNum, t11FcsPortAttachPortNameIndex, t11FcsPortState, t11FcsPortSpeedCapab, t11FcsPortOperSpeed, t11FcsPortZoningEnfStatus, t11FcsAttachPortName, t11FcsPlatformName, t11FcsPlatformType, t11FcsPlatformNodeNameListIndex, t11FcsPlatformMgmtAddrListIndex, t11FcsPlatformVendorId, t11FcsPlatformProductId, t11FcsPlatformProductRevLevel, t11FcsPlatformDescription, t11FcsPlatformLabel, t11FcsPlatformLocation, t11FcsPlatformSystemID, t11FcsPlatformSysMgmtAddr, t11FcsPlatformClusterId, t11FcsPlatformClusterMgmtAddr, t11FcsPlatformFC4Types, t11FcsNodeName } STATUS current DESCRIPTION "A collection of objects to contain the Fabric configuration information discovered by Fabric Configuration Servers." ::= { t11FcsMIBGroups 3 }
t11FcsStatisticsGroup OBJECT-GROUP OBJECTS { t11FcsInGetReqs, t11FcsOutGetReqs, t11FcsInRegReqs, t11FcsOutRegReqs, t11FcsInDeregReqs, t11FcsOutDeregReqs, t11FcsRejects } STATUS current DESCRIPTION "A collection of objects for Fabric Configuration Server statistics information." ::= { t11FcsMIBGroups 4 }
t11FcsNotificationInfoGroup OBJECT-GROUP OBJECTS { t11FcsReqRejectNotifyEnable, t11FcsDiscoveryCompNotifyEnable, t11FcsMgmtAddrChangeNotifyEnable, t11FcsRejectCtCommandString, t11FcsRejectRequestSource, t11FcsRejectReasonCode, t11FcsRejectReasonCodeExp, t11FcsRejectReasonVendorCode, t11FcsMgmtAddrChangeFabricIndex, t11FcsMgmtAddrChangeIeName } STATUS current DESCRIPTION "A collection of notification control and notification information objects for monitoring Fabric Configuration Servers." ::= { t11FcsMIBGroups 5 }
t11FcsNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { t11FcsRqRejectNotification, t11FcsDiscoveryCompleteNotify, t11FcsMgmtAddrChangeNotify } STATUS current DESCRIPTION "A collection of notifications for monitoring Fabric Configuration Servers." ::= { t11FcsMIBGroups 6 }
END
# 7. IANA Considerations β¨
IANA has done its thing and assigned a MIB OID (162) under the mib-2 subtree π§π
# 8. Security Considerations πβ¨
Okay bestie, this part is serious, but we can still make it cute π. There are a bunch of management objects in this MIB module with a MAX-ACCESS of read-write and/or read-create. Those objects may be considered sensitive or vulnerable in some network environments. Supporting SET operations in a non-secure environment without proper protection can have a negative effect on network operations π. These are the objects, and what makes each one sensitive:
t11FcsFabricDiscoveryRangeLow t11FcsFabricDiscoveryRangeHigh t11FcsFabricDiscoveryTimeOut t11FcsFabricDiscoveryStart -- the ability to specify parameters for, and trigger the start of, a topology discovery. t11FcsDiscoveryStatus -- the ability to abort a discovery, or invalidate discovered information. t11FcsReqRejectNotifyEnable t11FcsDiscoveryCompNotifyEnable t11FcsMgmtAddrChangeNotifyEnable -- the ability to enable/disable notifications.
Again, these objects may be considered sensitive or vulnerable in some network environments. For example, being able to invalidate discovered topology could let an attacker hide unauthorized equipment on the network ππ. And yep, SET support in a non-secure environment without protection can still cause network trouble.
Some of the readable objects in this MIB module (the ones with a MAX-ACCESS other than not-accessible) may also be considered sensitive or vulnerable in some network environments. So it's important to control even GET and/or NOTIFY access to these, and possibly even encrypt their values when sending them over the network via SNMP π. Here are the tables and objects, and what makes them sensitive:
t11FcsIeTable t11FcsMgmtAddrListTable t11FcsPortTable t11FcsAttachPortNameListTable t11FcsPlatformTable t11FcsNodeNameListTable -- contains information about the topology of the Fibre Channel network.
t11FcsStatsTable -- contains statistics information about the operation of the Fabric Configuration Server.
SNMP versions before SNMPv3 did not include adequate security π. Even if the network itself is secure (for example, by using IPsec), there's still no control over who on that secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
It is RECOMMENDED that implementors look into the security features provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms for authentication and privacy π.
Deployment of SNMP versions before SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and turn on cryptographic security π. It's then up to the customer or operator to make sure the SNMP entity giving access to an instance of this MIB module is configured so that only the principals (users) with legitimate rights can GET or SET (change/create/delete) these objects π«Ά.
---
# 9. Acknowledgements π
This document was originally developed and approved by the INCITS Task Group T11.5 (`http://www.t11.org`) as the SM-FCFGM project πΈ. We want to shout out the many contributions and comments from the INCITS Technical Committee T11, especially from these folks:
- T11 Chair: Robert Snively, Brocade
- T11 Vice Chair: Claudio DeSanti, Cisco Systems
- T11.5 Chair: Roger Cummings, Symantec
- T11.5 Vice Chair: Scott Kipp, McData
- and T11.5 members.
The document was then a work item of the IETF's IMSS Working Group, chaired by David Black (EMC Corporation). Big thanks to Bert Wijnen (Lucent Technologies) for his thorough review of the document π. We also want to acknowledge Dan Romascanu (Avaya), the IETF Area Director, for his comments and help π§.
---
# 10. Normative References π
- `[RFC2578]` McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
- `[RFC2579]` McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
- `[RFC2580]` McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
- `[RFC2788]` Freed, N. and S. Kille, "Network Services Monitoring MIB", RFC 2788, March 2000.
- `[RFC3411]` Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 58, RFC 3411, December 2002.
- `[FC-FS]` "Fibre Channel - Framing and Signaling (FC-FS)" ANSI INCITS 373-2003, `http://www.t11.org/t11/stat.nsf/upnum/1331-d`, April 2003.
- `[FC-GS-5]` "Fibre Channel - Generic Services - 5 (FC-GS-5)", ANSI INCITS 427-2007, `http://www.t11.org/t11/stat.nsf/upnum/1677-d`, 2007.
- `[FC-SW-4]` "Fibre Channel - Switch Fabric - 4 (FC-SW-4)", ANSI INCITS 418-2006, `http://www.t11.org/t11/stat.nsf/upnum/1674-d`, December 2006.
- `[RFC4044]` McCloghrie, K., "Fibre Channel Management MIB", RFC 4044, May 2005.
- `[RFC4438]` DeSanti, C., Gaonkar, V., Vivek, H.K., McCloghrie, K., and S. Gai, "Fibre Channel Name Server MIB", RFC 4438, March 2006.
- `[RFC4439]` DeSanti, C., Gaonkar, V., McCloghrie, K., and S. Gai, "Fibre Channel Fabric Address Manager MIB", RFC 4439, March 2006.
- `[RFC2119]` Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
---
# 11. Informative References π¦
- `[RFC2741]` Daniele, M., Wijnen, B., Ellison, M., and D. Francisco, "Agent Extensibility (AgentX) Protocol Version 1", RFC 2741, January 2000.
- `[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.
- `[RFC4455]` Hallak-Stamler, M., Bakke, M., Lederman, Y., Krueger, M., and K. McCloghrie, "Definition of Managed Objects for Small Computer System Interface (SCSI) Entities", RFC 4455, April 2006.
---
# 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
H.K. Vivek Cisco Systems, Inc. 71 Millers Rd Bangalore, India Phone: +91 80 2289933x5117 EMail: hvivek@cisco.com
Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134 USA Phone: +1 408 526-5260 EMail: kzm@cisco.com
Silvano Gai Nuova Systems 3 West Plumeria Drive San Jose, CA 95134 Phone: +1 408 387-6123 EMail: sgai@nuovasystems.com
---
# Full Copyright Statement Β©
The copyright for this one is `Copyright (C) The IETF Trust (2007).` β¨ It's subject to the rights, licenses and restrictions in BCP 78, and the authors keep all their rights except where BCP 78 says otherwise π
.
This document and the info in it are provided AS IS. THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE disclaim ALL WARRANTIES, EXPRESS OR IMPLIED. That includes, but isn't limited to, any warranty that using the info won't infringe any rights, and any implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE π.
---
# Intellectual Property βοΈ
The IETF takes no position on whether any Intellectual Property Rights (or other rights) that might be claimed to cover this technology are valid or in scope. It also doesn't say whether licenses for those rights might or might not be available, and it hasn't independently looked for any such rights π€·ββοΈ. Info on how RFC documents handle rights is in BCP 78 and BCP 79.
Copies of IPR disclosures sent to the IETF Secretariat, plus any assurances of licenses, or the results of attempts to get a general license or permission for implementers or users, can be found in the IETF's online IPR repository at `http://www.ietf.org/ipr` π.
The IETF also invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. Send that info to the IETF at `ietf-ipr@ietf.org` π.
---
# Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society π.
π¦ where this page comes from
- ietf: rfc4935 2007-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms