RFC4983

From RFC-Wiki

Network Working Group C. DeSanti Request for Comments: 4983 H.K. Vivek Category: Standards Track K. McCloghrie

                                                       Cisco Systems
                                                              S. Gai
                                                       Nuova Systems
                                                         August 2007
 Fibre Channel Registered State Change Notification (RSCN) MIB

Status of This Memo

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

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 management of Fibre Channel's Registered State Change Notifications (RSCNs).

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 Registered State Change Notifications (RSCNs) [FC-LS] in a Fibre Channel network, including which Nx_Ports are registered to receive which types of RSCNs, the control and generation of Simple Network Management Protocol (SNMP) notifications on registration failures, and RSCN-related statistics.

This memo was previously approved by INternational Committee for Information Technology Standards (INCITS) Task Group T11.5 (http://www.t11.org); this document is a product of the IETF's IMSS working group.

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 BCP 14, 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

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 dynamically assigned by a switch. Each octet of a 24-bit address represents a level in an address hierarchy, with a Domain_ID being the highest level of the hierarchy.

Registered State Change Notifications (RSCNs) are defined in [FC-LS] as a means to provide Nx_Ports that have registered to receive such notifications with a timely indication of changes in the state of nodes attached to the fabric. Specifically, an Nx_Port may choose to register, using a State Change Registration (SCR) request [FC-LS] to receive RSCNs. When an event occurs that may affect a registered Nx_Port's port's state, the registered Nx_Port will receive an RSCN. For example, an Nx_Port can use RSCNs as the means by which it is informed of the failures of other nodes, of new devices coming online, or even of more network-accessible storage becoming available. The payload of the RSCN indicates the type of change and includes the address of the changed port. RSCNs are often generated by the fabric, but an Nx_Port can also generate (and send to the fabric) an RSCN if and when it detects an event not visible to the fabric. The sender of an RSCN may coalesce several events into a single RSCN message. Each RSCN is a "request" that is acknowledged by the receiver with an accept or reject.

An RSCN is received by an Nx_Port from the Fabric as an Extended Link Service (ELS) request [FC-LS]. The Fabric distributes RSCNs between Switches using an SW_ILS frame with an Inter-Switch RSCN payload, also known as an SW_RSCN [FC-SW-4]. So, when a Switch has directly

attached Nx_Ports that have registered to receive RSCNs, it converts received SW_RSCNs (i.e., SW_ILS frames containing SW_RSCN payloads) into ELS requests containing the corresponding RSCN which it sends to each such Nx_Port.

The latest standard for an interconnecting Fabric containing multiple Fabric Switch elements is [FC-SW-4]. [FC-SW-4] carries forward the earlier specification for the operation of a single Fabric in a physical infrastructure, and augments 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 for Fibre Channel RFC2837 was focused on Fibre Channel switches. It was replaced by the more generic Fibre Channel Management MIB RFC4044 which defines basic information for Fibre Channel hosts and switches, including extensions to the standard [IF-MIB] for Fibre Channel interfaces. RFC4044 includes the specification of how the generic objects defined in [IF-MIB] apply to Fibre Channel interfaces.

This MIB imports some common Textual Conventions defined in the T11-TC-MIB RFC4439 and in the T11-FC-NAME-SERVER-MIB RFC4438.

MIB Overview

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

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 may be grouped into Fibre Channel management instances in whatever way is most convenient for the implementation(s). For example, one such grouping accommodates a single SNMP agent having multiple AgentX RFC2741 sub-agents, with each sub-agent implementing a different Fibre Channel management instance.

The object, fcmInstanceIndex, is IMPORTed from the FC-MGMT-MIB RFC4044 as the index value to uniquely identify each Fibre Channel management instance, for example, within the same SNMP context (RFC3411, section 3.3.1).

Switch Index

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

Fabric Index

Whether operating on a Physical Fabric (i.e., without Virtual Fabrics) or within a Virtual Fabric, the manner of operation of RSCNs within a/each Fabric is identical. Therefore, this MIB defines all Fabric-related information in tables that are INDEXed by an arbitrary integer, named a "Fabric Index", the syntax of which is IMPORTed from the T11-TC-MIB RFC4439. 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 t11FcRscnFabricIndex when they both appear in the same INDEX clause.

The t11FcRscnRegistrationGroup Group

This group contains information about the Nx_Ports which have registered to receive RSCNs.

The t11FcRscnNotifyGroup Group

This group contains two notifications: one generated when a switch rejects an SCR or RSCN; the other when a switch rejects an SW_RSCN.

Flow-Control for Notifications

When defining SNMP notifications for events that occur in the data- plane, the maximum frequency of their generation needs to be considered. Unless there is some limiting factor, such notifications need to be flow-controlled in some way, e.g., defined such that after some maximum number within a specified time interval have occurred, further notifications are suppressed for some subsequent time interval. However, when such a suppression occurs, the Network Management System (NMS) that didn't receive the notifications (because they were suppressed) needs to be able to obtain an indication of how many were suppressed. Therefore, an additional Counter32 object needs to be defined, and/or a new type of notification needs to be defined for use at the end of the interval. While this is extra complexity, it is necessary for notifications that need to be flow-controlled.

In contrast, for notifications such as both the ones defined in this MIB module, which are generated due to control-plane events (and are not able to start a chain reaction), the extra complexity of flow- controlling these types of notifications is not warranted.

The t11FcRscnNotifyControlGroup Group

This group contains one object for each notification in the t11FcRscnNotifyGroup group to enable/disable that notification, as well as three objects that record information about the latest rejection of an SCR, RSCN or SW_RSCN. Specifically, they record the content (if available) of the rejected request, the source of the rejected request, and the reason for the rejection.

The t11FcRscnStatsGroup Group

This group contains RSCN-related statistics. Two levels of statistics are included:

  1) counters at the message-type level, for:
     - the number of SCRs received/rejected,
     - the number of RSCNs sent/received/rejected,
     - the number of SW_RSCNs sent/received/rejected.
  2) counters for each different category of sent/received RSCNs,
     where different categories are indicated by different values of
     the 'Event Qualifier' contained in an RSCN message.  Note that
     if and when several RSCN events are coalesced into a single
     RSCN message, then that message may be counted in more than one
     of these counters.  No counters are defined in this MIB for the
     'Event Qualifier' value of '0001'b (meaning "Changed Name
     Server Object") because these types of RSCNs are counted by the
     t11NsInRscns and t11NsOutRscns objects already defined in
     RFC4438.

Definitions

The T11-FC-RSCN-MIB Module

T11-FC-RSCN-MIB DEFINITIONS ::= BEGIN

-- The Fibre Channel RSCN MIB -- -- for the monitoring of registrations by Nx_Ports to receive -- Registered State Change Notifications (RSCNs), and the -- monitoring of RSCN usage. --

IMPORTS

MODULE-IDENTITY, OBJECT-TYPE,
NOTIFICATION-TYPE,
Counter32, mib-2                     FROM SNMPv2-SMI   -- RFC2578
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP                   FROM SNMPv2-CONF  -- RFC2580
TruthValue                           FROM SNMPv2-TC    -- RFC2579
fcmInstanceIndex, fcmSwitchIndex,
FcNameIdOrZero, FcAddressIdOrZero    FROM FC-MGMT-MIB  -- RFC4044
T11NsGs4RejectReasonCode   FROM T11-FC-NAME-SERVER-MIB -- RFC4438
T11FabricIndex                       FROM T11-TC-MIB;  -- RFC4439

t11FcRscnMIB MODULE-IDENTITY

LAST-UPDATED "200701080000Z"
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: [email protected]
              Keith McCloghrie
              Cisco Systems, Inc.
              170 West Tasman Drive
              San Jose, CA 95134 USA
              EMail: [email protected]"
DESCRIPTION
       "The MIB module for the management of registrations
       by Nx_Ports to receive RSCNs (Registered State Change
       Notifications) on a Fibre Channel Fabric, as defined
       in FC-LS, and for the monitoring of RSCNs sent/received
       or rejected in a Fibre Channel Fabric.
       Copyright (C) The Internet Society (2007).  This version of
       this MIB module is part of RFC 4983;  see the RFC itself for
       full legal notices."
REVISION    "200701080000Z"
DESCRIPTION
       "Initial version of this MIB module, published as RFC 4983."
::= { mib-2 161 }

t11FcRscnNotifications OBJECT IDENTIFIER ::= { t11FcRscnMIB 0 } t11FcRscnObjects OBJECT IDENTIFIER ::= { t11FcRscnMIB 1 } t11FcRscnConformance OBJECT IDENTIFIER ::= { t11FcRscnMIB 2 } t11FcRscnRegistrations OBJECT IDENTIFIER ::= { t11FcRscnObjects 1 } t11FcRscnStats OBJECT IDENTIFIER ::= { t11FcRscnObjects 2 } t11FcRscnInformation OBJECT IDENTIFIER ::= { t11FcRscnObjects 3 }

-- State Change Registration Table

t11FcRscnRegTable OBJECT-TYPE

SYNTAX         SEQUENCE OF T11FcRscnRegEntry
MAX-ACCESS     not-accessible
STATUS         current
DESCRIPTION
       "A table of Nx_Ports that have registered to receive
       RSCNs on all Fabrics configured on one or more Fibre
       Channel switches."
::= { t11FcRscnRegistrations 1 }

t11FcRscnRegEntry OBJECT-TYPE

SYNTAX        T11FcRscnRegEntry
MAX-ACCESS    not-accessible
STATUS        current
DESCRIPTION
       "An entry containing information about one Nx_Port that
       has registered with a particular switch (identified by
       values of fcmInstanceIndex and fcmSwitchIndex) for a
       particular Fabric (identified by a t11FcRscnFabricIndex
       value)."
INDEX   { fcmInstanceIndex, fcmSwitchIndex, t11FcRscnFabricIndex,
          t11FcRscnRegFcId }
::= { t11FcRscnRegTable 1 }

T11FcRscnRegEntry ::= SEQUENCE {

t11FcRscnFabricIndex         T11FabricIndex,
t11FcRscnRegFcId             FcAddressIdOrZero,
t11FcRscnRegType             BITS

}

t11FcRscnFabricIndex OBJECT-TYPE

SYNTAX      T11FabricIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
       "An 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, this index value is used to uniquely
       identify a particular Fabric within a physical
       infrastructure.
       In a Fabric that has (or can have) only a single Fabric
       operating within the physical infrastructure, the
       value of this Fabric Index will always be 1."
REFERENCE
      "ANSI INCITS 418-2006, Fibre Channel - Switch Fabric - 4
      (FC-SW-4), December 2006."
::= { t11FcRscnRegEntry 1 }

t11FcRscnRegFcId OBJECT-TYPE

SYNTAX        FcAddressIdOrZero (SIZE (3))
MAX-ACCESS    not-accessible
STATUS        current
DESCRIPTION
       "The Fibre Channel Address Identifier of the
       registering Nx_Port."
::= { t11FcRscnRegEntry 2 }

t11FcRscnRegType OBJECT-TYPE

SYNTAX        BITS {
                  fromFabricController(0),
                  fromNxPort(1)
              }
MAX-ACCESS    read-only
STATUS        current
DESCRIPTION
       "This object indicates the type of registration
       desired by the registering Nx_Port, one bit per type:
       'fromFabricController' -- RSCNs generated for events
                              detected by the Fabric Controller.
       'fromNxPorts'          -- RSCNs generated for events
                              detected by the affected Nx_Port."
REFERENCE
      "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 40."
::= { t11FcRscnRegEntry 3 }

-- Statistics

t11FcRscnStatsTable OBJECT-TYPE

SYNTAX         SEQUENCE OF T11FcRscnStatsEntry
MAX-ACCESS     not-accessible
STATUS         current
DESCRIPTION
       "The RSCN-related statistics on all Fabrics configured
       on one or more Fibre Channel switches.
       Two levels of statistics are included:
          1) counters at the message-type level, for:
             - the number of SCRs received/rejected,
             - the number of RSCNs sent/received/rejected,
             - the number of SW_RSCNs sent/received/rejected.
          2) counters of sent/received RSCNs per 'Event
             Qualifier' value.  Note that if and when several
             RSCN events are coalesced into a single RSCN
             message, then that message may be counted in
             more than one of these counters."
::= { t11FcRscnStats 1 }

t11FcRscnStatsEntry OBJECT-TYPE

SYNTAX        T11FcRscnStatsEntry
MAX-ACCESS    not-accessible
STATUS        current
DESCRIPTION
       "An entry containing statistics for a particular Fabric
       (identified by a t11FcRscnFabricIndex value) on a particular
       switch (identified by values of fcmInstanceIndex and
       fcmSwitchIndex)."
INDEX  { fcmInstanceIndex, fcmSwitchIndex, t11FcRscnFabricIndex }
::= { t11FcRscnStatsTable 1 }

T11FcRscnStatsEntry ::= SEQUENCE {

t11FcRscnInScrs                    Counter32,
t11FcRscnInRscns                   Counter32,
t11FcRscnOutRscns                  Counter32,
t11FcRscnInSwRscns                 Counter32,
t11FcRscnOutSwRscns                Counter32,
t11FcRscnScrRejects                Counter32,
t11FcRscnRscnRejects               Counter32,
t11FcRscnSwRscnRejects             Counter32,
t11FcRscnInUnspecifiedRscns        Counter32,
t11FcRscnOutUnspecifiedRscns       Counter32,
t11FcRscnInChangedAttribRscns      Counter32,
t11FcRscnOutChangedAttribRscns     Counter32,
t11FcRscnInChangedServiceRscns     Counter32,
t11FcRscnOutChangedServiceRscns    Counter32,
t11FcRscnInChangedSwitchRscns      Counter32,
t11FcRscnOutChangedSwitchRscns     Counter32,
t11FcRscnInRemovedRscns            Counter32,
t11FcRscnOutRemovedRscns           Counter32

}

t11FcRscnInScrs OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of SCRs received from Nx_Ports
       by this switch on this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 1 }

t11FcRscnInRscns OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of RSCNs received from Nx_Ports
       by this switch on this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 2 }

t11FcRscnOutRscns OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of RSCNs transmitted to Nx_Ports
       by this switch on this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 3 }

t11FcRscnInSwRscns OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of SW_RSCNs received by this switch from
       other switches on this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 4 }

t11FcRscnOutSwRscns OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of SW_RSCNs transmitted by this switch
       from other switches on this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 5 }

t11FcRscnScrRejects OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of SCRs rejected by this switch on
       this Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 6 }

t11FcRscnRscnRejects OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of RSCNs rejected by this switch on this
       Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 7 }

t11FcRscnSwRscnRejects OBJECT-TYPE

SYNTAX         Counter32
MAX-ACCESS     read-only
STATUS         current
DESCRIPTION
       "The number of SW_RSCN rejected by this switch on this
       Fabric.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
::= { t11FcRscnStatsEntry 8 }

t11FcRscnInUnspecifiedRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) received by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0000'b
       meaning 'Event is not specified'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 9 }

t11FcRscnOutUnspecifiedRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) sent by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0000'b
       meaning 'Event is not specified'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 10 }

t11FcRscnInChangedAttribRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) received by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0002'b
       meaning 'Changed Port Attribute'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 11 }

t11FcRscnOutChangedAttribRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) sent by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0002'b
       meaning 'Changed Port Attribute'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 12 }

t11FcRscnInChangedServiceRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) received by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0003'b
       meaning 'Changed Service Object'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 13 }

t11FcRscnOutChangedServiceRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) sent by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0003'b
       meaning 'Changed Service Object'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 14 }

t11FcRscnInChangedSwitchRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) received by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0004'b
       meaning 'Changed Switch Configuration'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 15 }

t11FcRscnOutChangedSwitchRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) sent by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0004'b
       meaning 'Changed Switch Configuration'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 16 }

t11FcRscnInRemovedRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) received by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0005'b
       meaning 'Removed Object'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 17 }

t11FcRscnOutRemovedRscns OBJECT-TYPE

SYNTAX       Counter32
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
        "The number of Registered State Change Notifications
       (RSCNs) sent by this switch on this Fabric which
       contained an RSCN Event Qualifier value of '0005'b
       meaning 'Removed Object'.
       This counter has no discontinuities other than
       those that all Counter32s have when sysUpTime=0."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
      (FC-LS), July 2007, Table 36."
::= { t11FcRscnStatsEntry 18 }

-- -- Notification Control Table -- t11FcRscnNotifyControlTable OBJECT-TYPE

SYNTAX       SEQUENCE OF T11FcRscnNotifyControlEntry
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
       "A table of control information for notifications
       generated due to the rejection of an SCR or RSCN."
::= { t11FcRscnInformation 1 }

t11FcRscnNotifyControlEntry OBJECT-TYPE

SYNTAX       T11FcRscnNotifyControlEntry
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
       "Each entry contains notification control information
       concerning the rejection of RSCN/SCRs for a particular
       Fabric (identified by the value of t11FcRscnFabricIndex)
       by a particular switch (identified by values of
       fcmInstanceIndex and fcmSwitchIndex)."
INDEX  { fcmInstanceIndex, fcmSwitchIndex, t11FcRscnFabricIndex }
::= { t11FcRscnNotifyControlTable 1 }

T11FcRscnNotifyControlEntry ::= SEQUENCE {

 t11FcRscnIlsRejectNotifyEnable     TruthValue,
 t11FcRscnElsRejectNotifyEnable     TruthValue,
 t11FcRscnRejectedRequestString     OCTET STRING,
 t11FcRscnRejectedRequestSource     FcNameIdOrZero,
 t11FcRscnRejectReasonCode          T11NsGs4RejectReasonCode,
 t11FcRscnRejectReasonCodeExp       OCTET STRING,
 t11FcRscnRejectReasonVendorCode    OCTET STRING

}

t11FcRscnIlsRejectNotifyEnable OBJECT-TYPE

SYNTAX       TruthValue
MAX-ACCESS   read-write
STATUS       current
DESCRIPTION
       "This object specifies if a t11FcRscnIlsRejectReqNotify
       notification should be generated when this switch
       rejects an SW_RSCN on this Fabric.
       Values written to this object should be retained
       over agent reboots."
DEFVAL { false }
::= { t11FcRscnNotifyControlEntry 1 }

t11FcRscnElsRejectNotifyEnable OBJECT-TYPE

SYNTAX        TruthValue
MAX-ACCESS    read-write
STATUS        current
DESCRIPTION
       "This object specifies if a t11FcRscnElsRejectReqNotify
       notification should be generated when this switch
       rejects an RSCN or SCR on this Fabric.
       Values written to this object should be retained
       over agent reboots."
DEFVAL { false }
::= { t11FcRscnNotifyControlEntry 2 }

t11FcRscnRejectedRequestString OBJECT-TYPE

SYNTAX        OCTET STRING (SIZE (0..255))
MAX-ACCESS    read-only
STATUS        current
DESCRIPTION
       "The binary content of the RSCN, SCR, or SW_RSCN that
       was most recently rejected by this switch on this Fabric.
       The value is formatted as an octet string (in network
       byte order) as described in the relevant Fibre Channel
       standard, containing the payload (which is typically a
       list of affected ports and error codes) of the rejected
       RSCN or SCR as described in FC-LS, or the rejected
       SW_RSCN as described in FC-SW-4.
       This object contains the zero-length string if and when
       the RSCN/SCR/SW_RSCN payload is unavailable.  When the
       length of this object is 255 octets, it contains the
       first 255 octets of the payload (in network byte order)."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
       (FC-LS), July 2007, Tables 34 & 39.
       ANSI INCITS 418-2006, Fibre Channel - Switch Fabric - 4
       (FC-SW-4), December 2006, Table 45."
::= { t11FcRscnNotifyControlEntry 3 }

t11FcRscnRejectedRequestSource OBJECT-TYPE

SYNTAX       FcNameIdOrZero
MAX-ACCESS   read-only
STATUS       current
DESCRIPTION
       "The WWN that was the source of the RSCN, SCR, or
       SW_RSCN that was most recently rejected by this switch
       on this Fabric."
::= { t11FcRscnNotifyControlEntry 4 }

t11FcRscnRejectReasonCode OBJECT-TYPE

SYNTAX        T11NsGs4RejectReasonCode
MAX-ACCESS    read-only
STATUS        current
DESCRIPTION
       "This object contains the Reason Code of the most recent
       rejection by this switch of an RSCN, SCR or SW_RSCN on
       this Fabric."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
       (FC-LS), July 2007, Table 146.
       ANSI INCITS 418-2006, Fibre Channel - Switch Fabric - 4
       (FC-SW-4), December 2006, Table 5."
::= { t11FcRscnNotifyControlEntry 5 }

t11FcRscnRejectReasonCodeExp OBJECT-TYPE

SYNTAX        OCTET STRING (SIZE(1))
MAX-ACCESS    read-only
STATUS        current
DESCRIPTION
       "This object contains the Reason Code Explanation
       of the most recent rejection by this switch of an
       RSCN, SCR or SW_RSCN on this Fabric."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
       (FC-LS), July 2007, Table 147.
       ANSI INCITS 418-2006, Fibre Channel - Switch Fabric - 4
       (FC-SW-4), December 2006, Table 6."
::= { t11FcRscnNotifyControlEntry 6 }

t11FcRscnRejectReasonVendorCode OBJECT-TYPE

SYNTAX        OCTET STRING (SIZE(1))
MAX-ACCESS    read-only
STATUS        current
DESCRIPTION
       "This object contains the Reason Vendor Specific
       Code of the most recent rejection by this switch
       of an RSCN, SCR or SW_RSCN on this Fabric."
REFERENCE
       "ANSI INCITS 433-2007, Fibre Channel - Link Services
       (FC-LS), July 2007, Table 148.
       ANSI INCITS 418-2006, Fibre Channel - Switch Fabric - 4
       (FC-SW-4), December 2006, Section 6.1.3."
::= { t11FcRscnNotifyControlEntry 7 }

-- Notifications

t11FcRscnElsRejectReqNotify NOTIFICATION-TYPE

OBJECTS { t11FcRscnRejectedRequestString,
          t11FcRscnRejectedRequestSource,
          t11FcRscnRejectReasonCode,
          t11FcRscnRejectReasonCodeExp,
          t11FcRscnRejectReasonVendorCode }
STATUS  current
DESCRIPTION
       "This notification is generated when a switch rejects
       an SCR or RSCN.
       The value of t11FcRscnRejectedRequestString indicates the
       binary content of the rejected request if available, or
       the zero-length string otherwise.  The source of the
       rejected request is given by t11FcRscnRejectedRequestSource,
       and the reason for rejection is given by the values of
       t11FcRscnRejectReasonCode, t11FcRscnRejectReasonCodeExp
       and t11FcRscnRejectReasonVendorCode."
::= { t11FcRscnNotifications 1 }

t11FcRscnIlsRejectReqNotify NOTIFICATION-TYPE

OBJECTS { t11FcRscnRejectedRequestString,
          t11FcRscnRejectedRequestSource,
          t11FcRscnRejectReasonCode,
          t11FcRscnRejectReasonCodeExp,
          t11FcRscnRejectReasonVendorCode }
STATUS  current
DESCRIPTION
       "This notification is generated when a switch rejects
       an SW_RSCN.
       The value of t11FcRscnRejectedRequestString indicates the
       binary content of the rejected request if available, or
       the zero-length string otherwise.  The source of the
       rejected request is given by t11FcRscnRejectedRequestSource,
       and the reason for rejection is given by the values of
       t11FcRscnRejectReasonCode, t11FcRscnRejectReasonCodeExp
       and t11FcRscnRejectReasonVendorCode."
::= { t11FcRscnNotifications 2 }

-- Conformance t11FcRscnCompliances OBJECT IDENTIFIER ::= { t11FcRscnConformance 1 } t11FcRscnGroups OBJECT IDENTIFIER ::= { t11FcRscnConformance 2 }

t11FcRscnCompliance MODULE-COMPLIANCE

STATUS    current
DESCRIPTION
       "The compliance statement for entities that implement
       this MIB."
MODULE
    MANDATORY-GROUPS { t11FcRscnRegistrationGroup,
                       t11FcRscnNotifyControlGroup,
                       t11FcRscnNotifyGroup }
GROUP   t11FcRscnStatsGroup
DESCRIPTION
        "These counters, containing RSCN-related statistics, are
        mandatory only for those systems that count such events."
OBJECT       t11FcRscnIlsRejectNotifyEnable
MIN-ACCESS   read-only
DESCRIPTION
        "Write access is not required."
OBJECT       t11FcRscnElsRejectNotifyEnable
MIN-ACCESS   read-only
DESCRIPTION
        "Write access is not required."
::= { t11FcRscnCompliances 1 }

-- Units of conformance

t11FcRscnRegistrationGroup OBJECT-GROUP

OBJECTS { t11FcRscnRegType }
STATUS  current
DESCRIPTION
       "A collection of objects for monitoring RSCN
       registrations."
::= { t11FcRscnGroups 1 }

t11FcRscnStatsGroup OBJECT-GROUP

OBJECTS { t11FcRscnInScrs,
          t11FcRscnInRscns,
          t11FcRscnOutRscns,
          t11FcRscnInSwRscns,
          t11FcRscnOutSwRscns,
          t11FcRscnScrRejects,
          t11FcRscnRscnRejects,
          t11FcRscnSwRscnRejects,
          t11FcRscnInUnspecifiedRscns,
          t11FcRscnOutUnspecifiedRscns,
          t11FcRscnInChangedAttribRscns,
          t11FcRscnOutChangedAttribRscns,
          t11FcRscnInChangedServiceRscns,
          t11FcRscnOutChangedServiceRscns,
          t11FcRscnInChangedSwitchRscns,
          t11FcRscnOutChangedSwitchRscns,
          t11FcRscnInRemovedRscns,
          t11FcRscnOutRemovedRscns
        }
STATUS  current
DESCRIPTION
       "A collection of objects for collecting RSCN-related
       statistics."
::= { t11FcRscnGroups 2 }

t11FcRscnNotifyControlGroup OBJECT-GROUP

OBJECTS { t11FcRscnIlsRejectNotifyEnable,
          t11FcRscnElsRejectNotifyEnable,
          t11FcRscnRejectedRequestString,
          t11FcRscnRejectedRequestSource,
          t11FcRscnRejectReasonCode,
          t11FcRscnRejectReasonCodeExp,
          t11FcRscnRejectReasonVendorCode
        }
STATUS  current
DESCRIPTION
       "A collection of notification control and
       notification information objects."
::= { t11FcRscnGroups 3 }

t11FcRscnNotifyGroup NOTIFICATION-GROUP

NOTIFICATIONS { t11FcRscnIlsRejectReqNotify,
                t11FcRscnElsRejectReqNotify
              }
STATUS        current
DESCRIPTION
       "A collection of notifications for monitoring
       ILS and ELS rejections by the RSCN module."
::= { t11FcRscnGroups 4 }

END

IANA Considerations

IANA has assigned a MIB OID for the T11-FC-RSCN-MIB module under the appropriate subtree.

Security Considerations

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

    t11FcRscnIlsRejectNotifyEnable
    t11FcRscnElsRejectNotifyEnable
      -- ability to enable/disable a notification; these object, if
         misconfigured, would either generate unwanted notifications
         or suppress wanted notifications.

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

    t11FcRscnRegTable -- contains a list of Nx_Ports that are
    currently registered to received RSCNs.
    t11FcRscnStatsTable -- contains RSCN-related statistics.
    t11FcRscnNotifyControlTable -- contains control and logging
    information for notifications that are concerned with the
    rejection of RSCN-related requests.

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.

Acknowledgements

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

  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 subsequently a work item of the IETF's IMSS Working Group, chaired by David Black (EMC Corporation). We thank Bert Wijnen (Lucent Technologies) for his thorough review of the document. We also wish to acknowledge Dan Romascanu (Avaya), the IETF Area Director, for his comments and assistance.

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.

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.

[IF-MIB] McCloghrie, K. and F. Kastenholz, "The Interfaces Group

          MIB", RFC 2863, June 2000.

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.

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

[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-LS] "Fibre Channel - Link Services (FC-LS)", ANSI INCITS

          433-2007, http://www.t11.org/t11/stat.nsf/upnum/1620-d,
          July 2007.

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.

Authors' Addresses

Claudio DeSanti Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134 USA Phone: +1 408 853-9172 EMail: [email protected]

H.K. Vivek Cisco Systems, Inc. 71 Millers Rd Bangalore, India Phone: +91 80 2289933x5117 EMail: [email protected]

Keith McCloghrie Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134 USA Phone: +1 408 526-5260 EMail: [email protected]

Silvano Gai Nuova Systems 3 West Plumeria Drive San Jose, CA 95134 Phone: +1 408 387-6123 EMail: [email protected]

Full Copyright Statement

Copyright (C) The IETF Trust (2007).

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, THE IETF TRUST 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].