-- ****************************************************************************
--
--                         Virtual Connect Domain MIB
--
--      Copyright 2008-2016 Hewlett Packard Enterprise Development LP
-- 
--
-- ****************************************************************************

HPVC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32,
    NOTIFICATION-TYPE, Counter32,
    Gauge32, mib-2, zeroDotZero             FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue,
    RowPointer, TimeStamp                   FROM SNMPv2-TC
    SnmpAdminString                         FROM SNMP-FRAMEWORK-MIB
    enterprises                             FROM RFC1155-SMI
    TransportAddressType, TransportAddress  FROM TRANSPORT-ADDRESS-MIB


    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                  FROM SNMPv2-CONF;

vcDomainMIB MODULE-IDENTITY
    LAST-UPDATED "201704050000Z"              -- 05 April 2017
    ORGANIZATION "Hewlett Packard Enterprise"
    CONTACT-INFO "Contact HPE Support"
    DESCRIPTION
     "This MIB module describes Virtual Connect (VC) domain level MIB objects
      for HPE Virtual Connect Manager (VCM). The VCM is responsible for managing
      an entire Virtual Connect (VC) domain.
      This MIB module reports all managed objects with in the VC domain,such as
      VC Ethernet modules (Enet), VC FibreChannel (FC) modules, Physical Servers,
      network, fabrics, server profiles and associations between various VC objects.

      Keeping the limitations of SMI specifications in mind, the complex
      relationships between VC objects are represented in the form of mapping
      tables with appropriate index values to indicate the associations."

-- Revision History
       REVISION     "201704050000Z"           -- 05 April 2017
       DESCRIPTION  "Updated descriptions for VcManagedStatus for each enumeration."


       REVISION     "201702280000Z"           -- 28 February 2017
       DESCRIPTION  "Added new reason codes to VcProfileReasonCodeType;
                     vcProfileConnectionDuplicateIscsiInitiatorNameIP, 
                     vcProfileConnectionDuplicateIscsiInitiatorName,
                     vcProfileConnectionDuplicateIscsiInitiatorIP."

       REVISION     "201608100000Z"           -- 10 August 2016
       DESCRIPTION  "Added vcDomainInvalidPXEBootOrderProfileConnection
                     to VcDomainReasonCodeType and vcProfileConnectionInvalidPXEBootOrder
                     to VcProfileReasonCodeType."

       REVISION     "201603210000Z"            -- 21 March 2016
       DESCRIPTION  "Updated Copyright,ORGANIZATION and CONTACT-INFO,
                     Corrected few syntax errors(removed comma, added comma) which
                     was causing issues during loading of the MIB.
                     Added new Domain and Enclosure reason codes;
                     vcDomainMixedTAA, vcEnclosureMixedTAAModules."

       REVISION     "201403050000Z"            -- 05 March 2014
       DESCRIPTION  "Draft-8. Added new reason code to Profile object;
                     vcProfileUEFIBootmodeIncompatibleWithServer."

       REVISION     "201310250000Z"            -- 25 October 2013
       DESCRIPTION  "Draft-7. Added Reason codes  to VcDomain object;
                     vcDomainSflowIndirectlyDisabled, vcDomainSflowFailed,
                     vcDomainSflowDegraded, vcDomainPortMonitorIndirectlyDisabled."

       REVISION     "201212120000Z"            -- 12 December 2012
       DESCRIPTION  "Draft-6. The *ManagedStatusChange traps have been
                     deprecated and replaced with *ManagedStatusChanged
                     traps. These new ManagedState traps have a Cause,
                     RootCause, and ReasonCodes to provide administrators
                     with the details of the exact problem and root
                     cause of the condition being reported."

       REVISION     "201206270000Z"            -- 27 June 2012
       DESCRIPTION  "Draft-5. Added vcDomainPrimaryAddressIpv6 to VcDomain object;
                     vcEnclosureAddressIpv6 to VcEnclosure object and
                     vcModuleAddressIpv6 to VcModule object."

       REVISION     "201003080000Z"            -- 08 March 2010
       DESCRIPTION  "Draft-4. Changed the description of vcCheckpointTimeout and
                     vcCheckpointCompleted to be more specific on when these
                     traps are sent."

       REVISION     "200906270000Z"            -- 27 June 2009
       DESCRIPTION  "Draft-3. Changed vcDomainLastCheckpointTime to SnmpAdminString type."

       REVISION     "200902170000Z"            -- 17 February 2009
       DESCRIPTION  "Draft-2. Added enclosure UUID object to Vcenclosuretable.
                     Added traps for server status change and profile status change."

       REVISION     "200901080000Z"            -- 08 January 2009
       DESCRIPTION  "Draft-1. Moved vcModuleRole to VC Module MIB
                     Modified the vcProfileNetworkMap and vcProfileFcFabricMap
                     table to include port number as secondary index."

       REVISION     "200812080000Z"            -- 08 December 2008
       DESCRIPTION  "Draft-0. Initial cut."

                     
    ::= { virtualConnect 1 }

hp                     OBJECT IDENTIFIER ::= { enterprises 11 }
hpSysMgt               OBJECT IDENTIFIER ::= { hp 5 }
hpEmbeddedServerMgt    OBJECT IDENTIFIER ::= { hpSysMgt 7 }
hpModuleMgmtProc       OBJECT IDENTIFIER ::= { hpEmbeddedServerMgt 5 }
virtualConnect         OBJECT IDENTIFIER ::= { hpModuleMgmtProc 2 }

vcDomainMIBObjects          OBJECT IDENTIFIER ::= { vcDomainMIB 1 }

-- Top level object groups for VC MIB

vcDomain                          OBJECT IDENTIFIER ::= { vcDomainMIBObjects 1 }
vcEnclosure                       OBJECT IDENTIFIER ::= { vcDomainMIBObjects 2 }
vcModule                          OBJECT IDENTIFIER ::= { vcDomainMIBObjects 3 }
vcPort                            OBJECT IDENTIFIER ::= { vcDomainMIBObjects 4 }
vcPhysicalServer                  OBJECT IDENTIFIER ::= { vcDomainMIBObjects 5 }
vcEnetNetwork                     OBJECT IDENTIFIER ::= { vcDomainMIBObjects 6 }
vcFcFabric                        OBJECT IDENTIFIER ::= { vcDomainMIBObjects 7 }
vcProfile                         OBJECT IDENTIFIER ::= { vcDomainMIBObjects 8 }
vcEnetNetworkVcPortMap            OBJECT IDENTIFIER ::= { vcDomainMIBObjects 9 }
vcFcFabricVcPortMap               OBJECT IDENTIFIER ::= { vcDomainMIBObjects 10 }
vcProfileNetworkMap               OBJECT IDENTIFIER ::= { vcDomainMIBObjects 11 }
vcProfileFcFabricMap              OBJECT IDENTIFIER ::= { vcDomainMIBObjects 12 }


VcManagedStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The managed status of a virtual Connect object.

             The enumerations are described below:
                unknown(1)     - Indicates the condition of the component could not be determined 
                normal(2)      - Indicates the component is fully functional
                warning(3)     - Indicates a component threshold has been reached or error condition is imminent
                minor(4)       - Indicates an error condition exists that has little or no component impact
                major(5)       - Indicates an error condition exists that significantly impairs the component
                critical(6)    - Indicates an error condition exists where the component no longer provides service
                disabled(7)    - Indicates the component is disabled and non-functioning
                info(8)        - Indicates a non-service affecting condition exists such as initializing components
                                 and system login/logout
            "

    SYNTAX      INTEGER
    {
        unknown(1),   
        normal(2),
        warning(3),
        minor(4),
        major(5),
        critical(6),
        disabled(7),
        info(8)
    }

VcDomainModuleRole ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The virtual connect manager role of this module.
             The enumerations are described below:

                unintegrated       - module is not a member of a domain
                primaryProtected   - module is VCM primary, and a VCM standby exists
                primaryUnprotected - module is VCM primary, and no VCM standby exists
                standby            - module is VCM standby
                other                - module is not able to host VCM

             For roles other than primaryProtected and primaryUnprotected,
             the only populated objects are:
                domainModuleRole, domainPrimaryAddressType, domainPrimary,
                checkpointState
              "
    SYNTAX      INTEGER
    {
       unintegrated(1),
       primaryProtected(2),
       primaryUnprotected(3),
       standby(4),
       other(5)
    }

VcModuleType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The virtual connect interconnect module type.
             The enumerations are described below:

                vcModuleEnet       - VC-Enet module
                vcModuleFC         - VC-FC module
                vcModuleOther      - Unknown module or a module not supported by VC
              "
    SYNTAX      INTEGER
    {
       vcModuleEnet(1),
       vcModuleFC(2),
       vcModuleOther(3)
    }

VcPortType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The virtual connect port type.
             The enumerations are described below:

                vcEnetPhysicalPort       - A physical port on VC-Enet module
                vcEnetLogicallPort       - A logical port on VC-Enet module (e.g.,
                                           a Flex-10 subport)
                vcFCPort                 - A physical port on VC-FC module
              "
    SYNTAX      INTEGER
    {
       vcEnetPhysicalPort(1),
       vcEnetLogicallPort(2),
       vcFCPort(3)
    }

--
-- Reason Code Enumerations
-- Only one reason is included, the remaining will be added as and when the new
-- ones are added as part of the events from the model
--
VcDomainReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Domain type.
             The enumerations are described below along with a sample 'Cause' string: 
                vcDomainOk
                        - All enclosures and profiles are normal in the domain
                        - Sample Cause: All enclosures and profiles are normal in domain MyDom
                vcDomainAbnormalEnclosuresAndProfiles
                        - One or more enclosures and profiles are abnormal in the domain
                        - Sample Cause: Domain MyDom contains abnormal enclosures and profiles
                vcDomainSomeEnclosuresAbnormal
                        - At least one enclosure is not OK or Degraded
                        - Sample Cause: 2 of 3 enclosures are abnormal (and not degraded) in the MyDom domain
                vcDomainUnmappedProfileConnections
                        - The profile contains connections that are not mapped to a server port
                        - Sample Cause: 2 of 6 profiles contain unmapped connections in the MyDom domain 
                vcDomainStackingFailed
                        - All stacking links between one or more modules have failed
                        - Sample Cause: The stacking links are not fully connected from the primary module enc0:iobay1 to enc0:iobay2 or enc0:iobay3
                vcDomainStackingNotRedundant
                        - Some stacking links between one or more modules have failed, but connectivity still exists between modules
                        - Sample Cause: Modules not redundantly connected, failure of module enc0:iobay1 or enc0:iobay2 will isolate some modules
                vcDomainSomeProfilesAbnormal
                        - One or more profiles in the domain are abnormal 
                        - Sample Cause: 2 of 8 profiles are abnormal (and not degraded, unknown, unmapped, or recovered) in the MyDom domain
                vcDomainUnknown
                        - The condition of the domain cannot be determined
                        - Sample Cause: The state of all enclosures and profiles are unknown in the MyDom domain
                vcDomainOverProvisioned
                        - More than 16 VC modules are in the domain
                        - Sample Cause: More than 16 VC-FC or VC-Enet modules in domain MyDom
                vcDomainSflowIndirectlyDisabled
                        -  sFlow indirectly disabled by VCEM
                        - Sample Cause: sFlow indirectly disabled by VCEM
                vcDomainSflowFailed
                        - sFlow's network state is failed or all ENET modules have sFlow IP address issues
                        - Sample Cause: sFlow state is failed
                vcDomainSflowDegraded
                        - sFlow's network state is degraded or ENET module has sFlow IP address issues
                        - Sample Cause: sFlow state is degraded
                vcDomainPortMonitorIndirectlyDisabled
                        - PortMonitor indirectly disabled by VCEM
                        - Sample Cause: PortMonitor indirectly disabled by VCEM
                vcDomainMixedTAA
                        - Mix of TAA and Non-TAA compliant of one or more HP VC FlexFabric-20/40 F8 Module or HP VC 16Gb 24-Port FC Module in or across enclosures in VcDomain
                        - Sample Cause: Domain contains a mix of TAA and non-TAA interconnect modules 
                vcDomainInvalidPXEBootOrderProfileConnection
                        - Domain configured with unsupported PXEBootOrder ethernet connection.
                        - Sample Cause: Domain contains profiles with unsupported PXEBootOrder configuration  
            "
    SYNTAX      INTEGER
    {
      vcDomainOk(700),
      vcDomainAbnormalEnclosuresAndProfiles(701),
      vcDomainSomeEnclosuresAbnormal(702),
      vcDomainUnmappedProfileConnections(703),
      vcDomainStackingFailed(706),
      vcDomainStackingNotRedundant(707),
      vcDomainSomeProfilesAbnormal(709),
      vcDomainUnknown(712),
      vcDomainOverProvisioned(713),
      vcDomainMixedTAA(714),
      vcDomainInvalidPXEBootOrderProfileConnection(715),
      vcDomainSflowIndirectlyDisabled(801),
      vcDomainSflowFailed(802),
      vcDomainSflowDegraded(803),
      vcDomainPortMonitorIndirectlyDisabled(901)
    }

VcEnclosureReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Enclosure type.
             The enumerations are described below: 
                vcEnclosureOk
                        - The enclosure is normal
                        - Sample Cause: Enclosure enc0 is normal
                vcEnclosureAllEnetModulesFailed
                        - All Ethernet modules are abnormal, none are OK or degraded
                        - Sample Cause: All Ethernet modules are abnormal in enclosure enc0
                vcEnclosureSomeEnetModulesAbnormal
                        - One or more Ethernet modules are abnormal
                        - Sample Cause: 2 of 6 Ethernet modules are abnormal in enclosure enc0
                vcEnclosureSomeModulesOrServersIncompatible
                        - The enclosure contains incompatible modules or configured modules are missing
                        - Sample Cause: Enclosure enc0 contains incompatible/missing servers or modules
                vcEnclosureSomeFcModulesAbnormal
                        - One or more FC modules are abnormal
                        - Sample Cause: 2 of 4 FC modules are abnormal in enclosure enc0
                vcEnclosureSomeServersAbnormal
                        - At least one server is in a known state and no servers are OK, or at least on server is degraded
                        - Sample Cause: All servers are abnormal in enclosure enc0
                        - Sample Cause: Enclosure enc0 contains degraded servers
                vcEnclosureUnknown
                        - The condition of the enclosure cannot be determined, or the state of servers or modules is unknown
                        - Sample Cause: The state of all modules and servers in enclosure enc0 are unknown
                        - Sample Cause: Enclosure enc0 unable to communicate with OA
                        - Sample Cause: Enclosure enc0 initializing
                        - Sample Cause: Enclosure enc0 contains unknown servers or modules
                vcEnclosureMixedTAAModules
                        - The enclosure contains the mix of TAA compliant and non-TAA compliant interconnect modules
                        - Sample Cause: Mix of TAA compliant and non-TAA compliant of one or more HP VC FlexFabric-20/40 F8 Module or HP VC 16Gb 24-Port FC Module
            "
    SYNTAX      INTEGER
    {
      vcEnclosureOk(600),
      vcEnclosureAllEnetModulesFailed(601),
      vcEnclosureSomeEnetModulesAbnormal(602),
      vcEnclosureSomeModulesOrServersIncompatible(603),
      vcEnclosureSomeFcModulesAbnormal(604),
      vcEnclosureSomeServersAbnormal(605),
      vcEnclosureUnknown(606),
      vcEnclosureMixedTAAModules(607)
    }

VcModuleReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Module type.
             The enumerations are described below: 
                vcEnetmoduleOk
                        - The Ethernet module is functioning normally
                        - Sample Cause: Module enc0:iobay1 is normal
                vcEnetmoduleEnclosureDown
                        - The module is unable to communicate with the enclosure/OA
                        - Sample Cause: Module enc0:iobay1 unable to communicate with enclosure enc1
                vcEnetmoduleModuleMissing
                        - A configured module has been removed
                        - Sample Cause: Module in bay enc0:iobay3 has been removed
                vcEnetmodulePortprotect
                        - A condition has been detected on the port causing port protection to be activated
                        - Sample Cause: Ports are disabled due to a detected port protection condition on module enc0:iobay4
                vcEnetmoduleIncompatible
                        - The module is incompatible, such as replacing a configured Enet module with an FC module
                        - Sample Cause: Module in bay enc0:iobay4 does not match configuration (incompatible)
                vcEnetmoduleHwDegraded
                        - The module is being reported as degraded by the OA
                        - Sample Cause: Hardware status of enc0:iobay2 is reported as degraded by OA
                vcEnetmoduleUnknown
                        - The condition of the module is unknown 
                        - Sample Cause: Unable to communicate with enc0:iobay2
                        - Sample Cause: The current state of enc0:iobay2 is unknown
                        - Sample Cause: Module enc1:iobay2 unable to communicate with enclosure enc0
                vcFcmoduleOk
                        - The FC module is functioning normally
                        - Sample Cause: Module enc0:iobay3 is normal
                vcFcmoduleEnclosureDown
                        - The FC module is unable to communicate with the enclosure/OA
                        - Sample Cause: Module enc0:iobay3 unable to communicate with enclosure enc0
                vcFcmoduleModuleMissing
                        - A configured module has been removed
                        - Sample Cause: Module in bay enc0:iobay4 has been removed
                vcFcmoduleHwDegraded
                        - The module is reporting a degraded hardware condition
                        - Sample Cause: Module in bay enc0:iobay4 is reporting a degraded hardware condition
                vcFcmoduleIncompatible
                        - The module is incompatible, such as replacing a configured FC module with an Enet module
                        - Sample Cause: Module in bay enc0:iobay3 does not match configuration (incompatible)
                vcFcmoduleUnknown
                        - The condition of the module is unknown 
                        - Sample Cause: The current state of enc0:iobay3 is unknown
                        - Sample Cause: Module enc0:iobay3 unable to communicate with enclosure enc0
            "
    SYNTAX      INTEGER
    {
      vcEnetmoduleOk(400),
      vcEnetmoduleEnclosureDown(401),
      vcEnetmoduleModuleMissing(402),
      vcEnetmodulePortprotect(404),
      vcEnetmoduleIncompatible(405),
      vcEnetmoduleHwDegraded(406),
      vcEnetmoduleUnknown(407),
      vcFcmoduleOk(408),
      vcFcmoduleEnclosureDown(409),
      vcFcmoduleModuleMissing(410),
      vcFcmoduleHwDegraded(412),
      vcFcmoduleIncompatible(413),
      vcFcmoduleUnknown(414)
    }

VcPortReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Enet Port type.
             The enumerations are described below: 
                vcEnetPortOK
                        - 
                        - Sample Cause: 
            "
    SYNTAX      INTEGER
    {
      vcEnetPortOK(1)
    }

VcPhysicalServerReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect PhysicalServer type.
             The enumerations are described below: 
                vcPhysicalServerOk
                        - The server is functioning normally
                        - Sample Cause: Server enc0:dev1 is normal
                        - Sample Cause: Server enc0:dev1 profile pending
                vcPhysicalServerEnclosureDown
                        - The server is unable to communicate with the enclosure/OA
                        - Sample Cause: Server enc0:dev1 unable to communicate with enclosure enc0
                vcPhysicalServerFailed
                        - The server is in a failed condition
                        - Sample Cause: Server enc0:dev1 has failed
                vcPhysicalServerDegraded
                        - The server is in a degraded condition 
                        - Sample Cause: Multi-blade server enc0:dev1 is missing or not initialized
                vcPhysicalServerUnknown
                        - The condition of the server is unknown 
                        - Sample Cause: The current state of enc0:dev1 is unknown
            "
    SYNTAX      INTEGER
    {
      vcPhysicalServerOk(500),
      vcPhysicalServerEnclosureDown(501),
      vcPhysicalServerFailed(502),
      vcPhysicalServerDegraded(503),
      vcPhysicalServerUnknown(504)
    }

VcFcFabricReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Fabric type.
             The enumerations are described below: 
                vcFabricOk
                        - The fabric is functioning normally
                        - Sample Cause: Fabric MyFabric is normal
                vcFabricNoPortsConfigured
                        - The fabric does not have any uplink port configured 
                        - Sample Cause: No uplink ports assigned to fabric MyFabric
                vcFabricSomePortsAbnormal
                        - Some uplink ports for the fabric are in an abnormal condition
                        - Sample Cause: 1 of 3 uplink ports are abnormal on MyFabric fabric
                vcFabricAllPortsAbnormal
                        - All uplink ports for the fabric are in an abnormal condition
                        - Sample Cause: Condition of fabric MyFabric is abnormal
                vcFabricWwnMismatch
                        - A WWN mismatch condition has been detected
                        - Sample Cause: Fabric MyFabric WWN 50:06:0B:00:00:C2:62:00 does not match WWN 50:06:0B:00:00:C2:64:FF
                vcFabricUnknown
                        - The condition of the fabric is unknown 
                        - Sample Cause: Condition of fabric MyFabric is unknown
            "
    SYNTAX      INTEGER
    {
      vcFabricOk(200), 
      vcFabricNoPortsConfigured(202),
      vcFabricSomePortsAbnormal(203),
      vcFabricAllPortsAbnormal(204),
      vcFabricWwnMismatch(205),
      vcFabricUnknown(206)
    }

VcEnetNetworkReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Enet Network type.
             The enumerations are described below: 
                vcNetworkOk
                        - The network is functioning normally
                        - Sample Cause: Network MyNetwork is normal
                vcNetworkUnknown
                        - The condition of the network is unknown 
                        - Sample Cause: Condition of network MyNetwork is unknown
                vcNetworkDisabled
                        - The network is disabled
                        - Sample Cause: Network MyNetwork not enabled
                vcNetworkAbnormal
                        - The condition of the network is abnormal
                        - Sample Cause: Network MyNetwork is abnormal
                vcNetworkFailed
                        - The network is in a failed condition
                        - Sample Cause: Network MyNetwork has failed
                vcNetworkDegraded
                        - The network is in a degraded condition
                        - Sample Cause: Network MyNetwork is degraded
                vcNetworkNoPortsAssignedToPrivateNetwork
                        - No ports have been assigned to the private network
                        - Sample Cause: No ports assigned to private network MyNetwork
            "
    SYNTAX      INTEGER
    {
      vcNetworkOk(100),
      vcNetworkUnknown(101),
      vcNetworkDisabled(102),
      vcNetworkAbnormal(104),
      vcNetworkFailed(105),
      vcNetworkDegraded(106),
      vcNetworkNoPortsAssignedToPrivateNetwork(109)
    }

VcProfileReasonCodeType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The ReasonCode for Virtual Connect Enet Network type.
             The enumerations are described below: 
                vcProfileOk
                        - The profile is normal
                        - Sample Cause: All MyProfile profile connections are normal
                        - Sample Cause: No connections in MyProfile profile for server in bay enc0:devbay1
                vcProfileServerAbnormal
                        - The server the profile is assigned to is abnormal
                        - Sample Cause: The MyProfile profile is assigned to an abnormal server in bay enc0:devbay1
                vcProfileAllConnectionsFailed
                        - All connections in the profile have failed
                        - Sample Cause: All MyProfile profile connections for server in bay enc0:devbay1 have failed
                vcProfileSomeConnectionsUnmapped
                        - One or more connections in the profile are not mapped to a physical port
                        - Sample Cause: 2 MyProfile profile connections for server in bay enc0:devbay3 are not mapped
                vcProfileAllConnectionsAbnormal
                        - All connections in profile are abnormal
                        - Sample Cause: All MyProfile profile connections for server in bay enc0:devbay1 are abnormal
                vcProfileSomeConnectionsAbnormal
                        - Some connections in the profile are abnormal
                        - Sample Cause: 3 MyProfile profile connections for server in bay enc0:devbay1 are abnormal
                vcProfileUEFIBootmodeIncompatibleWithServer
                        - UEFI bootmode is assigned to non-UEFI capable server
                        - Sample Cause: Boot Mode UEFI configured for Profile MyProfile is not supported by server in bay enc0:devbay2
                vcProfileConnectionInvalidPXEBootOrder
                        - One of the ethernet connection in the profile has invalid PXEBootOrder
                        - Sample Cause: PXEBootOrder configured in MyProfile is not supported for server in bay enc0:devbay2
                vcProfileConnectionDuplicateIscsiInitiatorIP
                        - Profile has iSCSI Connection configured with duplicate initiator IP
                        - Sample Cause: Duplicate iSCSI Initiator IP not allowed
                vcProfileConnectionDuplicateIscsiInitiatorName
                        - Profile has iSCSI Connection configured with duplicate initiator Name
                        - Sample Cause: Duplicate iSCSI Initiator Name not allowed
                vcProfileConnectionDuplicateIscsiInitiatorNameIP
                        - Profile has iSCSI Connection configured with duplicate initiator IP and initiator Name
                        - Sample Cause: Duplicate iSCSI Initiator Name and Initiator IP not allowed
 
            "
    SYNTAX      INTEGER
    {
      vcProfileOk(300),
      vcProfileServerAbnormal(301),
      vcProfileAllConnectionsFailed(304),
      vcProfileSomeConnectionsUnmapped(309),
      vcProfileAllConnectionsAbnormal(310),
      vcProfileSomeConnectionsAbnormal(311),
      vcProfileUEFIBootmodeIncompatibleWithServer(312),
      vcProfileUnknown(313),
      vcProfileConnectionInvalidPXEBootOrder(314),
      vcProfileConnectionDuplicateIscsiInitiatorIP(315),
      vcProfileConnectionDuplicateIscsiInitiatorName(316),
      vcProfileConnectionDuplicateIscsiInitiatorNameIP(317)
    }

-- Domain level objects

vcDomainName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Virtual Connect Domain name."
    ::= { vcDomain 1 }

vcDomainManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The overall domain status of the Virtual Connect Domain. 
         The possible values are :
          unknown(1)  - Indicates the condition of the Domain could not be determined.
          normal(2)   - Indicates all enclosures and profiles are normal in the domain.
          warning(3)  - Indicates stacking links are not redundant or sFlow/port Monitoring disabled.
          minor(4)    - Indicates enclosures and profiles are degraded.
          major(5)    - Indicates one or more profiles are abnormal or stacking links between one or more modules have failed.
          critical(6) - Indicates one or more enclosures and profiles are abnormal and degraded in the domain.
          info(8)     - Indicates information about the domain configuration like invalid boot order configuration, unmapped profile connections or
                        Mix of TAA and Non-TAA modules in or across enclosures in VcDomain.
         
         Refer vcDomainCause, vcDomainRootCause and vcDomainReasonCode for additional details.
        "
    ::= { vcDomain 2 }

vcDomainPrimaryAddressType OBJECT-TYPE
    SYNTAX      TransportAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The transport address type used to address the primary VC module.
         Value 0 (UNKNOWN) indicates vcDomainPrimaryAddress is empty and
         value 1 (UDPIPV4) indicates vcDomainPrimaryAddress contains IPv4 address."
    ::= { vcDomain 3 }

vcDomainPrimaryAddress OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The address of the primary VC module. The address format is determined
         by the vcDomainPrimaryAddressType object."
    ::= { vcDomain 4 }

vcDomainCheckpointValid OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object returns 'true' when the VC configuration has been 
         successfully checkpointed."
    ::= { vcDomain 5 }

vcDomainLastCheckpointTime OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current 
    DESCRIPTION 
        "The timestamp of the last attempt to update the configuration state of the domain."
    ::= { vcDomain 6 }

vcDomainStackingLinkRedundant OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The overall stacking link connection redundancy status.
         This value indicates whether all VC-Enet modules will remain
         connected to each other with the loss of a link."
    ::= { vcDomain 7 }

vcDomainRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: More than 16 VC-FC or VC-Enet modules in domain
         Example: Modules not redundantly connected, failure of module
                  enc0:iobay1 or enc0:iobay2 or enc1:iobay2 will isolate
                  some modules; Port enc0:iobay5:d3:v1 loop detected and
                  automatically disabled"
    ::= { vcDomain 8 } 

vcDomainCause OBJECT-TYPE 
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
         in the current Managed Status of the element.
         Example: 2 of 7 profiles contain unmapped connections in the domain"
    ::= { vcDomain 9 }

vcDomainReasonCode OBJECT-TYPE
    SYNTAX      VcDomainReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcDomain 10 }

vcDomainPrimaryAddressIpv6 OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IPv6 address of the primary VC module."
    ::= { vcDomain 11 }

--
-- Enclosure Table
--

vcEnclosureTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcEnclosureEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of enclosures in the Virtual Connect Domain."
    ::= { vcEnclosure 1 }

vcEnclosureEntry OBJECT-TYPE
    SYNTAX      VcEnclosureEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing information about a particular enclosure."
    INDEX       { vcEnclosureIndex }
    ::= { vcEnclosureTable 1 }

VcEnclosureEntry ::= SEQUENCE {
    vcEnclosureIndex                      INTEGER,
    vcEnclosureName                       OCTET STRING,
    vcEnclosureManagedStatus              VcManagedStatus,
    vcEnclosureAddressType                TransportAddressType,
    vcEnclosureAddress                    TransportAddress,
    vcEnclosureUUID                       SnmpAdminString,
    vcEnclosureRootCause                  SnmpAdminString,
    vcEnclosureCause                      SnmpAdminString,
    vcEnclosureReasonCode                 VcEnclosureReasonCodeType,
    vcEnclosureAddressIpv6                TransportAddress
}

vcEnclosureIndex OBJECT-TYPE
   SYNTAX      INTEGER
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "Index value for the enclosure table."
    ::= { vcEnclosureEntry 1 }

vcEnclosureName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Administratively assigned name for the enclosure."
    ::= { vcEnclosureEntry 2 }

vcEnclosureManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Managed status of the enclosure.
         The possible values are :
          unknown(1)  - Indicates the condition of the enclosure cannot be determined.
          normal(2)   - Indicates the enclosure with all modules and servers are normal.
          minor(4)    - Indicates either at least one server is in degraded state or One or more VC modules are abnormal in the enclosure.
          major(5)    - Indicates either enclosure contains incompatible/missing servers/VC modules, or enclosure is unable to communicate with OA.
          critical(6) - Indicates either all servers or modules are abnormal in the enclosure.
          info(8)     - Indicates the information about the enclosure.
         Detailed error status and its root cause can be learnt from vcEnclosureRootCause and vcEnclosureCause object types.
        "
    ::= { vcEnclosureEntry 3 }

vcEnclosureAddressType OBJECT-TYPE
    SYNTAX      TransportAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The transport address type used to address the enclosure's management entity.
         Value 0 (UNKNOWN) indicates vcEnclosureAddress is empty and
         value 1 (UDPIPV4) indicates vcEnclosureAddress contains IPv4 address."
    ::= { vcEnclosureEntry 4 }

vcEnclosureAddress OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The address of the enclosure's management entity.
         The address format is determined by the vcEnclosureAddressType object."
    ::= { vcEnclosureEntry 5 }

vcEnclosureUUID OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "UUID value for the enclosure."
    ::= { vcEnclosureEntry 6 }

vcEnclosureRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: Module in bay enc0:iobay3 has been removed"
    ::= { vcEnclosureEntry 7 }

vcEnclosureCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: 2 of 6 Ethernet modules are abnormal in enclosure enc0"
    ::= { vcEnclosureEntry 8 }

vcEnclosureReasonCode OBJECT-TYPE
    SYNTAX      VcEnclosureReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcEnclosureEntry 9 }

vcEnclosureAddressIpv6 OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IPv6 address of the enclosure's management entity."
    ::= { vcEnclosureEntry 10 }

--
-- vcModule Table
--

vcModuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcModuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of VC interconnect modules in the Virtual Connect Domain."
    ::= { vcModule 1 }

vcModuleEntry OBJECT-TYPE
    SYNTAX      VcModuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing information about a single interconnect module."
    INDEX       { vcModuleIndex }
    ::= { vcModuleTable 1 }

VcModuleEntry ::= SEQUENCE {
    vcModuleIndex                      INTEGER,
    vcModuleType                       VcModuleType,
    vcModuleManagedStatus              VcManagedStatus,
    vcModulePartNumber                 SnmpAdminString,
    vcModuleSerialNumber               SnmpAdminString,
    vcModuleProductName                SnmpAdminString,
    vcModuleFwRev                      SnmpAdminString,
    vcModuleEnclosurePointer           RowPointer,
    vcModuleLocation                   Unsigned32,
    vcModuleAddressType                TransportAddressType,
    vcModuleAddress                    TransportAddress,
    vcModuleID                         SnmpAdminString,
    vcModuleRootCause                  SnmpAdminString,
    vcModuleCause                      SnmpAdminString,
    vcModuleReasonCode                 VcModuleReasonCodeType,
    vcModuleAddressIpv6                TransportAddress
}

vcModuleIndex OBJECT-TYPE
   SYNTAX      INTEGER
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "Index value for the vcModuleTable."
    ::= { vcModuleEntry 1 }

vcModuleType OBJECT-TYPE
    SYNTAX      VcModuleType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The VC interconnect module type."
    ::= { vcModuleEntry 2 }

vcModuleManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The overall managed status of the vcEnetModule.
         The possible values are :
          unknown(1)  - Indicates VC module is unable to communicate with the enclosure/OA or 
                        condition of the VC module is unknown.
          normal(2)   - Indicates VC Module functioning normally.
          minor(4)    - Indicates VC module is being reported as degraded by the OA or VC module ports are disabled.
          major(5)    - Indicates the module is incompatible due to replacing a configured Enet module with an FC module or vice versa.
          critical(6) - Indicates a configured VC module either removed or missing.
         Detailed error status and its root cause can be learnt from vcModuleRootCause and vcModuleCause object types.
        "
    ::= { vcModuleEntry 3 }

vcModulePartNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The part number of the VC module."
    ::= { vcModuleEntry 4 }

vcModuleSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The serial number of the VC module."
    ::= { vcModuleEntry 5 }

vcModuleProductName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The product name of the VC module."
    ::= { vcModuleEntry 6 }

vcModuleFwRev OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The revision number of the firmware running on this Enet module."
    ::= { vcModuleEntry 7 }

vcModuleEnclosurePointer OBJECT-TYPE
    SYNTAX      RowPointer
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A reference pointer into vcEnclosureTable that contains enclosure
         information for the enclosure associated with this vcModule."
    ::= { vcModuleEntry 8 }

vcModuleLocation OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The interconnect bay number associated with this VC module."
    ::= { vcModuleEntry 9 }

vcModuleAddressType OBJECT-TYPE
    SYNTAX      TransportAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The transport address type used to address the EnetModule's management entity.
         Value 0 (UNKNOWN) indicates vcModuleAddress is empty and
         value 1 (UDPIPV4) indicates vcModuleAddress contains IPv4 address."
    ::= { vcModuleEntry 10 }

vcModuleAddress OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The address of the SNMP agent on the VC module.
         The address format is determined by the vcModuleAddressType object."
    ::= { vcModuleEntry 11 }

vcModuleID OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Unique identifier for the VC module. This object contains reports the
         following values,
           - MAC address for Enet module.
           - WWN address for FC modules."
    ::= { vcModuleEntry 12 }

vcModuleRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: Port enc0:iobay5:d3:v1 loop detected and automatically disabled"
    ::= { vcModuleEntry 13 }

vcModuleCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: Port enc0:iobay5:d3:v1 loop detected and automatically disabled"
    ::= { vcModuleEntry 14 }

vcModuleReasonCode OBJECT-TYPE
    SYNTAX      VcModuleReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcModuleEntry 15 }

vcModuleAddressIpv6 OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IPv6 address of the SNMP agent on the VC module."
    ::= { vcModuleEntry 16 }

--
-- vcPort Table
--

vcPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of ports in the Virtual Connect Domain. Ports include
         physical network ports (uplinks, server links, stacking links,
         and unconnected), logical network ports (Flex-10 subports on downlinks),
         and Fibre Channel ports (uplinks and downlinks)."
    ::= { vcPort 1 }

vcPortEntry OBJECT-TYPE
    SYNTAX      VcPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing information about a particular ethernet port."
    INDEX       { vcPortIndex }
    ::= { vcPortTable 1 }

VcPortEntry ::= SEQUENCE {
    vcPortIndex                      INTEGER,
    vcPortType                       VcPortType,
    vcPortManagedStatus              VcManagedStatus,
    vcPortManagerAddressType         TransportAddressType,
    vcPortManagerAddress             TransportAddress,
    vcPortContainerPointer           RowPointer,
    vcPortPhysicalPortPointer        RowPointer
}

vcPortIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the vcPort table."
    ::= { vcPortEntry 1 }

vcPortType OBJECT-TYPE
    SYNTAX      VcPortType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the VC port type."
    ::= { vcPortEntry 2 }

vcPortManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Managed status of the vcPort.
         The possible values are :
          unknown(1)  - Indicates port status is unknown due to module condition is unknown or abnormal.
          normal(2)   - Indicates port is linked and functioning normally.
          warning(3)  - Indicates port is either unlinked or unpopulated.
          major(5)    - Indicates port is either incompatible or eKey Fault detected or 
                        port connected to incompatible storage or an invalid port connection.
          critical(6) - Indicates port loop/pause-flood detected  or 
                        port pair mismatch of EnetSpeed/SFP Type detected and caused automatically disabled the port.
          disabled(7) - Indicates port is disabled/covered or  Administratively Hidden/port unlinked with port mode set to disabled.
        "
    ::= { vcPortEntry 3 }

vcPortManagerAddressType OBJECT-TYPE
    SYNTAX      TransportAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The transport address type used to address the EnetModule's management entity."
    ::= { vcPortEntry 4 }

vcPortManagerAddress OBJECT-TYPE
    SYNTAX      TransportAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The address of the SNMP agent on the VC module.
         The address format is determined by the vcPortManagerAddressType object."
    ::= { vcPortEntry 5 }

vcPortPhysicalPortPointer OBJECT-TYPE
    SYNTAX      RowPointer
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "reference to the table entry for the physical port in the containing
         module's MIB. The referenced table depends on the port type:
            vcEnetPhysicalPort: ifTable
            vcEnetLogicalPort : ifTable of corresponding physical port
            vcFCPort          : connUnitPortTable
         "
    ::= { vcPortEntry 6 }

vcPortContainerPointer OBJECT-TYPE
    SYNTAX      RowPointer
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "reference to the table entry in the VC Domain MIB for the component
         which contains this port:
              vcEnetPhysicalPort: vcModuleTable
              vcEnetLogicalPort : vcPortTable (for the physical port containing
                                  this Flex-10 subport)
              vcFCPort: vcModuleTable
         "
    ::= { vcPortEntry 7 }

--
-- vcPhysicalServer Table (server bay devices)
--

vcPhysicalServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcPhysicalServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of server bay devices in the Virtual Connect Domain."
    ::= { vcPhysicalServer 1 }

vcPhysicalServerEntry OBJECT-TYPE
    SYNTAX      VcPhysicalServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VC PhysicalServer bay (server bay) table entry."
    INDEX       { vcPhysicalServerIndex }
    ::= { vcPhysicalServerTable 1 }

VcPhysicalServerEntry ::= SEQUENCE {
    vcPhysicalServerIndex              INTEGER,
    vcPhysicalServerEnclosureIndex     INTEGER,
    vcPhysicalServerManagedStatus      VcManagedStatus,
    vcPhysicalServerPartNumber         SnmpAdminString,
    vcPhysicalServerSerialNumber       SnmpAdminString,
    vcPhysicalServerProductName        SnmpAdminString,
    vcPhysicalServerLocation           Unsigned32,
    vcPhysicalServerRootCause          SnmpAdminString,
    vcPhysicalServerCause              SnmpAdminString,
    vcPhysicalServerReasonCode         VcPhysicalServerReasonCodeType
}

vcPhysicalServerIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the vcPhysicalServer table."
    ::= { vcPhysicalServerEntry 1 }

vcPhysicalServerEnclosureIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the enclosure in vcEnclosureTable containing this server."
    ::= { vcPhysicalServerEntry 2 }

vcPhysicalServerManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Managed status of the vcPhysicalServer.
         The possible values are :
          unknown(1)  - Indicates the server is unable to communicate with the enclosure/OA or condition of the server is unknown.
          normal(2)   - Indicates the server is functioning normally.
          minor(4)    - Indicates the server is in a degraded condition.
          major(5)    - Indicates multi-blade server is missing or not initialized.
          critical(6) - Indicates the server is in failed condition.
         Detailed error status and its root cause can be learnt from vcPhysicalServerRootCause and vcPhysicalServerCause object types.
        "
    ::= { vcPhysicalServerEntry 3 }

vcPhysicalServerPartNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The part number of the Physical Server."
    ::= { vcPhysicalServerEntry 4 }

vcPhysicalServerSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The serial number of the Physical Server."
    ::= { vcPhysicalServerEntry 5 }

vcPhysicalServerProductName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The product name of the Physical Server."
    ::= { vcPhysicalServerEntry 6 }

vcPhysicalServerLocation OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The device bay number of the bay in which this server is installed."
    ::= { vcPhysicalServerEntry 7 }

vcPhysicalServerRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: Server enc0:dev1 unable to communicate with enclosure enc0"
    ::= { vcPhysicalServerEntry 8 }

vcPhysicalServerCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: Server enc0:dev2 profile pending"
    ::= { vcPhysicalServerEntry 9 }

vcPhysicalServerReasonCode OBJECT-TYPE
    SYNTAX      VcPhysicalServerReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcPhysicalServerEntry 10 }


--
-- FcFabric Table
--

vcFcFabricTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcFcFabricEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of FC fabrics in the Virtual Connect Domain."
    ::= { vcFcFabric 1 }

vcFcFabricEntry OBJECT-TYPE
    SYNTAX      VcFcFabricEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single fabric."
    INDEX       { vcFcFabricIndex }
    ::= { vcFcFabricTable 1 }

VcFcFabricEntry ::= SEQUENCE {
    vcFcFabricIndex                      INTEGER,
    vcFcFabricName                       SnmpAdminString,
    vcFcFabricManagedStatus              VcManagedStatus,
    vcFcFabricRootCause                  SnmpAdminString,
    vcFcFabricCause                      SnmpAdminString,
    vcFcFabricReasonCode                 VcFcFabricReasonCodeType
}

vcFcFabricIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the vcFcFabric table."
    ::= { vcFcFabricEntry 1 }

vcFcFabricName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Administratively assigned name for the fabric."
    ::= { vcFcFabricEntry 2 }

vcFcFabricManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The overall managed status of the vcFcFabric.
         The possible values are :
          unknown(1)  - Indicates the condition of the fabric is unknown.
          normal(2)   - Indicates the Fabric is functioning normally.
          minor(4)    - Indicates Some uplink ports for the fabric are in an abnormal condition or 
                        WWN mismatch condition has been detected.
          critical(6) - Indicates the fabric does not have any uplink port configured or condition of the fabric is abnormal.
         Detailed error status and its root cause can be learnt from vcFcFabricRootCause and vcFcFabricCause object types.
        "

    ::= { vcFcFabricEntry 3 }

vcFcFabricRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: No uplink ports assigned to fabric MySAN"
    ::= { vcFcFabricEntry 4 }

vcFcFabricCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: 2 of 3 uplink ports are abnormal on BackupSAN fabric"
    ::= { vcFcFabricEntry 5 }

vcFcFabricReasonCode OBJECT-TYPE
    SYNTAX      VcFcFabricReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcFcFabricEntry 6 }


--
-- VcEnetNetwork Table
--

vcEnetNetworkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcEnetNetworkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of ethernet networks in the Virtual Connect Domain."
    ::= { vcEnetNetwork 1 }

vcEnetNetworkEntry OBJECT-TYPE
    SYNTAX      VcEnetNetworkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing information about a single network."
    INDEX       { vcEnetNetworkIndex }
    ::= { vcEnetNetworkTable 1 }

VcEnetNetworkEntry ::= SEQUENCE {
    vcEnetNetworkIndex                      INTEGER,
    vcEnetNetworkName                       SnmpAdminString,
    vcEnetNetworkManagedStatus              VcManagedStatus,
    vcEnetNetworkUplinkVlanId               Unsigned32,
    vcEnetNetworkRootCause                  SnmpAdminString,
    vcEnetNetworkCause                      SnmpAdminString,
    vcEnetNetworkReasonCode                 VcEnetNetworkReasonCodeType
}

vcEnetNetworkIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the vcEnetNetwork table."
    ::= { vcEnetNetworkEntry 1 }

vcEnetNetworkName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Administratively assigned name for the network."
    ::= { vcEnetNetworkEntry 2 }

vcEnetNetworkManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The overall managed status of the vcEnetNetwork.
         The possible values are :
          unknown(1)  - Indicates the condition of the network is unknown.
          normal(2)   - Indicates network is functioning normally.
          minor(4)    - Indicates the network is in degraded condition or no ports assigned to the private network.
          critical(6) - Indicates the network is abnormal or failed condition, or no ports assigned to private FCoE network
          disabled(7) - Indicates the network is disabled.
         Detailed error status and its root cause can be learnt from vcEnetNetworkRootCause and vcEnetNetworkCause object types.
        "
    ::= { vcEnetNetworkEntry 3 }

vcEnetNetworkUplinkVlanId  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The VLAN ID for the external uplink network. This value is
         set to 0 if no uplink VLAN ID is assigned."
    ::= { vcEnetNetworkEntry 4 }

vcEnetNetworkRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: Port enc0:iobay5:X3 is unlinked; Port enc0:iobay5:X4 is incompatible"
    ::= { vcEnetNetworkEntry 5 }

vcEnetNetworkCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: Network BLUE has failed"
    ::= { vcEnetNetworkEntry 6 }

vcEnetNetworkReasonCode OBJECT-TYPE
    SYNTAX      VcEnetNetworkReasonCodeType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcEnetNetworkEntry 7 }

--
-- Server Profile Table
--

vcProfileTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of Server profiles in the Virtual Connect Domain."
    ::= { vcProfile 1 }

vcProfileEntry OBJECT-TYPE
    SYNTAX      VcProfileEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single server profile."
    INDEX       { vcProfileIndex }
    ::= { vcProfileTable 1 }

VcProfileEntry ::= SEQUENCE {
    vcProfileIndex                      INTEGER,
    vcProfileName                       SnmpAdminString,
    vcProfileManagedStatus              VcManagedStatus,
    vcProfilePhysicalServerIndex        Unsigned32,
    vcProfileLogicalSerialNumber        SnmpAdminString,
    vcProfileRootCause                  SnmpAdminString,
    vcProfileCause                      SnmpAdminString,
    vcProfileReasonCode                 VcProfileReasonCodeType
}

vcProfileIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for the vcProfile table."
    ::= { vcProfileEntry 1 }

vcProfileName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "A globally-unique, administratively assigned name for the
         vcProfilek."
    ::= { vcProfileEntry 2 }

vcProfileManagedStatus OBJECT-TYPE
    SYNTAX      VcManagedStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Managed status of the vcProfile.
         The possible values are :
          unknown(1)  - Indicates profile is assigned to server which is unable to communicate with the enclosure/OA
          normal(2)   - Indicates all profile connections are normal or no connection in the profile.
          warning(3)  - Indicates profile is pending assignment or failed to set server boot configuration.
          minor(4)    - Indicates one or more profile connections are abnormal or profile configured with invalid configuration 
                        like UEFI boot mode is assigned to non-UEFI capable server or duplicate iSCSI initiator Name/IP/Both configured. 
          major(5)    - Indicates the profile is assigned to multi-blade server which is missing or not initialized.
          critical(6) - Indicates all the profile connections failed or profile is assigned to server which is in failed condition.
          warning(7)  - Indicates profile is pending assignment or failed to set server boot configuration. 
          info(8)     - Indicates one or more profile connections are not mapped to a physical port or 
                        Enet connection in the profile has invalid PXEBootOrder setting.
         Detailed error status and its root cause can be learnt from vcProfileRootCause and vcProfileCause object types.
        "
    ::= { vcProfileEntry 3 }

vcProfilePhysicalServerIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value of assigned physical server from  vcPhysicalServer table.
         The value is set to 0 if the profile is unassigned."
    ::= { vcProfileEntry 4 }

vcProfileLogicalSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A logical server serial number to this profile. If the value is
         empty, the server will use hardware serial number."
    ::= { vcProfileEntry 5 }

vcProfileRootCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause indicates the root cause in the domain that resulted in
         the current Managed Status of the element
         Example: The BackupServer profile is assigned to an abnormal server in bay enc0:devbay1"
    ::= { vcProfileEntry 6 }

vcProfileCause OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cause specified indicates the change in the element that resulted
        in the current Managed Status of the element.
        Example: 3 MapServer profile connections for server in bay enc0:devbay3 are not mapped"
    ::= { vcProfileEntry 7 }

vcProfileReasonCode OBJECT-TYPE
    SYNTAX      VcProfileReasonCodeType 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This indicates an object specific reason-code for the change in Managed 
         Status of the element."
    ::= { vcProfileEntry 8 }


--
-- vcEnetNetworkVcPortMap Table
--

vcEnetNetworkVcPortMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcEnetNetworkVcPortMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists a mapping of networks and associated ports
         The objective of this table is to provide a mechanism to 
         access all EnetPorts associated with a given EnetNetwork.
         The second index to the table vcPortIndex can be used
         access port information for a given port"
    ::= { vcEnetNetworkVcPortMap 1 }

vcEnetNetworkVcPortMapEntry OBJECT-TYPE
    SYNTAX      VcEnetNetworkVcPortMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a VcPort in Enet Network."
    INDEX       { vcEnetNetworkVcPortMapNetworkIndex,
                  vcEnetNetworkVcPortMapVcPortIndex }
    ::= { vcEnetNetworkVcPortMapTable 1 }

VcEnetNetworkVcPortMapEntry ::= SEQUENCE {
    vcEnetNetworkVcPortMapNetworkIndex  INTEGER,
    vcEnetNetworkVcPortMapVcPortIndex   INTEGER
}

vcEnetNetworkVcPortMapNetworkIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for network entry. This index value must correspond to
         vcEnetNetworkIndex from vcEnetNetworkTable."
    ::= { vcEnetNetworkVcPortMapEntry 1 }

vcEnetNetworkVcPortMapVcPortIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for VcPort entry. This index value must correspond to
         vcPortIndex from vcPortTable."
    ::= { vcEnetNetworkVcPortMapEntry 2 }

--
-- vcFcFabricVcPortMap Table
--

vcFcFabricVcPortMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcFcFabricVcPortMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists a mapping of fabics and associated VcPorts.
         The objective of this table is to provide a mechanism to 
         access all VcPorts associated with a given FcFabric.
         The second index to the table vcVcPortIndex can be used
         access VcPort information for a given VcPort"
    ::= { vcFcFabricVcPortMap 1 }

vcFcFabricVcPortMapEntry OBJECT-TYPE
    SYNTAX      VcFcFabricVcPortMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single fabric."
    INDEX       { vcFcFabricVcPortMapFcFabricIndex,
                  vcFcFabricVcPortMapVcPortIndex }
    ::= { vcFcFabricVcPortMapTable 1 }

VcFcFabricVcPortMapEntry ::= SEQUENCE {
    vcFcFabricVcPortMapFcFabricIndex       INTEGER,
    vcFcFabricVcPortMapVcPortIndex         INTEGER
}

vcFcFabricVcPortMapFcFabricIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for vcFabric entry. This index value must correspond to
         vcFcFabricIndex from vcFcFabricTable."
    ::= { vcFcFabricVcPortMapEntry 1 }

vcFcFabricVcPortMapVcPortIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for VcPort entry. This index value must correspond to
         vcPortIndex from vcPortTable."
    ::= { vcFcFabricVcPortMapEntry 2 }

--
-- vcProfileNetworkMap Table
--

vcProfileNetworkMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcProfileNetworkMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists a mapping of profiles and associated ports.
         The objective of this table is to provide a mechanism to 
         access all Networks assigned to a given vcProfile.
         The second index to the table vcNetworkIndex can be used
         access network information for a given network"
    ::= { vcProfileNetworkMap 1 }

vcProfileNetworkMapEntry OBJECT-TYPE
    SYNTAX      VcProfileNetworkMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single network."
    INDEX       { vcProfileNetworkMapProfileIndex,
                  vcProfileNetworkMapConnectionIndex }
    ::= { vcProfileNetworkMapTable 1 }

VcProfileNetworkMapEntry ::= SEQUENCE {
    vcProfileNetworkMapProfileIndex     INTEGER,
    vcProfileNetworkMapConnectionIndex  INTEGER,
    vcProfileNetworkMapNetworkIndex     INTEGER
}

vcProfileNetworkMapProfileIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for profile entry. This index value must correspond to
         vcProfileIndex from vcProfileTable."
    ::= { vcProfileNetworkMapEntry 1 }

vcProfileNetworkMapConnectionIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Ethernet network connection number associated with this mapping."
    ::= { vcProfileNetworkMapEntry 2 }

vcProfileNetworkMapNetworkIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value to identify the network. This index value must correspond to
         vcNetworkIndex from vcEnetNetworkTable."
    ::= { vcProfileNetworkMapEntry 3 }

--
-- vcProfileFcFabricMap Table
--

vcProfileFcFabricMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VcProfileFcFabricMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists a mapping of profiles and associated ports.
         The objective of this table is to provide a mechanism to 
         access all Fabrics associated with a given vcProfile.
         The second index to the table vcFcFabricIndex can be used
         to access fabric information for a given fabric"
    ::= { vcProfileFcFabricMap 1 }

vcProfileFcFabricMapEntry OBJECT-TYPE
    SYNTAX      VcProfileFcFabricMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a single network."
    INDEX       { vcProfileFcFabricMapProfileIndex,
                  vcProfileFcFabricMapConnectionIndex }
    ::= { vcProfileFcFabricMapTable 1 }

VcProfileFcFabricMapEntry ::= SEQUENCE {
    vcProfileFcFabricMapProfileIndex    INTEGER,
    vcProfileFcFabricMapConnectionIndex INTEGER,
    vcProfileFcFabricMapFcFabricIndex   INTEGER
}

vcProfileFcFabricMapProfileIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for profile entry. This index value must correspond to
         vcProfileIndex from vcProfileTable."
    ::= { vcProfileFcFabricMapEntry 1 }

vcProfileFcFabricMapConnectionIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "FcFabric connection number associated with this mapping."
    ::= { vcProfileFcFabricMapEntry 2 }

vcProfileFcFabricMapFcFabricIndex OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index value for vcFcFabric entry. This index value must correspond to
         vcFcFabricIndex from vcFcFabricTable."
    ::= { vcProfileFcFabricMapEntry 3 }


--
-- Notification Objects
--
vcDomainMIBNotificationPrefix OBJECT IDENTIFIER
    ::= { vcDomainMIB 2 }
vcDomainMIBNotifications OBJECT IDENTIFIER
    ::= { vcDomainMIBNotificationPrefix 0 }
vcDomainMIBNotificationObjects OBJECT IDENTIFIER
    ::= { vcDomainMIBNotificationPrefix 1 }

--
-- Notifications
--

vcDomainManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcDomainManagedStatus }
    STATUS  deprecated
    DESCRIPTION
        "The summary managed status of the domain has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 1 }

vcCheckpointTimeout NOTIFICATION-TYPE
    OBJECTS { vcDomainCheckpointValid, vcDomainLastCheckpointTime }
    STATUS  current
    DESCRIPTION
        "The checkpoint valid status remained false for more than
         five minutes."
		 
		 --#SEVERITY WARNING
		 
    ::= { vcDomainMIBNotifications 2 }

vcCheckpointCompleted NOTIFICATION-TYPE
    OBJECTS { vcDomainCheckpointValid }
    STATUS  current
    DESCRIPTION
        "A checkpoint operation has completed following a checkpoint timeout
         trap. The checkpoint valid status is true again. This trap is
         not sent on every checkpoint completion, but only on a checkpoint
         completion after a vcCheckpointTimeout trap has been sent."
		 
		 --#SEVERITY INFORMATIONAL		 
		 
    ::= { vcDomainMIBNotifications 3 }

vcEnetNetworkManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcEnetNetworkManagedStatus, vcEnetNetworkIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of network has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 4 }


vcFcFabricManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcFcFabricManagedStatus, vcFcFabricIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of VC FC Fabric has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 5 }

vcModuleManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcModuleManagedStatus, vcModuleIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of VC module has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 6 }

vcEnclosureManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcEnclosureManagedStatus, vcEnclosureIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of the enclosure has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 7 }

vcPhysicalServerManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcPhysicalServerManagedStatus, vcPhysicalServerIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of the server has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 8 }

vcProfileManagedStatusChange NOTIFICATION-TYPE
    OBJECTS { vcProfileManagedStatus, vcProfileIndex }
    STATUS  deprecated
    DESCRIPTION
        "The managed status of the profile has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 9 }

vcTestTrap NOTIFICATION-TYPE
    OBJECTS { vcDomainName }
    STATUS  current
    DESCRIPTION
        "A test trap for verifying trap configuration."
		
		--#SEVERITY INFORMATIONAL
		
    ::= { vcDomainMIBNotifications 10 }

vcDomainStackingLinkRendundancyStatusChange NOTIFICATION-TYPE
    OBJECTS { vcDomainStackingLinkRedundant }
    STATUS  current
    DESCRIPTION
        "The stacking link connection redundancy status has changed."
		
		--#SEVERITY CRITICAL
		
    ::= { vcDomainMIBNotifications 11 }

--
-- Definitions for the Enhanced Notifications
--

-- Domain Traps 
vcDomainManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS {   vcDomainManagedStatus,
		vcDomainRootCause,
		vcDomainCause,
		vcDomainReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Domain has changed"
		
		--#TYPE "VC Domain Managed Status"
		--#SUMMARY "VC Domain Managed Status is now %d (RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {0, 1, 2, 3} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 1
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 12 }

-- Enclosure Traps 
vcEnclosureManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcEnclosureIndex, 
	     	vcEnclosureName, 
		vcEnclosureManagedStatus,
		vcEnclosureRootCause,
		vcEnclosureCause,
		vcEnclosureReasonCode } 
    STATUS  current
    DESCRIPTION
        "The managed status of Enclosure has changed"
		
		--#TYPE "VC Enclosure Managed Status"
		--#SUMMARY "VC Enclosure Managed Status is now %d (Index: %d, Name: %s, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {2, 0, 1, 3, 4, 5} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 3
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 13 }

-- Module Traps 
vcModuleManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcModuleIndex, 
		vcModuleManagedStatus,
		vcModuleRootCause,
		vcModuleCause,
		vcModuleReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Module has changed"
		
		--#TYPE "VC Module Managed Status"
		--#SUMMARY "VC Module Managed Status is now %d (Index: %d, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {1, 0, 2, 3, 4} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 2
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 14 }

-- Physical Server Traps
vcPhysicalServerManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcPhysicalServerIndex, 
		vcPhysicalServerManagedStatus, 
		vcPhysicalServerRootCause,
		vcPhysicalServerCause,
		vcPhysicalServerReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Physical Server has changed"
		
		--#TYPE "VC PhysicalServer Managed Status"
		--#SUMMARY "VC PhysicalServer Managed Status is now %d (Index: %d, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {1, 0, 2, 3, 4} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 2
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 16 }

-- Fabric Traps
vcFcFabricManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcFcFabricIndex, 
	     	vcFcFabricName, 
		vcFcFabricManagedStatus,
		vcFcFabricRootCause,
		vcFcFabricCause,
		vcFcFabricReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Fabric has changed"
		
		--#TYPE "VC Fabric Managed Status"
		--#SUMMARY "VC Fabric Managed Status is now %d (Index: %d, Name: %s, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {2, 0, 1, 3, 4, 5} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 3
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 17 }

-- Enet Network Traps 
vcEnetNetworkManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcEnetNetworkIndex, 
	     	vcEnetNetworkName, 
		vcEnetNetworkManagedStatus,
		vcEnetNetworkRootCause,
		vcEnetNetworkCause,
		vcEnetNetworkReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Network has changed"
		
		--#TYPE "VC Network Managed Status"
		--#SUMMARY "VC Network Managed Status is now %d (Index: %d, Name: %s, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {2, 0, 1, 3, 4, 5} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 3
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 18 }

-- Profile Traps
vcProfileManagedStatusChanged NOTIFICATION-TYPE
    OBJECTS { 	vcProfileIndex, 
	     	vcProfileName, 
		vcProfileManagedStatus, 
		vcProfileRootCause,
		vcProfileCause,
		vcProfileReasonCode }
    STATUS  current
    DESCRIPTION
        "The managed status of Profile has changed"
		
		--#TYPE "VC Profile Managed Status"
		--#SUMMARY "VC Profile Managed Status is now %d (Index: %d, Name: %s, RootCause: %s, Cause: %s, ReasonCode: %d)"
		--#ARGUMENTS {2, 0, 1, 3, 4, 5} 
		--#TIMEINDEX 99
		--#VARBINDSEVERITY 3
                --#SEVERITYMAP "normal=INFORMATIONAL, warning=INFORMATIONAL, minor=MINOR, warning=MAJOR, major=MAJOR, critical=CRITICAL, disabled=INFORMATIONAL, unknown=INFORMATIONAL"
	
    ::= { vcDomainMIBNotifications 19 }

--
-- Conformance
--

vcDomainMIBConformance OBJECT IDENTIFIER ::= { vcDomainMIB 3 }
vcDomainMIBCompliances OBJECT IDENTIFIER ::=
    { vcDomainMIBConformance 1 }
vcDomainMIBGroups      OBJECT IDENTIFIER ::=
    { vcDomainMIBConformance 2 }

-- Compliance

vcDomainMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION

            "The compliance statement for entities which implement
            the VC MIB."
    MODULE  -- this module
            MANDATORY-GROUPS {
                    vcDomainGroup, vcEnclosureGroup, vcModuleGroup,
                    vcPortGroup, vcPhysicalServerGroup, vcFcFabricGroup,
                    vcEnetNetworkGroup, vcProfileGroup,
                    vcEnetNetworkVcPortMapGroup,
                    vcFcFabricVcPortMapGroup,
                    vcProfileNetworkMapGroup,
                    vcProfileFcFabricMapGroup,
                    vcManagedStatusNotificationsGroup,
                    vcManagedStatusNotificationsGroup2
            }


    ::= { vcDomainMIBCompliances 1 }

-- Units of Conformance

vcDomainGroup OBJECT-GROUP
    OBJECTS {
            vcDomainName, vcDomainManagedStatus, vcDomainPrimaryAddressType,
            vcDomainPrimaryAddress, vcDomainCheckpointValid,
            vcDomainLastCheckpointTime, vcDomainStackingLinkRedundant,
            vcDomainRootCause, vcDomainCause, vcDomainReasonCode,
            vcDomainPrimaryAddressIpv6
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Domain level objects."
    ::= { vcDomainMIBGroups 1 }

vcEnclosureGroup OBJECT-GROUP
    OBJECTS {
            vcEnclosureIndex, vcEnclosureName, vcEnclosureManagedStatus,
            vcEnclosureAddressType, vcEnclosureAddress, vcEnclosureUUID,
            vcEnclosureRootCause, vcEnclosureCause, vcEnclosureReasonCode,
            vcEnclosureAddressIpv6
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Enclosure objects."
    ::= { vcDomainMIBGroups 2 }

vcModuleGroup OBJECT-GROUP
    OBJECTS {
            vcModuleIndex, vcModuleType, vcModuleManagedStatus,
            vcModulePartNumber, vcModuleFwRev, vcModuleEnclosurePointer,
            vcModuleLocation, vcModuleAddressType, vcModuleAddress,
            vcModuleID, vcModuleRootCause, vcModuleCause, vcModuleReasonCode,
            vcModuleAddressIpv6
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Module objects."
    ::= { vcDomainMIBGroups 3 }

vcPortGroup OBJECT-GROUP
    OBJECTS {
            vcPortIndex, vcPortType, vcPortManagedStatus,
            vcPortManagerAddressType, vcPortManagerAddress,
            vcPortContainerPointer, vcPortPhysicalPortPointer
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Port objects."
    ::= { vcDomainMIBGroups 4 }

vcPhysicalServerGroup OBJECT-GROUP
    OBJECTS {
            vcPhysicalServerIndex, vcPhysicalServerEnclosureIndex,
            vcPhysicalServerManagedStatus, vcPhysicalServerLocation,
            vcPhysicalServerRootCause, vcPhysicalServerCause, vcPhysicalServerReasonCode
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect PhysicalServer objects."
    ::= { vcDomainMIBGroups 5 }

vcFcFabricGroup OBJECT-GROUP
    OBJECTS {
            vcFcFabricIndex, vcFcFabricName, vcFcFabricManagedStatus,
            vcFcFabricRootCause, vcFcFabricCause, vcFcFabricReasonCode
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect FC Fabric objects."
    ::= { vcDomainMIBGroups 6 }

vcEnetNetworkGroup OBJECT-GROUP
    OBJECTS {
            vcEnetNetworkIndex, vcEnetNetworkName, vcEnetNetworkManagedStatus,
            vcEnetNetworkUplinkVlanId,
            vcEnetNetworkRootCause, vcEnetNetworkCause, vcEnetNetworkReasonCode
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Ethernet Network objects."
    ::= { vcDomainMIBGroups 7 }

vcProfileGroup OBJECT-GROUP
    OBJECTS {
            vcProfileIndex, vcProfileName, vcProfileManagedStatus,
            vcProfilePhysicalServerIndex, vcProfileLogicalSerialNumber,
            vcProfileRootCause, vcProfileCause, vcProfileReasonCode
    }
    STATUS current
    DESCRIPTION
            "Virtual Connect Server profile objects."
    ::= { vcDomainMIBGroups 8 }

vcEnetNetworkVcPortMapGroup OBJECT-GROUP
    OBJECTS {
            vcEnetNetworkVcPortMapNetworkIndex,
            vcEnetNetworkVcPortMapVcPortIndex
    }
    STATUS current
    DESCRIPTION
            "VC Ethernet Network to VC Port mapping objects."
    ::= { vcDomainMIBGroups 9 }

vcFcFabricVcPortMapGroup OBJECT-GROUP
    OBJECTS {
            vcFcFabricVcPortMapFcFabricIndex,
            vcFcFabricVcPortMapVcPortIndex
    }
    STATUS current
    DESCRIPTION
            "VC FC fabric to VC Port mapping objects."
    ::= { vcDomainMIBGroups 10 }

vcProfileNetworkMapGroup OBJECT-GROUP
    OBJECTS {
            vcProfileNetworkMapProfileIndex,
            vcProfileNetworkMapNetworkIndex
    }
    STATUS current
    DESCRIPTION
            "VC Profile to Ethernet network mapping objects."
    ::= { vcDomainMIBGroups 11 }

vcProfileFcFabricMapGroup OBJECT-GROUP
    OBJECTS {
            vcProfileFcFabricMapProfileIndex,
            vcProfileFcFabricMapFcFabricIndex
    }
    STATUS current
    DESCRIPTION
            "VC Profile to FC fabric mapping objects."
    ::= { vcDomainMIBGroups 12 }

vcManagedStatusNotificationsGroup  NOTIFICATION-GROUP
    NOTIFICATIONS {
            vcDomainManagedStatusChange, vcCheckpointTimeout,
            vcCheckpointCompleted, vcEnetNetworkManagedStatusChange,
            vcFcFabricManagedStatusChange, vcModuleManagedStatusChange,
            vcEnclosureManagedStatusChange, vcPhysicalServerManagedStatusChange,
            vcProfileManagedStatusChange, vcTestTrap, 
            vcDomainStackingLinkRendundancyStatusChange
    }
    STATUS  deprecated
    DESCRIPTION
            "The notifications which indicate specific changes in the
            Virtual Connect Domain managed status."
    ::= { vcDomainMIBGroups 13 }

vcManagedStatusNotificationsGroup2  NOTIFICATION-GROUP
    NOTIFICATIONS {
            vcDomainManagedStatusChanged, vcCheckpointTimeout,
            vcCheckpointCompleted, vcEnetNetworkManagedStatusChanged,
            vcFcFabricManagedStatusChanged, vcModuleManagedStatusChanged,
            vcEnclosureManagedStatusChanged, vcPhysicalServerManagedStatusChanged,
            vcProfileManagedStatusChanged, vcTestTrap, 
            vcDomainStackingLinkRendundancyStatusChange
    }
    STATUS  current
    DESCRIPTION
            "The notifications which indicate specific changes in the
            Virtual Connect Domain managed status."
    ::= { vcDomainMIBGroups 14 }

END
