-- MIB file created 20-Oct-2004 18:58:29, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-FCS-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-FCS-MIB.my"
-- Compile options "4 7 F H N O W 03 06 0B 0G 0N 0T"

IMPORTS
    TruthValue, TestAndIncr, TimeStamp, RowStatus
            FROM SNMPv2-TC-v1
    ciscoMgmt
            FROM CISCO-SMI
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    ListIndex, ListIndexOrZero, TimeIntervalSec
            FROM CISCO-TC
    FcNameId, FcAddressId, DomainIdOrZero, FcPortTypes, 
    FcPortTxTypes, FcPortModuleTypes, VsanIndex
            FROM CISCO-ST-TC
    vsanIndex
            FROM CISCO-VSAN-MIB
    FcGs3RejectReasonCode
            FROM CISCO-NS-MIB
    FcList
            FROM CISCO-ZS-MIB
    Counter, Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212
    TRAP-TYPE
            FROM RFC-1215;

ciscoFcsMIB OBJECT IDENTIFIER ::= { ciscoMgmt 297 }
-- MODULE-IDENTITY
--  LastUpdated
--    200402190000Z
--  OrgName
--    Cisco Systems Inc.
--  ContactInfo
--         Cisco Systems
--          Customer Service
--    Postal: 170 W Tasman Drive
--          San Jose, CA  95134
--          USA
--    Tel: +1 800 553 -NETS
--    E-mail: cs-san@cisco.com
--  Descr
--    The MIB module for the management of a Fabric 
--     Configuration Server (FCS). An FCS is  defined 
--     by the FC-GS3 standard. This MIB enables managers 
--     to configure and monitor FCS parameters.
--  RevDate
--    200402190000Z
--  RevDescr
--    Added notification fcsMgmtAddrChangeNotify.
--  RevDate
--    200308200000Z
--  RevDescr
--    Changed the max lengths of fcsPlatformName,
--     fcsIeLogicalName and fcsMgmtAddr to 255 from
--     256. Changed the min length of fcsPlatformName
--     from 2 to 1.
--  RevDate
--    200212180000Z
--  RevDescr
--    Changed the ranges of fcsPortNumber and 
--     fcsPlatformNumber objects, so that they
--     start from 0.
--  RevDate
--    200210070000Z
--  RevDescr
--    Initial version of this MIB module.

ciscoFcsMIBObjects OBJECT IDENTIFIER ::= { ciscoFcsMIB 1 }
fcsMIBConformance OBJECT IDENTIFIER ::= { ciscoFcsMIB 2 }
fcsConfiguration OBJECT IDENTIFIER ::= { ciscoFcsMIBObjects 1 }
fcsStats        OBJECT IDENTIFIER ::= { ciscoFcsMIBObjects 2 }
fcsInformation  OBJECT IDENTIFIER ::= { ciscoFcsMIBObjects 3 }
fcsNotification OBJECT IDENTIFIER ::= { ciscoFcsMIBObjects 4 }
fcsNotifications OBJECT IDENTIFIER ::= { fcsNotification 0 }
fcsMIBCompliances OBJECT IDENTIFIER ::= { fcsMIBConformance 1 }
fcsMIBGroups    OBJECT IDENTIFIER ::= { fcsMIBConformance 2 }

CreatedBy ::= INTEGER {
        createdByMgmt(1),
        learnedviaGS3(2)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    When an object with this syntax is specified as
--     a columnar object, then each instance of the
--     object indicates how the row which contains that
--     instance was created.
--    
--     createdByMgmt(1) -  indicates that the
--                         entry was created via SNMP. 
--     learnedviaGS3(2) -  indicates that the entry was 
--                         configured by GS-3.

FcIeType ::= INTEGER {
        unknown(1),
        other(2),
        switch(3),
        hub(4),
        bridge(5)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The type of Interconnect Element (IE).
--     unknown(1) - unknown IE.
--     other(2) - other type of IE.
--     switch(3) - IE is a switch.
--     hub(4) - IE is a hub.
--     bridge(5) - IE is a bridge.

FcPortState ::= INTEGER {
        unknown(1),
        online(2),
        offline(3),
        testing(4),
        fault(5),
        other(6)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The state of a port.
--     unknown(1) - unknown state.
--     online(2) - port is in online state.
--     offline(3) - port is in offline state.
--     testing(4) - port is in testing state.
--     fault(5) - port is faulty.
--     other(6) - other state.

FcPlatformType ::= INTEGER {
        unknown(1),
        other(2),
        gateway(3),
        converter(4),
        hostBusAdapter(5),
        swProxyAgent(6),
        storageDevice(7),
        host(8),
        storageSubSys(9),
        module(10),
        swDriver(11),
        storageAccessDev(12)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The type of platform.
--     unknown(1) - unknown type.
--     other(2) - other than the listed types.
--     gateway(3) - platform is a gateway.
--     converter(4) - platform is a converter.
--     hostBusAdapter(5) - platform is a Host Bus
--                         Adapter (HBA).
--     swProxyAgent(6) - platform is a s/w proxy
--                       agent.
--     storageDevice(7) - platform is a Storage device.
--     host(8) - platform is a host.
--     storageSubSys(9) - platform is a storage sub-system
--     module(10) - platform is a module.
--     swDriver(11) - platform is a s/w driver.
--     storageAccessDev(12) - platform is a storage access
--                            device.

FcFcsRejReasonExplanation ::= INTEGER {
        noAdditionalExplanation(1),
        invNameIdForIEOrPort(2),
        ieListNotAvailable(3),
        ieTypeNotAvailable(4),
        domainIdNotAvailable(5),
        mgmtIdNotAvailable(6),
        fabNameNotAvailable(7),
        ielogNameNotAvailable(8),
        mgmtAddrListNotAvailable(9),
        ieInfoListNotAvailable(10),
        portListNotAvailable(11),
        portTypeNotAvailable(12),
        phyPortNumNotAvailable(13),
        attPortNameListNotAvailable(14),
        portStateNotAvailable(15),
        unableToRegIELogName(16),
        platformNameNoExist(17),
        platformNameAlreadyExists(18),
        platformNodeNameNoExists(19),
        platformNodeNameAlreadyExists(20)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The reject reason code explanation.
--     noAdditionalExplanation(1) - no additional expl.
--     invNameIdForIEOrPort(2) - the format of IE or
--                               port name is invalid.
--     ieListNotAvailable(3) - IE list is not available.
--     ieTypeNotAvailable(4) - IE type is not available.
--     domainIdNotAvailable(5) - Domain ID is not 
--                               available.
--     mgmtIdNotAvailable(6) - mgmt ID is not available.
--     fabNameNotAvailable(7) - fabric name is not
--                              available.
--     ielogNameNotAvailable(8) - IE logical name is not
--                                available.
--     mgmtAddrListNotAvailable(9) - mgmt address list is
--                                   not available.
--     ieInfoListNotAvailable(10) - IE info list is not
--                                  available.
--     portListNotAvailable(11) - port list is not
--                                available.
--     portTypeNotAvailable(12) - port type is not
--                                available.
--     phyPortNumNotAvailable(13) - physical port number is
--                                  not available.
--     attPortNameListNotAvailable(14) - attached port name
--                                       list is not
--                                       available.
--     portStateNotAvailable(15) - port state is not 
--                                 available.
--     unableToRegIELogName(16) - not able to register IE
--                                logical name.
--     platformNameNoExist(17) - platform name does not 
--                               exist.
--     platformNameAlreadyExists(18) - platform name already
--                                     exists.
--     platformNodeNameNoExists(19) - platform node name does
--                                    not exist.
--     platformNodeNameAlreadyExists(20) - platform node name
--                                         already exists.

fcsVsanDiscoverySpinLock OBJECT-TYPE
    SYNTAX TestAndIncr
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to facilitate modification
         of fcsVsanDiscoveryList2k, fcsVsanDiscovery-
         List4k, fcsVsanDiscoveryName  and 
         fcsStartDiscovery objects by multiple managers. 
         The procedure for modifying the above four objects
         is as follows:
        
         1. Determine new values for fcsVsanDiscoveryList2k,
            fcsVsanDiscoveryList4k and fcsVsanDiscoveryName.
        
         2. Retrieve the value of fcsVsanDiscoverySpinLock.
        
         3. Set the value of fcsVsanDiscoverySpinLock to the
            retrieved value, and (in the same PDU) the value 
            of fcsVsanDiscoveryList2k to the new value.  
            If the set fails for the fcsVsanDiscoverySpinLock 
            object, go back to step 2.
         
         4. Set the value of fcsVsanDiscoverySpinLock to the
            retrieved value incremented by one, and (in the 
            same PDU) the value of fcsVsanDiscoveryList4k
            to its new value. If the set fails for 
            fcsVsanDiscoverySpinLock, go back to step 2.
        
         5. Set the value of fcsVsanDiscoverySpinLock to the
            retrieved value incremented by two, and (in the 
            same PDU) the value of fcsStartDiscovery to
            'startDiscovery'. If the set fails for
            fcsVsanDiscoverySpinLock, go back to step 2.
        
         6. Set the value of fcsVsanDiscoverySpinLock to the
            retrieved value incremented by three, and (in the
            same PDU) the value of fcsVsanDiscoveryName to 
            its new value. If the set fails for 
            fcsVsanDiscoverySpinLock, go back to step 2.
        
            Note that if it's possible to include 
            fcsVsanDiscoveryList4k, fcsStartDiscovery,
            and/or fcsVsanDiscoveryName in the (Set Request)
            PDU of an earlier step, then step 4, 5 and/or 6,
            respectively , can be eliminated."
    ::= { fcsConfiguration 1 }

fcsVsanDiscoveryName OBJECT-TYPE
    SYNTAX SnmpAdminString(SIZE(0..32))
--    Rsyntax OCTET STRING(SIZE(0..32))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The name of the discovery triggered by a manager.
         This object is sent along with the 
         fcsDiscoveryCompleteNotify notification.
        
         This object cannot be modified when the discovery
         status is 'inProgress' on the selected set of
         VSANs as indicated by the fcsDiscoveryStatus
         object in the fcsDiscoveryStatusTable."
    ::= { fcsConfiguration 2 }

fcsVsanDiscoveryList2k OBJECT-TYPE
    SYNTAX FcList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A bitmap which represents VSANs starting from 
         VSAN id 1 to VSAN id 2048. Discovery will be
         carried out on all those VSANs for which the
         corresponding bits are set to 1 in this object.
         Note that if multiple managers set this object
         one after the other, the discovery is carried
         out on the union of the multiple requests. When
         read, the value of this object is the union of
         the in-progress discovery requests."
    ::= { fcsConfiguration 3 }

fcsVsanDiscoveryList4k OBJECT-TYPE
    SYNTAX FcList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A bitmap which represents VSANs starting from 
         VSAN id 2049 to VSAN id 4096. Discovery will be
         carried out on all those VSANs for which the 
         corresponding bits are set to 1 in this object.
         Note that if multiple managers set this object
         one after the other, the discovery is carried
         out on the union of the multiple requests. When
         read, the value of this object is the union of
         the in-progress discovery requests."
    ::= { fcsConfiguration 4 }

fcsStartDiscovery OBJECT-TYPE
    SYNTAX INTEGER {
        startDiscovery(1),
        noOp(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether a discovery cycle
         should be started by the Fabric Configuration
         Server. If this object is set to 'startDiscovery', 
         then the discovery is started by the Fabric 
         Configuration Server on those VSANs that have been
         specified by the fcsVsanDiscoveryList objects. 
         No action is taken if this object is set to 'noOp'.
         The value of this object when read is always 
         'noOp'."
    ::= { fcsConfiguration 5 }

fcsDiscoveryStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsDiscoveryStatusEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains the status of the discovery
         for all VSANs."
    ::= { fcsConfiguration 6 }

fcsDiscoveryStatusEntry OBJECT-TYPE
    SYNTAX FcsDiscoveryStatusEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         The discovery status for a particular VSAN."
    INDEX { vsanIndex }
    ::= { fcsDiscoveryStatusTable 1 }

FcsDiscoveryStatusEntry ::= SEQUENCE {
    fcsDiscoveryStatus INTEGER,
    fcsDiscoveryCompleteTime TimeStamp
    }

fcsDiscoveryStatus OBJECT-TYPE
    SYNTAX INTEGER {
        inProgress(1),
        completed(2),
        databaseInvalid(3)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The status of the discovery on the local switch.
         Initially when the switch comes up, this object 
         will be set to 'databaseInvalid' state on all 
         VSANs. This indicates that a discovery needs to 
         be done. 
         If the manager sets the fcsStartDiscovery object to 
         'startDiscovery' for this VSAN, then the discovery 
         will be triggered on. 
         The state of this object will be set to 'inProgress'
         for this VSAN during the discovery. Once the 
         discovery is completed on this VSAN, this object 
         will be set to 'completed'. 
         After the discovery is completed for the specified 
         list of VSANs, the data is cached for an interval 
         of time specified by fcsVsanDiscoveryTimeOut object. 
         Once this interval of time expires, the data is lost 
         and this object will be set to 'databaseInvalid' 
         state for the specified list of VSANs."
    ::= { fcsDiscoveryStatusEntry 1 }

fcsDiscoveryCompleteTime OBJECT-TYPE
    SYNTAX TimeStamp
--    Rsyntax TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the value of sysUpTime when
         the last discovery was completed on this VSAN. 
         This object will contain the value of zero before 
         the first discovery on this VSAN."
    ::= { fcsDiscoveryStatusEntry 2 }

fcsVsanDiscoveryTimeOut OBJECT-TYPE
    SYNTAX TimeIntervalSec(300..1800)
--    Rsyntax Gauge(300..1800)
--  Units
--    seconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The minimum interval of time for which the 
         discovered data on a VSAN is cached by the 
         Fabric Configuration Server."
    DEFVAL { 900 }
    ::= { fcsConfiguration 7 }

fcsDiscoveryInvalidateCache2k OBJECT-TYPE
    SYNTAX FcList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A bitmap which represents VSANs from 1 to 2048.
         The discovered cache will be invalidated on those
         VSANs for which the corresponding bits are set to
         1 in this object. If the bit corresponding to a 
         particular VSAN is set to 1 and if the value of
         fcsDiscoveryStatus for that VSAN is 'completed',
         then the discovery cache on that VSAN will be
         invalidated and the fcsDiscoveryStatus object for
         that VSAN will be set to 'databaseInvalid'."
    ::= { fcsConfiguration 8 }

fcsDiscoveryInvalidateCache4k OBJECT-TYPE
    SYNTAX FcList
--    Rsyntax OCTET STRING(SIZE(0..256))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A bitmap which represents VSANs from 2049 to 4096.
         The discovered cache will be invalidated on those
         VSANs for which the corresponding bits are set to
         1 in this object. If the bit corresponding to a 
         particular VSAN is set to 1 and if the value of
         fcsDiscoveryStatus for that VSAN is 'completed',
         then the discovery cache on that VSAN will be
         invalidated and the fcsDiscoveryStatus object for
         that VSAN will be set to 'databaseInvalid'."
    ::= { fcsConfiguration 9 }

fcsIeNumber OBJECT-TYPE
    SYNTAX INTEGER(0..489472)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of entries currently present in the 
         fcsIeTable."
    ::= { fcsConfiguration 10 }

fcsIeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsIeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of Interconnect Elements.
         Interconnect Elements (IEs) are switches, hubs,
         bridges etc.
         By default, the Fabric Configuration Server will
         maintain detailed information pertaining only to 
         the local switch. As far as remote topology is
         concerned, only the IE name, type and domain-id 
         information will be maintained. If a discovery 
         cycle is triggered on a set of VSANs, this table 
         along with the Port and Platform tables will be 
         populated with the discovered information. The 
         discovered data will be retained in this table for 
         at least fcsVsanDiscoveryTimeOut seconds after the 
         completion of its discovery or till the discovered 
         data is invalidated by setting the appropriate 
         bits of fcsDiscoveryInvalidateCache2k/4k."
    ::= { fcsConfiguration 11 }

fcsIeEntry OBJECT-TYPE
    SYNTAX FcsIeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (coneptual row) in this table.
         It gives information on an Interconnect
         Element."
    INDEX { vsanIndex, fcsIeName }
    ::= { fcsIeTable 1 }

FcsIeEntry ::= SEQUENCE {
    fcsIeName FcNameId,
    fcsIeType FcIeType,
    fcsIeDomainId DomainIdOrZero,
    fcsIeMgmtId FcAddressId,
    fcsIeFabricName FcNameId,
    fcsIeLogicalName OCTET STRING,
    fcsIeMgmtAddrListIndex ListIndexOrZero,
    fcsIeInfoList OCTET STRING,
    fcsIePortListIndex ListIndexOrZero
    }

fcsIeName OBJECT-TYPE
    SYNTAX FcNameId
--    Rsyntax OCTET STRING(SIZE(8))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The WWN of an Interconnect Element. This object
         uniquely identifies an Interconnect Element on a 
         VSAN. If the IE is a switch, then this object
         is the Node WWN of the switch."
    ::= { fcsIeEntry 1 }

fcsIeType OBJECT-TYPE
    SYNTAX FcIeType
--    Rsyntax INTEGER {
--        unknown(1),
--        other(2),
--        switch(3),
--        hub(4),
--        bridge(5)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The type of this Interconnect Element."
    ::= { fcsIeEntry 2 }

fcsIeDomainId OBJECT-TYPE
    SYNTAX DomainIdOrZero
--    Rsyntax INTEGER(0..239)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The Domain Id of this Interconnect Element.
         If the Domain Id has not been configured, 
         then this object will have the value of zero."
    ::= { fcsIeEntry 3 }

fcsIeMgmtId OBJECT-TYPE
    SYNTAX FcAddressId
--    Rsyntax OCTET STRING(SIZE(3))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The management identifer of this Interconnect
         Element. If the Interconnect Element is a switch,
         then this object will be the Domain Controller
         identifier of the switch. If the value of this 
         object is unknown to the local system, then it 
         will contain the null value x'00 00 00'."
    DEFVAL { '000000'H }
    ::= { fcsIeEntry 4 }

fcsIeFabricName OBJECT-TYPE
    SYNTAX FcNameId
--    Rsyntax OCTET STRING(SIZE(8))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The fabric name of this Interconnect Element.
         If the value of this object is unknown to the 
         local system, then it will contain the null 
         value x'00 00 00 00 00 00 00 00'."
    DEFVAL { '0000000000000000'H }
    ::= { fcsIeEntry 5 }

fcsIeLogicalName OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The logical name of this Interconnect Element.
         If the value of this object is unknown to the
         local system, then it will contain the zero 
         length string."
    ::= { fcsIeEntry 6 }

fcsIeMgmtAddrListIndex OBJECT-TYPE
    SYNTAX ListIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The index of the management address list
         corresponding to this Interconnect Element. This
         object is an index into the fcsMgmtAddrListTable.
         Zero or more of the management address objects may
         be associated with an Interconnect Element object."
    ::= { fcsIeEntry 7 }

fcsIeInfoList OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(0..256))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The information list corresponding to this 
         Interconnect Element. This object contains
         multiple substrings: the vendor name, 
         model name/number, release code and any vendor 
         specific information. Each substring is 
         terminated with a null x'00'."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01
         Section 6.1.2.1.8"
    ::= { fcsIeEntry 8 }

fcsIePortListIndex OBJECT-TYPE
    SYNTAX ListIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The index of the port list corresponding to this 
         Interconnect Element. This object is an index into 
         the fcsPortListTable."
    ::= { fcsIeEntry 9 }

fcsMgmtAddrListTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsMgmtAddrListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains the set of management
         address lists currently referenced by any
         instance of the fcsIeMgmtAddrListIndex or
         fcsPlatformMgmtAddrListIndex objects."
    ::= { fcsConfiguration 12 }

fcsMgmtAddrListEntry OBJECT-TYPE
    SYNTAX FcsMgmtAddrListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         A management address is represented by
         fcsMgmtAddrIndex. All management addresses which
         belong to the same list have a common 
         fcsMgmtAddrListIndex."
    INDEX { fcsMgmtAddrListIndex, fcsMgmtAddrIndex }
    ::= { fcsMgmtAddrListTable 1 }

FcsMgmtAddrListEntry ::= SEQUENCE {
    fcsMgmtAddrListIndex ListIndex,
    fcsMgmtAddrIndex Gauge,
    fcsMgmtAddr OCTET STRING,
    fcsMgmtAddrConfigSource CreatedBy,
    fcsMgmtAddrRowStatus RowStatus
    }

fcsMgmtAddrListIndex OBJECT-TYPE
    SYNTAX ListIndex(1..2147483647)
--    Rsyntax INTEGER(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The index of the management address list."
    ::= { fcsMgmtAddrListEntry 1 }

fcsMgmtAddrIndex OBJECT-TYPE
    SYNTAX Gauge(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The index of a management address."
    ::= { fcsMgmtAddrListEntry 2 }

fcsMgmtAddr OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(0..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The management address corresponding to this entry.
         The format of this object may be based on the 
         format of the Uniform Resource Locator (URL).
         For example, SNMP - snmp://ipaddress[:port#].
        
         This object MUST be set to a valid value before or
         concurrently with setting the value of the
         corresponding instance of fcsMgmtAddrRowStatus to
         'active'."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01
         Section 6.1.2.1.7"
    ::= { fcsMgmtAddrListEntry 3 }

fcsMgmtAddrConfigSource OBJECT-TYPE
    SYNTAX CreatedBy
--    Rsyntax INTEGER {
--        createdByMgmt(1),
--        learnedviaGS3(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The source of configuration of this entry.
         Note that an entry which is configured via
         GS3 cannot be deleted through SNMP."
    ::= { fcsMgmtAddrListEntry 4 }

fcsMgmtAddrRowStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this conceptual row."
    ::= { fcsMgmtAddrListEntry 5 }

fcsPortListTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsPortListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains all the lists of ports that
         are associated with Interconnect Elements contained
         in fcsIeTable."
    ::= { fcsConfiguration 13 }

fcsPortListEntry OBJECT-TYPE
    SYNTAX FcsPortListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         A port is represented by fcsPortName. All the
         ports that belong to the same list have the same
         fcsPortListIndex."
    INDEX { fcsPortListIndex, fcsPortName }
    ::= { fcsPortListTable 1 }

FcsPortListEntry ::= SEQUENCE {
    fcsPortListIndex ListIndex
    }

fcsPortListIndex OBJECT-TYPE
    SYNTAX ListIndex(1..2147483647)
--    Rsyntax INTEGER(1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The index of the port list."
    ::= { fcsPortListEntry 1 }

fcsPortNumber OBJECT-TYPE
    SYNTAX INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of entries currently present in the
         fcsPortTable."
    ::= { fcsConfiguration 14 }

fcsPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information of all the ports.
         These ports are grouped into lists by the 
         fcsPortListTable."
    ::= { fcsConfiguration 15 }

fcsPortEntry OBJECT-TYPE
    SYNTAX FcsPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table."
    INDEX { vsanIndex, fcsPortName }
    ::= { fcsPortTable 1 }

FcsPortEntry ::= SEQUENCE {
    fcsPortName FcNameId,
    fcsPortType FcPortTypes,
    fcsPortTXType FcPortTxTypes,
    fcsPortModuleType FcPortModuleTypes,
    fcsPortPhyPortNum INTEGER,
    fcsPortAttachPortNameIndex ListIndexOrZero,
    fcsPortState FcPortState
    }

fcsPortName OBJECT-TYPE
    SYNTAX FcNameId
--    Rsyntax OCTET STRING(SIZE(8))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The WWN of the  port for which this row contains
         information."
    ::= { fcsPortEntry 1 }

fcsPortType OBJECT-TYPE
    SYNTAX FcPortTypes
--    Rsyntax INTEGER {
--        auto(1),
--        fPort(2),
--        flPort(3),
--        ePort(4),
--        bPort(5),
--        fxPort(6),
--        sdPort(7),
--        tlPort(8),
--        nPort(9),
--        nlPort(10),
--        nxPort(11),
--        tePort(12),
--        fvPort(13),
--        portOperDown(14),
--        stPort(15)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The type of this port.
         If it is a trunk port, the type of the port will 
         be tePort. This is however not a standard port 
         type. When information regarding such a port is 
         sent using GS-3, it is represented in the GS-3 
         message and therefore in this table as an 
         E_Port."
    ::= { fcsPortEntry 2 }

fcsPortTXType OBJECT-TYPE
    SYNTAX FcPortTxTypes
--    Rsyntax INTEGER {
--        unknown(1),
--        longWaveLaser(2),
--        shortWaveLaser(3),
--        longWaveLaserCostReduced(4),
--        electrical(5)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The TX type of this port."
    ::= { fcsPortEntry 3 }

fcsPortModuleType OBJECT-TYPE
    SYNTAX FcPortModuleTypes
--    Rsyntax INTEGER {
--        unknown(1),
--        other(2),
--        gbic(3),
--        embedded(4),
--        glm(5),
--        gbicWithSerialID(6),
--        gbicWithoutSerialID(7),
--        sfpWithSerialID(8),
--        sfpWithoutSerialID(9)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The module type of this port."
    ::= { fcsPortEntry 4 }

fcsPortPhyPortNum OBJECT-TYPE
    SYNTAX INTEGER(1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The physical number corresponding to this port 
         entry."
    ::= { fcsPortEntry 5 }

fcsPortAttachPortNameIndex OBJECT-TYPE
    SYNTAX ListIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The index of the attached port name list
         corresponding to this port entry. This object
         is an index into the fcsAttachPortNameListTable."
    ::= { fcsPortEntry 6 }

fcsPortState OBJECT-TYPE
    SYNTAX FcPortState
--    Rsyntax INTEGER {
--        unknown(1),
--        online(2),
--        offline(3),
--        testing(4),
--        fault(5),
--        other(6)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The state of this port."
    ::= { fcsPortEntry 7 }

fcsAttachPortNameListTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsAttachPortNameListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains all the lists of attach port
         names."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01
         Section 6.1.2.2.6"
    ::= { fcsConfiguration 16 }

fcsAttachPortNameListEntry OBJECT-TYPE
    SYNTAX FcsAttachPortNameListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         An Attached port name is represented by
         fcsAttachPortName. All the attach port names
         that belong to the same list have a common
         fcsAttachPortNameListIndex."
    INDEX { fcsAttachPortNameListIndex, fcsAttachPortName }
    ::= { fcsAttachPortNameListTable 1 }

FcsAttachPortNameListEntry ::= SEQUENCE {
    fcsAttachPortNameListIndex ListIndex,
    fcsAttachPortName OCTET STRING
    }

fcsAttachPortNameListIndex OBJECT-TYPE
    SYNTAX ListIndex(1..2147483647)
--    Rsyntax INTEGER(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The index of the attach port name list."
    ::= { fcsAttachPortNameListEntry 1 }

fcsAttachPortName OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(12))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The attached port name corresponding to this entry.
         Zero or more of these names may be associated with 
         a port object.
         The first 8 bytes of this object contain the WWN of
         the port followed by 2 reserved bytes. Following
         this is one byte of Port flags and one byte of
         Port type. See FC-GS3 for more details."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01
         Section 6.1.2.2.6"
    ::= { fcsAttachPortNameListEntry 2 }

fcsPlatformNumber OBJECT-TYPE
    SYNTAX INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of entries currently present in the
         fcsPlatformTable."
    ::= { fcsConfiguration 17 }

fcsPlatformTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsPlatformEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains information on platforms.
         By default, this table only contains information
         pertaining to the local switch. If a discovery
         is triggered, this table will contain all the
         information that was obtained from the discovery
         process. The information gathered from the 
         discovery process shall be retained in this table
         for atleast fcsVsanDiscoveryTimeOut seconds after
         the completion of its discovery or until the
         discovered cache is invalidated by setting the
         appropriate bits of 
         fcsDiscoveryInvalidateCache2k/4k."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic 
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01 
         Section 6.1.2.3"
    ::= { fcsConfiguration 18 }

fcsPlatformEntry OBJECT-TYPE
    SYNTAX FcsPlatformEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         A platform is uniquely represented by
         fcsPlatformIndex. There could be multiple
         platforms on a VSAN.
         A platform can contain multiple nodes. The
         node lists need to be created in the
         fcsNodeNameListTable. The 
         fcsPlatformNodeNameListIndex object in this 
         table points to the desired node list in the 
         fcsNodeNameListTable.
         Similarly, the management addresses corresponding
         to the platform need to be created in the
         fcsMgmtAddrListTable. The 
         fcsPlatformMgmtAddrListIndex object in this table
         points to the desired management address list
         in the fcsMgmtAddrListTable.
         Once a platform has been created, it can optionally
         be validated on a fabric-wide basis by setting
         the appropriate instance of fcsPlatformValidation
         object to 'validate'."
    INDEX { vsanIndex, fcsPlatformIndex }
    ::= { fcsPlatformTable 1 }

FcsPlatformEntry ::= SEQUENCE {
    fcsPlatformIndex Gauge,
    fcsPlatformName OCTET STRING,
    fcsPlatformType FcPlatformType,
    fcsPlatformNodeNameListIndex ListIndexOrZero,
    fcsPlatformMgmtAddrListIndex ListIndexOrZero,
    fcsPlatformConfigSource CreatedBy,
    fcsPlatformValidation INTEGER,
    fcsPlatformValidationResult INTEGER,
    fcsPlatformRowStatus RowStatus
    }

fcsPlatformIndex OBJECT-TYPE
    SYNTAX Gauge(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The index of this platform."
    ::= { fcsPlatformEntry 1 }

fcsPlatformName OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(1..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The name of this platform.
        
         The name should be unique within a VSAN. This
         object cannot be modified while the value of
         the corresponding instance of 
         fcsPlatformRowStatus is 'active'.
        
         This object MUST be set before or concurrently
         with setting the corresponding instance of
         fcsPlatformRowStatus to 'active'."
    REFERENCE
        "ANSI NCITS xxx-200x, Fibre Channel - Generic
         Services 3 (FC-GS-3) T11/Project 1356D/Rev 7.01
         Section 6.1.2.3.1"
    ::= { fcsPlatformEntry 2 }

fcsPlatformType OBJECT-TYPE
    SYNTAX FcPlatformType
--    Rsyntax INTEGER {
--        unknown(1),
--        other(2),
--        gateway(3),
--        converter(4),
--        hostBusAdapter(5),
--        swProxyAgent(6),
--        storageDevice(7),
--        host(8),
--        storageSubSys(9),
--        module(10),
--        swDriver(11),
--        storageAccessDev(12)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The type of this platform."
    ::= { fcsPlatformEntry 3 }

fcsPlatformNodeNameListIndex OBJECT-TYPE
    SYNTAX ListIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The index of the node name list corresponding to 
         this platform entry. This object is an index into 
         the fcsNodeNameListTable.
        
         The list of nodes that a platform contains should
         be unique within a VSAN.
        
         If this entry is configured via SNMP as indicated 
         by the corresponding instance of fcsPlatformConfig-
         Source object, then this object should only point
         to entries in fcsNodeNameListTable that have been
         created via SNMP. Similarly, if this entry is
         configured via GS-3, then it can only point to
         entries configured via GS-3 in the 
         fcsNodeNameListTable."
    ::= { fcsPlatformEntry 4 }

fcsPlatformMgmtAddrListIndex OBJECT-TYPE
    SYNTAX ListIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The index of the management address list
         corresponding to this Platform. This object 
         is an index into the fcsMgmtAddrListTable.
         Zero or more of the management address objects may
         be associated with a Platform object.
        
         If this entry is configured via SNMP as indicated 
         by the corresponding instance of fcsPlatformConfig-
         Source object, then this object should only point
         to entries in fcsMgmtAddrListTable that have been
         created via SNMP. Similarly, if this entry is
         configured via GS-3, then it can only point to
         entries configured via GS-3 in the 
         fcsMgmtAddrListTable."
    ::= { fcsPlatformEntry 5 }

fcsPlatformConfigSource OBJECT-TYPE
    SYNTAX CreatedBy
--    Rsyntax INTEGER {
--        createdByMgmt(1),
--        learnedviaGS3(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The source of configuration of this entry.
         Note that an entry which is configured via
         GS3 cannot be deleted through SNMP."
    ::= { fcsPlatformEntry 6 }

fcsPlatformValidation OBJECT-TYPE
    SYNTAX INTEGER {
        validate(1),
        noop(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the validation for
         the platform name and its constituent nodes 
         should be done on a fabric-wide basis.
        
         The outcome of this validation will be present 
         in the corresponding instance of
         fcsPlatformValidationResult.
        
         No action is taken if this object is set to
         'noop'.
        
         The value of this object when read is always
         'noop'."
    ::= { fcsPlatformEntry 7 }

fcsPlatformValidationResult OBJECT-TYPE
    SYNTAX INTEGER {
        success(1),
        inProgress(2),
        nameInvalid(3),
        nodeInvalid(4),
        failure(5)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The result of the fabric-wide validation of
         this platform. 
        
         If the name of the platform is not unique
         fabric-wide on this VSAN, then this object
         will contain the value 'nameInvalid'.
        
         If the list of nodes present in the platform
         is not unique, then this object will contain
         the value 'nodeInvalid'.
        
         If there is any other failure, this object will
         contain the value 'failure'.
        
         None of the configurable objects can be modified
         when the value of this object is 'inProgress'."
    ::= { fcsPlatformEntry 8 }

fcsPlatformRowStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this conceptual row."
    ::= { fcsPlatformEntry 9 }

fcsNodeNameListTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsNodeNameListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains all the lists of nodes."
    ::= { fcsConfiguration 19 }

fcsNodeNameListEntry OBJECT-TYPE
    SYNTAX FcsNodeNameListEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         Each node is represented uniquely by
         fcsNodeName. All nodes that belong to the
         same list have a common fcsNodeNameListIndex."
    INDEX { fcsNodeNameListIndex, fcsNodeName }
    ::= { fcsNodeNameListTable 1 }

FcsNodeNameListEntry ::= SEQUENCE {
    fcsNodeNameListIndex ListIndex,
    fcsNodeName FcNameId,
    fcsNodeNameConfigSource CreatedBy,
    fcsNodeNameRowStatus RowStatus
    }

fcsNodeNameListIndex OBJECT-TYPE
    SYNTAX ListIndex(1..2147483647)
--    Rsyntax INTEGER(1..2147483647)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The index of the node name list."
    ::= { fcsNodeNameListEntry 1 }

fcsNodeName OBJECT-TYPE
    SYNTAX FcNameId
--    Rsyntax OCTET STRING(SIZE(8))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The name of this node entry."
    ::= { fcsNodeNameListEntry 2 }

fcsNodeNameConfigSource OBJECT-TYPE
    SYNTAX CreatedBy
--    Rsyntax INTEGER {
--        createdByMgmt(1),
--        learnedviaGS3(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The source of configuration of this entry.
         Note that an entry configured via GS-3
         cannot be deleted through SNMP."
    ::= { fcsNodeNameListEntry 3 }

fcsNodeNameRowStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this conceptual row."
    ::= { fcsNodeNameListEntry 4 }

fcsTotalRejects OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of requests rejected by the
        local switch across all VSANs."
    ::= { fcsStats 1 }

fcsStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FcsStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains all the statistics related
         to the Fabric Configuration Server."
    ::= { fcsStats 2 }

fcsStatsEntry OBJECT-TYPE
    SYNTAX FcsStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry (conceptual row) in this table.
         Some statistics for a particular VSAN."
    INDEX { vsanIndex }
    ::= { fcsStatsTable 1 }

FcsStatsEntry ::= SEQUENCE {
    fcsRxGetReqs Counter,
    fcsTxGetReqs Counter,
    fcsRxRegReqs Counter,
    fcsTxRegReqs Counter,
    fcsRxDeregReqs Counter,
    fcsTxDeregReqs Counter,
    fcsTxRscns Counter,
    fcsRxRscns Counter,
    fcsRejects Counter
    }

fcsRxGetReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Get Requests received by the Fabric
         Configuration Server on this VSAN."
    ::= { fcsStatsEntry 1 }

fcsTxGetReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Get Requests sent by the Fabric
         Configuration Server on this VSAN to other
         servers in the fabric."
    ::= { fcsStatsEntry 2 }

fcsRxRegReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Registration Requests received by the 
         Fabric Configuration Server on this VSAN."
    ::= { fcsStatsEntry 3 }

fcsTxRegReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Registration Requests sent by the 
         Fabric Configuration Server on this VSAN."
    ::= { fcsStatsEntry 4 }

fcsRxDeregReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Deregistration Requests received by 
         the Fabric Configuration Server on this VSAN."
    ::= { fcsStatsEntry 5 }

fcsTxDeregReqs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Deregistration Requests sent by 
         the Fabric Configuration Server on this VSAN."
    ::= { fcsStatsEntry 6 }

fcsTxRscns OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Registered State Change 
         Notifications (RSCNs) sent by the Fabric 
         Configuration Server on this VSAN."
    ::= { fcsStatsEntry 7 }

fcsRxRscns OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of Registered State Change 
         Notifications (RSCNs) received by the Fabric 
         Configuration Server on this VSAN."
    ::= { fcsStatsEntry 8 }

fcsRejects OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of requests rejected by the local
         switch on this VSAN."
    ::= { fcsStatsEntry 9 }

fcsRejReasonCode OBJECT-TYPE
    SYNTAX FcGs3RejectReasonCode
--    Rsyntax INTEGER {
--        none(1),
--        invalidCmdCode(2),
--        invalidVerLevel(3),
--        logicalError(4),
--        invalidIUSize(5),
--        logicalBusy(6),
--        protocolError(7),
--        unableToPerformCmdReq(8),
--        cmdNotSupported(9),
--        vendorError(10)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the reason code corresponding
         to the latest Fabric Configuration Server request 
         rejected by the local system."
    ::= { fcsInformation 1 }

fcsRejReasonCodeExplanation OBJECT-TYPE
    SYNTAX FcFcsRejReasonExplanation
--    Rsyntax INTEGER {
--        noAdditionalExplanation(1),
--        invNameIdForIEOrPort(2),
--        ieListNotAvailable(3),
--        ieTypeNotAvailable(4),
--        domainIdNotAvailable(5),
--        mgmtIdNotAvailable(6),
--        fabNameNotAvailable(7),
--        ielogNameNotAvailable(8),
--        mgmtAddrListNotAvailable(9),
--        ieInfoListNotAvailable(10),
--        portListNotAvailable(11),
--        portTypeNotAvailable(12),
--        phyPortNumNotAvailable(13),
--        attPortNameListNotAvailable(14),
--        portStateNotAvailable(15),
--        unableToRegIELogName(16),
--        platformNameNoExist(17),
--        platformNameAlreadyExists(18),
--        platformNodeNameNoExists(19),
--        platformNodeNameAlreadyExists(20)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the reason code explanation
         if the reason code is 'Unable to perform command 
         req'. This object also corresponds to the latest 
         Fabric Configuration Server request rejected by
         the local system."
    ::= { fcsInformation 2 }

fcsMgmtAddrChangeVsanIndex OBJECT-TYPE
    SYNTAX VsanIndex
--    Rsyntax INTEGER(1..4094)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Represents the VSAN id on which a management
         address change has been detected."
    ::= { fcsInformation 3 }

fcsMgmtAddrChangeIeName OBJECT-TYPE
    SYNTAX FcNameId
--    Rsyntax OCTET STRING(SIZE(8))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Represents the IE for which a management address
         change has been detected."
    ::= { fcsInformation 4 }

fcsReqRejNotifyEnable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies if the Fabric Configuration 
         Server should issue a 'fcsReqRejNotify' 
         notification.
         If the value of this object is 'true', then the 
         notification is issued. If the value of this
         object is 'false', then the notification is not
         issued."
    DEFVAL { false }
    ::= { fcsConfiguration 20 }

fcsDiscoveryCompleteNotifyEnable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies if the Fabric Configuration 
         Server should issue a 'fcsDiscoveryCompleteNotify' 
         notification.
         If the value of this object is 'true', then the 
         notification is issued. If the value of this
         object is 'false', then the notification is not
         issued."
    DEFVAL { false }
    ::= { fcsConfiguration 21 }

fcsReqRejNotify TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE fcsNotification
    VARIABLES {
        fcsRejReasonCode, fcsRejReasonCodeExplanation }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated by the Fabric 
         Configuration Server on this switch whenever it 
         rejects a Fabric Configuration Server request.
         The Fabric Configuration Server should update the 
         fcsRejReasonCode and fcsRejReasonCodeExplanation 
         objects with the corresponding reason code and 
         reason code explanation before sending the 
         notification."
    ::= 1

fcsDiscoveryCompleteNotify TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE fcsNotification
    VARIABLES {
        fcsVsanDiscoveryName }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated by the Fabric
         Configuration Server when a discovery cycle 
         specified by fcsVsanDiscoveryList2k, 
         fcsVsanDiscoveryList4k and fcsVsanDiscoveryName
         is completed."
    ::= 2

fcsMgmtAddrChangeNotify TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE fcsNotification
    VARIABLES {
        fcsMgmtAddrChangeVsanIndex, fcsMgmtAddrChangeIeName }
--  Status
--    mandatory
    DESCRIPTION
        "This notification is generated by the Fabric
         Configuration Server whenever the management
         address of a IE changes. This means that, this
         notification is generated whenever an entry in 
         the fcsMgmtAddrListTable changes."
    ::= 3

fcsConfigurationGroup OBJECT IDENTIFIER ::= { fcsMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects for displaying and configuring
--     Fabric Configuration Server parameters.
--  objects
--    fcsVsanDiscoverySpinLock, fcsVsanDiscoveryName, 
--    fcsVsanDiscoveryList2k, fcsVsanDiscoveryList4k, 
--    fcsStartDiscovery, fcsDiscoveryStatus, 
--    fcsDiscoveryCompleteTime, fcsVsanDiscoveryTimeOut, 
--    fcsDiscoveryInvalidateCache2k, fcsDiscoveryInvalidateCache4k, 
--    fcsIeNumber, fcsIeType, fcsIeDomainId, fcsIeMgmtId, 
--    fcsIeFabricName, fcsIeLogicalName, fcsIeMgmtAddrListIndex, 
--    fcsIeInfoList, fcsIePortListIndex, fcsMgmtAddr, 
--    fcsMgmtAddrConfigSource, fcsMgmtAddrRowStatus, 
--    fcsPortListIndex, fcsPortNumber, fcsPortType, fcsPortTXType, 
--    fcsPortModuleType, fcsPortPhyPortNum, 
--    fcsPortAttachPortNameIndex, fcsPortState, fcsAttachPortName, 
--    fcsPlatformNumber, fcsPlatformName, fcsPlatformType, 
--    fcsPlatformNodeNameListIndex, fcsPlatformMgmtAddrListIndex, 
--    fcsPlatformConfigSource, fcsPlatformValidation, 
--    fcsPlatformValidationResult, fcsPlatformRowStatus, 
--    fcsNodeNameConfigSource, fcsNodeNameRowStatus

fcsStatisticsGroup OBJECT IDENTIFIER ::= { fcsMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects for displaying the Fabric 
--     Configuration Server statistics information.
--  objects
--    fcsTotalRejects, fcsRxGetReqs, fcsTxGetReqs, fcsRxRegReqs, 
--    fcsTxRegReqs, fcsRxDeregReqs, fcsTxDeregReqs, fcsTxRscns, 
--    fcsRxRscns, fcsRejects

fcsNotificationControlGroup OBJECT IDENTIFIER ::= { fcsMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    deprecated
--  Descr
--    A collection of notification control and 
--     notification information objects for monitoring 
--     Fabric Configuration Server request 
--     rejection and discovery of remote toplogy 
--     information.
--  objects
--    fcsReqRejNotifyEnable, fcsRejReasonCode, 
--    fcsRejReasonCodeExplanation, fcsDiscoveryCompleteNotifyEnable

fcsNotificationControlGroupRev1 OBJECT IDENTIFIER ::= { fcsMIBGroups 6 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of notification control and 
--     notification information objects for monitoring 
--     Fabric Configuration Server request 
--     rejection and discovery of remote toplogy 
--     information.
--  objects
--    fcsReqRejNotifyEnable, fcsRejReasonCode, 
--    fcsRejReasonCodeExplanation, fcsDiscoveryCompleteNotifyEnable, 
--    fcsMgmtAddrChangeVsanIndex, fcsMgmtAddrChangeIeName

fcsNotificationGroup OBJECT IDENTIFIER ::= { fcsMIBGroups 4 }
-- NOTIFICATION-GROUP
--  Status
--    deprecated
--  Descr
--    A collection of notifications for monitoring 
--     Fabric Configuration Server request 
--     rejection and discovery of remote toplogy 
--     information.
--  notifications
--    fcsReqRejNotify, fcsDiscoveryCompleteNotify

fcsNotificationGroupRev1 OBJECT IDENTIFIER ::= { fcsMIBGroups 5 }
-- NOTIFICATION-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of notifications for monitoring 
--     Fabric Configuration Server request 
--     rejection, discovery of remote toplogy 
--     information and management address changes.
--  notifications
--    fcsReqRejNotify, fcsDiscoveryCompleteNotify, 
--    fcsMgmtAddrChangeNotify

fcsMIBCompliance OBJECT IDENTIFIER ::= { fcsMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for entities which
--     implement the Fabric Configuration Server.
--  Module
--    >>current<<
--   MandGroup
--    fcsConfigurationGroup
--   MandGroup
--    fcsStatisticsGroup
--   MandGroup
--    fcsNotificationControlGroup
--   MandGroup
--    fcsNotificationGroup
--   ObjVar
--    fcsMgmtAddrRowStatus
--   ObjVar
--    fcsPlatformRowStatus
--   ObjVar
--    fcsNodeNameRowStatus

fcsMIBComplianceRev1 OBJECT IDENTIFIER ::= { fcsMIBCompliances 2 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for entities which
--     implement the Fabric Configuration Server.
--  Module
--    >>current<<
--   MandGroup
--    fcsConfigurationGroup
--   MandGroup
--    fcsStatisticsGroup
--   MandGroup
--    fcsNotificationControlGroupRev1
--   MandGroup
--    fcsNotificationGroupRev1
--   ObjVar
--    fcsMgmtAddrRowStatus
--   ObjVar
--    fcsPlatformRowStatus
--   ObjVar
--    fcsNodeNameRowStatus


END

