-- ============================================================================= -- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P. -- -- Description: -- This MIB module is for configuring and monitoring Fibre Channel -- over Ethernet (FCoE) related entities. -- Reference: -- Version: V1.1 -- History: -- V1.0 created by h06247 -- V1.1 Added hpnicfFCoEFIPSnoopingTable by zhangchangjun 02876. -- Modified the range of hpnicfFCoECfgDATov by wangyuqiang 08530. -- ============================================================================= HPN-ICF-FCOE-MIB DEFINITIONS ::= BEGIN IMPORTS hpnicfCommon FROM HPN-ICF-OID-MIB MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI -- [RFC2578] RowStatus, TimeStamp, TruthValue, MacAddress, TEXTUAL-CONVENTION FROM SNMPv2-TC -- [RFC2578] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC3411] InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB -- [RFC2863] VlanIndex FROM Q-BRIDGE-MIB -- [RFC4363] T11FabricIndex FROM T11-TC-MIB -- [RFC4439] fcmInstanceIndex FROM FC-MGMT-MIB; -- [RFC4044] hpnicfFCoE MODULE-IDENTITY LAST-UPDATED "201203280000Z" ORGANIZATION "" CONTACT-INFO "" DESCRIPTION "This MIB module is for configuring and monitoring Fibre Channel over Ethernet (FCoE) related entities. This MIB defines a Virtual FC (VFC) Interface as an object that represents either a VF_Port or a VE_Port on a FCoE Forwarder (FCF). VFC interfaces can be created either statically (by management request) or dynamically (at the time of FIP based FLOGI or ELP request). Other terminologies used in this MIB are defined by the Hpnicf FCoE standard, as defined in the FC-BB-5 specification. This MIB also supports configuration of the following objects: - Mapping of FCoE VLAN-ID used to carry traffic for a Fabric - FC-MAP value used by the FCF operating in FPMA mode - FIP snooping related objects" REVISION "201203280000Z" DESCRIPTION "Initial version of this MIB module." ::= { hpnicfCommon 120 } hpnicfFCoEObjects OBJECT IDENTIFIER ::= { hpnicfFCoE 1 } hpnicfFCoEConfig OBJECT IDENTIFIER ::= { hpnicfFCoEObjects 1 } HpnicfFCoEVfcBindType ::= 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 only when an ENode or remote-FCF is directly connected to the local FCF via one of the local Ethernet interfaces, in which case the value contains the ifIndex of said Ethernet interface. macAddress(2) - This type is used when an ENode or remote-FCF is reachable from the local FCF over a (Layer-2) Ethernet network. A FIP frame from an ENode or remote-FCF is associated to a VFC only if the frame's source MAC address is the same as the MAC Address bound on that 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. -- -- hpnicfFCoECfgTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfFCoECfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table facilitates configuration of FCoE parameters on a per Fibre Channel management instance." ::= { hpnicfFCoEConfig 1 } hpnicfFCoECfgEntry OBJECT-TYPE SYNTAX HpnicfFCoECfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each Fibre Channel management instance." INDEX { fcmInstanceIndex } ::= { hpnicfFCoECfgTable 1 } HpnicfFCoECfgEntry ::= SEQUENCE { hpnicfFCoECfgFcmap OCTET STRING, hpnicfFCoECfgDynamicVfcCreation TruthValue, hpnicfFCoECfgDefaultFCFPriority Unsigned32, hpnicfFCoECfgDATov Unsigned32, hpnicfFCoECfgAddressingMode INTEGER } hpnicfFCoECfgFcmap 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 "Fibre Channel - Backbone - 5 (FC-BB-5), section 7.6 and table 47" DEFVAL { '0EFC00'h } ::= { hpnicfFCoECfgEntry 1 } hpnicfFCoECfgDynamicVfcCreation OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object is set to 'true' to enable, or 'false' to disable, the dynamic creation of VFC interfaces on this FCF. When set to 'true', VFC interfaces are dynamically created as and when a FIP-based FLOGI or ELP request is received." DEFVAL { false } ::= { hpnicfFCoECfgEntry 2 } hpnicfFCoECfgDefaultFCFPriority 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. hpnicfFCoEStaticVfcFCFPriority configured for a VFC interface overrides this setting for the ENode associated with the VFC." DEFVAL { 128 } ::= { hpnicfFCoECfgEntry 3 } hpnicfFCoECfgDATov OBJECT-TYPE SYNTAX Unsigned32 (1..600) UNITS "seconds" 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 } ::= { hpnicfFCoECfgEntry 4 } hpnicfFCoECfgAddressingMode OBJECT-TYPE SYNTAX INTEGER { fpma(1), spma(2), fpmaAndSpma(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Addressing mode(s) supported by the FCF. Implementations should fail SetRequests for unsupported modes." ::= { hpnicfFCoECfgEntry 5 } hpnicfFCoEVLANTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfFCoEVLANEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "In fabrics in which VLANs are deployed, this table facilitates configuration of VLAN and Virtual Fabric associations in an FCoE network. In such fabrics, FCoE forwarding for a fabric is over a VLAN in a (Layer-2) 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 which VLAN is used to transport FCoE traffic for a particular Virtual Fabric. If VLANs are not deployed or not enabled, entries in this table are ignored by the bridge. Some implmentations may allow traffic from only one Virtual Fabric to be transported over a given VLAN. Such implementations should prevent multiple entries with the same VLAN-ID from being created in this table. Modifying existing VLAN-Virtual Fabric associations is not possible. The specific row must first be deleted and then a new one created." ::= { hpnicfFCoEConfig 2 } hpnicfFCoEVLANEntry OBJECT-TYPE SYNTAX HpnicfFCoEVLANEntry 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 Virtual Fabric." INDEX { fcmInstanceIndex, hpnicfFCoEVLANIndex, hpnicfFCoEFabricIndex } ::= { hpnicfFCoEVLANTable 1 } HpnicfFCoEVLANEntry ::= SEQUENCE { hpnicfFCoEVLANIndex VlanIndex, hpnicfFCoEFabricIndex T11FabricIndex, hpnicfFCoEVLANOperState INTEGER, hpnicfFCoEVLANRowStatus RowStatus } hpnicfFCoEVLANIndex OBJECT-TYPE SYNTAX VlanIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the VLAN-ID that the FCoE FCF function is being enabled for." ::= { hpnicfFCoEVLANEntry 1 } hpnicfFCoEFabricIndex OBJECT-TYPE SYNTAX T11FabricIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the Fabric Index of the Virtual Fabric traffic which is to be transported over the VLAN identified by hpnicfFCoEVLANIndex." ::= { hpnicfFCoEVLANEntry 2 } hpnicfFCoEVLANOperState OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Operational state of this VLAN-Virtual Fabric association entry. The 'up' state is achieved when both the Virtual Fabric and VLAN are valid." ::= { hpnicfFCoEVLANEntry 3 } hpnicfFCoEVLANRowStatus 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." ::= { hpnicfFCoEVLANEntry 4 } hpnicfFCoEStaticVfcTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfFCoEStaticVfcEntry 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, operators 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 being creating, a static VFC also needs to be associated to an ENode or remote-FCF. The VFC binding provides such an associaton. The binding does not need to be specified when the row for a VFC is created, but may be specified later." ::= { hpnicfFCoEConfig 3 } hpnicfFCoEStaticVfcEntry OBJECT-TYPE SYNTAX HpnicfFCoEStaticVfcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each statically created VFC Interface." INDEX { fcmInstanceIndex, hpnicfFCoEStaticVfcIndex } ::= { hpnicfFCoEStaticVfcTable 1 } HpnicfFCoEStaticVfcEntry ::= SEQUENCE { hpnicfFCoEStaticVfcIndex Unsigned32, hpnicfFCoEStaticVfcFCFPriority Unsigned32, hpnicfFCoEStaticVfcBindType HpnicfFCoEVfcBindType, hpnicfFCoEStaticVfcBindIfIndex InterfaceIndexOrZero, hpnicfFCoEStaticVfcBindMACAddress MacAddress, hpnicfFCoEStaticVfcIfIndex InterfaceIndex, hpnicfFCoEStaticVfcCreationTime TimeStamp, hpnicfFCoEStaticVfcFailureCause SnmpAdminString, hpnicfFCoEStaticVfcRowStatus RowStatus } hpnicfFCoEStaticVfcIndex OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This index uniquely identifies a static VFC entry in this table." ::= { hpnicfFCoEStaticVfcEntry 1 } hpnicfFCoEStaticVfcFCFPriority 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 } ::= { hpnicfFCoEStaticVfcEntry 2 } hpnicfFCoEStaticVfcBindType OBJECT-TYPE SYNTAX HpnicfFCoEVfcBindType 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." ::= { hpnicfFCoEStaticVfcEntry 3 } hpnicfFCoEStaticVfcBindIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only when the local FCF is directly connected to an ENode or remote-FCF over a specific Ethernet interface, in which case this object contains the ifIndex of said Ethernet interface. If the ENode or remote-FCF is not directly connected to the FCF, this value of this object is zero." ::= { hpnicfFCoEStaticVfcEntry 4 } hpnicfFCoEStaticVfcBindMACAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable when the ENode or remote-FCF to which the local FCF is connected is identified by a MAC address. A FIP frame from a ENode or remote-FCF is associated with this VFC only if the source MAC address in the frame is the same as the value of this object." ::= { hpnicfFCoEStaticVfcEntry 5 } hpnicfFCoEStaticVfcIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The ifIndex of this Virtual FC interface." ::= { hpnicfFCoEStaticVfcEntry 6 } hpnicfFCoEStaticVfcCreationTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp of this entry's creation time." ::= { hpnicfFCoEStaticVfcEntry 7 } hpnicfFCoEStaticVfcFailureCause 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." ::= { hpnicfFCoEStaticVfcEntry 8 } hpnicfFCoEStaticVfcRowStatus 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 VFC. The VFC does not need to be bound for the row to be active, but the VFC must be bound before becoming operational." ::= { hpnicfFCoEStaticVfcEntry 9 } -- -- FIP Snooping related objects used to configure FIP Snooping -- on a (FIP-aware) Ethernet Bridge -- hpnicfFCoEFIPSnoopingTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfFCoEFIPSnoopingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "FCoE provides increased flexibility, but with this flexibility new challenges arise in assuring highly robust Fabrics. The FCF does not have the complete control that a Fibre Channel switch has. Ethernet bridges commonly provide a feature called Access Control Lists (ACLs). Properly configured ACLs may emulate a point-to-point link by providing the traffic enforcement previously discussed. Furthermore, the FIP protocol has been designed to enable Ethernet bridges to efficiently monitor FIP frames passing through them. This data facilitates the automatic configuration of these ACLs. In addition, the automatic configuration is possible independent of any other ACLs that may be in use in the network for other applications. And FIP Snooping is to maintain these ACLs." ::= { hpnicfFCoEConfig 4 } hpnicfFCoEFIPSnoopingEntry OBJECT-TYPE SYNTAX HpnicfFCoEFIPSnoopingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "There is one entry in this table for each VLAN that is designated to ensures that only valid FCoE traffic is allowed." INDEX { fcmInstanceIndex, hpnicfFCoEFIPSnoopingVLANIndex } ::= { hpnicfFCoEFIPSnoopingTable 1 } HpnicfFCoEFIPSnoopingEntry ::= SEQUENCE { hpnicfFCoEFIPSnoopingVLANIndex VlanIndex, hpnicfFCoEFIPSnoopingEnable TruthValue, hpnicfFCoEFIPSnoopingFcmap OCTET STRING } hpnicfFCoEFIPSnoopingVLANIndex OBJECT-TYPE SYNTAX VlanIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the VLAN-ID that the FIP Snooping function is being enabled for." ::= { hpnicfFCoEFIPSnoopingEntry 1 } hpnicfFCoEFIPSnoopingEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to enable or disable FIP Snooping on an Ethernet Bridge." DEFVAL { false } ::= { hpnicfFCoEFIPSnoopingEntry 2 } hpnicfFCoEFIPSnoopingFcmap 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 } ::= { hpnicfFCoEFIPSnoopingEntry 3 } END