-- ===================================================================== -- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P. -- -- Description: -- This MIB module is for configuring and monitoring VSAN (Virtual -- Storage Area Network) and domain management related entities. -- Reference: -- Version: V1.1 -- History: -- V1.0 Initial version created by qiaoxinghua 2013-02-27 -- V1.1 Added hpnicfVsanDmDomainIdChangeNotify and -- hpnicfVsanDmDomainIdChangeNotifyEnable by qiaoxinghua 2014-3-4 -- ===================================================================== HPN-ICF-VSAN-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Counter32 FROM SNMPv2-SMI RowStatus, TruthValue FROM SNMPv2-TC HpnicfFcVsanIndex, HpnicfFcNameIdOrZero, HpnicfFcDomainPriority, HpnicfFcDomainId, HpnicfFcNameId, HpnicfFcDomainIdOrZero, HpnicfFcDmState, HpnicfFcDomainIdList FROM HPN-ICF-FC-TC-MIB ifIndex FROM IF-MIB hpnicfCommon FROM HPN-ICF-OID-MIB; hpnicfSan MODULE-IDENTITY LAST-UPDATED "201403041550Z" ORGANIZATION "" CONTACT-INFO "" DESCRIPTION "This MIB module is for configuring and monitoring VSAN and domain management related entities." REVISION "201403041550Z" DESCRIPTION "Added hpnicfVsanDmDomainIdChangeNotify and hpnicfVsanDmDomainIdChangeNotifyEnable." REVISION "201302280940Z" DESCRIPTION "Initial version of this MIB module." ::= { hpnicfCommon 127 } -- -- Node definitions -- hpnicfVsan OBJECT IDENTIFIER ::= { hpnicfSan 1 } hpnicfVsanMibObjects OBJECT IDENTIFIER ::= { hpnicfVsan 1 } hpnicfVsanDmConfiguration OBJECT IDENTIFIER ::= { hpnicfVsanMibObjects 1 } -- VSAN Table hpnicfVsanTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfVsanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains all the VSANs configured on the device. It can be used to manage and monitor the VSANs on local device." ::= { hpnicfVsanDmConfiguration 1 } hpnicfVsanEntry OBJECT-TYPE SYNTAX HpnicfVsanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry that contains information about a VSAN in the hpnicfVsanTable." INDEX { hpnicfVsanIndex } ::= { hpnicfVsanTable 1 } HpnicfVsanEntry ::= SEQUENCE { hpnicfVsanIndex HpnicfFcVsanIndex, hpnicfVsanCoreSwitchName HpnicfFcNameIdOrZero, hpnicfVsanRowStatus RowStatus } hpnicfVsanIndex OBJECT-TYPE SYNTAX HpnicfFcVsanIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The identifier of the VSAN." ::= { hpnicfVsanEntry 1 } hpnicfVsanCoreSwitchName OBJECT-TYPE SYNTAX HpnicfFcNameIdOrZero (SIZE(8 | 16)) MAX-ACCESS read-only STATUS current DESCRIPTION "The Core Switch_Name of the VSAN, which is indicated by the switch's WWN(World Wide Name)." ::= { hpnicfVsanEntry 2 } hpnicfVsanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus. Now only three states are supported: createAndGo, active, and destroy." ::= { hpnicfVsanEntry 3 } -- DM Configuration hpnicfVsanDmTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfVsanDmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains domain management related configurations and information of VSANs. An entry in this table is created when corresponding VSAN is created, as well as deleted when the VSAN is deleted." ::= { hpnicfVsanDmConfiguration 2 } hpnicfVsanDmEntry OBJECT-TYPE SYNTAX HpnicfVsanDmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry of domain management related configurations and information of a specified VSAN." INDEX { hpnicfVsanIndex } ::= { hpnicfVsanDmTable 1} HpnicfVsanDmEntry ::= SEQUENCE { hpnicfVsanDmDomainConfigureEnable TruthValue, hpnicfVsanDmFabricNameConfigured HpnicfFcNameIdOrZero, hpnicfVsanDmPriorityConfigured HpnicfFcDomainPriority, hpnicfVsanDmAllowedDomainIdList HpnicfFcDomainIdList, hpnicfVsanDmDomainIdConfigured HpnicfFcDomainIdOrZero, hpnicfVsanDmDomainIdTypeConfigured INTEGER, hpnicfVsanDmAutoReconfigureEnable TruthValue, hpnicfVsanDmDomainRestart INTEGER, hpnicfVsanDmState HpnicfFcDmState, hpnicfVsanDmDomainIdAssigned HpnicfFcDomainIdOrZero, hpnicfVsanDmPrincipalSwitchWWN HpnicfFcNameId, hpnicfVsanDmLocalSwitchWWN HpnicfFcNameId, hpnicfVsanDmPrincipalSwRunPriority HpnicfFcDomainPriority, hpnicfVsanDmLocalSwRunPriority HpnicfFcDomainPriority, hpnicfVsanDmPrincipalSwSlctCnt Counter32, hpnicfVsanDmLocalPrincipalSwSlctCnt Counter32, hpnicfVsanDmBFCnt Counter32, hpnicfVsanDmRCFCnt Counter32 } hpnicfVsanDmDomainConfigureEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "To enable or disable the fabric configuration function in this VSAN. true: enabled, the fabric will be built dynamically. false: disabled, the fabric should be built statically by manual configurations." DEFVAL { true } ::= { hpnicfVsanDmEntry 1 } hpnicfVsanDmFabricNameConfigured OBJECT-TYPE SYNTAX HpnicfFcNameIdOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the fabric name in this VSAN, and will use a zero-length octet string as default value if not configured. The fabric name specified here takes effect only if the value of hpnicfVsanDmDomainConfigureEnable is 'false', and the same fabric name should be configured for all switches in this VSAN. If the value of hpnicfVsanDmDomainConfigureEnable is 'true', the principal switch WWN is used as fabric name. The value should be set to zero-length when canceling a configured fabric name." ::= { hpnicfVsanDmEntry 2 } hpnicfVsanDmPriorityConfigured OBJECT-TYPE SYNTAX HpnicfFcDomainPriority MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the priority of a switch in this VSAN, which is used during principal switch selection to cause one Switch to be favored over another." DEFVAL { 128 } ::= { hpnicfVsanDmEntry 3 } hpnicfVsanDmAllowedDomainIdList OBJECT-TYPE SYNTAX HpnicfFcDomainIdList MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the list of domain IDs that are allowed in the VSAN, and the configuration has different meanings in different scenarios: 1. Principal switch: Can only assign domains IDs within the allowed domain ID list. If the allowed domain ID list configured does not include any of the already assigned domain IDs or manually configured domain IDs, the configuration will fail. 2. Non-principal switch: The manually configured domain ID must be within the allowed domain ID list, or the configuration will fail. Besides, the domain ID assigned by principal switch must within the allowed domain ID list, or the switch will refuse the assigned domain ID and isolate the upstream interface. If the runtime domain ID for a switch is beyond the new configured ID list, the configuration will fail. The default value is a zero-length octet string. If This value is set with zero-length, the configuration will be cancelled in this VSAN." ::= { hpnicfVsanDmEntry 4 } hpnicfVsanDmDomainIdConfigured OBJECT-TYPE SYNTAX HpnicfFcDomainIdOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "Used to configure or cancel a domain ID for a switch in this VSAN. When this value is not zero, the domain ID type should be specified together via hpnicfVsanDmDomainIdTypeConfigured, or the default value of preferred type will be taken. The zero value is used to cancel the domain ID configured, and then, there is no need to specify its type. When statically build a fabric, the configured domain ID is the actual domain ID of the switch. If this object is not manually configured, the switch will isolate all of its E_ports in this VSAN no matter what domain ID type is configured. When dynamically build a fabric, the configured domain ID is desired by the switch, but the domain ID assigned to the switch may not be the desired one. If a non-principal switch fails to obtain any domain ID from the principal switch, the non-principal switch will isolate the upstream link. If a non-principal switch obtains a domain ID from the principal switch other than the desired one, different actions will be taken according to different domain ID type configured: - If configured static type, The non-principal switch will isolate the upstream link and refuse other domain IDs assigned by the principal switch. - If configured preferred type, the non-principal switch will use the domain ID assigned by the principal switch." DEFVAL { 0 } ::= { hpnicfVsanDmEntry 5 } hpnicfVsanDmDomainIdTypeConfigured OBJECT-TYPE SYNTAX INTEGER { static(1), preferred(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the type of configured domain ID, which can be static type or preferred type." DEFVAL { preferred } ::= { hpnicfVsanDmEntry 6 } hpnicfVsanDmAutoReconfigureEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Used to specify whether a disruptive reconfiguration will be automatically performed when the domain ID lists overlaps in fabric merging. The fabric reconfiguration function takes effect only when the value of hpnicfVsanDmDomainConfigureEnable is 'true'." DEFVAL { false } ::= { hpnicfVsanDmEntry 7 } hpnicfVsanDmDomainRestart OBJECT-TYPE SYNTAX INTEGER { noOperation(1), nonDisruptive(2), disruptive(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Used to manually trigger a disruptive or non-disruptive reconfiguration of the fabric." DEFVAL { noOperation } ::= { hpnicfVsanDmEntry 8 } hpnicfVsanDmState OBJECT-TYPE SYNTAX HpnicfFcDmState MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the managing state of the domain in this VSAN." ::= { hpnicfVsanDmEntry 9 } hpnicfVsanDmDomainIdAssigned OBJECT-TYPE SYNTAX HpnicfFcDomainIdOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the Domain ID of the local switch in this VSAN or zero if no Domain ID has been assigned." ::= { hpnicfVsanDmEntry 10 } hpnicfVsanDmPrincipalSwitchWWN OBJECT-TYPE SYNTAX HpnicfFcNameId MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the WWN of the principal switch in this VSAN, or zero-length string if the identity of the principal switch is unknown." ::= { hpnicfVsanDmEntry 11 } hpnicfVsanDmLocalSwitchWWN OBJECT-TYPE SYNTAX HpnicfFcNameId MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the WWN of the local switch in this VSAN." ::= { hpnicfVsanDmEntry 12 } hpnicfVsanDmPrincipalSwRunPriority OBJECT-TYPE SYNTAX HpnicfFcDomainPriority MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the running priority of the principal switch in this VSAN." ::= { hpnicfVsanDmEntry 13 } hpnicfVsanDmLocalSwRunPriority OBJECT-TYPE SYNTAX HpnicfFcDomainPriority MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the running priority of the local switch in this VSAN." ::= { hpnicfVsanDmEntry 14 } hpnicfVsanDmPrincipalSwSlctCnt OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The times that local switch has participated in principal switch selection in this VSAN." ::= { hpnicfVsanDmEntry 15 } hpnicfVsanDmLocalPrincipalSwSlctCnt OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The times that local switch was elected as principal switch in this VSAN." ::= { hpnicfVsanDmEntry 16 } hpnicfVsanDmBFCnt OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The times that local switch has participated in a BF(Build Fabric) process in this VSAN." ::= { hpnicfVsanDmEntry 17 } hpnicfVsanDmRCFCnt OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The times that local switch has participated in a RCF (Reconfigure Fabric) process in this VSAN." ::= { hpnicfVsanDmEntry 18 } -- DM If Configuration hpnicfVsanDmIfConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfVsanDmIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains the FC(Fibre Channel) related interface configurations about domain management of a VSAN." ::= { hpnicfVsanDmConfiguration 3 } hpnicfVsanDmIfConfigEntry OBJECT-TYPE SYNTAX HpnicfVsanDmIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry used for managing the FC related interface configurations about domain management of a VSAN. An entry can be created when any object in this table is set to non-default value, and be deleted when the objects in this table are set to default value." INDEX { ifIndex, hpnicfVsanIndex } ::= { hpnicfVsanDmIfConfigTable 1} HpnicfVsanDmIfConfigEntry ::= SEQUENCE { hpnicfVsanDmIfConfigRcfReject TruthValue } hpnicfVsanDmIfConfigRcfReject OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Used to specify whether the RCF(Reconfigure Fabric) requests received in this VSAN should be rejected. - true: the received RCF will be rejected. - false: the received RCF will be accepted." DEFVAL { false } ::= { hpnicfVsanDmIfConfigEntry 1 } -- DM Information hpnicfVsanDmInformation OBJECT IDENTIFIER ::= { hpnicfVsanMibObjects 2 } hpnicfVsanDmDatabaseTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfVsanDmDatabaseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table specifies the information of the switch about all the Domain IDs which have been assigned in each of the VSANs." ::= { hpnicfVsanDmInformation 1 } hpnicfVsanDmDatabaseEntry OBJECT-TYPE SYNTAX HpnicfVsanDmDatabaseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An object in the hpnicfVsanDmDatabaseTable contains one Domain ID and the corresponding WWN of the switch in one VSAN." INDEX { hpnicfVsanIndex, hpnicfVsanDmDatabaseDomainId } ::= { hpnicfVsanDmDatabaseTable 1 } HpnicfVsanDmDatabaseEntry ::= SEQUENCE { hpnicfVsanDmDatabaseDomainId HpnicfFcDomainId, hpnicfVsanDmDatabaseSwitchWWN HpnicfFcNameId } hpnicfVsanDmDatabaseDomainId OBJECT-TYPE SYNTAX HpnicfFcDomainId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Domain ID which has been assigned." ::= { hpnicfVsanDmDatabaseEntry 1 } hpnicfVsanDmDatabaseSwitchWWN OBJECT-TYPE SYNTAX HpnicfFcNameId MAX-ACCESS read-only STATUS current DESCRIPTION "The WWN of the switch to which the corresponding Domain ID has been assigned in the particular VSAN." ::= { hpnicfVsanDmDatabaseEntry 2 } hpnicfVsanDmIfInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF HpnicfVsanDmIfInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table specifies the information of an interface in each of the VSANs." ::= { hpnicfVsanDmInformation 2 } hpnicfVsanDmIfInfoEntry OBJECT-TYPE SYNTAX HpnicfVsanDmIfInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the hpnicfVsanDmIfInfoTable indicates the role information of the interface in the particular VSAN." INDEX { ifIndex, hpnicfVsanIndex } ::= { hpnicfVsanDmIfInfoTable 1 } HpnicfVsanDmIfInfoEntry ::= SEQUENCE { hpnicfVsanDmIfInfoRole INTEGER } hpnicfVsanDmIfInfoRole OBJECT-TYPE SYNTAX INTEGER { nonPrincipal(1), principalUpstream(2), principalDownstream(3), isolated(4), unknown(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The role of the interface in the VSAN. The value specifications are listed as follows: nonPrincipal - The state of the interface is not principal interface in the VSAN. principalUpstream - The state of the interface is upstream principal interface in the VSAN. principalDownstream - The state of the interface is downstream principal interface in the VSAN. isolated - The state of the interface is isolated in the VSAN. unknown - The state of the interface is unknown in the VSAN." ::= { hpnicfVsanDmIfInfoEntry 1 } -- DM Notifications hpnicfVsanDmNotifications OBJECT IDENTIFIER ::= { hpnicfVsanMibObjects 3 } hpnicfVsanDmNotificationPrefix OBJECT IDENTIFIER ::= { hpnicfVsanDmNotifications 0 } hpnicfVsanDmDomainIdNotAssignedNotify NOTIFICATION-TYPE OBJECTS {hpnicfVsanIndex, hpnicfVsanDmLocalSwitchWWN} STATUS current DESCRIPTION "This event will be triggered if a Domain ID is not assigned or configured, then the E_ports may be isolated in the VSAN. The conditions are listed as follows: 1. If the switch has enabled the fabric configuration and a request for a configured static Domain ID is rejected or no other Domain ID is assigned, the E_ports will be isolated in the particular VSAN. 2. If the switch does not enable the fabric configuration and a Domain ID is not configured, all of its E_ports will be isolated in the particular VSAN. The notification contains the WWN of the Switch and the index of the VSAN in which the event occurred." ::= { hpnicfVsanDmNotificationPrefix 1 } hpnicfVsanDmNewPrincipalSwitchNotify NOTIFICATION-TYPE OBJECTS {hpnicfVsanIndex, hpnicfVsanDmLocalSwitchWWN} STATUS current DESCRIPTION "If a switch becomes the new Principal Switch in a VSAN, this notification is sent immediately after the election. The notification contains the WWN of the new Principal Switch and the index of the VSAN in which the transition occurred." ::= { hpnicfVsanDmNotificationPrefix 2 } hpnicfVsanDmFabricChangeNotify NOTIFICATION-TYPE OBJECTS { hpnicfVsanIndex } STATUS current DESCRIPTION "This event will be triggered if a switch sends or receives a Build Fabric (BF) or a Reconfigure Fabric (RCF) message in a VSAN. The conditions a switch can receive or send a BF or a RCF are listed as follows: 1. Two isolated fabrics in a VSAN merge into one fabric. If the Domain ID lists do not overlap, the sent or received message is BF, other cases, it is RCF. 2. If an upstream principal link which connects to principal switch and other switches become disconnected, the sent or received message is BF. 3. A BF or RCF process is triggered manually by configuration. The notification contains the index of the VSAN in which a BF or a RCF was sent or received." ::= { hpnicfVsanDmNotificationPrefix 3 } hpnicfVsanDmDomainIdChangeNotify NOTIFICATION-TYPE OBJECTS { hpnicfVsanIndex, hpnicfVsanDmDomainIdAssigned, hpnicfVsanDmLocalSwitchWWN } STATUS current DESCRIPTION "This event will be triggered if the Domain ID of the local switch changed in a VSAN." ::= { hpnicfVsanDmNotificationPrefix 4 } hpnicfVsanDmNotificationSwitch OBJECT IDENTIFIER ::= { hpnicfVsanDmNotifications 1 } hpnicfVsanDmFabricChangeNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies whether the hpnicfVsanDmFabricChangeNotify can be sent when a BF or RCF message was sent or received by a switch." DEFVAL { false } ::= { hpnicfVsanDmNotificationSwitch 1 } hpnicfVsanDmDomainIdChangeNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies whether the hpnicfVsanDmDomainIdChangeNotify can be sent when the Domain ID of the local switch changed in a VSAN." DEFVAL { false } ::= { hpnicfVsanDmNotificationSwitch 2 } END