-- ===================================================================== -- Copyright (c) 2004-2014 Hangzhou H3C Tech. Co., Ltd. All rights reserved. -- -- 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 hh3cVsanDmDomainIdChangeNotify and -- hh3cVsanDmDomainIdChangeNotifyEnable by qiaoxinghua 2014-3-4 -- ===================================================================== HH3C-VSAN-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Counter32 FROM SNMPv2-SMI RowStatus, TruthValue FROM SNMPv2-TC Hh3cFcVsanIndex, Hh3cFcNameIdOrZero, Hh3cFcDomainPriority, Hh3cFcDomainId, Hh3cFcNameId, Hh3cFcDomainIdOrZero, Hh3cFcDmState, Hh3cFcDomainIdList FROM HH3C-FC-TC-MIB ifIndex FROM IF-MIB hh3cCommon FROM HH3C-OID-MIB; hh3cSan MODULE-IDENTITY LAST-UPDATED "201403041550Z" ORGANIZATION "Hangzhou H3C Tech. Co., Ltd." CONTACT-INFO "Platform Team Hangzhou H3C Tech. Co., Ltd. Hai-Dian District Beijing P.R. China http://www.h3c.com Zip:100085 " DESCRIPTION "This MIB module is for configuring and monitoring VSAN and domain management related entities." REVISION "201403041550Z" DESCRIPTION "Added hh3cVsanDmDomainIdChangeNotify and hh3cVsanDmDomainIdChangeNotifyEnable." REVISION "201302280940Z" DESCRIPTION "Initial version of this MIB module." ::= { hh3cCommon 127 } -- -- Node definitions -- hh3cVsan OBJECT IDENTIFIER ::= { hh3cSan 1 } hh3cVsanMibObjects OBJECT IDENTIFIER ::= { hh3cVsan 1 } hh3cVsanDmConfiguration OBJECT IDENTIFIER ::= { hh3cVsanMibObjects 1 } -- VSAN Table hh3cVsanTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cVsanEntry 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." ::= { hh3cVsanDmConfiguration 1 } hh3cVsanEntry OBJECT-TYPE SYNTAX Hh3cVsanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry that contains information about a VSAN in the hh3cVsanTable." INDEX { hh3cVsanIndex } ::= { hh3cVsanTable 1 } Hh3cVsanEntry ::= SEQUENCE { hh3cVsanIndex Hh3cFcVsanIndex, hh3cVsanCoreSwitchName Hh3cFcNameIdOrZero, hh3cVsanRowStatus RowStatus } hh3cVsanIndex OBJECT-TYPE SYNTAX Hh3cFcVsanIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "The identifier of the VSAN." ::= { hh3cVsanEntry 1 } hh3cVsanCoreSwitchName OBJECT-TYPE SYNTAX Hh3cFcNameIdOrZero (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)." ::= { hh3cVsanEntry 2 } hh3cVsanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "RowStatus. Now only three states are supported: createAndGo, active, and destroy." ::= { hh3cVsanEntry 3 } -- DM Configuration hh3cVsanDmTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cVsanDmEntry 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." ::= { hh3cVsanDmConfiguration 2 } hh3cVsanDmEntry OBJECT-TYPE SYNTAX Hh3cVsanDmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry of domain management related configurations and information of a specified VSAN." INDEX { hh3cVsanIndex } ::= { hh3cVsanDmTable 1} Hh3cVsanDmEntry ::= SEQUENCE { hh3cVsanDmDomainConfigureEnable TruthValue, hh3cVsanDmFabricNameConfigured Hh3cFcNameIdOrZero, hh3cVsanDmPriorityConfigured Hh3cFcDomainPriority, hh3cVsanDmAllowedDomainIdList Hh3cFcDomainIdList, hh3cVsanDmDomainIdConfigured Hh3cFcDomainIdOrZero, hh3cVsanDmDomainIdTypeConfigured INTEGER, hh3cVsanDmAutoReconfigureEnable TruthValue, hh3cVsanDmDomainRestart INTEGER, hh3cVsanDmState Hh3cFcDmState, hh3cVsanDmDomainIdAssigned Hh3cFcDomainIdOrZero, hh3cVsanDmPrincipalSwitchWWN Hh3cFcNameId, hh3cVsanDmLocalSwitchWWN Hh3cFcNameId, hh3cVsanDmPrincipalSwRunPriority Hh3cFcDomainPriority, hh3cVsanDmLocalSwRunPriority Hh3cFcDomainPriority, hh3cVsanDmPrincipalSwSlctCnt Counter32, hh3cVsanDmLocalPrincipalSwSlctCnt Counter32, hh3cVsanDmBFCnt Counter32, hh3cVsanDmRCFCnt Counter32 } hh3cVsanDmDomainConfigureEnable 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 } ::= { hh3cVsanDmEntry 1 } hh3cVsanDmFabricNameConfigured OBJECT-TYPE SYNTAX Hh3cFcNameIdOrZero 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 hh3cVsanDmDomainConfigureEnable is 'false', and the same fabric name should be configured for all switches in this VSAN. If the value of hh3cVsanDmDomainConfigureEnable 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." ::= { hh3cVsanDmEntry 2 } hh3cVsanDmPriorityConfigured OBJECT-TYPE SYNTAX Hh3cFcDomainPriority 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 } ::= { hh3cVsanDmEntry 3 } hh3cVsanDmAllowedDomainIdList OBJECT-TYPE SYNTAX Hh3cFcDomainIdList 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." ::= { hh3cVsanDmEntry 4 } hh3cVsanDmDomainIdConfigured OBJECT-TYPE SYNTAX Hh3cFcDomainIdOrZero 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 hh3cVsanDmDomainIdTypeConfigured, 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 } ::= { hh3cVsanDmEntry 5 } hh3cVsanDmDomainIdTypeConfigured 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 } ::= { hh3cVsanDmEntry 6 } hh3cVsanDmAutoReconfigureEnable 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 hh3cVsanDmDomainConfigureEnable is 'true'." DEFVAL { false } ::= { hh3cVsanDmEntry 7 } hh3cVsanDmDomainRestart 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 } ::= { hh3cVsanDmEntry 8 } hh3cVsanDmState OBJECT-TYPE SYNTAX Hh3cFcDmState MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the managing state of the domain in this VSAN." ::= { hh3cVsanDmEntry 9 } hh3cVsanDmDomainIdAssigned OBJECT-TYPE SYNTAX Hh3cFcDomainIdOrZero 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." ::= { hh3cVsanDmEntry 10 } hh3cVsanDmPrincipalSwitchWWN OBJECT-TYPE SYNTAX Hh3cFcNameId 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." ::= { hh3cVsanDmEntry 11 } hh3cVsanDmLocalSwitchWWN OBJECT-TYPE SYNTAX Hh3cFcNameId MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the WWN of the local switch in this VSAN." ::= { hh3cVsanDmEntry 12 } hh3cVsanDmPrincipalSwRunPriority OBJECT-TYPE SYNTAX Hh3cFcDomainPriority MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the running priority of the principal switch in this VSAN." ::= { hh3cVsanDmEntry 13 } hh3cVsanDmLocalSwRunPriority OBJECT-TYPE SYNTAX Hh3cFcDomainPriority MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the running priority of the local switch in this VSAN." ::= { hh3cVsanDmEntry 14 } hh3cVsanDmPrincipalSwSlctCnt 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." ::= { hh3cVsanDmEntry 15 } hh3cVsanDmLocalPrincipalSwSlctCnt OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The times that local switch was elected as principal switch in this VSAN." ::= { hh3cVsanDmEntry 16 } hh3cVsanDmBFCnt 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." ::= { hh3cVsanDmEntry 17 } hh3cVsanDmRCFCnt 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." ::= { hh3cVsanDmEntry 18 } -- DM If Configuration hh3cVsanDmIfConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cVsanDmIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains the FC(Fibre Channel) related interface configurations about domain management of a VSAN." ::= { hh3cVsanDmConfiguration 3 } hh3cVsanDmIfConfigEntry OBJECT-TYPE SYNTAX Hh3cVsanDmIfConfigEntry 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, hh3cVsanIndex } ::= { hh3cVsanDmIfConfigTable 1} Hh3cVsanDmIfConfigEntry ::= SEQUENCE { hh3cVsanDmIfConfigRcfReject TruthValue } hh3cVsanDmIfConfigRcfReject 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 } ::= { hh3cVsanDmIfConfigEntry 1 } -- DM Information hh3cVsanDmInformation OBJECT IDENTIFIER ::= { hh3cVsanMibObjects 2 } hh3cVsanDmDatabaseTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cVsanDmDatabaseEntry 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." ::= { hh3cVsanDmInformation 1 } hh3cVsanDmDatabaseEntry OBJECT-TYPE SYNTAX Hh3cVsanDmDatabaseEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An object in the hh3cVsanDmDatabaseTable contains one Domain ID and the corresponding WWN of the switch in one VSAN." INDEX { hh3cVsanIndex, hh3cVsanDmDatabaseDomainId } ::= { hh3cVsanDmDatabaseTable 1 } Hh3cVsanDmDatabaseEntry ::= SEQUENCE { hh3cVsanDmDatabaseDomainId Hh3cFcDomainId, hh3cVsanDmDatabaseSwitchWWN Hh3cFcNameId } hh3cVsanDmDatabaseDomainId OBJECT-TYPE SYNTAX Hh3cFcDomainId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Domain ID which has been assigned." ::= { hh3cVsanDmDatabaseEntry 1 } hh3cVsanDmDatabaseSwitchWWN OBJECT-TYPE SYNTAX Hh3cFcNameId 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." ::= { hh3cVsanDmDatabaseEntry 2 } hh3cVsanDmIfInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cVsanDmIfInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table specifies the information of an interface in each of the VSANs." ::= { hh3cVsanDmInformation 2 } hh3cVsanDmIfInfoEntry OBJECT-TYPE SYNTAX Hh3cVsanDmIfInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the hh3cVsanDmIfInfoTable indicates the role information of the interface in the particular VSAN." INDEX { ifIndex, hh3cVsanIndex } ::= { hh3cVsanDmIfInfoTable 1 } Hh3cVsanDmIfInfoEntry ::= SEQUENCE { hh3cVsanDmIfInfoRole INTEGER } hh3cVsanDmIfInfoRole 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." ::= { hh3cVsanDmIfInfoEntry 1 } -- DM Notifications hh3cVsanDmNotifications OBJECT IDENTIFIER ::= { hh3cVsanMibObjects 3 } hh3cVsanDmNotificationPrefix OBJECT IDENTIFIER ::= { hh3cVsanDmNotifications 0 } hh3cVsanDmDomainIdNotAssignedNotify NOTIFICATION-TYPE OBJECTS {hh3cVsanIndex, hh3cVsanDmLocalSwitchWWN} 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." ::= { hh3cVsanDmNotificationPrefix 1 } hh3cVsanDmNewPrincipalSwitchNotify NOTIFICATION-TYPE OBJECTS {hh3cVsanIndex, hh3cVsanDmLocalSwitchWWN} 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." ::= { hh3cVsanDmNotificationPrefix 2 } hh3cVsanDmFabricChangeNotify NOTIFICATION-TYPE OBJECTS { hh3cVsanIndex } 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." ::= { hh3cVsanDmNotificationPrefix 3 } hh3cVsanDmDomainIdChangeNotify NOTIFICATION-TYPE OBJECTS { hh3cVsanIndex, hh3cVsanDmDomainIdAssigned, hh3cVsanDmLocalSwitchWWN } STATUS current DESCRIPTION "This event will be triggered if the Domain ID of the local switch changed in a VSAN." ::= { hh3cVsanDmNotificationPrefix 4 } hh3cVsanDmNotificationSwitch OBJECT IDENTIFIER ::= { hh3cVsanDmNotifications 1 } hh3cVsanDmFabricChangeNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies whether the hh3cVsanDmFabricChangeNotify can be sent when a BF or RCF message was sent or received by a switch." DEFVAL { false } ::= { hh3cVsanDmNotificationSwitch 1 } hh3cVsanDmDomainIdChangeNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies whether the hh3cVsanDmDomainIdChangeNotify can be sent when the Domain ID of the local switch changed in a VSAN." DEFVAL { false } ::= { hh3cVsanDmNotificationSwitch 2 } END