RFC4626

From RFC-Wiki

Network Working Group C. DeSanti Request for Comments: 4626 V. Gaonkar Category: Standards Track K. McCloghrie

                                                       Cisco Systems
                                                              S. Gai
                                                             Retired
                                                      September 2006

MIB for Fibre Channel's Fabric Shortest Path First (FSPF) Protocol

Status of This Memo

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

Copyright Notice

Copyright (C) The Internet Society (2006).

Abstract

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

Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for information related to the Fibre Channel network's Fabric Shortest Path First (FSPF) routing protocol, which is specified in [FC-SW-4].

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 RFC2119.

The Internet-Standard Management Framework

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

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

Short Overview of Fibre Channel

Introduction

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

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

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

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

The routing of frames within the Fabric is normally based on a routing protocol called Fabric Shortest Path First (FSPF). FSPF is a link state path selection protocol, which is defined in Section 8 of [FC-SW-4]. FSPF keeps track of the state of the links on all switches in the Fabric and associates a cost with each link. The protocol computes paths from a switch to all the other switches in the Fabric by adding the cost of all the links traversed by the path, and choosing the path that minimizes the cost. The collection of link states (including cost) of all the switches in a Fabric constitutes the topology database (or link-state database).

FSPF Protocol

FSPF has four major components:

a) A Hello protocol, used to establish connectivity with a neighbor

  switch, to establish the identity of the neighbor switch, and to
  exchange FSPF parameters and capabilities;

b) A replicated topology database, with protocols and mechanisms to

  keep the databases synchronized across the Fabric;

c) A path computation algorithm (e.g., Dijkstra's algorithm);

d) A routing table update.

The topology database synchronization in turn consists of two major components: an initial database synchronization and an update mechanism. The initial database synchronization is used when a switch is initialized, or when an Inter-Switch Link (ISL) comes up. The update mechanism is used in two circumstances:

a) When there is a link state change; for example, an ISL going down

  or coming up;

b) On a periodic basis, to prevent switches from deleting topology

  information from the database.

Also note that all connections between Fibre Channel switches are point-to-point.

Virtual Fabrics

The latest standard for an interconnecting Fabric containing multiple Fabric Switch elements is [FC-SW-4]. [FC-SW-4] carries forward the previous version's specification for the operation of a single Fabric in a physical infrastructure, augmenting it with the definition of Virtual Fabrics and with the specification of how multiple Virtual

Fabrics can operate within one (or more) physical infrastructures. The use of Virtual Fabrics provides for each frame to be tagged in its header to indicate which one of several Virtual Fabrics that frame is being transmitted on. All frames entering a particular "Core Switch" [FC-SW-4] (i.e., a physical switch) on the same Virtual Fabric are processed by the same "Virtual Switch" within that Core switch.

Relationship to Other MIBs

The first standardized MIB module for Fibre Channel RFC4044 was focussed on Fibre Channel switches. It is being replaced by the more generic Fibre Channel Management MIB [FC-MGMT] which defines basic information for Fibre Channel hosts and switches, including extensions to the standard IF-MIB RFC2863 for Fibre Channel interfaces.

This MIB module extends beyond [FC-MGMT] to cover the operation of the FSPF routing protocol in Fibre Channel switches.

This MIB module only contains information specific to FSPF. Information that would still be applicable if any other routing protocol were used is specified in a separate MIB module.

This MIB module imports some common Textual Conventions from T11-TC- MIB, defined in RFC4439.

MIB Overview

This MIB module provides the means for monitoring the operation of, and configuring some parameters of, one or more instances of the FSPF protocol.

Fibre Channel Management Instance

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

The object, fcmInstanceIndex, is IMPORTed from the FC-MGMT-MIB [FC-MGMT] as the index value that uniquely identifies each Fibre Channel management instance within the same SNMP context (RFC3411, Section 3.3.1).

Switch Index

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

Fabric Index

Whether operating on a physical Fabric (i.e., without Virtual Fabrics) or within a Virtual Fabric, the operation of FSPF within a Fabric is identical. Therefore, this MIB module defines all Fabric- related information in tables that are INDEX-ed by an arbitrary integer, named a "Fabric Index", the syntax of which is IMPORTed from the T11-TC-MIB. When a device is connected to a single physical Fabric, without use of any virtual Fabrics, the value of this Fabric Index will always be 1. In an environment of multiple virtual and/or physical Fabrics, this index provides a means to distinguish one Fabric from another.

It is quite possible, and may even be likely, that a Fibre Channel switch will have ports connected to multiple virtual and/or physical Fabrics. Thus, in order to simplify a management protocol query concerning all the Fabrics to which a single switch is connected, fcmSwitchIndex will be listed before t11FspfFabricIndex when they both appear in the same INDEX clause.

The MIB Groups

This section describes the four MIB groups contained in the MIB module.

The t11FspfGeneralGroup Group

This group provides for per-Fabric monitoring of the FSPF state and per-Fabric monitoring/configuration of FSPF parameters.

The t11FspfIfGroup Group

This group provides for per-interface monitoring of FSPF state/statistics and per-interface monitoring/configuration of FSPF parameters.

The t11FspfDatabaseGroup Group

This group permits the monitoring of the information present in the FSPF topology database.

The t11FspfNotificationGroup Group

This group contains the notifications that are generated on asynchronous events related to the operation of FSPF.

The T11-FC-FSPF-MIB Module

T11-FC-FSPF-MIB DEFINITIONS ::= BEGIN -- -- For management of FSPF, the Fibre Channel routing protocol. --

IMPORTS

MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Counter32, Integer32, Unsigned32, TimeTicks,
Gauge32, mib-2                     FROM SNMPv2-SMI   -- RFC2578
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP                 FROM SNMPv2-CONF  -- RFC2580
TEXTUAL-CONVENTION, RowStatus, StorageType,
TruthValue                         FROM SNMPv2-TC    -- RFC2579
ifIndex, InterfaceIndex            FROM IF-MIB       -- RFC2863
fcmInstanceIndex, fcmSwitchIndex,
FcDomainIdOrZero                   FROM FC-MGMT-MIB  -- [FC-MGMT]
T11FabricIndex                     FROM T11-TC-MIB   -- RFC4439
t11FamConfigDomainId
                   FROM T11-FC-FABRIC-ADDR-MGR-MIB;  -- RFC4439

t11FcFspfMIB MODULE-IDENTITY

LAST-UPDATED "200608140000Z"
ORGANIZATION "T11"
CONTACT-INFO
               "Claudio DeSanti
                Cisco Systems, Inc.
                170 West Tasman Drive
                San Jose, CA 95134 USA
                EMail: [email protected]
                Keith McCloghrie
                Cisco Systems, Inc.
                170 West Tasman Drive
                San Jose, CA USA 95134
                Email: [email protected]"
DESCRIPTION
       "The MIB module for managing the Fabric Shortest Path
       First (FSPF) protocol.  FSPF is specified in FC-SW-4.
       Copyright (C) The Internet Society (2006).  This version of
       this MIB module is part of RFC 4626;  see the RFC itself for
       full legal notices."
REVISION   "200608140000Z"
DESCRIPTION
       "Initial version of this MIB module published as RFC4626."
::= { mib-2 143 }

t11FspfNotifications OBJECT IDENTIFIER ::= { t11FcFspfMIB 0 } t11FspfObjects OBJECT IDENTIFIER ::= { t11FcFspfMIB 1 } t11FspfConformance OBJECT IDENTIFIER ::= { t11FcFspfMIB 2 } t11FspfConfiguration OBJECT IDENTIFIER ::= { t11FspfObjects 1 } t11FspfDatabase OBJECT IDENTIFIER ::= { t11FspfObjects 2 }

-- -- TEXTUAL CONVENTIONS

T11FspfLsrType ::= TEXTUAL-CONVENTION

STATUS    current
DESCRIPTION
       "Type of the Link State Record.
       FC-SW-4 defines two types of LSRs and allows for the
       possibility for more will be defined in the future:
           01      - Switch Link Record
           02      - Obsolete
           240 - 255 - Vendor Specific
           others  - Reserved.
       "
REFERENCE
       "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
        ANSI INCITS 418-2006, section 6.1.9.3."
SYNTAX    Integer32 (0..255)

T11FspfLinkType ::= TEXTUAL-CONVENTION

STATUS    current
DESCRIPTION
       "Type of an the FSPF Link.  Presently defined values:
           1           - Point-to-Point
           240-255     - Vendor Specific
           all others  - Reserved.
       "
REFERENCE
       "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
       ANSI INCITS 418-2006, section 6.1.9.4."
SYNTAX    Integer32 (0..255)

T11FspfInterfaceState ::= TEXTUAL-CONVENTION

STATUS    current
DESCRIPTION
       "The state of the FSPF Neighbor Finite State Machine
       for the neighbor (switch) on a particular interface.
       Possible values are :
            down(1)         - Down
            init(2)         - Init
            dbExchange(3)   - Database Exchange
            dbAckwait(4)    - Database AckWait
            dbWait(5)       - Database Wait
            full(6)         - Full (Connected)
       "
REFERENCE
       "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
       ANSI INCITS 418-2006, section 8.7."
SYNTAX  INTEGER {
               down(1),
               init(2),
               dbExchange(3),
               dbAckwait(4),
               dbWait(5),
               full(6)
        }

T11FspfLastCreationTime ::= TEXTUAL-CONVENTION

STATUS current
DESCRIPTION
       "This TC describes an object that stores the last time
       it, and the row containing it, was created.
       This can be used by management applications to determine
       that a row has been deleted and re-created between reads,
       causing an otherwise undetectable discontinuity in the
       data."
SYNTAX  TimeTicks

-- -- t11FspfTable

t11FspfTable OBJECT-TYPE

SYNTAX      SEQUENCE OF T11FspfEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "This table allows the users to configure and monitor FSPF's
       per-Fabric parameters and statistics on all Fabrics known to
       locally managed switches.
       Entries are created/removed by the agent if and when
       (Virtual) Fabrics are created/deleted."
::= { t11FspfConfiguration 1 }

t11FspfEntry OBJECT-TYPE

SYNTAX      T11FspfEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "An entry containing FSPF variables, parameters, and
       statistics on a particular switch (identified by values
       of fcmInstanceIndex and fcmSwitchIndex) for a particular
       Fabric (identified by a t11FspfFabricIndex value).
       (Note that the local switch's per-fabric Domain-ID is
       available in t11FamConfigDomainId, which is defined in
       T11-FC-FABRIC-ADDR-MGR-MIB.)"
INDEX      { fcmInstanceIndex, fcmSwitchIndex, t11FspfFabricIndex }
::= { t11FspfTable 1 }

T11FspfEntry ::= SEQUENCE {

t11FspfFabricIndex                 T11FabricIndex,
t11FspfMinLsArrival                Unsigned32,
t11FspfMinLsInterval               Unsigned32,
t11FspfLsRefreshTime               Unsigned32,
t11FspfMaxAge                      Unsigned32,
t11FspfMaxAgeDiscards              Counter32,
t11FspfPathComputations            Counter32,
t11FspfChecksumErrors              Counter32,
t11FspfLsrs                        Gauge32,
t11FspfCreateTime                  T11FspfLastCreationTime,
t11FspfAdminStatus                 INTEGER,
t11FspfOperStatus                  INTEGER,
t11FspfNbrStateChangNotifyEnable   TruthValue,
t11FspfSetToDefault                INTEGER,
t11FspfStorageType                 StorageType

}

t11FspfFabricIndex 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.
       In such a case, index value is used to uniquely identify a
       particular Fabric within a physical infrastructure.
       In a Fabric that has (can have) only a single Fabric
       operating within the physical infrastructure, the
       value of this Fabric Index will always be 1."
::= { t11FspfEntry 1 }

t11FspfMinLsArrival OBJECT-TYPE

SYNTAX      Unsigned32 (0..65535)
UNITS       "milliSeconds"
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
       "The minimum time after accepting a Link State Record
       (LSR) on this Fabric before accepting another update of
       the same LSR on the same Fabric.
       An LSR update that is not accepted because of this time
       interval is discarded."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, sections 8.6.4.5 & 15.1."
DEFVAL     {1000}
::= { t11FspfEntry 2 }

t11FspfMinLsInterval OBJECT-TYPE

SYNTAX      Unsigned32 (0..65535)
UNITS       "milliSeconds"
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
       "The minimum time after this switch sends an LSR on this
       Fabric before it will send another update of the same LSR
       on the same Fabric."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 15.1."
DEFVAL     {5000}
::= { t11FspfEntry 3 }

t11FspfLsRefreshTime OBJECT-TYPE

SYNTAX      Unsigned32
UNITS       "Minutes"
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The interval between transmission of refresh LSRs on this
       Fabric."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, sections 8.5.1 & 15.1."
DEFVAL     {30}
::= { t11FspfEntry 4 }

t11FspfMaxAge OBJECT-TYPE

SYNTAX      Unsigned32
UNITS       "Minutes"
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The maximum age an LSR will be retained in the FSPF
       database on this Fabric.  An LSR is removed from the
       database after MaxAge is reached."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 15.1."
DEFVAL     {60}
::= { t11FspfEntry 5 }

t11FspfMaxAgeDiscards OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The number of LSRs discarded due to their age reaching
       t11FspfMaxAge in this Fabric.  The last discontinuity of
       this counter is indicated by t11FspfCreateTime."
::= { t11FspfEntry 6 }

t11FspfPathComputations OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The number of times that the path computation algorithm
       has been invoked by this Switch on this Fabric to compute
       a set of minimum cost paths for this Fabric.  The last
       discontinuity of this counter is indicated by
       t11FspfCreateTime."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 8.1.1."
::= { t11FspfEntry 7 }

t11FspfChecksumErrors OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The number of FSPF checksum errors that were detected
       locally (and therefore discarded) on this Fabric.
       The last discontinuity of this counter is indicated by
       t11FspfCreateTime."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 8.5.4."
::= { t11FspfEntry 8 }

t11FspfLsrs OBJECT-TYPE

SYNTAX      Gauge32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The current number of entries for this Fabric in the
       t11FspfLsrTable."
::= { t11FspfEntry 9 }

t11FspfCreateTime OBJECT-TYPE

SYNTAX      T11FspfLastCreationTime
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The value of sysUpTime when this entry was last created."
::= { t11FspfEntry 10 }

t11FspfAdminStatus OBJECT-TYPE

SYNTAX      INTEGER {
                up(1),
                down(2)
                }
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
       "The desired state of FSPF in this Fabric.  If value of
       this object is set to 'up', then FSPF is enabled in
       this Fabric.  If set to 'down', then FSPF is disabled
       in this Fabric -- when FSPF is disabled, FSPF provides
       no routes to be included in the T11-FC-ROUTE-MIB module.
       (see the T11-FC-ROUTE-MIB)."
REFERENCE  "T11-FC-ROUTE-MIB, The Fibre Channel Routing
            Information MIB, RFC4625."
DEFVAL {up}
::= { t11FspfEntry 11 }

t11FspfOperStatus OBJECT-TYPE

SYNTAX      INTEGER {
                  up(1),
                  down(2)
                 }
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "State of FSPF in this Fabric.  If 't11FspfAdminStatus' is
       'down', then the 't11FspfOperStatus' should be 'down'.
       If 't11FspfAdminStatus' is changed to 'up', then
       't11FspfOperStatus' should change to 'up' as and when
       FSPF is active in this Fabric."
::= { t11FspfEntry 12 }

t11FspfNbrStateChangNotifyEnable OBJECT-TYPE

SYNTAX     TruthValue
MAX-ACCESS read-write
STATUS     current
DESCRIPTION
       "Specifies whether or not the local agent should
       issue the notification 't11FspfNbrStateChangNotify'
       when the local switch learns of a change of state
       in the FSPF Neighbor Finite State Machine on an
       interface in this Fabric.
       If the value of the object is 'true, then the
       notification is generated.  If the value is 'false',
       notification is not generated."
DEFVAL { false }
::= { t11FspfEntry 13 }

t11FspfSetToDefault OBJECT-TYPE

SYNTAX      INTEGER {
                 default(1),
                 noOp(2)
            }
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
       "Setting this value to 'default' changes the value of each
       and every writable object in this row to its default
       value.
       No action is taken if this object is set to 'noOp'.
       The value of the object, when read, is always 'noOp'."
::= { t11FspfEntry 14 }

t11FspfStorageType OBJECT-TYPE

SYNTAX      StorageType
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
       "The storage type for read-write objects in this
       conceptual row.
       Conceptual rows having the value 'permanent' need not
       allow write-access to any columnar objects in the row."
DEFVAL { nonVolatile }
::= { t11FspfEntry 15 }

-- -- t11FspfIfTable

t11FspfIfTable OBJECT-TYPE

SYNTAX       SEQUENCE OF T11FspfIfEntry
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
       "This table allows the users to configure and monitor
       the FSPF parameters that are per-interface (identified
       by a t11FspfIfIndex value), per-Fabric (identified by a
       t11FspfFabricIndex value), and per-switch (identified by
       values of fcmInstanceIndex and fcmSwitchIndex).
       Creating a row in this table via t11FspfIfRowStatus
       provides the means to specify non-default parameter value(s)
       for an interface at a time when the relevant row in this
       table would not otherwise exist because the interface is
       either down or it is not an E_Port, but the corresponding
       row in the t11FspfTable must already exist.
       After the non-default values have been specified for a
       port's parameters, they need to be retained in this table,
       even when the port becomes 'isolated'.  However, having
       unnecessary rows in this table clutters it up and makes
       those rows that are useful harder for an NMS to find.
       Therefore, when an E_Port becomes isolated, its row gets
       deleted if and only if all of its parameter values are the
       default values; also, when an E_Port becomes non-isolated
       in a particular Fabric, a row in this table needs to exist
       and is automatically created, if necessary.
       The specific conditions for an automated/implicit deletion
       of a row are:
       a) if the corresponding interface is no longer an E_Port
          (e.g., a G_Port which is dynamically determined to be an
          F_Port), and all configurable parameters have default
          values; or
       b) if the interface identified by t11FspfIfIndex no longer
          exists (e.g., because a line-card is physically removed);
          or
       c) if the corresponding row in the t11FspfTable is deleted.
       "
::= { t11FspfConfiguration 2 }

t11FspfIfEntry OBJECT-TYPE

SYNTAX      T11FspfIfEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "An entry containing FSPF information for the interface
       identified by t11FspfIfIndex, on the fabric identified
       by t11FspfFabricIndex, on the switch identified by
       fcmSwitchIndex."
INDEX       { fcmInstanceIndex, fcmSwitchIndex,
              t11FspfFabricIndex, t11FspfIfIndex }
::= { t11FspfIfTable 1 }

T11FspfIfEntry ::= SEQUENCE {

t11FspfIfIndex                     InterfaceIndex,
t11FspfIfHelloInterval             Unsigned32,
t11FspfIfDeadInterval              Unsigned32,
t11FspfIfRetransmitInterval        Unsigned32,
t11FspfIfInLsuPkts                 Counter32,
t11FspfIfInLsaPkts                 Counter32,
t11FspfIfOutLsuPkts                Counter32,
t11FspfIfOutLsaPkts                Counter32,
t11FspfIfOutHelloPkts              Counter32,
t11FspfIfInHelloPkts               Counter32,
t11FspfIfRetransmittedLsuPkts      Counter32,
t11FspfIfInErrorPkts               Counter32,
t11FspfIfNbrState                  T11FspfInterfaceState,
t11FspfIfNbrDomainId               FcDomainIdOrZero,
t11FspfIfNbrPortIndex              Unsigned32,
t11FspfIfAdminStatus               INTEGER,
t11FspfIfCreateTime                T11FspfLastCreationTime,
t11FspfIfSetToDefault              INTEGER,
t11FspfIfLinkCostFactor            Unsigned32,
t11FspfIfStorageType               StorageType,
t11FspfIfRowStatus                 RowStatus

}

t11FspfIfIndex OBJECT-TYPE

SYNTAX      InterfaceIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "The value of ifIndex that identifies the local
       Fibre Channel interface for which this entry
       contains FSPF information."
::= { t11FspfIfEntry 1 }

t11FspfIfHelloInterval OBJECT-TYPE

SYNTAX      Unsigned32 (1..65535)
UNITS       "Seconds"
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "Interval between the periodic HELLO messages sent on this
       interface in this Fabric to verify the link health.  Note
       that this value must be same at both ends of a link in
       this Fabric."
DEFVAL {20}
::= { t11FspfIfEntry 2 }

t11FspfIfDeadInterval OBJECT-TYPE

SYNTAX      Unsigned32 (2..65535)
UNITS       "Seconds"
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "Maximum time for which no HELLO messages can be received
       on this interface in this Fabric.  After this time, the
       interface is assumed to be broken and removed from the
       database.  Note that this value must be greater than the
       HELLO interval specified on this interface in this Fabric."
DEFVAL {80}
::= { t11FspfIfEntry 3 }

t11FspfIfRetransmitInterval OBJECT-TYPE

SYNTAX      Unsigned32 (1..65535)
UNITS       "Seconds"
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "The time after which an unacknowledged LSR is
       retransmitted on this interface in this Fabric."
DEFVAL {5}
::= { t11FspfIfEntry 4 }

t11FspfIfInLsuPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of Link State Update (LSU) packets received on
       this interface in this Fabric.  The last discontinuity
       of this counter is indicated by t11FspfIfCreateTime."
::= { t11FspfIfEntry 5 }

t11FspfIfInLsaPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of Link State Acknowledgement (LSA) packets
       received on this interface in this Fabric.  The last
       discontinuity of this counter is indicated by
       t11FspfIfCreateTime."
::= { t11FspfIfEntry 6 }

t11FspfIfOutLsuPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of Link State Update (LSU) packets transmitted
       on this interface in this Fabric.  The last
       discontinuity of this counter is indicated by
       t11FspfIfCreateTime."
::= { t11FspfIfEntry 7 }

t11FspfIfOutLsaPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of Link State Acknowledgement (LSA) packets
       transmitted on this interface in this Fabric.  The
       last discontinuity of this counter is indicated by
       t11FspfIfCreateTime."
::= { t11FspfIfEntry 8 }

t11FspfIfOutHelloPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of HELLO packets transmitted on this interface in
       this Fabric.  The last discontinuity of this counter is
       indicated by t11FspfIfCreateTime."
::= { t11FspfIfEntry 9 }

t11FspfIfInHelloPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of HELLO packets received on this interface in
       this Fabric.  The last discontinuity of this counter is
       indicated by t11FspfIfCreateTime."
::= { t11FspfIfEntry 10 }

t11FspfIfRetransmittedLsuPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The number of LSU packets that contained one or more
       retransmitted LSRs, and that were transmitted on this
       interface in this Fabric.  The last discontinuity of
       this counter is indicated by t11FspfIfCreateTime."
::= { t11FspfIfEntry 11 }

t11FspfIfInErrorPkts OBJECT-TYPE

SYNTAX      Counter32
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of invalid FSPF control packets received on this
       interface in this Fabric.  The last discontinuity of
       this counter is indicated by t11FspfIfCreateTime."
::= { t11FspfIfEntry 12 }

t11FspfIfNbrState OBJECT-TYPE

SYNTAX      T11FspfInterfaceState
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The state of FSPF's 'neighbor state machine', which is
       the operational state of the interaction with the
       neighbor's interface that is connected to this interface.
       If the 't11FspfIfAdminStatus' is 'down', then this object
       should be 'down'.  If the 't11FspfIfAdminStatus' is 'up',
       then this object's value depends on the state of FSPF's
       'neighbor state machine' on this interface in this
       Fabric."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 8.7"
::= { t11FspfIfEntry 13 }

t11FspfIfNbrDomainId OBJECT-TYPE

SYNTAX      FcDomainIdOrZero
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The Domain Id of the neighbor in this Fabric."
::= { t11FspfIfEntry 14 }

t11FspfIfNbrPortIndex OBJECT-TYPE

SYNTAX      Unsigned32 (0..16777215)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The index, as known by the neighbor, of the neighbor's
       interface that is connected to this interface in this
       Fabric."
REFERENCE  "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
           ANSI INCITS 418-2006, section 6.1.9.4."
::= { t11FspfIfEntry 15 }

t11FspfIfAdminStatus OBJECT-TYPE

SYNTAX      INTEGER {
            up(1),
            down(2)
            }
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "The desired state of FSPF on this interface in this
       Fabric, whenever 't11FspfAdminStatus' is 'up'.
       If the value of this object is set to 'up', then FSPF is
       enabled on this interface in this Fabric.  If set to
       'down', then FSPF is disabled on this interface in this
       Fabric.  Note that the operational state of FSPF on an
       interface is given by t11FspfIfNbrState."
DEFVAL  {up}
::= { t11FspfIfEntry 16 }

t11FspfIfCreateTime OBJECT-TYPE

SYNTAX      T11FspfLastCreationTime
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The value of sysUpTime when this entry was last
       created."
::= { t11FspfIfEntry 17 }

t11FspfIfSetToDefault OBJECT-TYPE

SYNTAX      INTEGER {
                 default(1),
                 noOp(2)
            }
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "Setting this value to 'default' changes the value of each
       and every writable object in this row to its default
       value.
       If all the configuration parameters have their default
       values, and if the interface is down, then the row is
       deleted automatically.
       No action is taken if this object is set to 'noOp'.
       The value of the object, when read, is always 'noOp'."
::= { t11FspfIfEntry 18 }

t11FspfIfLinkCostFactor OBJECT-TYPE

SYNTAX      Unsigned32 (1..65535)
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "The administrative factor used in calculating the cost
       of sending a frame on this interface in this Fabric.
       The formula used to calculate the link cost is:
                Link Cost = S * (1.0625e12 / ifSpeed)
       where:
         S = (the value of this object / 100)
         ifSpeed = interface speed (as defined in the IF-MIB).
       "
REFERENCE
       "Fibre Channel - Switch Fabric - 4 (FC-SW-4),
        ANSI INCITS 418-2006, section 8.5.5; and
        IF-MIB, RFC 2863."
DEFVAL { 100 }
::= { t11FspfIfEntry 19 }

t11FspfIfStorageType 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 }
::= { t11FspfIfEntry 20 }

t11FspfIfRowStatus OBJECT-TYPE

SYNTAX      RowStatus
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
       "The status of the conceptual row.
       This object can be used to create an entry only if there
       is an entry in the t11FspfTable for the corresponding
       Fabric, and if the interface is either isolated or is a
       non-E_port.
       Setting this object to 'destroy' will typically fail;
       to reverse the creation process, set the corresponding
       instance of t11FspfIfSetToDefault to 'default'."
::= { t11FspfIfEntry 21 }

-- -- t11FspfLsrTable

t11FspfLsrTable OBJECT-TYPE

SYNTAX       SEQUENCE OF T11FspfLsrEntry
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
       "This table is the database of all the latest
       incarnations of the Link State Records (LSRs) that
       are currently contained in the topology database,
       for all interfaces on all Fabrics known to
       locally managed switches.
       A Fabric's topology database contains the LSRs that
       have been either issued or received by a local switch on
       that Fabric, and that have not reached t11FspfMaxAge."
::= { t11FspfDatabase 1 }

t11FspfLsrEntry OBJECT-TYPE

SYNTAX      T11FspfLsrEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "This gives information for the most recent update of an
       LSR.  There is one entry for every LSR issued or received
       by a locally managed switch (identified by
       fcmInstanceIndex and fcmSwitchIndex) in a Fabric
       (identified by t11FspfFabricIndex)."
INDEX      { fcmInstanceIndex, fcmSwitchIndex, t11FspfFabricIndex,
             t11FspfLsrDomainId, t11FspfLsrType }
::= { t11FspfLsrTable 1 }

T11FspfLsrEntry ::= SEQUENCE {

t11FspfLsrDomainId           FcDomainIdOrZero,
t11FspfLsrType               T11FspfLsrType,
t11FspfLsrAdvDomainId        FcDomainIdOrZero,
t11FspfLsrAge                Unsigned32,
t11FspfLsrIncarnationNumber  Unsigned32,
t11FspfLsrCheckSum           Unsigned32,
t11FspfLsrLinks              Unsigned32

}

t11FspfLsrDomainId OBJECT-TYPE

SYNTAX      FcDomainIdOrZero
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "Domain Id of the LSR owner in this Fabric.  It is the
       Link State Id of this LSR."
::= { t11FspfLsrEntry 1 }

t11FspfLsrType OBJECT-TYPE

SYNTAX      T11FspfLsrType
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "Type of this LSR."
::= { t11FspfLsrEntry 2 }

t11FspfLsrAdvDomainId OBJECT-TYPE

SYNTAX      FcDomainIdOrZero
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Domain Id of the switch that is advertising the LSR on
       the behalf of the switch owning it."
::= { t11FspfLsrEntry 3 }

t11FspfLsrAge OBJECT-TYPE

SYNTAX      Unsigned32 (0..65535)
UNITS       "Seconds"
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The time since this LSR was inserted into the database."
::= { t11FspfLsrEntry 4 }

t11FspfLsrIncarnationNumber OBJECT-TYPE

SYNTAX      Unsigned32 (0..4294967295)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The link state incarnation number of this LSR.  This is
       used to identify most recent instance of an LSR while
       updating the topology database when an LSR is received.
       The updating of an LSR includes incrementing its
       incarnation number prior to transmission of the updated
       LSR.  So, the most recent LSR is the one with the
       largest incarnation number."
::= { t11FspfLsrEntry 5 }

t11FspfLsrCheckSum OBJECT-TYPE

SYNTAX      Unsigned32 (0..65535)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The checksum of the LSR."
::= { t11FspfLsrEntry 6 }

t11FspfLsrLinks OBJECT-TYPE

SYNTAX      Unsigned32 (0..65355)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "Number of entries in the t11FspfLinkTable associated with
       this LSR."
::= { t11FspfLsrEntry 7 }

-- -- t11FspfLinkTable

t11FspfLinkNumber OBJECT-TYPE

SYNTAX      Unsigned32 (0..2147483647)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
        "The number of rows in the t11FspfLinkTable."
    ::= { t11FspfDatabase 3 }

t11FspfLinkTable OBJECT-TYPE

SYNTAX       SEQUENCE OF T11FspfLinkEntry
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
       "This table contains the list of Inter-Switch Links and
       their information that is part of an LSR, either
       received or transmitted."
::= { t11FspfDatabase 4 }

t11FspfLinkEntry OBJECT-TYPE

SYNTAX      T11FspfLinkEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "An entry that contains information about a link
       contained in an LSR in this Fabric.  An entry is created
       whenever a new link appears in an (issued or received)
       LSR.  An entry is deleted when a link no longer appears
       in an (issued or received) LSR."
INDEX      { fcmInstanceIndex, fcmSwitchIndex, t11FspfFabricIndex,
             t11FspfLsrDomainId, t11FspfLsrType, t11FspfLinkIndex}
::= { t11FspfLinkTable 1 }

T11FspfLinkEntry ::= SEQUENCE {

t11FspfLinkIndex             Unsigned32,
t11FspfLinkNbrDomainId       FcDomainIdOrZero,
t11FspfLinkPortIndex         Unsigned32,
t11FspfLinkNbrPortIndex      Unsigned32,
t11FspfLinkType              T11FspfLinkType,
t11FspfLinkCost              Integer32

}

t11FspfLinkIndex OBJECT-TYPE

SYNTAX      Unsigned32 (1..4294967295)
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "An arbitrary index of this link."
::= { t11FspfLinkEntry 1 }

t11FspfLinkNbrDomainId OBJECT-TYPE

SYNTAX      FcDomainIdOrZero
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The Domain Id of the neighbor on the other end of this
       link in this Fabric."
::= { t11FspfLinkEntry 2 }

t11FspfLinkPortIndex OBJECT-TYPE

SYNTAX      Unsigned32 (0..16777215)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The source E_port of this link, as indicated by the index
       value in the LSR received from the switch identified by
       't11FspfLsrDomainId'."
::= { t11FspfLinkEntry 3 }

t11FspfLinkNbrPortIndex OBJECT-TYPE

SYNTAX      Unsigned32 (0..16777215)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The destination E_port of this link, as indicated by the
       index value in the LSR received from the switch identified
       by 't11FspfLinkNbrDomainId'."
::= { t11FspfLinkEntry 4 }

t11FspfLinkType OBJECT-TYPE

SYNTAX      T11FspfLinkType
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The type of this link."
::= { t11FspfLinkEntry 5 }

t11FspfLinkCost OBJECT-TYPE

SYNTAX      Integer32 (0..65535)
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
       "The cost of sending a frame on this link in this Fabric.
       Link cost is calculated using the formula:
             link cost = S * (1.0625e12 / Signalling Rate)
       For issued LSRs, S is determined by the value of
       t11FspfIfLinkCostFactor for the corresponding interface
       and Fabric."
::= { t11FspfLinkEntry 6 }

-- -- Notification-related object

t11FspfIfPrevNbrState OBJECT-TYPE

SYNTAX      T11FspfInterfaceState
MAX-ACCESS  accessible-for-notify
STATUS      current
DESCRIPTION
       "The previous state of FSPF's Neighbor Finite State
       Machine on an interface.
       This object is only used in the
       't11FspfNbrStateChangNotify' notification."
::= { t11FspfConfiguration 3 }

-- -- Notifications

t11FspfNbrStateChangNotify NOTIFICATION-TYPE

OBJECTS     { ifIndex,
              t11FamConfigDomainId,
              t11FspfIfNbrDomainId,
              t11FspfIfNbrState,
              t11FspfIfPrevNbrState
}
STATUS      current
DESCRIPTION
       "This notification signifies that there has been a change in
       the state of an FSPF neighbor.  This is generated when the
       FSPF state changes to a terminal state, through either
       regression (i.e., goes from Full to Init or Down) or
       progression (i.e., from any state to Full).  The value of
       't11FspfIfNbrState' is the state of the neighbor after the
       change."
::= { t11FspfNotifications 1 }

-- -- Conformance

t11FspfMIBCompliances

OBJECT IDENTIFIER ::= { t11FspfConformance 1 }

t11FspfMIBGroups

OBJECT IDENTIFIER ::= { t11FspfConformance 2 }

t11FspfMIBCompliance MODULE-COMPLIANCE

STATUS     current
DESCRIPTION
       "The compliance statement for entities that
       implement the FSPF."
MODULE -- this module
    MANDATORY-GROUPS { t11FspfGeneralGroup,
                       t11FspfIfGroup,
                       t11FspfDatabaseGroup,
                       t11FspfNotificationGroup }
    GROUP      t11FspfIfCounterGroup
    DESCRIPTION
           "These counters, for particular FSPF-packet
           occurrences on an interface, are mandatory only
           for those systems that count such events."
    OBJECT     t11FspfIfRowStatus
    SYNTAX     INTEGER { active(1) }
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required, so only
           one value needs to be supported."
    OBJECT     t11FspfIfStorageType
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfNbrStateChangNotifyEnable
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfMinLsArrival
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfMinLsInterval
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfAdminStatus
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfSetToDefault
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfStorageType
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfHelloInterval
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfDeadInterval
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfRetransmitInterval
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfAdminStatus
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfSetToDefault
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    OBJECT     t11FspfIfLinkCostFactor
    MIN-ACCESS read-only
    DESCRIPTION
           "Write access is not required."
    ::= { t11FspfMIBCompliances 1 }

-- Units of Conformance

t11FspfGeneralGroup OBJECT-GROUP

OBJECTS  { t11FspfMinLsArrival,
           t11FspfMinLsInterval,
           t11FspfLsRefreshTime,
           t11FspfMaxAge,
           t11FspfMaxAgeDiscards,
           t11FspfPathComputations,
           t11FspfChecksumErrors,
           t11FspfLsrs,
           t11FspfCreateTime,
           t11FspfAdminStatus,
           t11FspfOperStatus,
           t11FspfNbrStateChangNotifyEnable,
           t11FspfSetToDefault,
           t11FspfStorageType }
STATUS   current
DESCRIPTION
       "A collection of objects for displaying and
       configuring FSPF parameters."
::= { t11FspfMIBGroups 1 }

t11FspfIfGroup OBJECT-GROUP

OBJECTS  { t11FspfIfHelloInterval,
           t11FspfIfDeadInterval,
           t11FspfIfRetransmitInterval,
           t11FspfIfNbrState,
           t11FspfIfNbrDomainId,
           t11FspfIfNbrPortIndex,
           t11FspfIfAdminStatus,
           t11FspfIfCreateTime,
           t11FspfIfSetToDefault,
           t11FspfIfLinkCostFactor,
           t11FspfIfRowStatus,
           t11FspfIfStorageType,
           t11FspfIfPrevNbrState }
STATUS   current
DESCRIPTION
       "A collection of objects for displaying the FSPF
       interface information."
::= { t11FspfMIBGroups 2 }

t11FspfIfCounterGroup OBJECT-GROUP

OBJECTS  { t11FspfIfInLsuPkts,
           t11FspfIfInLsaPkts,
           t11FspfIfOutLsuPkts,
           t11FspfIfOutLsaPkts,
           t11FspfIfOutHelloPkts,
           t11FspfIfInHelloPkts,
           t11FspfIfRetransmittedLsuPkts,
           t11FspfIfInErrorPkts  }
STATUS   current
DESCRIPTION
        "A collection of objects for counting particular
        FSPF-packet occurrences on an interface."
::= { t11FspfMIBGroups 3 }

t11FspfDatabaseGroup OBJECT-GROUP

OBJECTS  { t11FspfLsrAdvDomainId,
           t11FspfLsrAge,
           t11FspfLsrIncarnationNumber,
           t11FspfLsrCheckSum,
           t11FspfLsrLinks,
           t11FspfLinkNbrDomainId,
           t11FspfLinkPortIndex,
           t11FspfLinkNbrPortIndex,
           t11FspfLinkType,
           t11FspfLinkCost,
           t11FspfLinkNumber }
STATUS   current
DESCRIPTION
       "A collection of objects for displaying the FSPF
       topology database information."
::= { t11FspfMIBGroups 4 }

t11FspfNotificationGroup NOTIFICATION-GROUP

NOTIFICATIONS  { t11FspfNbrStateChangNotify }
STATUS   current
DESCRIPTION
       "A collection of notifications for FSPF."
::= { t11FspfMIBGroups 5 }

END

Acknowledgements

This document was originally developed and approved by the INCITS Task Group T11.5 (http://www.t11.org) as the SM-FSM project. We wish to acknowledge the many contributions and comments from the INCITS Technical Committee T11, including the following:

  T11 Chair: Robert Snively, Brocade
  T11 Vice Chair: Claudio DeSanti, Cisco Systems
  T11.5 Chair: Roger Cummings, Symantec
  T11.5 members, especially:
      Ken Hirata, Emulex
      Scott Kipp, McData
      Elizabeth G. Rodriguez, Dot Hill

The document was subsequently approved by the IETF's IMSS Working Group, chaired by David Black (EMC Corporation). We also wish to acknowledge Bert Wijnen (Lucent Technologies), the IETF Area Director, for his review of the document.

IANA Considerations

The IANA assigned a MIB OID for the T11-FC-FSPF-MIB module under the appropriate subtree.

Security Considerations

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

    t11FspfMinLsArrival, t11FspfMinLsInterval,
    t11FspfIfHelloInterval, t11FspfIfDeadInterval &
    t11FspfIfRetransmitInterval
       -- alter the responsiveness of the FSPF protocol
    t11FspfAdminStatus & t11FspfIfAdminStatus
       -- enable/disable dynamic routing via FSPF
    t11FspfSetToDefault & t11FspfIfSetToDefault
       -- nullify valid configuration changes
    t11FspfIfLinkCostFactor
       -- alter the choice of links
    t11FspfNbrStateChangNotifyEnable
       -- enable/disable notifications.

The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.

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

  t11FspfTable -- contains per-Fabric parameters and statistics
  t11FspfIfTable -- contains per-interface parameters and statistics
  t11FspfLsrTable & t11FspfLinkTable -- database of LSR information,

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

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

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

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.

[FC-FS] "Fibre Channel - Framing and Signaling (FC-FS)" ANSI

          INCITS 373-2003, April 2003.

[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.

RFC4439 DeSanti, C., Gaonkar, V., McCloghrie, K., and S. Gai,

          "Fibre Channel Fabric Address Manager MIB", RFC 4439,
          March 2006.

11. Informative References

RFC2741 Daniele, M., Wijnen, B., Ellison, M., and D. Francisco,

          "Agent Extensibility (AgentX) Protocol Version 1", RFC
          2741, January 2000.

RFC4044 McCloghrie, K., "Fibre Channel Management MIB", RFC 4044,

          May 2005.

RFC3410 Case, J., Mundy, R., Partain, D. and B. Stewart,

          "Introduction and Applicability Statements for Internet-
          Standard Management Framework", RFC 3410, December 2002.

Authors' Addresses

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

Phone: +1 408 853-9172 EMail: [email protected]

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

Phone: +1 408 527-8576 EMail: [email protected]

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

Phone: +1 408-526-5260 EMail: [email protected]

Silvano Gai Retired

Full Copyright Statement

Copyright (C) The Internet Society (2006).

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

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

Intellectual Property

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

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

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at [email protected].

Acknowledgement

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