RFC 4625
Fibre Channel Routing Information MIB
RFC 4625: Fibre Channel Routing Information MIB ๐ฆ (Part 1 of 4)
Okay bestie, this one is the Fibre Channel Routing Information MIB ๐ It's a Standards Track spec from September 2006, so it's a real protocol doc that people actually implement. It was written by C. DeSanti and K. McCloghrie from Cisco Systems, plus S. Kode (a consultant) and S. Gai (retired). It came out through the Network Working Group, and the title block doesn't list anything it obsoletes or updates. โจ
Status of This Memo ๐
This is an Internet standards track protocol for the Internet community, and the authors want feedback and suggestions for improvements ๐ซถ For the standardization state and status, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited. ๐ธ
Copyright Notice ยฉ๏ธ
Copyright (C) The Internet Society (2006). ๐
Abstract ๐ง
This memo defines a piece of the Management Information Base (MIB) for network management protocols used across the Internet community. It focuses on managed objects for routing info inside a Fibre Channel fabric, and that info doesn't depend on any one routing protocol ๐ฅ
Table of Contents ๐๏ธ
1. Introduction ....................................................3
2. The Internet-Standard Management Framework ......................3
3. Short Overview of Fibre Channel .................................3
3.1. Introduction ...............................................3
3.2. Routing Protocols ..........................................4
3.3. Virtual Fabrics ............................................4
4. Relationship to Other MIBs ......................................5
5. MIB Overview ....................................................5
5.1. Fibre Channel Management Instance ..........................5
5.2. Switch Index ...............................................6
5.3. Fabric Index ...............................................6
5.4. The t11FcRouteGroup Group ..................................6
5.5. The t11FcRouteTable's INDEX ................................6
6. The T11-FC-ROUTE-MIB Module .....................................7
7. Acknowledgements ...............................................17
8. IANA Considerations ............................................17
9. Security Considerations ........................................17
10. Normative References ..........................................19
11. Informative References ........................................20
1. Introduction โจ
Same vibe as the abstract, but zoomed in: this memo defines a chunk of the MIB for network management protocols in the Internet community ๐ฆ It describes managed objects for info about the Fibre Channel network's Routing Table, which handles routing inside a Fabric. Stuff that's specific to particular routing protocols, like the Fabric Shortest Path First (FSPF) protocol [FC-SW-4], is not specified in this MIB module ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read the way RFC 2119 [RFC2119] describes. ๐ค
2. The Internet-Standard Management Framework ๐
If you want the full tour of the docs behind the current Internet-Standard Management Framework, go check section 7 of RFC 3410 [RFC3410] ๐
Managed objects live in a virtual information store called the Management Information Base, or MIB. You usually reach MIB objects through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined with the mechanisms 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 ๐
3.1. Introduction ๐ธ
Fibre Channel (FC) is logically a bidirectional point-to-point serial data channel, and it's built for high performance ๐ฅ It gives higher-level protocols a general transport, like Small Computer System Interface (SCSI) command sets, 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, which connect either through a switching network called a Fabric or through a point-to-point link. A Fibre Channel "node" is made of one or more N_Ports. A Fabric can have multiple Interconnect Elements, and some of them are switches. An N_Port hooks up to the Fabric through a switch port called an F_Port. When multiple FC nodes connect to one 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 that links to another switch port through 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 ๐ง
Lots of Fibre Channel components have globally-unique names, including the fabric, each node, and most ports. These names are usually formatted as World Wide Names (WWNs), and you can read more about them in [FC-FS]. WWNs are expected to be persistent across agent and unit resets. ๐
Fibre Channel frames carry 24-bit address identifiers that say where the frame came from and where it's going. 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 one level in an address hierarchy, and the Domain_ID is the highest level ๐
3.2. Routing Protocols ๐ฃ๏ธ
Frames get routed through the Fabric using the standard routing protocol, the Fabric Shortest Path First (FSPF) protocol. FSPF (or any other routing protocol) lets a switch build and maintain its own routing table for forwarding the frames it gets. That's a table you look up using the destination address of a received frame, so you can figure out the best link to forward it on toward its destination ๐
3.3. Virtual Fabrics ๐
The latest standard for an interconnecting Fabric with multiple Fabric Switch elements is [FC-SW-4], which replaces the previous revision, [FC-SW-3]. [FC-SW-4] keeps the existing spec for running a single Fabric on a physical infrastructure, and it adds the definition of Virtual Fabrics plus how multiple Virtual Fabrics can run on one (or more) physical infrastructures โจ With Virtual Fabrics, each frame gets tagged in its header to show which of the several Virtual Fabrics it's being sent on. All frames entering a particular "Core Switch" [FC-SW-4] (aka one physical switch) on the same Virtual Fabric get processed by the same "Virtual Switch" inside that Core switch. It's giving organized ๐
4. Relationship to Other MIBs ๐ฆ
The first standardized MIB for Fibre Channel [RFC2837] focused on Fibre Channel switches. It's being replaced by the more generic Fibre Channel Management MIB [FC-MGMT], which defines basic info for Fibre Channel hosts and switches. It also includes extensions to the standard IF-MIB [RFC2863] for Fibre Channel interfaces ๐ท
This MIB goes further than [FC-MGMT] and covers routing traffic inside a Fabric of a Fibre Channel network. The standard routing protocol for Fibre Channel is FSPF [FC-SW-4]. Another MIB, [RFC4626], specifies management info that's specific to FSPF. This MIB holds routing info that doesn't depend on FSPF. In other words, it would still apply even if the network used a routing protocol other than FSPF ๐ซง
This MIB imports some common Textual Conventions from T11-TC-MIB, which is defined in [RFC4439]. ๐งฉ
5. MIB Overview ๐ฎ
This MIB module lets you monitor how one or more instances of the FSPF protocol are running, and configure some of their parameters. (Heads up: this MIB module doesn't define any "managed actions" you can invoke over SNMP.) ๐
5.1. Fibre Channel Management Instance ๐
[FC-MGMT] defines a Fibre Channel management instance as a separable managed instance of Fibre Channel functionality. You can group Fibre Channel functionality into management instances however is most convenient for the implementation(s). For example, one grouping is 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 [FC-MGMT]. It's the index value that uniquely identifies each Fibre Channel management instance within the same SNMP context ([RFC3411], Section 3.3.1). ๐
5.2. Switch Index ๐
The FC-MGMT-MIB [FC-MGMT] defines the fcmSwitchTable as a table of info about the 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. It's the index value that uniquely identifies a Fibre Channel switch among the (one or more) switches managed by the same Fibre Channel management instance ๐ฏ
5.3. Fabric Index ๐
Whether it's running on a physical Fabric (no Virtual Fabrics) or inside a Virtual Fabric, FSPF works the same way within a Fabric. So this MIB puts all the Fabric-related info into tables that are INDEX-ed by an arbitrary integer called a "Fabric Index", whose syntax is IMPORTed from the T11-TC-MIB. If a device connects to one physical Fabric with no virtual Fabrics involved, the Fabric Index is always 1. When you've got multiple virtual and/or physical Fabrics, this index is how you tell one Fabric from another ๐ง
It's totally possible, and it may even be likely, that a Fibre Channel switch has ports connected to multiple virtual and/or physical Fabrics. So to make a management protocol query about all the Fabrics one switch connects to easier, fcmSwitchIndex gets listed before t11FcRouteFabricIndex whenever they both show up in the same INDEX clause ๐ซถ
5.4. The t11FcRouteGroup Group ๐ซ
This MIB has one object group, the t11FcRouteGroup. It holds the objects you use to display and configure routes in the Fibre Channel Routing tables for the locally managed switches ๐
5.5. The t11FcRouteTable's INDEX โจ
okay so a table full of routes really needs to be sorted, bestie ๐ That way a management app can search by some attribute without reading every single row. To make that work, those attributes have to be objects in the table's INDEX clause. You can see the same idea in ipCidrRouteTable [RFC2096] and, more recently, inetCidrRouteTable in [RFC4292] ๐ฆ
ngl the t11FcRouteTable has an unusually big INDEX clause with ten objects ๐ but they're all integers or strings that are 3 octets long (or zero), so the OIDs don't get out of hand. Like, the total is at most 22 sub-identifiers appended to an OBJECT-TYPE's OID when you name an instance of an object in the t11FcRouteTable. That's still less than the minimum you'd append for inetCidrRouteTable. iconic, honestly ๐
6. The T11-FC-ROUTE-MIB Module ๐ง
here's the whole MIB module, so let's go ๐
T11-FC-ROUTE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Unsigned32, mib-2 FROM SNMPv2-SMI -- [RFC2578]
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
RowStatus, TimeStamp,
StorageType FROM SNMPv2-TC -- [RFC2579]
InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB -- [RFC2863]
fcmInstanceIndex, fcmSwitchIndex,
FcAddressIdOrZero, FcDomainIdOrZero FROM FC-MGMT-MIB -- [FC-MGMT]
T11FabricIndex FROM T11-TC-MIB; -- [RFC4439]
t11FcRouteMIB MODULE-IDENTITY
LAST-UPDATED "200608140000Z"
ORGANIZATION "T11"
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 USA 95134
Email: kzm@cisco.com"
DESCRIPTION
"The MIB module for configuring and displaying Fibre
Channel Route Information.
Copyright (C) The Internet Society (2006). This version
of this MIB module is part of RFC 4625; see the RFC
itself for full legal notices."
REVISION "200608140000Z"
DESCRIPTION
"Initial version of this MIB module, published as RFC4625."
::= {mib-2 144 }
t11FcRouteNotifications OBJECT IDENTIFIER ::= { t11FcRouteMIB 0 }
t11FcRouteObjects OBJECT IDENTIFIER ::= { t11FcRouteMIB 1 }
t11FcRouteConformance OBJECT IDENTIFIER ::= { t11FcRouteMIB 2 }
--
-- Per-Fabric routing information
--
t11FcRouteFabricTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcRouteFabricEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing Fibre Channel Routing information
that is specific to a Fabric."
::= { t11FcRouteObjects 1 }
t11FcRouteFabricEntry OBJECT-TYPE
SYNTAX T11FcRouteFabricEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains routing information specific to a
particular Fabric on a particular switch (identified by
values of fcmInstanceIndex and fcmSwitchIndex)."
INDEX { fcmInstanceIndex, fcmSwitchIndex,
t11FcRouteFabricIndex }
::= { t11FcRouteFabricTable 1 }
T11FcRouteFabricEntry ::=
SEQUENCE {
t11FcRouteFabricIndex T11FabricIndex,
t11FcRouteFabricLastChange TimeStamp
}
t11FcRouteFabricIndex 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-3, only a single Fabric
can operate within a physical infrastructure, and thus
the value of this Fabric Index will always be 1.
In a Fabric conformant to FC-SW-4, multiple Virtual Fabrics
can operate within one (or more) physical infrastructures.
In such a case, index value is used to uniquely identify a
particular Fabric within a physical infrastructure."
::= { t11FcRouteFabricEntry 1 }
t11FcRouteFabricLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the most recent time when any
corresponding row in the t11FcRouteTable was created,
modified, or deleted. A corresponding row in the
t11FcRouteTable is for the same management instance,
the same switch, and same Fabric as the row in this table.
If no change has occurred since the last restart of the
management system, then the value of this object is 0."
::= { t11FcRouteFabricEntry 2 }
--
-- Fibre Channel Routing table
--
t11FcRouteTable OBJECT-TYPE
SYNTAX SEQUENCE OF T11FcRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Fibre Channel Routing tables for the
locally managed switches. This table lists all the
routes that are configured in and/or computed by any
local switch for any Fabric.
Such routes are used by a switch to forward frames (of user
data) on a Fabric. The conceptual process is based on
extracting the Destination Fibre Channel Address Identifier
(D_ID) out of a received frame (of user data) and comparing
it to each entry of this table that is applicable to the
given switch and Fabric. Such comparison consists of first
performing a logical-AND of the extracted D_ID with a mask
(the value of t11FcRouteDestMask) and second comparing the
result of that 'AND' operation to the value of
t11FcRouteDestAddrId. A similar comparison is made of the
Source Fibre Channel Address Identifier (S_ID) of a frame
against the t11FcRouteSrcAddrId and t11FcRouteSrcMask values
of an entry. If an entry's value of t11FcRouteInInterface
is non-zero, then a further comparison determines if the
frame was received on the appropriate interface. If all of
these comparisons for a particular entry are successful,
then that entry represents a potential route for forwarding
the received frame.
For entries configured by a user, t11FcRouteProto has
the value 'netmgmt'; only entries of this type can be
deleted by the user."
::= { t11FcRouteObjects 2 }
t11FcRouteEntry OBJECT-TYPE
SYNTAX T11FcRouteEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry contains a route to a particular destination,
possibly from a particular subset of source addresses,
on a particular Fabric via a particular output interface
and learned in a particular manner."
INDEX { fcmInstanceIndex, fcmSwitchIndex,
t11FcRouteFabricIndex,
t11FcRouteDestAddrId, t11FcRouteDestMask,
t11FcRouteSrcAddrId, t11FcRouteSrcMask,
t11FcRouteInInterface, t11FcRouteProto,
t11FcRouteOutInterface }
::= { t11FcRouteTable 1 }
T11FcRouteEntry ::=
SEQUENCE {
t11FcRouteDestAddrId FcAddressIdOrZero,
t11FcRouteDestMask FcAddressIdOrZero,
t11FcRouteSrcAddrId FcAddressIdOrZero,
t11FcRouteSrcMask FcAddressIdOrZero,
t11FcRouteInInterface InterfaceIndexOrZero,
t11FcRouteProto INTEGER,
t11FcRouteOutInterface InterfaceIndex,
t11FcRouteDomainId FcDomainIdOrZero,
t11FcRouteMetric Unsigned32,
t11FcRouteType INTEGER,
t11FcRouteIfDown INTEGER,
t11FcRouteStorageType StorageType,
t11FcRouteRowStatus RowStatus
}
t11FcRouteDestAddrId OBJECT-TYPE
SYNTAX FcAddressIdOrZero (SIZE (3))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The destination Fibre Channel Address Identifier of
this route. A zero-length string for this field is
not allowed."
::= { t11FcRouteEntry 1 }
t11FcRouteDestMask OBJECT-TYPE
SYNTAX FcAddressIdOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The mask to be logical-ANDed with a destination
Fibre Channel Address Identifier before it is compared
to the value in the t11FcRouteDestAddrId field.
Allowed values are 255.255.255, 255.255.0, or 255.0.0.
FSPF's definition generates routes to a Domain_ID,
so the mask for all FSPF-generated routes is 255.0.0.
The zero-length value has the same meaning as 0.0.0."
::= { t11FcRouteEntry 2 }
t11FcRouteSrcAddrId OBJECT-TYPE
SYNTAX FcAddressIdOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The source Fibre Channel Address Identifier of this
route. Note that if this object and the corresponding
instance of t11FcRouteSrcMask both have a value of 0.0.0,
then this route matches all source addresses. The
zero-length value has the same meaning as 0.0.0."
::= { t11FcRouteEntry 3 }
t11FcRouteSrcMask OBJECT-TYPE
SYNTAX FcAddressIdOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The mask to be logical-ANDed with a source
Fibre Channel Address Identifier before it is compared
to the value in the t11FcRouteSrcAddrId field. Allowed
values are 255.255.255, 255.255.0, 255.0.0, or 0.0.0.
The zero-length value has the same meaning as 0.0.0."
::= { t11FcRouteEntry 4 }
t11FcRouteInInterface OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"If the value of this object is non-zero, it is the
value of ifIndex that identifies the local
Fibre Channel interface through which a frame
must have been received in order to match with
this entry. If the value of this object is zero,
the matching does not require that the frame be
received on any specific interface."
::= { t11FcRouteEntry 5 }
t11FcRouteProto OBJECT-TYPE
SYNTAX INTEGER {
other(1),
local(2),
netmgmt(3),
fspf(4)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The mechanism via which this route was learned:
other(1) - not specified
local(2) - local interface
netmgmt(3)- static route
fspf(4) - Fibre Shortest Path First
"
::= { t11FcRouteEntry 6 }
t11FcRouteOutInterface OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of ifIndex that identifies the local
Fibre Channel interface through which the next hop
of this route is to be reached."
::= { t11FcRouteEntry 7 }
t11FcRouteDomainId OBJECT-TYPE
SYNTAX FcDomainIdOrZero
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The domain_ID of next hop switch.
This object can have a value of zero if the value
of t11FcRouteProto is 'local'."
::= { t11FcRouteEntry 8 }
t11FcRouteMetric OBJECT-TYPE, the next columns in the route table, and the conformance stuff are all coming up. Let's go ๐ โจ
t11FcRouteMetric OBJECT-TYPE
SYNTAX Unsigned32 (0..65536)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The routing metric for this route.
The use of this object is dependent on t11FcRouteProto."
::= { t11FcRouteEntry 9 }
t11FcRouteType OBJECT-TYPE
SYNTAX INTEGER {
local(1),
remote(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of route.
local(1) - a route for which the next Fibre Channel
port is the final destination;
remote(2) - a route for which the next Fibre Channel
port is not the final destination."
DEFVAL {local}
::= { t11FcRouteEntry 10 }
t11FcRouteIfDown OBJECT-TYPE
SYNTAX INTEGER {
remove(1),
retain(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The value of this object indicates what happens to
this route when the output interface (given by the
corresponding value of t11FcRouteOutInterface) is
operationally 'down'. If this object's value is 'retain',
the route is to be retained in this table. If this
object's value is 'remove', the route is to be removed
from this table."
DEFVAL { retain }
::= { t11FcRouteEntry 11 }
t11FcRouteStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row.
Conceptual rows having the value 'permanent' need not
allow write-access to any columnar objects in the row."
DEFVAL { nonVolatile }
::= { t11FcRouteEntry 12 }
t11FcRouteRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row.
The only rows that can be deleted by setting this object to
'destroy' are those for which t11FcRouteProto has the value
'netmgmt'."
::= { t11FcRouteEntry 13 }
--
-- Conformance
--
t11FcRouteCompliances OBJECT IDENTIFIER
::= { t11FcRouteConformance 1 }
t11FcRouteGroups OBJECT IDENTIFIER
::= { t11FcRouteConformance 2 }
t11FcRouteCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for entities that
implement the T11-FC-ROUTE-MIB.
--
-- Note: The next four OBJECT clauses are for auxiliary objects, and the
-- SMIv2 does not permit inclusion of objects that are not accessible
-- in an OBJECT clause (see Sections 3.1 & 5.4.3 in STD 58, RFC 2580).
-- Thus, these four clauses cannot be included below in the normal
-- location for OBJECT clauses.
--
-- OBJECT t11FcRouteSrcAddrId
-- SYNTAX FcAddressIdOrZero (SIZE (0))
-- DESCRIPTION
-- 'Support is not required for routes that
-- match only a subset of possible source
-- addresses.'
--
-- OBJECT t11FcRouteSrcMask
-- SYNTAX FcAddressIdOrZero (SIZE (0))
-- DESCRIPTION
-- 'Support is not required for routes that
-- match only a subset of possible source
-- addresses.'
--
-- OBJECT t11FcRouteDestMask
-- DESCRIPTION
-- 'Support is mandatory only for FSPF-generated
-- routes. Since FSPF's definition generates
-- routes to a Domain_ID, the mask for all
-- FSPF-generated routes is 255.0.0. Thus,
-- support is only required for 255.0.0.'
--
-- OBJECT t11FcRouteInInterface
-- SYNTAX InterfaceIndexOrZero (0)
-- DESCRIPTION
-- 'Support for routes specific to particular
-- source interfaces is not required.'
"
MODULE -- this module
MANDATORY-GROUPS { t11FcRouteGroup }
OBJECT t11FcRouteIfDown
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT t11FcRouteDomainId
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT t11FcRouteMetric
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT t11FcRouteType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT t11FcRouteStorageType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT t11FcRouteRowStatus
SYNTAX INTEGER { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { t11FcRouteCompliances 1 }
t11FcRouteGroup OBJECT-GROUP
OBJECTS { t11FcRouteFabricLastChange,
t11FcRouteDomainId,
t11FcRouteMetric,
t11FcRouteType,
t11FcRouteIfDown,
t11FcRouteStorageType,
t11FcRouteRowStatus
}
STATUS current
DESCRIPTION
"A collection of objects for displaying and configuring
routes."
::= { t11FcRouteGroups 1 }
END
7. Acknowledgements ๐ธ
So this spec was originally cooked up by the INCITS Task Group T11.5 as the SM-RTM project, and the people who helped make it happen deserve so much love ๐ The T11 folks and the T11.5 crew gave comments and contributions, and we're giving a shoutout to:
- 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
- Elizabeth G. Rodriguez, Dot Hill
After that, it was approved by the IETF's IMSS Working Group, chaired by David Black (EMC Corporation). Bert Wijnen (Lucent Technologies), the IETF Area Director, also reviewed it, so thank you Bert ๐ซถ
8. IANA Considerations ๐ฆ
The IANA assigned a MIB OID for the T11-FC-ROUTE-MIB module under the appropriate subtree. Bookkeeping, but it matters ๐
9. Security Considerations โญ
Okay bestie, this section is serious, so read it carefully ๐ญ
There are a bunch of management objects in this MIB module with a MAX-ACCESS of read-write and/or read-create. Those can be sensitive or vulnerable in some network environments. Doing SET operations in a non-secure environment without proper protection can totally mess with network operations. These are the objects, plus what they're sensitive about:
t11FcRouteDomainId, t11FcRouteMetric, t11FcRouteType,
t11FcRouteIfDown, t11FcRouteRowStatus
-- configure new routes and/or modify existing routes.
These objects can be sensitive or vulnerable in some network environments. For example, if someone can change network topology or network speed, they could get better performance at the expense of other network users ๐ Again, doing SET operations without proper protection in a non-secure environment can have a negative effect on network operations.
Some of the readable objects in this MIB module (meaning objects with a MAX-ACCESS other than not-accessible) can also be sensitive or vulnerable in some environments. So it's important to control even GET and/or NOTIFY access to them, and possibly even encrypt their values when they travel over the network via SNMP. The objects are the writable ones listed above, plus one more:
t11FcRouteLastChangeTime
-- the time of the last routing table change.
Real talk: SNMP versions before SNMPv3 didn't have adequate security. Even if the network itself is secure (like with IPSec), there's still no control over who on that secure network can GET and SET (read, change, create, delete) the objects in this MIB module ๐
It is RECOMMENDED that implementors consider the security features that the SNMPv3 framework provides (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms for authentication and privacy ๐
Further, deploying SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and turn on cryptographic security. It's then the customer or operator's responsibility to make sure the SNMP entity giving access to an instance of this MIB module is properly configured, so the objects are only accessible to principals (users) who have legitimate rights to GET or SET (change, create, delete) them ๐
10. Normative References ๐
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [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.
- [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
- [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.
- [RFC4439] DeSanti, C., Gaonkar, V., McCloghrie, K., and S. Gai, "Fibre Channel Fabric Address Manager MIB", RFC 4439, March 2006.
- [RFC4626] DeSanti, C., Gaonkar, V., McCloghrie, K., and S. Gai, "MIB for Fibre Channel's Fabric Shortest Path First (FSPF) Protocol", RFC 4626, September 2006.
- [FC-FS] "Fibre Channel - Framing and Signaling (FC-FS)", ANSI INCITS 373-2003, April 2003.
- [FC-SW-3] "Fibre Channel - Switch Fabric - 3 (FC-SW-3)", ANSI INCITS 384-2004, 2004.
- [FC-SW-4] "Fibre Channel - Switch Fabric - 4 (FC-SW-4)", ANSI INCITS 418-2006, 2006.
- [FC-MGMT] McCloghrie, K., "Fibre Channel Management MIB", RFC 4044, May 2005.
11. Informative References ๐ง
- [RFC2096] Baker, F., "IP Forwarding Table MIB", RFC 2096, January 1997.
- [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.
- [RFC4292] Haberman, B., "IP Forwarding Table MIB", RFC 4292, April 2006.
Authors' Addresses ๐
Okay, bestie, time to meet the squad! ๐ These are the people who wrote this RFC, with their contact info so you can slide into their inboxes if you have questions. ๐
Claudio DeSanti
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134 USA
Phone: +1 408 853-9172
EMail: cds@cisco.com
Srini Kode
Consultant
Phone: 408-348-5343
EMail: srinikode@yahoo.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 ๐
Okay, legal time, but make it cute! โจ The Internet Society owns the copyright here, and it's dated 2006. ๐
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions in BCP 78. Outside of what BCP 78 says, the authors keep all their rights. ๐ฆ
The whole document and the info in it is given to you "AS IS." The contributor, the organization they represent or are sponsored by (if any), the Internet Society, and the Internet Engineering Task Force all say no to every warranty, express or implied. That includes no promise that using the info won't infringe anyone's rights, and no implied warranty of merchantability or fitness for a particular purpose. ๐
Translation: you use this at your own risk, babe. ๐
Intellectual Property ๐
The IETF doesn't pick a side on whether any Intellectual Property Rights might cover the tech in this document, or whether you could get a license for them. It also doesn't claim it went looking for them. ๐ If you want the rules for rights in RFC documents, check out BCP 78 and BCP 79. ๐
You can get copies of IPR disclosures sent to the IETF Secretariat, plus any promised licenses. You can also find out what happened when someone tried to get a general license or permission to use proprietary rights for this spec. All of that lives in the IETF online IPR repository at http://www.ietf.org/ipr. ๐๏ธ
The IETF also invites anyone to tell them about copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to implement this standard. Send that info to ietf-ipr@ietf.org. ๐ฉ Honestly, speaking up early is iconic behavior. ๐
Acknowledgement ๐ซถ
Shoutout to the funding behind the RFC Editor function. It comes from the IETF Administrative Support Activity (IASA). ๐
๐ฆ where this page comes from
- ietf: rfc4625 2006-09
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms