-- ********************************************************************* -- CISCO-FCOE-MIB.my: FCoE mib -- -- July 2008, Pauline Shuen -- -- Copyright (c) 2008 by cisco Systems, Inc. -- All rights reserved. -- -- ********************************************************************* CISCO-FCOE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, TimeStamp, TruthValue, MacAddress, TEXTUAL-CONVENTION FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB T11FabricIndex FROM T11-TC-MIB fcmInstanceIndex, fcmSwitchIndex FROM FC-MGMT-MIB VlanIndex FROM Q-BRIDGE-MIB ciscoMgmt FROM CISCO-SMI; ciscoFCoEMIB MODULE-IDENTITY LAST-UPDATED "200806160000Z" ORGANIZATION "Cisco Systems Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553 -NETS E-mail: fcoe@cisco.com" DESCRIPTION "This MIB module is for configuring and monitoring Fibre Channel over Ethernet (FCoE) related entities. This MIB defines the Virtual FC (VFC) Interface as an object that represents either a VF_Port or a VE_Port on the FCF. Virtual FC interfaces can be either statically created or dynamically created at the time of FIP based FLOGI or ELP request. In this document the term VSAN ID is used interchangeably with Fabric Index defined in the T11 standards. Terminologies used in this MIB are defined by the T11 FCoE standard. Refer to www.t11.org. This MIB also supports configuration of the following objects: - Mapping of FCoE VLAN ID used to carry traffic for a VSAN ID - FC-MAP value used by the FCF operating in FPMA mode - FIP snooping related objects" REVISION "200806160000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 673 } ciscoFCoEMIBObjects OBJECT IDENTIFIER ::= { ciscoFCoEMIB 1 } ciscoFCoEMIBConformance OBJECT IDENTIFIER ::= { ciscoFCoEMIB 2 } cfcoeConfig OBJECT IDENTIFIER ::= { ciscoFCoEMIBObjects 1 } cfcoeFipSnoopingObjects OBJECT IDENTIFIER ::= { ciscoFCoEMIBObjects 2 } -- Textual Conventions VfcBindType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Defines the different methods to identify (or bind to) - the ENode associated with a particular VF_Port VFC - the remote-FCF associated with a particular VE_Port VFC interfaceIndex(1) - This type is used when the ifIndex of an ethernet interface over which the FCF reaches the ENode or the remote-FCF is used to identify the ENode or the remote-FCF. This type is to be used only when the ENode or the remote-FCF is directly connected to the FCF over a specific ethernet interface. macAddress(2) - This type is used when the ENode or the remote-FCF is reachable by the FCF over a L2 Ethernet network. An ENode or remote-FCF is associated to a VFC only if the source MAC address in the FIP frames matches with the bound MAC Address on the VFC." SYNTAX INTEGER { interfaceIndex(1), macAddress(2) } -- FCoE Globals per Switch in a Fibre Channel Management Instance -- 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). -- -- RFC4044 also 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. -- In this MIB, the same fcmSwitchIndex is used to -- identify each FCF and to distinguish it from other -- FCFs and from other Fibre Channel switches. cfcoeCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF CfcoeCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table facilitates configuration of FCoE parameters on a per Fibre Channel management instance." ::= { cfcoeConfig 1 } cfcoeCfgEntry OBJECT-TYPE SYNTAX CfcoeCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each Fibre Channel management instance." INDEX { fcmInstanceIndex, fcmSwitchIndex } ::= { cfcoeCfgTable 1 } CfcoeCfgEntry ::= SEQUENCE { cfcoeCfgFcmap OCTET STRING, cfcoeCfgDynamicVfcCreation TruthValue, cfcoeCfgDynamicVfcAgeTimer Unsigned32, cfcoeCfgDefaultFCFPriority Unsigned32, cfcoeCfgDATov Unsigned32, cfcoeCfgAddressingMode INTEGER } cfcoeCfgFcmap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (3)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object configures the FC-MAP value used by the FCF when operating in FPMA mode. The default value is 0EFC00h, as written in the standard." REFERENCE "ANSI INCITS xxx-200x, T11/Project 1871-D, Fibre Channel - Backbone 5 (FC-BB-5), 10 June 2008, section 7.8 and table 41." DEFVAL { '0EFC00'H } ::= { cfcoeCfgEntry 1 } cfcoeCfgDynamicVfcCreation OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the user to enable (TRUE) or disable (FALSE) dynamic VFC interface creation on the FCF. When set to TRUE VFC interfaces are dynamically created when a FIP based FLOGI or ELP request is received." DEFVAL { false } ::= { cfcoeCfgEntry 2 } cfcoeCfgDynamicVfcAgeTimer OBJECT-TYPE SYNTAX Unsigned32 (10..1000000) MAX-ACCESS read-write STATUS current DESCRIPTION "This ageing timer (in seconds) is used by the FCF to age out dynamically created VFC interfaces. The default value is 300 seconds." DEFVAL { 300 } ::= { cfcoeCfgEntry 3 } cfcoeCfgDefaultFCFPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The FIP priority value advertised by the FCF to ENodes by default. cfcoeStaticVfcFCFPriority configured for a VFC interface overrides this setting for the ENode associated with the VFC." DEFVAL { 128 } ::= { cfcoeCfgEntry 4 } cfcoeCfgDATov OBJECT-TYPE SYNTAX Unsigned32 (1..60) MAX-ACCESS read-write STATUS current DESCRIPTION "The Discovery_Advertisement_Timeout value configured for the FCF. This is used as the timeout value in seconds by the FCF to send periodic Discovery Advertisements." DEFVAL { 5 } ::= { cfcoeCfgEntry 5 } cfcoeCfgAddressingMode OBJECT-TYPE SYNTAX INTEGER { fpma(1), spma(2), both(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Addressing mode(s) supported by the FCF. Implementations should fail set requests for unsupported modes." ::= { cfcoeCfgEntry 6 } -- FCoE per VLAN configuration cfcoeVLANTable OBJECT-TYPE SYNTAX SEQUENCE OF CfcoeVLANEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table facilitates configuration of VLAN and Fabric (VSAN) associations in an FCoE network. FCoE forwarding for a fabric is over a VLAN in a L2 Ethernet network. That is, reachability between the ENode/remote-FCF and an FCF for a given fabric is determined by the reachability provided by the Ethernet network on the corresponding VLAN. An active entry in this table indicates the VLAN that is used to transport FCoE traffic for a certain VSAN. Some implmentations may allow traffic from only one VSAN to be transported over a given VLAN. Such implmentations should prevent multiple entries with the same VLAN ID or the VSAN ID from being created in this table. Modifying existing VLAN-VSAN associations is not supported. Entries must be deleted first and then recreated." ::= { cfcoeConfig 2 } cfcoeVLANEntry OBJECT-TYPE SYNTAX CfcoeVLANEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each VLAN that is designated to transport FCoE traffic for a given fabric (VSAN)." INDEX { fcmInstanceIndex, fcmSwitchIndex, cfcoeVLANIndex, cfcoeFabricIndex } ::= { cfcoeVLANTable 1 } CfcoeVLANEntry ::= SEQUENCE { cfcoeVLANIndex VlanIndex, cfcoeFabricIndex T11FabricIndex, cfcoeVLANOperState INTEGER, cfcoeVLANRowStatus RowStatus } cfcoeVLANIndex OBJECT-TYPE SYNTAX VlanIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the VLAN ID that FCoE FCF function is being enabled for." ::= { cfcoeVLANEntry 1 } cfcoeFabricIndex OBJECT-TYPE SYNTAX T11FabricIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the Fabric Index of the VSAN traffic for which can be transported over the VLAN identified by cfcoeVLANIndex." ::= { cfcoeVLANEntry 2 } cfcoeVLANOperState OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Operational state of this VLAN-VSAN association entry. The 'up' state is achieved when both the VSAN and VLAN are valid." ::= { cfcoeVLANEntry 3 } cfcoeVLANRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. The RowStatus becomes active on successful creation of an entry." ::= { cfcoeVLANEntry 4 } -- Static Virtual FC interface Table cfcoeStaticVfcTable OBJECT-TYPE SYNTAX SEQUENCE OF CfcoeStaticVfcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table facilitates the creation and deletion of static VFC interfaces. While VFCs can be dynamically created based on FIP FLOGI/ELP requests users may want to associate certain pre-configured policy for a particular ENode or a remote-FCF. In such cases static VFC creation becomes necessary. In addition to creating a static VFC it also needs to be associated to an ENode or remote-FCF. The VFC binding provides such an associaton. Binding may occur after a VFC is created." ::= { cfcoeConfig 3 } cfcoeStaticVfcEntry OBJECT-TYPE SYNTAX CfcoeStaticVfcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each statically created VFC Interface." INDEX { fcmInstanceIndex, fcmSwitchIndex, cfcoeStaticVfcIndex } ::= { cfcoeStaticVfcTable 1 } CfcoeStaticVfcEntry ::= SEQUENCE { cfcoeStaticVfcIndex Unsigned32, cfcoeStaticVfcFCFPriority Unsigned32, cfcoeStaticVfcBindType VfcBindType, cfcoeStaticVfcBindIfIndex InterfaceIndexOrZero, cfcoeStaticVfcBindMACAddress MacAddress, cfcoeStaticVfcIfIndex InterfaceIndex, cfcoeStaticVfcCreationTime TimeStamp, cfcoeStaticVfcFailureCause SnmpAdminString, cfcoeStaticVfcRowStatus RowStatus } cfcoeStaticVfcIndex OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This index uniquely identifies a static VFC entry in this table." ::= { cfcoeStaticVfcEntry 1 } cfcoeStaticVfcFCFPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "If this VFC is for a VF_Port this object is used to configure FCF priority to be advertised to the ENode associated with the VFC." DEFVAL { 128 } ::= { cfcoeStaticVfcEntry 2 } cfcoeStaticVfcBindType OBJECT-TYPE SYNTAX VfcBindType MAX-ACCESS read-create STATUS current DESCRIPTION "The mechanism to identify the ENode associated with this VFC if it is of type VF_Port or to identify the remote-FCF associated with this VFC if it is of type VE_Port." ::= { cfcoeStaticVfcEntry 3 } cfcoeStaticVfcBindIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows for configuration of ifIndex of the ethernet interface over which the FCF reaches the ENode or the remote-FCF that this VFC identifies. This object is to be used only when the ENode or the remote-FCF is directly connected to the FCF over a specific ethernet interface. If the ENode or remote-FCF is not directly connected to the FCF, this field must be set to zero." ::= { cfcoeStaticVfcEntry 4 } cfcoeStaticVfcBindMACAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows the user to configure MAC address of the ENode or the remote-FCF that this VFC interface identifies. An ENode or remote-FCF is associated to this VFC only if the source MAC address in the FIP frames matches with this object." ::= { cfcoeStaticVfcEntry 5 } cfcoeStaticVfcIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The ifIndex of this virtual FC interface." ::= { cfcoeStaticVfcEntry 6 } cfcoeStaticVfcCreationTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp of this entry's creation time." ::= { cfcoeStaticVfcEntry 7 } cfcoeStaticVfcFailureCause OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The cause of failure for the last bind operation. This object will be zero length if and only if the bind is successful." ::= { cfcoeStaticVfcEntry 8 } cfcoeStaticVfcRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. The RowStatus becomes active on successful creation of a virtual interface. The VFC must be bound before it can become operational." ::= { cfcoeStaticVfcEntry 9 } -- FIP Snooping related objects used to configure FIP Snooping -- on an Ethernet bridges connected to ENodes cfcoeFipSnoopingEnable OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to enable or disable FIP Snooping on an Ethernet Bridge." ::= { cfcoeFipSnoopingObjects 1 } cfcoeFipSnoopingFcmap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (3)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object configures the FC-MAP value associated with the FIP snooping Ethernet bridge." DEFVAL { '0EFC00'H } ::= { cfcoeFipSnoopingObjects 2 } cfcoeEnodeIntfTable OBJECT-TYPE SYNTAX SEQUENCE OF CfcoeEnodeIntfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing the interfaces on an Ethernet bridge that are directly connected to ENodes. A FIP Snooping bridge will automatically configure ACLs on these interfaces based on FIP login requests and responses." ::= { cfcoeFipSnoopingObjects 3 } cfcoeEnodeIntfEntry OBJECT-TYPE SYNTAX CfcoeEnodeIntfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cfcoeEnodeIntfTable, representing an interface directly connected to an ENode on the Ethernet Bridge." INDEX { cfcoeEnodeIntfIfIndex } ::= { cfcoeEnodeIntfTable 1 } CfcoeEnodeIntfEntry ::= SEQUENCE { cfcoeEnodeIntfIfIndex InterfaceIndex, cfcoeEnodeIntfRowStatus RowStatus } cfcoeEnodeIntfIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex of the interface on the Ethernet bridge connected to an Enode." ::= { cfcoeEnodeIntfEntry 1 } cfcoeEnodeIntfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { cfcoeEnodeIntfEntry 2 } -- Conformance cFCoEMIBCompliances OBJECT IDENTIFIER ::= { ciscoFCoEMIBConformance 1 } cFCoEMIBGroups OBJECT IDENTIFIER ::= { ciscoFCoEMIBConformance 2 } cFCoEMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the CISCO-FCOE-MIB mib." MODULE -- this module MANDATORY-GROUPS { cfcoeCfgConformanceObjects, cfcoeVLANConformanceObjects, cfcoeStaticVfcConformanceObjects, cfcoeFipSnoopingConformanceObjects, cfcoeEnodeIntfObjects } OBJECT cfcoeCfgFcmap MIN-ACCESS read-only DESCRIPTION "Support for write access required to support multiple fabrics." OBJECT cfcoeVLANRowStatus MIN-ACCESS read-only DESCRIPTION "Support required to enable FCoE on a VLAN." OBJECT cfcoeFipSnoopingEnable MIN-ACCESS read-only DESCRIPTION "Mandatory on Ethernet bridges providing connectivity between ENodes and FCFs." OBJECT cfcoeFipSnoopingFcmap MIN-ACCESS read-only DESCRIPTION "Support for write access required to support multiple fabrics." ::= { cFCoEMIBCompliances 1 } -- Units of Conformance cfcoeCfgConformanceObjects OBJECT-GROUP OBJECTS { cfcoeCfgFcmap, cfcoeCfgDynamicVfcCreation, cfcoeCfgDynamicVfcAgeTimer, cfcoeCfgDefaultFCFPriority, cfcoeCfgDATov, cfcoeCfgAddressingMode } STATUS current DESCRIPTION "A collection of objects related to all implementations of FCoE." ::= { cFCoEMIBGroups 1 } cfcoeVLANConformanceObjects OBJECT-GROUP OBJECTS { cfcoeVLANOperState, cfcoeVLANRowStatus } STATUS current DESCRIPTION "A collection of objects related to implementation of FCoE VLANs." ::= { cFCoEMIBGroups 2 } cfcoeStaticVfcConformanceObjects OBJECT-GROUP OBJECTS { cfcoeStaticVfcFCFPriority, cfcoeStaticVfcBindType, cfcoeStaticVfcBindIfIndex, cfcoeStaticVfcBindMACAddress, cfcoeStaticVfcIfIndex, cfcoeStaticVfcCreationTime, cfcoeStaticVfcFailureCause, cfcoeStaticVfcRowStatus } STATUS current DESCRIPTION "A collection of objects related to implementation of static VFC interfaces." ::= { cFCoEMIBGroups 3 } cfcoeFipSnoopingConformanceObjects OBJECT-GROUP OBJECTS { cfcoeFipSnoopingEnable, cfcoeFipSnoopingFcmap } STATUS current DESCRIPTION "A collection of objects related to implementation of FIP Snooping." ::= { cFCoEMIBGroups 4 } cfcoeEnodeIntfObjects OBJECT-GROUP OBJECTS { cfcoeEnodeIntfRowStatus } STATUS current DESCRIPTION "A collection of objects related to implementation of ENode interfaces on a FIP snooping bridge." ::= { cFCoEMIBGroups 5 } END