-- *********************************************************************
-- CISCO-ZS-MIB.my: Zone Server Mib
--
-- September 2002 H K Vivek
--
-- Copyright (c) 2002-2003, 2004, 2005 by cisco Systems, Inc.
-- All rights reserved.
-- 
-- *********************************************************************

 
CISCO-ZS-MIB  DEFINITIONS ::= BEGIN
IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Counter32, Integer32, Unsigned32  FROM    SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP,
        NOTIFICATION-GROUP                FROM    SNMPv2-CONF
        TEXTUAL-CONVENTION, RowStatus,
        TruthValue, TestAndIncr,
        TimeStamp                         FROM    SNMPv2-TC
        InetAddressType, InetAddress      FROM    INET-ADDRESS-MIB
        ciscoMgmt                         FROM    CISCO-SMI
        SnmpAdminString                   FROM    SNMP-FRAMEWORK-MIB
        ifIndex, InterfaceIndexOrZero     FROM    IF-MIB
        vsanIndex                         FROM    CISCO-VSAN-MIB
        VsanIndex, DomainIdOrZero,
        FcAddressId, FcNameId             FROM    CISCO-ST-TC
        FcGs3RejectReasonCode             FROM    CISCO-NS-MIB;


ciscoZsMIB  MODULE-IDENTITY
        LAST-UPDATED  "200511100000Z"
        ORGANIZATION  "Cisco Systems Inc."
        CONTACT-INFO
                "     Cisco Systems
                      Customer Service
                Postal: 170 W Tasman Drive
                      San Jose, CA  95134
                      USA
                Tel: +1 800 553 -NETS
                E-mail: cs-san@cisco.com"
        DESCRIPTION
                "The MIB module for the management of zoning within 
                 the framework of Cisco's Zoning Server (ZS) Archi-
                 tecture which realizes the FC-GS3 requirements for
                 Zone Server. This MIB enables managers to configure 
                 and monitor zoning server parameters.
                 Additionally, Cisco's Zoning Server allows for
                 configuration of Lun zoning, which is an extension
                 to the Zoning Server standard specified by FC-GS3.

                 Glossary of terms used
                 ----------------------

                 VSAN  -  Virtual Storage Area Network.

                 Zone Merge - When the ISL (Inter Switch Link)
                              between 2 switches is brought up,
                              the zoning databases on the 2
                              switches are compared by means of
                              the Zone Merge protocol. If the
                              2 databases can be merged, the
                              ISL is brought up. Otherwise,
                              the link is isolated."

        REVISION  "200511100000Z"
        DESCRIPTION
                "Added new enum 'ipAddrv6' to ZoneMemberType TC.
                 Added description to the object zoneMemberID
                 corresponding to this enum.
                 Added zoneSetZoneListTable and
                 zoneSetEnforcedZoneListTable to increase the
                 number of zones that can be associated with 
                 a zoneset to 8192 from 2048. 
                 Changed the upper limit of zoneIndex and
                 zoneMemberParentIndex objects to 8192 from
                 2048.
                 Added zoneCompactTable and zoneCompactNotify.
                 Added new enum 'deviceAlias' to ZoneMemberType TC.
                 Deprecated zoneCopyActiveToFullOnVsan object.
                 Added new objects zoneCopyActToFullSpinLock,
                 zoneCopyActToFullMode and zoneCopyActToFullVsan.
                 Enhanced zoneMergeFailure notification to
                 include information regarding the details of
                 merge failure."
        REVISION  "200504070000Z"
        DESCRIPTION
                "Added zoneDbHardZoningEnabled to zoneDbTable.
                 Added zoneSetClone, zoneClone and zoneAliasClone
                 objects. Added zoneActivateNotify notification.
                 Added zoneSwitchWwn object to be used in
                 zoneActivateNotify notification."
        REVISION  "200409010000Z"
        DESCRIPTION
                "Added objects zoneQos, zoneQosPriority, 
                 zoneBroadcast and zoneAttribObjIndex to zoneTable.
                 Added objects zoneEnforcedZoneQos,
                 zoneEnforcedZoneQosPriority and
                 zoneEnforcedZoneBroadcast to zoneEnforcedZoneTable.
                 Added zoneDefaultZoneQos, zoneDefaultZoneQosPriority
                 and zoneDefaultZoneBroadcast to zoneDefaultZoneTable.
                 Changed DESCRIPTION of zoneSetName and zoneAliasName
                 objects to indicate that they support renaming."
        REVISION  "200401270000Z"
        DESCRIPTION
                "Added zoneZoneSetDistributeVsan,
                 zoneZoneSetDistributeResult and
                 zoneZoneSetDistributeFailReason objects for
                 supporting full zoneset distribution."
        REVISION  "200312120000Z"
        DESCRIPTION
                "Added new notification 
                 zoneUnsuppMemInIntOpModeNotify and corresponding 
                 notification control object
                 zoneUnsuppMemInIntOpNotifyEnable. Added object
                 zoneVsanId to be used in the above notification."
        REVISION  "200308250000Z"
        DESCRIPTION
                "Added zoneCopyTable.
                 Added 2 new member types to ZoneMemberType TC -
                 domainIntf and ipAddr."
        REVISION  "200308010000Z"
        DESCRIPTION
                "Added zoneLunStatsTable and zoneRoZoneStatsTable.
                 Changed the max size of zoneMemberID and
                 zoneEnforcedMemberID to 255 from 256.
                 Added zoneDefaultZoneReadOnly object to
                 zoneDefaultZoneTable.
                 Modified the DESCRIPTION of zoneName object in
                 zoneTable so that it can be renamed.
                 Added zoneAliasLastChange object to 
                 zoneAliasTable.
                 Deprecated zoneEnforcedZoneAliasTable.
                 Added 2 new member types (domainPort and intf)
                 to ZoneMemberType TC."
        REVISION  "200303260000Z"
        DESCRIPTION
                "Added TC FcChangeProtoFailCause and objects
                 zoneSetFailCause and zoneSetFailDomId to the
                 zoneSetActivateTable.
                 Added objects zoneDbEnforcedEqualsLocal and
                 zoneDbClearDb to new table zoneDbTable.
                 Added zoneReadOnly object to zoneTable and
                 zoneEnforcedZoneReadOnly object to 
                 zoneEnforcedZoneTable."
        REVISION  "200301170000Z"
        DESCRIPTION
                "Added symNodeName, a new enumeration to the
                 ZoneMemberType TC."
        REVISION  "200211080000Z"
        DESCRIPTION
                "Added zoneCopyActiveToFullOnVsan object."
        REVISION  "200210280000Z"
        DESCRIPTION
                "Added zoneSetPropagationTable."
        REVISION  "200210030000Z"
        DESCRIPTION
                "Initial version of this MIB."
        ::= { ciscoMgmt 294 }

ciscoZoningMIBObjects    OBJECT IDENTIFIER ::= { ciscoZsMIB 1 }
zoneServerMIBConformance OBJECT IDENTIFIER ::= { ciscoZsMIB 2 }
zoneConfiguration        OBJECT IDENTIFIER 
                         ::= { ciscoZoningMIBObjects 1 }
zoneStats                OBJECT IDENTIFIER 
                         ::= { ciscoZoningMIBObjects 2 }
zoneInformation          OBJECT IDENTIFIER 
                         ::= { ciscoZoningMIBObjects 3 }
zoneNotification         OBJECT IDENTIFIER 
                         ::= { ciscoZoningMIBObjects 4 }
zoneNotifications        OBJECT IDENTIFIER ::= { zoneNotification 0 }

-- Textual Conventions

ZoneMemberType ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
           "Represents the addressing mechanism by 
            which a member is identified.

            wwn(1)    -  The Port World Wide Name (PWWN).
            domainPort(2) - Domain and Port number format.
            fcAddr(3) -  FC-ID.
            fwwn(4)   -  Fabric Port World Wide Name. This
                         is used for Port based zoning.
            symNodeName(5) - Symbolic Node Name used for
                             iSCSI zoning.
            intf(6) - interface format.
            domainIntf(7) - Domain and Interface format.
            ipAddr(8) - IPv4 address format.
            ipAddrv6(9) - IPv6 address format.
            deviceAlias(10) - Device Alias. This is a human
                              readable string used to alias
                              a World Wide Name (WWN). It is 
                              defined in CISCO-FC-DEVICE-ALIAS-MIB."

        SYNTAX   INTEGER {
                    wwn(1),
                    domainPort(2),
                    fcAddr(3),
                    fwwn(4),
                    symNodeName(5),
                    intf(6),
                    domainIntf(7),
                    ipAddr(8),
                    ipAddrv6(9),
                    deviceAlias(10)
                 }

FcZoneServerRejReasonExpl ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
           "The reject reason code explanation for a zone server
            request.
            noAdditionalExplanation(1) - there is no additional
                                         explanation.
            zonesNotSupported(2) - zones are not supported.
            zoneSetNameUnknown(3) - zone set name is not known.
            noZoneSetActive(4) - no zone set is currently active.
            zoneNameUnknown(5) - zone name is unknown.
            zoneStateUnknown(6) - state of the zone is not known.
            incorrectPayloadLen(7) - payload len is not correct.
            tooLargeZoneSet(8) - zone set is larger than
                                 permitted size.
            deactivateZoneSetFailed(9) - deactivation of zone set
                                         failed.
            reqNotSupported(10) - request is not supported.
            capabilityNotSupported(11) - capability is not 
                                         supported.
            zoneMemberIDTypeNotSupp(12)-  type of zone member is not
                                          supported.
            invalidZoneSetDefinition(13) - zone set definition is
                                           invalid."
        SYNTAX  INTEGER {
                   noAdditionalExplanation(1),
                   zonesNotSupported(2),
                   zoneSetNameUnknown(3),
                   noZoneSetActive(4),
                   zoneNameUnknown(5),
                   zoneStateUnknown(6),
                   incorrectPayloadLen(7),
                   tooLargeZoneSet(8),
                   deactivateZoneSetFailed(9),
                   reqNotSupported(10),
                   capabilityNotSupported(11),
                   zoneMemberIDTypeNotSupp(12),                        
                   invalidZoneSetDefinition(13)
                }

FcList ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
          "Represents a list of entities.
           Each octet within the value of an object of this type,
           specifies a set of eight entities, with the first 
           octet specifying entities 1 through 8, the second
           octet specifying entities 9 through 16, etc. 

           Within each octet, the most significant bit
           represents the lowest numbered entity and the
           least significant bit represents the highest
           numbered entity.

           If the length of an object of this type is less
           than 256 bytes, then the entities which are not
           represented are not considered to be part of this
           list, i.e., effectively, the string is extended to
           be of length 256 bytes by appending bytes
           containing x'00'. Note that this means that the
           zero length string represents the 'list is empty'
           value."
       SYNTAX OCTET STRING (SIZE (0..256))

FcChangeProtoFailCause ::= TEXTUAL-CONVENTION
       STATUS current
       DESCRIPTION
           "The reason for the failure of Change Protocol, which
            kicks in due to zone set activation/de-activation.
            none(1) - no error.
            rcvdSfcBusy(2) - the local Zone Server received a busy
                             from one of the Zone Servers in the
                             fabric in response to SFC.
            rcvdUfcBusy(3) - the local Zone Server received a busy
                             from one of the Zone Servers in the
                             fabric in response to UFC.
            acaRetryExceed(4) - the number of ACA retries by
                                the local Zone Server has exceeded
                                the retry count.
            sfcRetryExceed(5) - the number of SFC retries by the
                                local Zone Server has exceeded the
                                retry count.
            ufcRetryExceed(6) - the number of UFC retries by the
                                local Zone Server has exceeded the
                                retry count.
            unsuppCmd(7) - the local Zone Server has received response
                           from one of the Zone Servers in the fabric 
                           that it does not support the particular 
                           command.
            notAuth(8) - the local Zone Server has received response
                         from one of the Zone Servers in the fabric
                         that the local Zone Server is not authorized 
                         to carry out the particular command.
            fabricChange(9) - the local Zone Server has received 
                              response from one of the Zone Servers 
                              that the fabric from it's viewpoint 
                              is changing.
            updateNotStaged(10) - the local Zone Server has received
                                  response from one of the Zone Servers
                                  in the fabric that it has received
                                  a UFC before an SFC.
            invalidZsetFormat(11) - the local Zone Server has received
                                    response from one of the Zone
                                    Servers in the fabric that the zone 
                                    set format in the pdu sent to it is 
                                    invalid.
            systemErr(12) - a system error has occured on the local Zone
                            Server.
            vsanNotPresent(13) - the specified VSAN is not present on
                                 the local Zone Server.
            vsanInactive(14) - the specifed VSAN is not active on the
                               local Zone Server.
            zsetNotPresent(15) - the specified zone set is not present
                                 on the local Zone Server.
            dbUpdateInProgress(16) - the local Zone Server's database
                                     is being updated.
            zsetNotActive(17) - the zone set specified for 
                                deactivation is not active on the 
                                local Zone Server.
            hwOperFailed(18) - the hardware update on the local Zone 
                               Server failed.
            fc2SeqSizeExceed(19) - the Change Protocol frame has 
                                   exceeded  the allowed maximum FC-2
                                   sequence size on the local 
                                   Zone Server.
            fc2SendFailed(20) - the FC-2 stack failed to send the 
                                frame on the local Zone Server. 
            zsetUnchangedAndActive(21) - the zone set specified for
                                         activation is already active
                                         and unchanged since the last
                                         activation on the local Zone
                                         Server.
            fabricUnstable(22) - the fabric has become unstable as
                                 detected by the local Zone Server.
            nonInteropMember(23) - one or more of the members specified
                                   in the zone set(s) to be activated,
                                   are in non-interoperable format and
                                   the interop mode is turned on, on 
                                   the local Zone Server.
            lcUpgradeInProgress(24) - line card upgrade is in progress
                                      on the local Zone Server."
       SYNTAX INTEGER {
                 none(1),
                 rcvdSfcBusy(2),
                 rcvdUfcBusy(3),
                 acaRetryExceed(4),
                 sfcRetryExceed(5),
                 ufcRetryExceed(6),
                 unsuppCmd(7),
                 notAuth(8),
                 fabricChange(9),
                 updateNotStaged(10),
                 invalidZsetFormat(11),
                 systemErr(12),
                 vsanNotPresent(13),
                 vsanInactive(14),
                 zsetNotPresent(15),
                 dbUpdateInProgress(16),
                 zsetNotActive(17),
                 hwOperFailed(18),
                 fc2SeqSizeExceed(19),
                 fc2SendFailed(20),
                 zsetUnchangedAndActive(21),
                 fabricUnstable(22),
                 nonInteropMember(23),
                 lcUpgradeInProgress(24)
              }

ZoneCopyProtocol ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "The protocol to be used for copying the active
                 zoneset over the network. If the copy is to
                 occur on the local device, then the method of
                 transfer is left to the implementation and is
                 not restricted to these protocols."
        SYNTAX  INTEGER {
                   tftp(1),
                   ftp(2),
                   sftp(3),
                   scp(4)
                }

ZoneFileType ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "The various types of files onto which the
                 active zoneset can be copied.
                 networkFile(1) - the active zoneset needs
                                  to be copied over the
                                  network.
                 localFile(2) - the active zoneset needs to
                                be copied to a file on the
                                local device."
        SYNTAX  INTEGER {
                   networkFile(1),
                   localFile(2)
                }

ZoneQosPriorityLevel ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Specifies the priority level for qos
                 attribute applied to a zone.

                 none - not applicable.

                 low - indicates low priority.

                 medium - indicates medium priority.

                 high - indicates high priority."

        SYNTAX  INTEGER {
                   none(1),
                   low(2),
                   medium(3),
                   high(4)
                }

ZoneMergeFailCause ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
                "Specifies the reason for zone merge failure.
                 When the Zone Merge takes place, the local
                 database is compared with the database of
                 the adjacent switch. The following
                 errors/mismatches can take place:

                 other - reason other than those specified
                         below.

                 zoningModeMismatch - mismatch in zoning modes
                                      between the 2 switches.

                 qosNotEnabled - qos is not enabled on one of
                                 the switches and qos
                                 attribute is present in one
                                 of the zones.

                 qosConflict - conflict between VSAN based Qos
                               and zone attribute qos.

                 bcastNotEnabled - broadcast service has not
                                   been enabled on one of the
                                   switches and broadcast
                                   attribute is present in
                                   one of the zones.

                 mergeCtrlMismatch - there is a mismatch in the 
                                     merge control flag value. 

                 defZoneMismatch - there is a mismatch in the
                                   default zone policy.

                 qosAttrMissing - qos attribute is missing.


                 bcastAttrMissing - broadcast attribute is
                                    missing.

                 rdonlyAttrMissing - read only attribute is
                                     missing.

                 memberMismatch - there is a mismatch in the
                                  members.

                 invPayloadFormat - the payload format is
                                    invalid.

                 sizeExceeded - the payload exceeded the
                                maximum size.

                 unlicensedMember - a member is unlicensed.

                 nonInteropZoneset - a zone attribute/member
                                     which cannot be supported
                                     in the current interop
                                     mode of the switch."
        SYNTAX  INTEGER {
                   other(1),
                   zoningModeMismatch(2),
                   qosNotEnabled(3),
                   qosConflict(4),
                   bcastNotEnabled(5),
                   mergeCtrlMismatch(6),
                   defZoneMismatch(7), 
                   qosAttrMissing(8),
                   bcastAttrMissing(9),
                   rdonlyAttrMissing(10),
                   memberMismatch(11),
                   invPayloadFormat(12),
                   sizeExceeded(13),
                   unlicensedMember(14),
                   nonInteropZoneset(15)
                }
--
-- zoneDefaultZoneTable
--

zoneDefaultZoneTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneDefaultZoneEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "A table containing information on all
                 default zones on all VSANs on the local
                 Zone Server."
        ::= { zoneConfiguration 1 }

zoneDefaultZoneEntry OBJECT-TYPE
        SYNTAX         ZoneDefaultZoneEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneDefaultZoneTable 1 }

ZoneDefaultZoneEntry ::= SEQUENCE {
        zoneDefaultZoneBehaviour   INTEGER,
        zoneDefaultZoneReadOnly    TruthValue,
        zoneDefaultZoneQos         TruthValue,
        zoneDefaultZoneQosPriority ZoneQosPriorityLevel,
        zoneDefaultZoneBroadcast   TruthValue
}

zoneDefaultZoneBehaviour OBJECT-TYPE
        SYNTAX         INTEGER {
                          permit(1), -- allow communication
                          deny(2) -- deny communication
                       }
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object controls the behaviour of the
                 default zone on this VSAN.

                 If this object is set to 'permit', then the
                 members of the default zone on this VSAN can 
                 communicate with each other.

                 If this object is set to 'deny', then the
                 members of the default zone on this VSAN cannot
                 communicate with each other."
        DEFVAL { deny }
        ::= { zoneDefaultZoneEntry 1 }

zoneDefaultZoneReadOnly OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object indicates if only SCSI read
                 operations are allowed on members of the
                 default zone which are SCSI targets, on 
                 this VSAN.

                 If this object is set to 'true', then only
                 SCSI read operations are permitted. So, this
                 default zone becomes a read-only default zone
                 on this VSAN.

                 If this object is set to 'false', then both
                 SCSI read and write operations are permitted."
        DEFVAL { false }
        ::= { zoneDefaultZoneEntry 2 }

zoneDefaultZoneQos OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object specifies if qos attribute for the
                 default zone on this VSAN is enabled. If this object 
                 is set to 'true', then qos attribute for the default 
                 zone on this VSAN is enabled.
                 If this object is set to 'false', then qos
                 attribute for the default zone on this VSAN is 
                 disabled.

                 If this attribute is enabled for this default zone,
                 then only traffic with the configured priority
                 level will be allowed between the members of
                 this default zone. The priority can be specified by 
                 means of the corresponding instance of 
                 zoneDefaultZoneQosPriority object."
        ::= { zoneDefaultZoneEntry 3 }

zoneDefaultZoneQosPriority OBJECT-TYPE
        SYNTAX         ZoneQosPriorityLevel 
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "Specifies the qos priority value. The value of
                 this object is relevant only if the corresponding
                 instance of zoneDefaultZoneQos object is enabled by 
                 setting it to 'true'."
        DEFVAL { none }
        ::= { zoneDefaultZoneEntry 4 }

zoneDefaultZoneBroadcast OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object specifies if broadcast zoning is
                 enabled on this default zone on this VSAN. If 
                 this object is set to 'true', then it is enabled. 
                 If this object is set to 'false', then it is disabled.

                 If broadcast zoning is enabled on this default zone,
                 then broadcast frames generated by a member in this
                 default zone will be restricted to members in this 
                 default zone."
        ::= { zoneDefaultZoneEntry 5 }

--
-- zoneSetPropagationTable
--

zoneSetPropagationTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneSetPropagationEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "A table containing information related to
                 propagation of zone set information during
                 Merge/Change protocols on all VSANs on the
                 local Zone Server."
        ::= { zoneConfiguration 2 }

zoneSetPropagationEntry OBJECT-TYPE
        SYNTAX         ZoneSetPropagationEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneSetPropagationTable 1 }

ZoneSetPropagationEntry ::= SEQUENCE {
        zoneSetPropagationMode      INTEGER
}

zoneSetPropagationMode OBJECT-TYPE
        SYNTAX         INTEGER {
                          fullZoneSet(1),
                          activeZoneSet(2)
                       }
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object controls the way zone set
                 information is propagated during 
                 Merge/Change protocols on this VSAN.

                 If this object is set to 'fullZoneSet',
                 then the entire zone set database is
                 sent during Change/Merge protocol
                 exchanges on this VSAN.

                 If this object is set to 'activeZoneSet',
                 only the active zone set is sent during
                 Change/Merge protocol exchanges on this
                 VSAN."
        DEFVAL { activeZoneSet }
        ::= { zoneSetPropagationEntry 1 }


zoneSetNumber OBJECT-TYPE
        SYNTAX         Integer32 (0..8388608)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneSetTable."
        ::= { zoneConfiguration 3 }

--
-- zoneSetTable
--

zoneSetTable  OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneSetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "A table containing information on each Zone 
                 Set which is configured and available on
                 any VSAN known to the local Zone Server.
                 The zoneSetTable lists all the zone sets 
                 configured on all the VSANs configured on the 
                 local zone server. There could be multiple zone 
                 sets configured on a VSAN. But only one zone set 
                 is allowed to be active at a time in each VSAN. A 
                 Zone Set is a collection of zones."
        ::= { zoneConfiguration 4 }

zoneSetEntry  OBJECT-TYPE
        SYNTAX        ZoneSetEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry (conceptual row) in the zoneSetTable. The 
                 zone sets are defined with respect to a VSAN. Hence,
                 this table is indexed by the vsanIndex, in addition to
                 the zoneSetIndex.
                 The sequence of operations to be performed in order
                 to create a zone set is as follows:

                 - create zone entries in the ZoneTable. 

                 - create an entry in this table and set the 
                   zoneSetZoneList bitmap object to contain the 
                   required zones.

                 - Note that it is perfectly valid to create an
                   empty zone set."
        INDEX { vsanIndex, zoneSetIndex }
        ::= { zoneSetTable 1 }

ZoneSetEntry ::= SEQUENCE {
        zoneSetIndex            Unsigned32,
        zoneSetName             SnmpAdminString,
        zoneSetZoneList         FcList,
        zoneSetLastChange       TimeStamp,
        zoneSetRowStatus        RowStatus,
        zoneSetClone            SnmpAdminString
}

zoneSetIndex  OBJECT-TYPE
        SYNTAX        Unsigned32 (1..2048)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The index of a zone set. This object uniquely 
                 identifies a zone set on a particular VSAN."
        ::= { zoneSetEntry 1 }

zoneSetName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The name of this zone set. The zoneSetName
                 should be unique within a VSAN.

                 The zone set can be renamed by setting this object
                 to a new value.

                 This object MUST be set before or concurrently
                 with setting the corresponding instance of
                 zoneSetRowStatus to 'active'."
        ::= { zoneSetEntry 2 }

zoneSetZoneList  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The set of zones which form this zone set on this
                 VSAN. The zones are identified by zoneIndex object 
                 in the zoneTable.

                 If a particular bit has a value of '1', then the 
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string.

                 The default value is the zero length string."
        DEFVAL { ''H }
        ::= { zoneSetEntry 3 }

zoneSetLastChange OBJECT-TYPE
        SYNTAX        TimeStamp
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The value of sysUpTime at the time of the last
                 change to this zone set entry. If the entry has
                 not been modified since the last re-initialization
                 of the local network management system, then this
                 object will contain a zero value."
        ::= { zoneSetEntry 4 }

zoneSetRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The status of this conceptual row.

                 This object can not be set to 'active' unless 
                 the corresponding value of zoneSetName is 
                 unique within the VSAN."
        ::= { zoneSetEntry 5 }

zoneSetClone OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "Setting this object to a name will result in
                 this zone set being cloned and the cloned
                 zone set will be set to this name.

                 When this object is read, the zero-length
                 string is returned." 
        ::= { zoneSetEntry 6 }

--
-- zoneSetActivateTable
--

zoneSetActivateTable  OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneSetActivateEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "This table contains atmost one entry for
                 each VSAN that is configured. These entries
                 reflect the state of the activation of a 
                 zone set on the corresponding VSAN.

                 The management station needs to create an
                 entry in this table on the desired VSAN before
                 a zone set can be activated on that VSAN."
        ::= { zoneConfiguration 5 }

zoneSetActivateEntry OBJECT-TYPE
        SYNTAX         ZoneSetActivateEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneSetActivateTable 1 }

ZoneSetActivateEntry ::= SEQUENCE {
        zoneSetActivate           Unsigned32,
        zoneSetActivateResult     INTEGER,
        zoneSetDeActivate         INTEGER,
        zoneSetActivateRowStatus  RowStatus,
        zoneSetFailCause          FcChangeProtoFailCause,
        zoneSetFailDomId          DomainIdOrZero
}


zoneSetActivate OBJECT-TYPE
        SYNTAX        Unsigned32 (1..2048)
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "Setting this object to a value is a request for a 
                 zone set to be activated on the particular VSAN,
                 i.e., for the current configuration of that zone
                 set to be cloned with the clone becoming the
                 active zone set for the particular VSAN.

                 Setting this object to a value (say, N) identifies
                 the zone set to be cloned as the zone set 
                 identified by zoneSetIndex object having the same
                 value N.

                 Even though there could be multiple zone sets on a 
                 VSAN, only one can be active at a time. If a zone
                 set is already active on a VSAN and a second zone
                 set is activated on the same VSAN, then the first 
                 zone set is automatically deactivated and the second 
                 zone set is activated.

                 The value of this object when read is always 0."
        ::= { zoneSetActivateEntry 1 }

zoneSetActivateResult OBJECT-TYPE
        SYNTAX        INTEGER {
                         activateSuccess(1), -- activation success
                         activateFailure(2), -- activation failure
                         deactivateSuccess(3), -- deactivation success
                         deactivateFailure(4), -- deactivation failure
                         inProgress(5), -- in progress
                         newEntry(6) -- entry just created
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "This object indicates the outcome of the most
                 recent activation/deactivation.

                 When the value of this object is 'inProgress',
                 the values of the corresponding instances of
                 zoneSetActivate, zoneSetDeActivate and
                 zoneSetActivateRowStatus cannot be modified.

                 The value 'newEntry' indicates that after the
                 entry has been created, activation/de-activation
                 has not yet been attempted on the entry."
        ::= { zoneSetActivateEntry 2 }

zoneSetDeActivate OBJECT-TYPE
        SYNTAX        INTEGER {
                         deactivate(1), -- deactivate zone set
                         noop(2) -- no operation
                      }
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "Setting this object to 'deactivate' is a request
                 to deactivate the currently active zone set on
                 this VSAN.

                 No action is taken if this object is set to
                 'noop'.

                 The value of this object when read is always 
                 'noop'."
        ::= { zoneSetActivateEntry 3 }

zoneSetActivateRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The status of this conceptual row."
        ::= { zoneSetActivateEntry 4 }
                         
zoneSetFailCause OBJECT-TYPE
        SYNTAX        FcChangeProtoFailCause
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The reason for the failure of the zone set
                 activation/de-activation.

                 The value of this object contains the reason
                 for the failure only if the value of the
                 corresponding instance of zoneSetActivateResult
                 is either 'activateFailure' or 
                 'deactivateFailure'."
        ::= { zoneSetActivateEntry 5 }

zoneSetFailDomId OBJECT-TYPE
        SYNTAX        DomainIdOrZero
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The domain id of the device in the fabric that
                 has caused the Change Protocol to fail.

                 This object will contain a valid domain id if
                 the activation/deactivation has failed and the
                 corresponding instance of zoneSetFailCause
                 has a value between rcvdSfcBusy(2) and 
                 invalidZsetFormat(11).
                 These errors are flagged by Zone Server modules
                 running on other devices in the entire fabric
                 as part of the Change Protocol.

                 The remaining errors are those that are detected
                 on the local Zone Server. In that case, this object
                 will contain the value 0."
        ::= { zoneSetActivateEntry 6 }

zoneNumber OBJECT-TYPE
        SYNTAX        Integer32 (0..8388608)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneTable."
        ::= { zoneConfiguration 6 }

--
-- zoneTable
--

zoneTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZoneEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table gives information on all the 
                 zones/aliases and lists all their members."
        ::= { zoneConfiguration 7 }

zoneEntry OBJECT-TYPE
        SYNTAX         ZoneEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in the zoneTable.
                 The sequence of operations to be performed in 
                 order to create a zone is as follows:

                 - create an entry in this table.

                 - create zone members in the zoneMemberTable
                   that belong to this zone.

                 - if aliases need to be created, create an
                   alias entry in the zoneAliasTable, create
                   alias members in the zoneMemberTable and
                   associate the alias with the required zone
                   entry by setting the zoneAliasList object
                   in this table appropriately."
        INDEX { vsanIndex, zoneIndex }
        ::= { zoneTable 1 }

ZoneEntry ::= SEQUENCE {
        zoneIndex            Unsigned32,
        zoneName             SnmpAdminString,
        zoneMemberList       FcList,
        zoneAliasList        FcList,
        zoneLastChange       TimeStamp,
        zoneRowStatus        RowStatus,
        zoneReadOnly         TruthValue,
        zoneQos              TruthValue,
        zoneQosPriority      ZoneQosPriorityLevel,
        zoneBroadcast        TruthValue,
        zoneClone            SnmpAdminString
}

zoneIndex  OBJECT-TYPE
        SYNTAX        Unsigned32 (1..8192)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The index of a zone on this VSAN."
        ::= { zoneEntry 1 }

zoneName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The name of this zone. The zoneName should be
                 unique within a VSAN.

                 The zone can be renamed by setting this object
                 to a new value.

                 This object MUST be set before or concurrently
                 with setting the corresponding instance of
                 zoneRowStatus to 'active'."
        ::= { zoneEntry 2 }

zoneMemberList  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of zone members that form this zone on 
                 this VSAN. 

                 The zone members are identified by zoneMemberIndex 
                 object in the zoneMemberTable.

                 If a particular bit has a value of '1', then the 
                 corresponding zone member is a part of this zone.
                 All other zone members have '0' in their 
                 positions or not present in the string.

                 This object is read-only; changes to its value
                 are made by the agent as and when associated
                 entries are created/deleted in the 
                 zoneMemberTable.

                 The default value is the zero length string."
        DEFVAL { ''H }
       ::= { zoneEntry 3 }

zoneAliasList  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The set of aliases that form this zone on this
                 VSAN. 

                 The aliases are identified by the zoneAliasIndex
                 object in the zoneAliasTable.

                 If a particular bit has a value of '1', then 
                 the corresponding alias is a part of this zone.
                 All other aliases have '0' in their positions 
                 or not present in the string.

                 The default value is the zero length string."
        DEFVAL {''H}
       ::= { zoneEntry 4 }

zoneLastChange OBJECT-TYPE
        SYNTAX        TimeStamp
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The value of sysUpTime at the time of the last
                 change to this zone entry. If the entry has not 
                 been modified since the last re-initialization
                 of the local network management system, then this
                 object will contain a zero value."
        ::= { zoneEntry 5 }

zoneRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The status of this conceptual row.

                 This object can not be set to 'active'
                 unless the corresponding value of zoneName
                 is unique within the VSAN."
        ::= { zoneEntry 6 }

zoneReadOnly OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object indicates if only SCSI read 
                 operations are allowed on the members of
                 this zone which are SCSI targets.

                 If the value of this object is set to 'true',
                 then only SCSI read operations are permitted.
                 So, this becomes a read-only zone.

                 If the value of this object is set to
                 'false', then both SCSI read and write
                 operations are permitted."
        DEFVAL { false }
        ::= { zoneEntry 7 }

zoneQos OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object specifies if qos attribute for this
                 zone is enabled. If this object is set to 'true',
                 then qos attribute for this zone is enabled.
                 If this object is set to 'false', then qos
                 attribute for this zone is disabled.

                 If this attribute is enabled for this zone,
                 then only traffic with the configured priority
                 level will be allowed between the members of
                 this zone. The priority can be specified by means
                 of the corresponding instance of zoneQosPriority
                 object."
        DEFVAL { false }
        ::= { zoneEntry 8 }

zoneQosPriority OBJECT-TYPE
        SYNTAX       ZoneQosPriorityLevel
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
                "Specifies the qos priority value. The value of
                 this object is relevant only if the corresponding
                 instance of zoneQos object is enabled by setting
                 it to 'true'."
        DEFVAL { none }
        ::= { zoneEntry 9 }

zoneBroadcast OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object specifies if broadcast zoning is
                 enabled on this zone. If this object is set to
                 'true', then it is enabled. If this object is
                 set to 'false', then it is disabled.

                 If broadcast zoning is enabled on this zone,
                 then broadcast frames generated by a member in this
                 zone will be restricted to members in this zone."
        DEFVAL { false }
        ::= { zoneEntry 10 }

zoneClone OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "Setting this object to a name will result in
                 this zone being cloned and the cloned
                 zone will be set to this name.

                 When this object is read, the zero-length
                 string is returned."
        ::= { zoneEntry 11 }

--
-- zoneAliasTable
--


zoneAliasNumber OBJECT-TYPE
        SYNTAX        Integer32 (0..8388608)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneAliasTable."
        ::= { zoneConfiguration 8 }

zoneAliasTable OBJECT-TYPE 
        SYNTAX        SEQUENCE OF ZoneAliasEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table gives information on all the aliases and 
                 their members."
        ::= { zoneConfiguration 9 }

zoneAliasEntry OBJECT-TYPE
        SYNTAX        ZoneAliasEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex, zoneAliasIndex }
        ::= { zoneAliasTable 1 }

ZoneAliasEntry ::= SEQUENCE {
        zoneAliasIndex                  Unsigned32,
        zoneAliasName                   SnmpAdminString,
        zoneAliasMemberList             FcList,
        zoneAliasRowStatus              RowStatus,
        zoneAliasLastChange             TimeStamp,
        zoneAliasClone                  SnmpAdminString
}

zoneAliasIndex OBJECT-TYPE
        SYNTAX        Unsigned32 (1..2048)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The index of an alias entry on this VSAN."
        ::= { zoneAliasEntry 1 }

zoneAliasName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The name of this alias. The name of the alias
                 should be unique within a VSAN.

                 The alias can be renamed by setting this object
                 to a new value.

                 This object MUST be set before or concurrently
                 with setting the corresponding instance of
                 zoneAliasRowStatus to 'active'."
        ::= { zoneAliasEntry 2 }

zoneAliasMemberList OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of zone members which form this alias
                 on this VSAN. 

                 The members of an alias are identified by the 
                 zoneMemberIndex object in the zoneMemberTable.

                 If a particular bit has a value of '1', then the 
                 corresponding zone member is a part of this alias.
                 All other zone members have '0' in their positions 
                 or not present in the string.

                 This object is read-only; changes to its value are
                 made by the agent as and when associated entries are
                 created/deleted in the zoneMemberTable.

                 The default value is the zero length string."
        DEFVAL { ''H }
        ::= { zoneAliasEntry 3 }

zoneAliasRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The status of this conceptual row.

                 This object can not be set to 'active'
                 unless the corresponding value of
                 zoneAliasName is unique within the VSAN."

        ::= { zoneAliasEntry 4 }

zoneAliasLastChange OBJECT-TYPE
        SYNTAX        TimeStamp
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The value of sysUpTime at the time of the last
                 change to this alias entry. If the entry has not 
                 been modified since the last re-initialization
                 of the local network management system, then this
                 object will contain a zero value."
        ::= { zoneAliasEntry 5 }

zoneAliasClone OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "Setting this object to a name will result in
                 this alias being cloned and the cloned
                 alias will be set to this name.

                 When this object is read, the zero-length
                 string is returned."
        ::= { zoneAliasEntry 6 }

--
-- zoneMemberTable
--

zoneMemberNumber OBJECT-TYPE
        SYNTAX        Integer32 (0..16777216)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneMemberTable."
        ::= { zoneConfiguration 10 }

zoneMemberTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZoneMemberEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table contains all members of a zone/alias 
                 and information about those members."
        ::= { zoneConfiguration 11 }

zoneMemberEntry OBJECT-TYPE
        SYNTAX        ZoneMemberEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry (conceptual row) in the zoneMemberTable.
                 Each entry represents the relationship between
                 a member and (one of) its 'parent(s)', i.e., a 
                 zone or alias to which the member belongs, within
                 a particular VSAN."
        INDEX { vsanIndex, zoneMemberTypeIndex, 
                zoneMemberParentIndex, zoneMemberIndex }
        ::= { zoneMemberTable 1 }

ZoneMemberEntry ::= SEQUENCE {
        zoneMemberTypeIndex             INTEGER,
        zoneMemberParentIndex           Unsigned32,
        zoneMemberIndex                 Unsigned32,
        zoneMemberFormat                ZoneMemberType,
        zoneMemberID                    OCTET STRING,
        zoneMemberLunID                 OCTET STRING,
        zoneMemberRowStatus             RowStatus
}


zoneMemberTypeIndex  OBJECT-TYPE
        SYNTAX        INTEGER {
                         zone(1), -- member belongs to a zone
                         alias(2) -- member belongs to an alias
                      }
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This object determines whether this member belongs
                 to a zone or an alias."
        ::= { zoneMemberEntry 1 }

zoneMemberParentIndex  OBJECT-TYPE
        SYNTAX        Unsigned32 (1..8192)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This object contains the value of the index of
                 the zone or alias to which this member belongs to.

                 If the value of the corresponding instance of 
                 zoneMemberTypeIndex is 'zone', then this object 
                 will contain the value of the zoneIndex object of 
                 the zone to which this member belongs to.

                 If the value of the corresponding instance of
                 zoneMemberTypeIndex is 'alias', then this object 
                 will contain the value of the zoneAliasIndex object 
                 of the alias to which this member belongs to."
        ::= { zoneMemberEntry 2 }


zoneMemberIndex  OBJECT-TYPE
        SYNTAX        Unsigned32 (1..2048)
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The index of this zone member on this VSAN on this
                 zone/alias."
        ::= { zoneMemberEntry 3 }

zoneMemberFormat OBJECT-TYPE
        SYNTAX        ZoneMemberType
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object identifies the format of the 
                 zone/alias member's identifier contained in 
                 zoneMemberID.

                 This object cannot be modified while the 
                 corresponding value of zoneMemberRowStatus object
                 is 'active'."
        ::= { zoneMemberEntry 4 }

zoneMemberID OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE (1..255))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object represents the zone/alias member ID. The 
                 interpretation of this object depends on the 
                 zoneMemberFormat object. 

                 If the value of corresponding instance of 
                 zoneMemberFormat object is 'wwn', then this object 
                 holds an 8 octet long Port WWN. 

                 If the value of corresponding instance of
                 zoneMemberFormat object is 'domainPort', then this
                 object contains a 2 octet value. The first octet
                 will represent the domain and the second octet
                 will represent the port.

                 If the value of the corresponding instance of 
                 zoneMemberFormat object is 'fcAddr', then this 
                 object contains the 3 octet N_Port FC-ID.

                 If the value of the corresponding instance of
                 zoneMemberFormat object is 'fwwn', then this object
                 contains the 8 octet Fabric Port WWN.

                 If the value of the corresponding instance of
                 zoneMemberFormat object is 'symNodeName', then
                 this object contains a symbolic node name which
                 could be of length 1 to 255 bytes.

                 If the value of corresponding instance of
                 zoneMemberFormat object is 'intf', then this 
                 object will contain a 12 octet value which is a 
                 concatenation of 4 octets containing an interface 
                 index (ifIndex) encoded in network byte order, and 
                 8 octets containing the WWN of a switch.

                 If the value of corresponding instance of
                 zoneMemberFormat object is 'domainIntf', then 
                 this object will contain a 5 octet value which
                 is a concatenation of 1 octet representing the
                 domain and 4 octets representing an interface
                 index (ifIndex) encoded in network byte order.

                 If the value of corresponding instance of
                 zoneMemberFormat object is 'ipAddr', then
                 this object will contain a 4 octet IP address
                 value followed by an optional 4 octets of
                 subnet mask.

                 If the value of corresponding instance of
                 zoneMemberFormat object is 'ipAddrv6', then
                 this object will contain a 16 octet IPv6 address
                 value followed by an optional 4 octets of
                 prefix length encoded in network byte order.

                 If the value of the corresponding instance of
                 zoneMemberFormat object is 'deviceAlias', then
                 this object contains a Device Alias which
                 could be of length 1 to 64 bytes.

                 This object cannot be modified while the 
                 corresponding value of zoneMemberRowStatus object
                 is 'active'."
        ::= { zoneMemberEntry 5 }

zoneMemberLunID OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE (0 | 8))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "This object specifies the Lun ID if Lun
                 zoning is configured.

                 If this object is the zero-length string, then
                 Lun zoning is not configured.

                 Lun zoning cannot be configured when the
                 corresponding instance of zoneMemberFormat
                 object has a value of 'fwwn', 'intf' or
                 'symNodeName'.

                 This object cannot be modified while the 
                 corresponding value of zoneMemberRowStatus object
                 is 'active'."
        DEFVAL { ''H }
        ::= { zoneMemberEntry 6 }

zoneMemberRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The status of this conceptual row.

                 zoneMemberID and zoneMemberFormat objects MUST
                 be set before or concurrently with setting the
                 corresponding instance of zoneMemberRowStatus 
                 to 'active'. If Lun zoning needs to be configured, 
                 then zoneMemberLunID object also needs to be set 
                 before or concurrently with setting the 
                 corresponding instance of zoneMemberRowStatus to
                 'active'."
        ::= { zoneMemberEntry 7 }


zoneEnforcedZoneSetNumber OBJECT-TYPE
        SYNTAX         Integer32 (0..2048)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneEnforcedZoneSetTable."
        ::= { zoneConfiguration 12 }

zoneEnforcedZoneSetTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneEnforcedZoneSetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "A table containing information on all currently
                 enforced zone sets (active zone sets) on all VSANs.
                 Only one zone set can be activated per VSAN. The
                 active zone set is one which is copied from the
                 zone set database (zoneSetTable) at the time it
                 was activated. This active zone set is then
                 enforced on the fabric. This active zone set
                 cannot be modified.                 
                 Note that this table will be empty when no zone set
                 is activated."
        ::= { zoneConfiguration 13 }

zoneEnforcedZoneSetEntry OBJECT-TYPE
        SYNTAX         ZoneEnforcedZoneSetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in the 
                 zoneEnforcedZoneSetTable."
        INDEX { vsanIndex }
        ::= { zoneEnforcedZoneSetTable 1 }

ZoneEnforcedZoneSetEntry ::= SEQUENCE {
        zoneEnforcedZoneSetName           SnmpAdminString,
        zoneEnforcedZoneSetZoneList       FcList,
        zoneEnforcedZoneSetActivateTime   TimeStamp
}

zoneEnforcedZoneSetName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The name of this zone set on this VSAN."
        ::= { zoneEnforcedZoneSetEntry 1 }

zoneEnforcedZoneSetZoneList  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of zones which form this zone set on
                 this VSAN. This object was copied from the 
                 zoneSetZoneList object in the zoneSetTable at
                 the time when the currently active zone set was
                 activated."
        ::= { zoneEnforcedZoneSetEntry 2 }

zoneEnforcedZoneSetActivateTime OBJECT-TYPE
        SYNTAX         TimeStamp
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The sysUpTime at which this entry was
                 most recently activated. If this entry has 
                 been activated prior to the last 
                 re-initialization of the local network 
                 management system, then this object will 
                 contain a zero value."
        ::= { zoneEnforcedZoneSetEntry 3 }


zoneEnforcedZoneNumber OBJECT-TYPE
        SYNTAX         Integer32 (0..8388608)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneEnforcedZoneTable."
        ::= { zoneConfiguration 14 }

zoneEnforcedZoneTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZoneEnforcedZoneEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table contains all the zones/aliases that are 
                 present in the active zone sets on all VSANs."
        ::= { zoneConfiguration 15 }

zoneEnforcedZoneEntry OBJECT-TYPE
        SYNTAX        ZoneEnforcedZoneEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex, zoneIndex }
        ::= { zoneEnforcedZoneTable 1 }

ZoneEnforcedZoneEntry ::= SEQUENCE {
        zoneEnforcedZoneName          SnmpAdminString,
        zoneEnforcedZoneMemberList    FcList,
        zoneEnforcedZoneAliasList     FcList,
        zoneEnforcedZoneActivateTime  TimeStamp,
        zoneEnforcedZoneReadOnly      TruthValue,
        zoneEnforcedZoneQos           TruthValue,
        zoneEnforcedZoneQosPriority   ZoneQosPriorityLevel,
        zoneEnforcedZoneBroadcast     TruthValue
}

zoneEnforcedZoneName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The name of this zone."
        ::= { zoneEnforcedZoneEntry 1 }

zoneEnforcedZoneMemberList OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of members that form this zone on this
                 VSAN. This object was copied from the zoneMemberList
                 object in the zoneTable at the time when the 
                 currently active zone set was activated."
        ::= { zoneEnforcedZoneEntry 2 }

zoneEnforcedZoneAliasList OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of aliases that form this zone on this
                 VSAN. This object was copied from the zoneAliasList
                 object in the zoneTable at the time when the
                 currently active zone set was activated."
        ::= { zoneEnforcedZoneEntry 3 }

zoneEnforcedZoneActivateTime OBJECT-TYPE
        SYNTAX         TimeStamp
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The sysUpTime at which this entry was
                 most recently activated. If this entry has 
                 been activated prior to the last 
                 re-initialization of the local network 
                 management system, then this object will 
                 contain a zero value."
        ::= { zoneEnforcedZoneEntry 4 }

zoneEnforcedZoneReadOnly OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates whether this is a 
                 read-only zone. This object was copied from 
                 the zoneReadOnly object in the zoneTable at 
                 the time when the currently active zone set 
                 was activated."
        ::= { zoneEnforcedZoneEntry 5 }

zoneEnforcedZoneQos OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates whether this is a 
                 qos enabled zone. This object was copied from 
                 the zoneQos object in the zoneTable at 
                 the time when the currently active zone set 
                 was activated."
        ::= { zoneEnforcedZoneEntry 6 }

zoneEnforcedZoneQosPriority OBJECT-TYPE
        SYNTAX         ZoneQosPriorityLevel
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates the priority of qos 
                 if it is a qos enabled zone. This object was 
                 copied from the zoneQosPriority object in the 
                 zoneTable at the time when the currently active 
                 zone set was activated."
        ::= { zoneEnforcedZoneEntry 7 }

zoneEnforcedZoneBroadcast OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates whether  broadcast zoning is
                 enabled. This object was copied from the 
                 zoneBroadcast object in the zoneTable at 
                 the time when the currently active zone set 
                 was activated."
        ::= { zoneEnforcedZoneEntry 8 }

zoneEnforcedZoneAliasNumber OBJECT-TYPE
        SYNTAX         Integer32 (0..8488608)
        MAX-ACCESS     read-only
        STATUS         deprecated
        DESCRIPTION
                "The number of entries currently present in the
                 zoneEnforcedZoneAliasTable."
        ::= { zoneConfiguration 16 }

zoneEnforcedZoneAliasTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZoneEnforcedZoneAliasEntry
        MAX-ACCESS    not-accessible
        STATUS        deprecated
        DESCRIPTION
                "This table contains all the aliases that
                 are a part of active zone sets on all VSANs."
        ::= { zoneConfiguration 17 }

zoneEnforcedZoneAliasEntry OBJECT-TYPE
        SYNTAX        ZoneEnforcedZoneAliasEntry
        MAX-ACCESS    not-accessible
        STATUS        deprecated
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex, zoneAliasIndex }
        ::= { zoneEnforcedZoneAliasTable 1 }

ZoneEnforcedZoneAliasEntry ::= SEQUENCE {
        zoneEnforcedZoneAliasName        SnmpAdminString,
        zoneEnforcedZoneAliasMemberList  FcList
}

zoneEnforcedZoneAliasName OBJECT-TYPE
        SYNTAX        SnmpAdminString (SIZE (1..64))
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "The name of this alias."
        ::= { zoneEnforcedZoneAliasEntry 1 }

zoneEnforcedZoneAliasMemberList OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        deprecated
        DESCRIPTION
                "The set of members that form this alias on this
                 VSAN. This object was copied from the 
                 zoneAliasMemberList object in the zoneAliasTable at
                 the time when the currently active zone set was
                 activated."
        ::= { zoneEnforcedZoneAliasEntry 2 }

zoneEnforcedZoneMemberNumber OBJECT-TYPE
        SYNTAX         Integer32 (0..16777216)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The number of entries currently present in the
                 zoneEnforcedZoneMemberTable."
        ::= { zoneConfiguration 18 }

zoneEnforcedZoneMemberTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneEnforcedZoneMemberEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "This table contains all members that are part 
                 of a zone/alias and are part of the active zone 
                 sets on all VSANs."
        ::= { zoneConfiguration 19 }

zoneEnforcedZoneMemberEntry OBJECT-TYPE
        SYNTAX          ZoneEnforcedZoneMemberEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex, zoneMemberTypeIndex,
                zoneMemberParentIndex, zoneMemberIndex }
        ::= { zoneEnforcedZoneMemberTable 1 }

ZoneEnforcedZoneMemberEntry ::= SEQUENCE {
        zoneEnforcedZoneMemberFormat       ZoneMemberType,
        zoneEnforcedZoneMemberID           OCTET STRING,
        zoneEnforcedZoneMemberLunID        OCTET STRING
}

zoneEnforcedZoneMemberFormat OBJECT-TYPE
        SYNTAX       ZoneMemberType
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                "This object identifies the address format of this
                 member. The address is contained in the 
                 corresponding instance of zoneEnforcedZoneMemberID
                 object."
        ::= { zoneEnforcedZoneMemberEntry 1 }

zoneEnforcedZoneMemberID OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (1..255))
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                "This object represents this member's address.
                 This object was copied from the zoneMemberID
                 object in the zoneMemberTable at the time when
                 the currently active zone set was activated."
        ::= { zoneEnforcedZoneMemberEntry 2 }

zoneEnforcedZoneMemberLunID OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (0 | 8))
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
                "This object specifies the Lun ID if LUN
                 zoning is configured. This object was copied
                 from the zoneMemberLunID object in the
                 zoneMemberTable at the time when the currently
                 active zone set was activated."
        ::= { zoneEnforcedZoneMemberEntry 3 }


zoneMergeFailRecoverSpinLock OBJECT-TYPE
        SYNTAX        TestAndIncr
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object is used to facilitate modification
                 of zoneMergeFailRecoverInterface, 
                 zoneMergeFailRecoverVsan and 
                 zoneMergeFailRecoverOper by multiple managers.
                 The procedure for modifying these objects is
                 as follows:

                 1. Determine new values for 
                    zoneMergeFailRecoverInterface, zoneMergeFail-
                    RecoverVsan and zoneMergeFailRecoverOper.

                 2. Retrieve the value of zoneMergeFailRecoverSpinLock.

                 3. Set the value of zoneMergeFailRecoverSpinLock to 
                    the retrieved value, and (in the same PDU) the value
                    of zoneMergeFailRecoverInterface to the new
                    value. If the set fails for 
                    zoneMergeFailRecoverSpinLock object, go back to step
                    2.

                 4. Set the value of zoneMergeFailRecoverSpinLock to
                    the retrieved value plus one, and (in the same PDU)
                    the value of zoneMergeFailRecoverVsan to the new
                    value. If the set fails for 
                    zoneMergeFailRecoverSpinLock object, go back to step
                    2.

                 5. Set the value of zoneMergeFailRecoverSpinLock to
                    the retrieved value plus two, and (in the same PDU)
                    the value of zoneMergeFailRecoverOper to the new
                    value. If the set fails for 
                    zoneMergeFailRecoverSpinLock object, go back to step
                    2.

                    Note that if it's possible to include 
                    zoneMergeFailRecoverVsan and/or 
                    zoneMergeFailRecoverOper in the (Set Req) PDU 
                    of an earlier step, then steps 4 and/or 5 can 
                    be eliminated."
        ::= { zoneConfiguration 20 }

zoneMergeFailRecoverInterface OBJECT-TYPE
        SYNTAX        InterfaceIndexOrZero
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "The interface on which the Merge Failure Recovery
                 needs to be carried out. The value of this object
                 before the first set operation will be zero."
        ::= { zoneConfiguration 21 }

zoneMergeFailRecoverVsan OBJECT-TYPE
        SYNTAX        VsanIndex
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "The VSAN on which the Merge Failure Recovery
                 needs to be carried out."
        DEFVAL { 1 }
        ::= { zoneConfiguration 22 }

zoneMergeFailRecoverOper OBJECT-TYPE
        SYNTAX        INTEGER {
                         import(1), -- import the active zone set
                         export(2), -- export the active zone set
                         noop(3)    -- no operation
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "The operation to be carried out. 

                 If this object is set to 'import', then the
                 Active Zone Set from across the isolated link 
                 is imported.

                 If this object is set to 'export', then the
                 Active Zone Set on the local system is 
                 exported across the isolated link.

                 No action is taken if this object is set
                 to 'noop'.

                 The value of this object when read is always
                 'noop'."
        ::= { zoneConfiguration 23 }

zoneMergeFailRecoverResult OBJECT-TYPE
        SYNTAX        INTEGER {
                         success(1), -- merge fail recovery successful
                         failure(2), -- merge fail recovery fail
                         inProgress(3) -- recovery in progress
                      }
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The result of the last Merge Failure Recovery
                 operation that was attempted.

                 If the value of this object is 'success', then
                 the merge fail recovery operation was 
                 successful.
      
                 If the value of this object is 'failure', then
                 the merge fail recovery operation failed.

                 If the value of this object is 'inProgress',
                 then the merge fail recovery operation is
                 still in progress."
        ::= { zoneConfiguration 24 }


zoneCopyActiveToFullOnVsan OBJECT-TYPE
        SYNTAX        VsanIndex
        MAX-ACCESS    read-write
        STATUS        deprecated 
        -- This object has been deprecated because in
        -- addition to setting the VSAN on which the
        -- copy has to take place, a mode also has
        -- been introduced. The objects to be used
        -- are zoneCopyActToFullSpinLock,
        -- zoneCopyActToFullMode and zoneCopyActToFullVsan.
        DESCRIPTION
                "The VSAN on which the enforced zone set 
                 (active zone set) needs to be copied to the
                 zone set database (full zone set). Setting
                 this object to a valid VSAN will trigger a 
                 copy of the enforced zone set on that VSAN
                 to the zone set database on the same VSAN.

                 Setting this object to an invalid VSAN-id
                 will result in an error and no copy will
                 take place."
        ::= { zoneConfiguration 25 }

-- Zone Server Statistics

zoneTotalGS3Rejects OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The total number of GS3 requests rejected 
                 by this Zone Server across all VSANs."
        ::= { zoneStats 1 }

zoneStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZoneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table contains statistic counters which are
                 maintained by the Zone Server. These counters are
                 maintained per VSAN."
        ::= { zoneStats 2 }

zoneStatsEntry OBJECT-TYPE
        SYNTAX        ZoneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneStatsTable 1 }

ZoneStatsEntry ::= SEQUENCE {
        zoneTxMergeReqs          Counter32,
        zoneRxMergeAccepts       Counter32,
        zoneRxMergeReqs          Counter32,
        zoneTxMergeAccepts       Counter32,
        zoneTxChangeReqs         Counter32,
        zoneRxChangeAccepts      Counter32,
        zoneRxChangeReqs         Counter32,
        zoneTxChangeAccepts      Counter32,
	zoneRxGS3Reqs            Counter32,
        zoneTxGS3Rejects         Counter32
}

zoneTxMergeReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Merge Request Frames sent by this 
                 Zone Server to other Zone Servers in the fabric 
                 on this VSAN."
        ::= { zoneStatsEntry 1 }

zoneRxMergeAccepts OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Merge Accept Frames received by this 
                 Zone Server from other Zone Servers in the fabric on 
                 this VSAN."
        ::= { zoneStatsEntry 2 }

zoneRxMergeReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Merge Request Frames received by this 
                 Zone Server from other Zone Servers in the fabric on 
                 this VSAN."
        ::= { zoneStatsEntry 3 }

zoneTxMergeAccepts OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Merge Accept Frames sent by this 
                 Zone Server to other Zone Servers in the fabric on 
                 this VSAN."
        ::= { zoneStatsEntry 4 }

zoneTxChangeReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Change Requests sent by this Zone 
                 Server to other Zone Servers in the fabric on 
                 this VSAN. 

                 This includes Acquire Change Authorization 
                 requests, Stage Fabric Config Update requests, 
                 Update Fabric Config requests and Release Change 
                 Authorization requests."
        ::= { zoneStatsEntry 5 }

zoneRxChangeAccepts OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Change Responses received by this 
                 Zone Server from other Zone Servers in the fabric 
                 on this VSAN. 

                 This includes Acquire Change Authorization Accept, 
                 Stage Fabric Config Update Accept, Update Fabric 
                 Config Accept and Release Change Authorization 
                 Accept frames."
        ::= { zoneStatsEntry 6 }

zoneRxChangeReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Change Requests received by this 
                 Zone Server from other Zone Servers in the fabric 
                 on this VSAN. 

                 This includes Acquire Change Authorization requests, 
                 Stage Fabric Config Update requests, Update Fabric 
                 Config requests and Release Change Authorization 
                 requests."
        ::= { zoneStatsEntry 7 }

zoneTxChangeAccepts OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of Change Responses sent by this 
                 Zone Server to other Zone Servers in the fabric 
                 on this VSAN. 

                 This includes Acquire Change Authorization Accept, 
                 Stage Fabric Config Update Accept, Update Fabric 
                 Config Accept and Release Change Authorization 
                 Accept frames."
        ::= { zoneStatsEntry 8 }

zoneRxGS3Reqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of GS3 requests received by this Zone
                 Server on this VSAN."
        ::= { zoneStatsEntry 9 }
                

zoneTxGS3Rejects OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of GS3 requests rejected by this Zone
                 Server on this VSAN."
        ::= { zoneStatsEntry 10 }

zoneLunStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZoneLunStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table contains statistic counters related to
                 LUNs. These counters are populated by the local 
                 Zone Server based on SCSI frames that are
                 forwarded to it because the LUNs being accessed 
                 have been zoned out from a initiator's list of 
                 accessible LUNs.
                 These counters are maintained per VSAN, per SCSI
                 initiator-target pair, per LUN."
        ::= { zoneStats 3 }

zoneLunStatsEntry OBJECT-TYPE
        SYNTAX        ZoneLunStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Each entry provides SCSI statistics, at the local
                 Zone Server, for the host identified by 
                 zoneLunSrcFcId trying to access the LUN 
                 identified by zoneLunNum, that has 
                 been zoned out from zoneLunSrcFcId's list of 
                 accessible LUNs, on the disk identified by 
                 zoneLunDstFcId on the VSAN identified by 
                 vsanIndex."
        INDEX { vsanIndex, 
                zoneLunSrcFcId,
                zoneLunDstFcId,
                zoneLunNum
              }
        ::= { zoneLunStatsTable 1 }

ZoneLunStatsEntry ::= SEQUENCE {
        zoneLunSrcFcId             FcAddressId,
        zoneLunDstFcId             FcAddressId,
        zoneLunNum                 OCTET STRING,
        zoneLunRxInqReqs           Counter32,
        zoneLunRxRepLunReqs        Counter32,
        zoneLunRxSenseReqs         Counter32,
        zoneLunRxOtherCmds         Counter32,
        zoneLunTxInqDataNoLus      Counter32,
        zoneLunTxIllegalReqs       Counter32
}

zoneLunSrcFcId  OBJECT-TYPE
        SYNTAX        FcAddressId
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The FC-ID of a SCSI initiator that is
                 accessing a LUN identified by
                 zoneLunNum."
        ::= { zoneLunStatsEntry 1 }

zoneLunDstFcId  OBJECT-TYPE
        SYNTAX        FcAddressId
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The FC-ID of a SCSI target containing the 
                 LUN identified by zoneLunNum."
        ::= { zoneLunStatsEntry 2 }

zoneLunNum  OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(8))
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The LUN that is being accessed."
        ::= { zoneLunStatsEntry 3 }

zoneLunRxInqReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of SCSI INQUIRY commands that have
                 been received by the local Zone Server from the 
                 SCSI initiator zoneLunSrcFcId to the SCSI 
                 target zoneLunDstFcId for the LUN 
                 zoneLunNum, on the VSAN vsanIndex."
        REFERENCE "Section 7.4 INQUIRY command.
                   SCSI Primary Commands- 3 (SPC-3)"
        ::= { zoneLunStatsEntry 4 }

zoneLunRxRepLunReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of SCSI Report LUNs commands that 
                 have been received by the local Zone Server from 
                 the SCSI initiator zoneLunSrcFcId to the SCSI
                 target zoneLunDstFcId for the LUN 
                 zoneLunNum, on the VSAN vsanIndex.
                 Typically the Report LUNs command is sent only
                 for LUN 0."
        REFERENCE "Section 7.22 REPORT LUNS command.
                   SCSI Primary Commands- 3 (SPC-3)"
        ::= { zoneLunStatsEntry 5 }

zoneLunRxSenseReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of SCSI SENSE commands that have
                 been received by the local Zone Server from the 
                 SCSI initiator zoneLunSrcFcId to the SCSI
                 target zoneLunDstFcId for the LUN 
                 zoneLunNum, on the VSAN vsanIndex."
        REFERENCE "Section 7.25 REQUEST SENSE command.
                   SCSI Primary Commands- 3 (SPC-3)"
        ::= { zoneLunStatsEntry 6 }

zoneLunRxOtherCmds OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of SCSI Read, Write, Seek etc.
                 commands received by the local Zone Server from
                 the SCSI initiator zoneLunSrcFcId to the SCSI
                 target zoneLunDstFcId for the LUN 
                 zoneLunNum, on the VSAN vsanIndex, during 
                 changes to the zoning configuration."
        ::= { zoneLunStatsEntry 7 }

zoneLunTxInqDataNoLus OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of 'No LU' error responses sent by the 
                 local Zone Server in response to SCSI INQUIRY 
                 commands from the SCSI initiator  zoneLunSrcFcId 
                 to the SCSI target zoneLunDstFcId for the LUN 
                 zoneLunNum, on the VSAN vsanIndex."
        REFERENCE "Section 5.9.3 Incorrect Logical Unit Selection
                   SCSI Architectural Model- 2 (SAM-2)"
        ::= { zoneLunStatsEntry 8 }

zoneLunTxIllegalReqs OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of 'Illegal Request Check Condition' 
                 responses sent by the local Zone Server in 
                 response to SCSI commands from the SCSI
                 initiator zoneLunSrcFcId to the SCSI target
                 zoneLunDstFcId for the LUN zoneLunNum, on 
                 the VSAN vsanIndex."
        REFERENCE "Section 5.9.3 Incorrect Logical Unit Selection
                   SCSI Architectural Model- 2 (SAM-2)"
        ::= { zoneLunStatsEntry 9 }

zoneRoZoneStatsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZoneRoZoneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "This table contains statistic counter(s) related
                 to read-only zones which are maintained by the
                 Zone Server. These counters are maintained per
                 VSAN, per SCSI initiator target pair, per LUN."
        ::= { zoneStats 4 }

zoneRoZoneStatsEntry OBJECT-TYPE
        SYNTAX        ZoneRoZoneStatsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "Each entry provides statistics for the host
                 identified by zoneRoZoneSrcFcId accessing the LUN
                 identified by zoneRoZoneLunNum on the disk
                 identified by zoneRoZoneDstFcId on the VSAN
                 identified by vsanIndex."
        INDEX { vsanIndex,
                zoneRoZoneSrcFcId,
                zoneRoZoneDstFcId,
                zoneRoZoneLunNum
              }             
        ::= { zoneRoZoneStatsTable 1 }

ZoneRoZoneStatsEntry ::= SEQUENCE {
        zoneRoZoneSrcFcId           FcAddressId,
        zoneRoZoneDstFcId           FcAddressId,
        zoneRoZoneLunNum            OCTET STRING,
        zoneRoZoneTxDataProts       Counter32
}

zoneRoZoneSrcFcId  OBJECT-TYPE
        SYNTAX        FcAddressId
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The FC-ID of a SCSI initiator that is
                 accessing a LUN identified by
                 zoneRoZoneLunNum."
        ::= { zoneRoZoneStatsEntry 1 }

zoneRoZoneDstFcId  OBJECT-TYPE
        SYNTAX        FcAddressId
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The FC-ID of a SCSI target containing the 
                 LUN identified by zoneRoZoneLunNum."
        ::= { zoneRoZoneStatsEntry 2 }

zoneRoZoneLunNum  OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(8))
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The LUN that is being accessed."
        ::= { zoneRoZoneStatsEntry 3 }

zoneRoZoneTxDataProts OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The number of 'Data protected Check Condition' 
                 error responses sent by the local Zone Server, 
                 when the SCSI initiator  identified by 
                 zoneRoZoneSrcFcId  tries to modify a LUN identified 
                 by  zoneRoZoneLunNum on the SCSI target 
                 zoneRoZoneDstFcId."
        REFERENCE "Section 5.1.13 Error Reporting, SCSI-3 Block
                   Commands (SBC)"
        ::= { zoneRoZoneStatsEntry 4 }

-- Notification information

zoneServiceRejReasonCode OBJECT-TYPE
        SYNTAX        FcGs3RejectReasonCode
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "This object contains the reason code corresponding
                 to the latest Zone Server request rejection."
        ::= { zoneInformation 1 }

zoneServiceRejReasonCodeExp OBJECT-TYPE
        SYNTAX        FcZoneServerRejReasonExpl
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "This object contains the reason code explanation
                 if the reason code is 'Unable to perform command 
                 req'. This object also corresponds to the latest 
                 Zone Server request rejection."
        ::= { zoneInformation 2 }

zoneMergeFailureVSANNum OBJECT-TYPE
        SYNTAX        Unsigned32 (0..4096)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "This object contains the number of the VSAN on an
                 interface on which the last zone merge failed.

                 If the zone merge has failed on all VSANs, then this
                 object will contain the value of 0."
        ::= { zoneInformation 3 }

zoneMergeSuccessVSANNum OBJECT-TYPE
        SYNTAX        Unsigned32 (0..4096)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "This object contains the number of the VSAN on an
                 interface on which the last zone merge succeeded.

                 If the zone merge has succeeded on all VSANs, then 
                 this object will contain the value of 0."
        ::= { zoneInformation 4 }

zoneMergeFailureObject OBJECT-TYPE
        SYNTAX        SnmpAdminString
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION
                "This object contains the name of the zoning
                 database object which was the cause of the 
                 merge failure. In cases where it is not
                 applicable, this object will contain the
                 null string."
        ::= { zoneInformation 5 }

zoneMergeFailureReason OBJECT-TYPE
        SYNTAX        ZoneMergeFailCause 
        MAX-ACCESS    accessible-for-notify
        STATUS        current
        DESCRIPTION
                "This object contains the reason for the 
                 the merge failure."
        ::= { zoneInformation 6 }
 
-- Notification control objects

zoneServiceReqRejNotifyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object specifies if the Zone Server should
                 issue a 'zoneServiceReqRejNotify' notification.

                 If the value of this object is 'true', then the 
                 notification is issued. 

                 If the value of this object is 'false', then the 
                 notification is not issued."
        ::= { zoneConfiguration 26 }

zoneMergeFailureNotifyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object specifies if the zone server should
                 issue a zoneMergeFailureNotify notification.

                 If the value of this object is 'true', then the
                 notification is issued. 

                 If the value of this object is 'false', then the
                 notification is not issued."
        ::= { zoneConfiguration 27 }

zoneMergeSuccessNotifyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object specifies if the zone server should
                 issue a zoneMergeSuccessNotify notification.

                 If the value of this object is 'true', then the
                 notification is issued. 

                 If the value of this object is 'false', then the
                 notification is not issued."
        ::= { zoneConfiguration 28 }

zoneDefZoneBehvrChngNotifyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object specifies if the zone server should
                 issue a zoneDefZoneBehaviourChngNotify 
                 notification.

                 If the value of this object is 'true', then the
                 notification is issued. 

                 If the value of this object is 'false', then the
                 notification is not issued."
        ::= { zoneConfiguration 29 }

-- Objects to perform Zone Server DB operations 

zoneDbTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneDbEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "This table contains one entry for each VSAN 
                 that is configured. These entries provide the
                 capability to perform operations on the local 
                 zone server database on a VSAN."
        ::= { zoneConfiguration 30 }

zoneDbEntry OBJECT-TYPE
        SYNTAX         ZoneDbEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneDbTable 1 }

ZoneDbEntry ::= SEQUENCE {
        zoneDbClearDb               INTEGER,
        zoneDbEnforcedEqualsLocal   TruthValue,
        zoneDbHardZoningEnabled     TruthValue
} 

zoneDbClearDb OBJECT-TYPE
        SYNTAX         INTEGER {
                          clear(1),
                          noop(2) 
                       }
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "Setting this object to 'clear(1)', will result
                 in the local zone server database being deleted
                 on this VSAN.

                 Setting this object to 'noop(2)', results in
                 no action.

                 When read, the value of this object is always
                 'noop(2)'."
        ::= { zoneDbEntry 1 }

zoneDbEnforcedEqualsLocal OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates if the enforced database
                 is the same as the local database on this VSAN.

                 If the value of this object is 'true', then they
                 are the same.

                 If the value of this object is 'false', then
                 they are not the same."
        ::= { zoneDbEntry 2 }

zoneDbHardZoningEnabled OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "This object indicates if hard zoning is
                 enabled on this VSAN. Hard Zoning is a 
                 mechanism by which zoning is enforced in
                 hardware.

                 If the value of this object is 'true', then 
                 hard zoning is enabled on this VSAN.

                 If the value of this object is 'false', then
                 hard zoning is not enabled on this VSAN."
        ::= { zoneDbEntry 3 }

zoneCopyTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneCopyEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "In this table, for each VSAN that is configured,
                 atmost one entry can be created. These entries 
                 provide the capability to copy the active zone set 
                 on a VSAN to a file on the local device and/or to
                 a remote device over the network.
                 At any point of time, only one copy operation
                 can be active for all the VSANs. If a second
                 copy is attempted, it will result in error."
        ::= { zoneConfiguration 31 }

zoneCopyEntry OBJECT-TYPE
        SYNTAX         ZoneCopyEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table."
        INDEX { vsanIndex }
        ::= { zoneCopyTable 1 }

ZoneCopyEntry ::= SEQUENCE {
        zoneCopyProto             ZoneCopyProtocol,
        zoneCopyDestFileType      ZoneFileType,
        zoneCopyServerAddrType    InetAddressType,
        zoneCopyServerAddr        InetAddress,
        zoneCopyDestFileName      SnmpAdminString,
        zoneCopyUserName          SnmpAdminString,
        zoneCopyUserPassword      SnmpAdminString,
        zoneCopyStartCopy         INTEGER,
        zoneCopyState             INTEGER,
        zoneCopyRowStatus         RowStatus
}

zoneCopyProto OBJECT-TYPE
        SYNTAX         ZoneCopyProtocol
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The protocol to be used for the copy of
                 the active zone set on this VSAN. If the 
                 copy needs to take place on the local device, 
                 then the value of this object will be ignored."
        DEFVAL { tftp }
        ::= { zoneCopyEntry 1 }

zoneCopyDestFileType OBJECT-TYPE
        SYNTAX         ZoneFileType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The type of file to which the active zoneset
                 needs to be copied. 

                 If the value of this object is set to 
                 'networkFile(1)', then values must be set for
                 the corresponding instances of zoneCopyServerAddr
                 and zoneCopyDestFileName objects.

                 If the value of this object is set to 
                 'localFile(2)', then the corresponding instance
                 of zoneCopyDestFileName must be set."
        DEFVAL { localFile }
        ::= { zoneCopyEntry 2 }

zoneCopyServerAddrType OBJECT-TYPE
        SYNTAX         InetAddressType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The type of address of the remote device as
                 specified by the corresponding instance of
                 zoneCopyServerAddr object."
        DEFVAL { ipv4 }
        ::= { zoneCopyEntry 3 }

zoneCopyServerAddr OBJECT-TYPE
        SYNTAX         InetAddress
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The ip address of the remote device to which
                 the active zoneset on this VSAN needs to be
                 copied. This object must be set to a valid
                 value when the corresponding instance of
                 zoneCopyDestFileType is set to 'networkFile'
                 before the copy can be initiated by means
                 of the zoneCopyStartCopy object.

                 The protocol to be used for the copy operation
                 is specified by the value of the
                 corresponding instance of zoneCopyProto
                 object."
        ::= { zoneCopyEntry 4 }

zoneCopyDestFileName OBJECT-TYPE
        SYNTAX         SnmpAdminString (SIZE(1..255))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The file-name, including the full path,
                 of the file to which the active zoneset
                 on this VSAN needs to be copied.

                 This object must be set to a valid value
                 before the copy can be initiated by means
                 of the zoneCopyStartCopy object."
        ::= { zoneCopyEntry 5 }

zoneCopyUserName OBJECT-TYPE
        SYNTAX         SnmpAdminString (SIZE(0..32))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The user name on the remote device onto
                 which the active zoneset on this VSAN
                 needs to be copied. This object needs to
                 be set only if the value of the
                 corresponding instance of zoneCopyDestFileType
                 object is 'networkFile'."
        ::= { zoneCopyEntry 6 }

zoneCopyUserPassword OBJECT-TYPE
        SYNTAX         SnmpAdminString (SIZE(0..32))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The password corresponding to the user
                 name specified by zoneCopyUserName object
                 on the remote device. This object is
                 meaningful only if the corresponding
                 instance of zoneCopyDestFileType object is
                 'networkFile' and the protocol to be
                 used as specified by zoneCopyProto is
                 'ftp' or 'sftp' or 'scp'.

                 The value of this object when read is
                 always the zero length string for 
                 security reasons."
        ::= { zoneCopyEntry 7 }

zoneCopyStartCopy OBJECT-TYPE
        SYNTAX         INTEGER {
                          copy(1),
                          noop(2)
                       }
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "This object provides the capability to
                 start the copy operation of the active
                 zoneset on this VSAN to the desired
                 destination.

                 When set to 'copy(1)', the copy of the
                 active zoneset on this VSAN is started.

                 No action is taken if this object is set
                 to 'noop(2)'.

                 The value of this object when read is
                 always 'noop'."
        ::= { zoneCopyEntry 8 }

zoneCopyState OBJECT-TYPE
        SYNTAX         INTEGER {
                          success(1),
                          timeout(2),
                          badFileName(3),
                          inProgress(4),
                          badUserNamePasswd(5),
                          incompleteConfig(6),
                          unknown(7),
                          sysErr(8),
                          anotherCopyInProgress(9)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The result of the most recent copy operation 
                 on this VSAN.

                 success(1) - indicates that the copy 
                              operation was successful.
                 timeout(2) - indicates that the copy operation
                              failed due to a timeout.
                 badFileName(3) - indicates that the file name/
                                  path/permissions are incorrect.
                 inProgress(4) - indicates that this copy 
                                 operation is currently in
                                 progress.
                 badUserNamePasswd(5) - indicates that the user
                                        name/password of the
                                        remote device is incorrect.
                 incompleteConfig(6) - configuration is
                                       incomplete.
                 unknown(7) - error is unknown.
                 sysErr(8) - system error
                 anotherCopyInProgress(9) - indicates that a
                                            copy operation on the
                                            same VSAN or another
                                            VSAN is already
                                            in progress."
        ::= { zoneCopyEntry 9 }

zoneCopyRowStatus OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
                "The status of this conceptual row."
        ::= { zoneCopyEntry 10 }

-- Notification control object (continued)

zoneUnsuppMemInIntOpNotifyEnable OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object specifies if the zone server should
                 issue a zoneUnsuppMemInIntOpModeNotify 
                 notification.

                 If the value of this object is 'true', then the
                 notification is issued. 

                 If the value of this object is 'false', then the
                 notification is not issued."
        DEFVAL { false }
        ::= { zoneConfiguration 32 }

zoneVsanId OBJECT-TYPE
        SYNTAX         VsanIndex
        MAX-ACCESS     accessible-for-notify
        STATUS         current
        DESCRIPTION
                "This object represents the VSAN id on which a
                 mismatch between the operating mode of the local
                 switch and the type of zone members has been
                 detected."
        ::= { zoneConfiguration 33 }

zoneZoneSetDistributeVsan OBJECT-TYPE
        SYNTAX         VsanIndex
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
                "This object represents the VSAN on which the
                 full zoneset information needs to be 
                 distributed throughout the fabric. Setting this
                 object to a valid VSAN will trigger such an
                 operation. Setting this object to an invalid
                 VSAN will result in an error and no action will
                 be taken.

                 It is to be noted that this operation of full
                 zoneset distribution on this VSAN is done
                 immediately and this is independent of 
                 activation/deactivation.

                 This is supported only in 'interop' modes 2 and
                 3.

                 When a full zoneset distribute operation is
                 in process on a VSAN, any attempt to start the
                 same on another VSAN will result in error."
        ::= { zoneConfiguration 34 }

zoneZoneSetDistributeResult OBJECT-TYPE
        SYNTAX         INTEGER {
                         success(1),
                         failure(2),
                         inProgress(3)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "The outcome of the full zoneset distribute
                 operation on the VSAN indicated by
                 zoneZoneSetDistributeVsan object."
        ::= { zoneConfiguration 35 }

zoneZoneSetDistributeFailReason OBJECT-TYPE
        SYNTAX         FcChangeProtoFailCause
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "If the outcome of distributing the full
                 zoneset on a VSAN is failure, then this
                 object will contain the reason for the
                 failure. In other cases, the value of
                 this object does not make sense."
        ::= { zoneConfiguration 36 }

zoneSwitchWwn OBJECT-TYPE
        SYNTAX         FcNameId
        MAX-ACCESS     accessible-for-notify
        STATUS         current
        DESCRIPTION
                "This object represents the WWN of the 
                 local device. It is used in the
                 notification zoneActivateNotify."
        ::= { zoneConfiguration 37 }

zoneSetZoneListTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneSetZoneListEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "This table is an extension to the
                 zoneSetTable defined above. 
                 The object zoneSetZoneList in zoneSetTable
                 represents the set of zones that form a 
                 zoneset. However, this object has the
                 limitation of being able to represent
                 only 2048 zones. This table which extends
                 the zoneSetTable overcomes this limitation
                 and the number of zones that form a 
                 zoneset is increased to 8192."
        ::= { zoneConfiguration 38 }

zoneSetZoneListEntry OBJECT-TYPE
        SYNTAX         ZoneSetZoneListEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
                "An entry (conceptual row) in this table
                 represents a set of 6144 zones that can be
                 associated with the zoneset represented by
                 zoneSetIndex on VSAN represented by
                 vsanIndex."
        AUGMENTS { zoneSetEntry }
        ::= { zoneSetZoneListTable 1 }

ZoneSetZoneListEntry ::= SEQUENCE {
        zoneSetZoneListBmap4k      FcList,
        zoneSetZoneListBmap6k      FcList,
        zoneSetZoneListBmap8k      FcList
}

zoneSetZoneListBmap4k  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
                "The set of zones from ids 2049 to 4096 which form 
                 this zone set on this VSAN. The zones are
                 identified by zoneIndex object in the 
                 zoneTable.

                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string.

                 The default value is the zero length string."
        DEFVAL { ''H }
        ::= { zoneSetZoneListEntry 1 }

zoneSetZoneListBmap6k  OBJECT-TYPE 
        SYNTAX        FcList
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION    
                "The set of zones from ids 4097 to 6144 which form
                 this zone set on this VSAN. The zones are
                 identified by zoneIndex object in the
                 zoneTable.

                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string.

                 The default value is the zero length string."
        DEFVAL { ''H }
        ::= { zoneSetZoneListEntry 2 }

zoneSetZoneListBmap8k  OBJECT-TYPE 
        SYNTAX        FcList
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION    
                "The set of zones from ids 6145 to 8192 which form
                 this zone set on this VSAN. The zones are
                 identified by zoneIndex object in the
                 zoneTable.

                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string.

                 The default value is the zero length string."
        DEFVAL { ''H }
        ::= { zoneSetZoneListEntry 3 }

zoneSetEnforcedZoneListTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF ZoneSetEnforcedZoneListEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    
                "This table is an extension to the
                 zoneEnforcedZoneSetTable defined above. 
                 The object zoneEnforcedZoneSetZoneList in 
                 zoneEnforcedZoneSetTable represents the
                 set of enforced zones that form an
                 enforced zoneset. However, this object has the 
                 limitation of being able to represent
                 only 2048 zones. This table which extends
                 the zoneEnforcedZoneSetTable overcomes this 
                 limitation and the number of enforced zones that 
                 form an enforced zoneset is increased to
                 8192."
        ::= { zoneConfiguration 39 }
        
zoneSetEnforcedZoneListEntry OBJECT-TYPE
        SYNTAX         ZoneSetEnforcedZoneListEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    
                "An entry (conceptual row) in this table
                 represents a set of upto 6144 enforced zones 
                 that can be associated with the enforced
                 zoneset on VSAN represented by vsanIndex."
        AUGMENTS { zoneEnforcedZoneSetEntry }
        ::= { zoneSetEnforcedZoneListTable 1 }
        
ZoneSetEnforcedZoneListEntry ::= SEQUENCE {
        zoneSetEnforcedZoneListBmap4k      FcList,
        zoneSetEnforcedZoneListBmap6k      FcList,
        zoneSetEnforcedZoneListBmap8k      FcList
}       

zoneSetEnforcedZoneListBmap4k  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   
                "The set of zones from ids 2049 to 4096 which form
                 the enforced  zone set on this VSAN. The enforced 
                 zones are identified by zoneIndex object in the
                 zoneEnforcedZoneTable. 
                 
                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string."
        ::= { zoneSetEnforcedZoneListEntry 1 }

zoneSetEnforcedZoneListBmap6k  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of zones from ids 4097 to 6144 which form
                 the enforced  zone set on this VSAN. The enforced 
                 zones are identified by zoneIndex object in the
                 zoneEnforcedZoneTable.

                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string."
        ::= { zoneSetEnforcedZoneListEntry 2 }

zoneSetEnforcedZoneListBmap8k  OBJECT-TYPE
        SYNTAX        FcList
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
                "The set of zones from ids 6145 to 8192 which form
                 the enforced  zone set on this VSAN. The enforced 
                 zones are identified by zoneIndex object in the
                 zoneEnforcedZoneTable.

                 If a particular bit has a value of '1', then the
                 corresponding zone is a part of this zone set.
                 All other zones have '0' in their positions or
                 not present in the string."
        ::= { zoneSetEnforcedZoneListEntry 3 }

zoneCompactTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZoneCompactEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "The zoneSetZoneList object and the
                 zoneSetZoneListTable allow upto 8192
                 zones to be associated with a zoneset.
                 This is done with the help of 4 bitmaps
                 each of which represent 2048 zones. There
                 may exist a situation where the 'lowest'
                 bitmap may not be fully populated but
                 'higher' bitmaps may have bits set in them.
                 Semantically what this means is: the lowest
                 2048 zones have not been fully associated,
                 but zones with higher ids have been
                 associated. This kind of a situation causes
                 problems for management stations which are
                 only aware of older versions of this MIB. They
                 are only aware of zoneSetZoneList object and
                 hence only the 'lowest' 2048 zones that are
                 associated with a zoneset. In the above
                 situation, the total number of zones
                 associated with the zoneset could be less
                 than 2048. But by virtue of being distributed
                 in the 'higher' bitmaps, those zones will
                 not be seen by those management stations as
                 they are not aware of the new objects in
                 zoneSetZoneListTable. In such a situation,
                 a management station which is aware of this
                 version of the MIB, can choose to compact
                 the zones associated with zonesets on a 
                 VSAN, so that the holes in the lowest 2048
                 zones are filled.

                 Note that this table facilitates compaction
                 of only the first 2048 zones and not zones
                 belonging to 'higher' bitmaps."
        ::= { zoneConfiguration 40 }

zoneCompactEntry OBJECT-TYPE
        SYNTAX        ZoneCompactEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
                "An entry allows compaction to be carried
                 out on a VSAN."
        INDEX { vsanIndex }
        ::= { zoneCompactTable 1 }

ZoneCompactEntry ::= SEQUENCE {
        zoneCompactFirst2k    INTEGER
}

zoneCompactFirst2k OBJECT-TYPE
        SYNTAX       INTEGER {
                        compact(1),
                        noop(2)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
                "Setting this object to 'compact' will
                 result in compaction of the lowest
                 2048 zones that are associated to
                 zonesets on this VSAN. Zones present
                 in higher bitmaps will be moved down
                 so that the holes in the lowest 2048
                 zones are filled. As a result of this,
                 the ids of the corresponding zones are
                 changed and a management station should
                 re-read the zoneTable. If such a 
                 compaction is not possible or the
                 lowest 2048 zones are already compacted,
                 the SET operation will result in error.

                 If a compaction operation goes through
                 successfully, then the notification
                 zoneCompactNotify is generated.

                 Setting this object to 'noop', will
                 result in no action being taken.

                 The value of this object when read is
                 always 'noop'."
        ::= { zoneCompactEntry 1 }

zoneCompactVsan OBJECT-TYPE
        SYNTAX      VsanIndex
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
                "This object represents the VSAN on which
                 a successful zone compaction has taken place.
                 It is used in the notification
                 zoneCompactNotify."
        ::= { zoneConfiguration 41 }

zoneCopyActToFullSpinLock OBJECT-TYPE
        SYNTAX        TestAndIncr
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "This object is used to facilitate modification
                 of zoneCopyActToFullMode and zoneCopyActToFullOnVsan
                 by multiple managers.
                 The procedure for modifying these objects is
                 as follows:

                 1. Determine new values for
                    zoneCopyActToFullMode, zoneCopyActToFullOnVsan.

                 2. Retrieve the value of zoneCopyActToFullSpinLock.

                 3. Set the value of zoneCopyActToFullSpinLock to
                    the retrieved value, and (in the same PDU) the value
                    of zoneCopyActToFullMode to the new
                    value. If the set fails for zoneCopyActToFullSpinLock,
                    go back to step 2.

                 4. Set the value of zoneCopyActToFullSpinLock to
                    the retrieved value plus one, and (in the same PDU)
                    the value of zoneCopyActToFullOnVsan to the new
                    value. If the set fails for
                    zoneCopyActToFullSpinLock object, go back to step
                    2.

                    Note that if it's possible to include
                    zoneCopyActToFullOnVsan in the (Set Req) 
                    PDU of the earlier step, then step 4 can be
                    eliminated."
        ::= { zoneConfiguration 42 }

zoneCopyActToFullMode OBJECT-TYPE
        SYNTAX        INTEGER {
                         includeAutoZones(1),
                         excludeAutoZones(2),
                         noop(3)
                      }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "Setting this object to 'includeAutoZones', results
                 in certain internal zones created by Zone Server being
                 copied along with the enforced database to the full
                 zoneset database.

                 Setting this object to 'excludeAutoZones', does not
                 copy those zones.

                 Setting this object to 'noop' results in no action 
                 being taken.

                 The value of this object when read is always
                 'noop'." 
        ::= { zoneConfiguration 43 }

zoneCopyActToFullVsan OBJECT-TYPE
        SYNTAX        VsanIndex
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
                "The VSAN on which the enforced zone set
                 (active zone set) needs to be copied to the
                 zone set database (full zone set). Setting
                 this object to a valid VSAN will trigger a
                 copy of the enforced zone set on that VSAN
                 to the zone set database on the same VSAN.

                 Setting this object to an invalid VSAN-id
                 will result in an error and no copy will
                 take place."
        ::= { zoneConfiguration 44 }

-- Notifications


zoneServiceReqRejNotify NOTIFICATION-TYPE
        OBJECTS { zoneMemberFormat, zoneMemberID, 
                  zoneServiceRejReasonCode,
                  zoneServiceRejReasonCodeExp }
        STATUS  current
        DESCRIPTION
                "This notification is generated whenever the local 
                 Zone Server rejects a registration request.
                 The Zone Server should update the 
                 zoneServiceRejReasonCode and zoneServiceRejReason-
                 CodeExp objects with the corresponding reason 
                 code and reason code explanation before sending the 
                 notification.
                 The zoneMemberType and zoneMemberID identify the 
                 source of the request."
        ::= { zoneNotifications 1 }

zoneMergeFailureNotify NOTIFICATION-TYPE
        OBJECTS  { ifIndex, zoneMergeFailureVSANNum,
                   zoneMergeFailureObject,
                   zoneMergeFailureReason }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever there is 
                 a zone merge failure.

                 If all VSANs on a link have a zone-merge failure
                 at the same time, then just one notification is
                 generated in which zoneMergeFailureVSANNum object
                 has a zero value.

                 The zoneMergeFailureObject and 
                 zoneMergeFailureReason assist in providing
                 information regarding the point of merge failure."
        ::= { zoneNotifications 2 }        

zoneMergeSuccessNotify NOTIFICATION-TYPE
        OBJECTS  { ifIndex, zoneMergeSuccessVSANNum }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever a zone
                 merge happens successfully.

                 If all VSANs on a link have a zone-merge success
                 at the same time, then just one notification is
                 generated in which zoneMergeSuccessVSANNum object
                 has a zero value."
        ::= { zoneNotifications 3 }

zoneDefZoneBehaviourChngNotify NOTIFICATION-TYPE
        OBJECTS  { zoneDefaultZoneBehaviour }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever the
                 value of zoneDefaultZoneBehaviour changes."
        ::= { zoneNotifications 4 }

zoneUnsuppMemInIntOpModeNotify NOTIFICATION-TYPE
        OBJECTS  { zoneVsanId }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever one or
                 more zone members are not supported in the
                 mode in which the local switch is currently
                 configured to function. The switch can be
                 configured to operate in certain 'interoperable'
                 modes on a VSAN basis to enable it to work with 
                 switches from other vendors. The zoneVsanId object 
                 identifies the VSAN on which the mismatch has
                 been identified."
        ::= { zoneNotifications 5 }

zoneActivateNotify NOTIFICATION-TYPE
        OBJECTS  { zoneSetActivateResult, zoneSwitchWwn }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever a
                 zone set is activated/deactivated on a VSAN.
                 The zoneSetActivateResult object denotes
                 the outcome of the activation/deactivation.
                 The zoneSwitchWwn object represents the
                 WWN of the local device."
        ::= { zoneNotifications 6 }

zoneCompactNotify NOTIFICATION-TYPE
        OBJECTS  { zoneCompactVsan }
        STATUS   current
        DESCRIPTION
                "This notification is generated whenever a
                 zone compaction on the VSAN specified by
                 zoneCompactVsan happens successfully."
        ::= { zoneNotifications 7 }

-- Conformance

zoneServerMIBCompliances OBJECT IDENTIFIER 
                         ::= { zoneServerMIBConformance 1 }
zoneServerMIBGroups      OBJECT IDENTIFIER 
                         ::= { zoneServerMIBConformance 2 }

zoneServerMIBCompliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup,
                                 zoneNotificationGroup}

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        ::= { zoneServerMIBCompliances 1 }

zoneServerMIBCompliance1 MODULE-COMPLIANCE
        STATUS deprecated
        -- superceded by zoneServerMIBComplianceRev2
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup1,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup,
                                 zoneNotificationGroup}

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        ::= { zoneServerMIBCompliances 2 }

zoneServerMIBComplianceRev2 MODULE-COMPLIANCE
        STATUS deprecated
        -- superceded by zoneServerMIBComplianceRev3
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup2,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup,
                                 zoneNotificationGroup}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        ::= { zoneServerMIBCompliances 3 }

zoneServerMIBComplianceRev3 MODULE-COMPLIANCE
        STATUS deprecated
           -- superceded by zoneServerMIBComplianceRev4 
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup3,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup,
                                 zoneNotificationGroup}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 4 }

zoneServerMIBComplianceRev4 MODULE-COMPLIANCE
        STATUS deprecated
        -- deprecated by zoneServerMIBComplianceRev5
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup3,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup1,
                                 zoneNotificationGroup1}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 5 }

zoneServerMIBComplianceRev5 MODULE-COMPLIANCE
        STATUS deprecated
        -- superceded by zoneServerMIBComplianceRev6
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup4,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup1,
                                 zoneNotificationGroup1}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 6 }

zoneServerMIBComplianceRev6 MODULE-COMPLIANCE
        STATUS  deprecated
           -- superceded by zoneServerMIBComplianceRev7 
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup5,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup1,
                                 zoneNotificationGroup1}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyRowStatus             
        SYNTAX     INTEGER {             
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and 
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 7 }

zoneServerMIBComplianceRev7 MODULE-COMPLIANCE
        STATUS deprecated
             -- superceded by zoneServerMIBComplianceRev8 
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup6,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup1,
                                 zoneNotificationGroup2,
                                 zoneNotificationControlGroup1Sup1}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        OBJECT     zoneSetRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus
        SYNTAX     INTEGER {             
                     active(1), 
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."
                     
        OBJECT     zoneCopyRowStatus
        SYNTAX     INTEGER {             
                     active(1), 
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION 
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."
                     
        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 8 }

zoneServerMIBComplianceRev8 MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for entities which
                 implement the Zone Server."
        MODULE MANDATORY-GROUPS {zoneConfigurationGroup7,
                                 zoneStatisticsGroup,
                                 zoneNotificationControlGroup1,
                                 zoneNotificationGroup2,
                                 zoneNotificationControlGroup1Sup1,
                                 zoneConfigGroupSup2}

        GROUP      zoneLunStatsGroup
        DESCRIPTION
                "Only entities that support LUN zoning need to
                 support this group."

        GROUP      zoneConfigGroupSup1
        DESCRIPTION
                "Only entities that need to associate more than
                 2048 zones per zoneset need to support this
                 group."

        GROUP      zoneNotificationControlGroup1Sup2
        DESCRIPTION
                "Only entities that support more than 2048
                 zones per zoneset need to support this group."

        GROUP      zoneNotificationGroup2Sup1
        DESCRIPTION
                "Only entities that support more than 2048
                 zones per zoneset need to support this group."

        OBJECT     zoneSetRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneSetActivateRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneAliasRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneMemberRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyRowStatus
        SYNTAX     INTEGER {
                     active(1),
                     createAndGo(4),
                     destroy(6)}
        DESCRIPTION
                "Only three values 'createAndGo', 'destroy' and
                'active' out of the six enumerated values need to be
                supported."

        OBJECT     zoneCopyServerAddrType
        SYNTAX     INTEGER { ipv4(1) }
        DESCRIPTION
                "Only IPv4 support is required."

        ::= { zoneServerMIBCompliances 9 }

-- Units of Conformance                                  

zoneConfigurationGroup OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneAliasNumber,
                 zoneEnforcedZoneAliasName,
                 zoneEnforcedZoneAliasMemberList,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan}
        STATUS   deprecated
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership."
        ::= { zoneServerMIBGroups 1 }

zoneStatisticsGroup OBJECT-GROUP
        OBJECTS {zoneTotalGS3Rejects,
                 zoneTxMergeReqs,
                 zoneRxMergeAccepts,
                 zoneRxMergeReqs,
                 zoneTxMergeAccepts,
                 zoneTxChangeReqs,
                 zoneRxChangeAccepts,
                 zoneRxChangeReqs,
                 zoneTxChangeAccepts,
                 zoneRxGS3Reqs,
                 zoneTxGS3Rejects}
        STATUS  current
        DESCRIPTION
                "A collection of objects for displaying the Zone 
                 Server statistics information."
        ::= { zoneServerMIBGroups 2 }

zoneNotificationControlGroup OBJECT-GROUP
        OBJECTS       {zoneServiceReqRejNotifyEnable,
                       zoneMergeFailureNotifyEnable,
                       zoneMergeSuccessNotifyEnable,
                       zoneDefZoneBehvrChngNotifyEnable,
                       zoneServiceRejReasonCode,
                       zoneServiceRejReasonCodeExp,
                       zoneMergeFailureVSANNum,
                       zoneMergeSuccessVSANNum}
        STATUS  deprecated
        DESCRIPTION
                "A collection of notification control and 
                 notification information objects for monitoring 
                 Zone Server request rejection and zone merge
                 failures."
        ::= { zoneServerMIBGroups 3 }

zoneNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {zoneServiceReqRejNotify,
                       zoneMergeFailureNotify,
                       zoneMergeSuccessNotify,
                       zoneDefZoneBehaviourChngNotify}
        STATUS        deprecated
        DESCRIPTION
                "A collection of notification(s) for monitoring 
                 Zone Server request rejection, zone merge
                 failures and successes and default zoning
                 behavioural changes."
        ::= { zoneServerMIBGroups 4 }

zoneConfigurationGroup1 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneAliasNumber,
                 zoneEnforcedZoneAliasName,
                 zoneEnforcedZoneAliasMemberList,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal}
        STATUS   deprecated -- replaced by zoneConfigurationGroup2
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 5 }

zoneConfigurationGroup2 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal}
        STATUS   deprecated
        -- replaced by zoneConfigurationGroup3
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 6 }

zoneLunStatsGroup OBJECT-GROUP
        OBJECTS  {zoneLunRxInqReqs,
                  zoneLunRxRepLunReqs,
                  zoneLunRxSenseReqs,
                  zoneLunRxOtherCmds,
                  zoneLunTxInqDataNoLus,
                  zoneLunTxIllegalReqs,
                  zoneRoZoneTxDataProts}
        STATUS    current
        DESCRIPTION
                "A collection of objects for displaying the Zone 
                 Server LUN statistics information."
        ::= { zoneServerMIBGroups 7 }

zoneConfigurationGroup3 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal,
                 zoneCopyProto,
                 zoneCopyDestFileType,
                 zoneCopyServerAddrType,
                 zoneCopyServerAddr,
                 zoneCopyDestFileName,
                 zoneCopyUserName,
                 zoneCopyUserPassword,
                 zoneCopyStartCopy,
                 zoneCopyState,
                 zoneCopyRowStatus}
        STATUS   deprecated
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 8 }

zoneNotificationControlGroup1 OBJECT-GROUP
        OBJECTS       {zoneServiceReqRejNotifyEnable,
                       zoneMergeFailureNotifyEnable,
                       zoneMergeSuccessNotifyEnable,
                       zoneDefZoneBehvrChngNotifyEnable,
                       zoneUnsuppMemInIntOpNotifyEnable,
                       zoneServiceRejReasonCode,
                       zoneServiceRejReasonCodeExp,
                       zoneMergeFailureVSANNum,
                       zoneMergeSuccessVSANNum,
                       zoneVsanId}
        STATUS  current 
        DESCRIPTION
                "A collection of notification control and 
                 notification information objects for monitoring 
                 Zone Server request rejection and zone merge
                 failures."
        ::= { zoneServerMIBGroups 9 }

zoneNotificationGroup1 NOTIFICATION-GROUP
        NOTIFICATIONS {zoneServiceReqRejNotify,
                       zoneMergeFailureNotify,
                       zoneMergeSuccessNotify,
                       zoneDefZoneBehaviourChngNotify,
                       zoneUnsuppMemInIntOpModeNotify}
        STATUS        deprecated
                      -- superceded by zoneNotificationGroup2 
        DESCRIPTION
                "A collection of notification(s) for monitoring 
                 Zone Server request rejection, zone merge
                 failures and successes and default zoning
                 behavioural changes."
        ::= { zoneServerMIBGroups 10 }

zoneConfigurationGroup4 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal,
                 zoneCopyProto,
                 zoneCopyDestFileType,
                 zoneCopyServerAddrType,
                 zoneCopyServerAddr,
                 zoneCopyDestFileName,
                 zoneCopyUserName,
                 zoneCopyUserPassword,
                 zoneCopyStartCopy,
                 zoneCopyState,
                 zoneCopyRowStatus,
                 zoneZoneSetDistributeVsan,
                 zoneZoneSetDistributeResult,
                 zoneZoneSetDistributeFailReason}
        STATUS   deprecated 
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 11 }

zoneConfigurationGroup5 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneDefaultZoneQos,
                 zoneDefaultZoneQosPriority,
                 zoneDefaultZoneBroadcast,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneQos,
                 zoneQosPriority,
                 zoneBroadcast,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneQos,
                 zoneEnforcedZoneQosPriority,
                 zoneEnforcedZoneBroadcast,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal,
                 zoneCopyProto,
                 zoneCopyDestFileType,
                 zoneCopyServerAddrType,
                 zoneCopyServerAddr,
                 zoneCopyDestFileName,
                 zoneCopyUserName,
                 zoneCopyUserPassword,
                 zoneCopyStartCopy,
                 zoneCopyState,
                 zoneCopyRowStatus,
                 zoneZoneSetDistributeVsan,
                 zoneZoneSetDistributeResult,
                 zoneZoneSetDistributeFailReason}
        STATUS   deprecated 
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 12 }

zoneConfigurationGroup6 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneDefaultZoneQos,
                 zoneDefaultZoneQosPriority,
                 zoneDefaultZoneBroadcast,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetClone,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneQos,
                 zoneQosPriority,
                 zoneBroadcast,
                 zoneClone,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneAliasClone,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneQos,
                 zoneEnforcedZoneQosPriority,
                 zoneEnforcedZoneBroadcast,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneCopyActiveToFullOnVsan,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal,
                 zoneDbHardZoningEnabled,
                 zoneCopyProto,
                 zoneCopyDestFileType,
                 zoneCopyServerAddrType,
                 zoneCopyServerAddr,
                 zoneCopyDestFileName,
                 zoneCopyUserName,
                 zoneCopyUserPassword,
                 zoneCopyStartCopy,
                 zoneCopyState,
                 zoneCopyRowStatus,
                 zoneZoneSetDistributeVsan,
                 zoneZoneSetDistributeResult,
                 zoneZoneSetDistributeFailReason}
        STATUS   deprecated
               -- superceded by zoneConfigurationGroup7 
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 13 }

zoneNotificationGroup2 NOTIFICATION-GROUP
        NOTIFICATIONS {zoneServiceReqRejNotify,
                       zoneMergeFailureNotify,
                       zoneMergeSuccessNotify,
                       zoneDefZoneBehaviourChngNotify,
                       zoneUnsuppMemInIntOpModeNotify,
                       zoneActivateNotify}
        STATUS        current
        DESCRIPTION
                "A collection of notification(s) for monitoring
                 Zone Server request rejection, zone merge
                 failures and successes and default zoning
                 behavioural changes."
        ::= { zoneServerMIBGroups 14 }

zoneNotificationControlGroup1Sup1 OBJECT-GROUP
        OBJECTS {
                  zoneSwitchWwn
                }
        STATUS  current
        DESCRIPTION
                "A group that supplements 
                 zoneNotificationControlGroup1 with additional
                 object(s)."
        ::= { zoneServerMIBGroups 15 }

zoneConfigGroupSup1 OBJECT-GROUP
        OBJECTS       { zoneSetZoneListBmap4k,
                        zoneSetZoneListBmap6k,
                        zoneSetZoneListBmap8k,
                        zoneSetEnforcedZoneListBmap4k,
                        zoneSetEnforcedZoneListBmap6k,
                        zoneSetEnforcedZoneListBmap8k,
                        zoneCompactFirst2k }
        STATUS  current
        DESCRIPTION
                "A collection of objects to associate zones
                 to zonesets and facilitate compaction of
                 first 2k zones associated with zonesets."
        ::= { zoneServerMIBGroups 16 }

zoneNotificationControlGroup1Sup2 OBJECT-GROUP
        OBJECTS {
                  zoneCompactVsan,
                  zoneMergeFailureObject,
                  zoneMergeFailureReason
                }
        STATUS  current
        DESCRIPTION
                "A group that supplements
                 zoneNotificationControlGroup1 with additional
                 notification information object(s)."
        ::= { zoneServerMIBGroups 17 }

zoneNotificationGroup2Sup1 NOTIFICATION-GROUP
        NOTIFICATIONS { zoneCompactNotify }
        STATUS  current
        DESCRIPTION
                "A group that supplements zoneNotificationGroup2
                 with additional notification(s)."
        ::= { zoneServerMIBGroups 18 }

zoneConfigGroupSup2 OBJECT-GROUP
        OBJECTS {
                   zoneCopyActToFullSpinLock,
                   zoneCopyActToFullMode,
                   zoneCopyActToFullVsan
                }
        STATUS  current
        DESCRIPTION
                "A collection of objects to copy active zonesets to
                 full zonesets on a VSAN."
        ::= { zoneServerMIBGroups 19 }

zoneConfigurationGroup7 OBJECT-GROUP
        OBJECTS {zoneSetPropagationMode,
                 zoneDefaultZoneBehaviour,
                 zoneDefaultZoneReadOnly,
                 zoneDefaultZoneQos,
                 zoneDefaultZoneQosPriority,
                 zoneDefaultZoneBroadcast,
                 zoneSetNumber,
                 zoneSetName,
                 zoneSetZoneList,
                 zoneSetLastChange,
                 zoneSetRowStatus,
                 zoneSetClone,
                 zoneSetActivate,
                 zoneSetActivateResult,
                 zoneSetDeActivate,
                 zoneSetActivateRowStatus,
                 zoneSetFailCause,
                 zoneSetFailDomId,
                 zoneNumber,
                 zoneName,
                 zoneMemberList,
                 zoneAliasList,
                 zoneLastChange,
                 zoneRowStatus,
                 zoneReadOnly,
                 zoneQos,
                 zoneQosPriority,
                 zoneBroadcast,
                 zoneClone,
                 zoneAliasNumber,
                 zoneAliasName,
                 zoneAliasMemberList,
                 zoneAliasRowStatus,
                 zoneAliasLastChange,
                 zoneAliasClone,
                 zoneMemberNumber,
                 zoneMemberFormat,
                 zoneMemberID,
                 zoneMemberLunID,
                 zoneMemberRowStatus,
                 zoneEnforcedZoneSetNumber,
                 zoneEnforcedZoneSetName,
                 zoneEnforcedZoneSetZoneList,
                 zoneEnforcedZoneSetActivateTime,
                 zoneEnforcedZoneNumber,
                 zoneEnforcedZoneName,
                 zoneEnforcedZoneMemberList,
                 zoneEnforcedZoneAliasList,
                 zoneEnforcedZoneActivateTime,
                 zoneEnforcedZoneReadOnly,
                 zoneEnforcedZoneQos,
                 zoneEnforcedZoneQosPriority,
                 zoneEnforcedZoneBroadcast,
                 zoneEnforcedZoneMemberNumber,
                 zoneEnforcedZoneMemberFormat,
                 zoneEnforcedZoneMemberID,
                 zoneEnforcedZoneMemberLunID,
                 zoneMergeFailRecoverSpinLock,
                 zoneMergeFailRecoverInterface,
                 zoneMergeFailRecoverVsan,
                 zoneMergeFailRecoverOper,
                 zoneMergeFailRecoverResult,
                 zoneDbClearDb,
                 zoneDbEnforcedEqualsLocal,
                 zoneDbHardZoningEnabled,
                 zoneCopyProto,
                 zoneCopyDestFileType,
                 zoneCopyServerAddrType,
                 zoneCopyServerAddr,
                 zoneCopyDestFileName,
                 zoneCopyUserName,
                 zoneCopyUserPassword,
                 zoneCopyStartCopy,
                 zoneCopyState,
                 zoneCopyRowStatus,
                 zoneZoneSetDistributeVsan,
                 zoneZoneSetDistributeResult,
                 zoneZoneSetDistributeFailReason}
        STATUS   current
        DESCRIPTION
                "A collection of objects for displaying and configuring
                 Zone Membership and deleting the local zone server
                 database."
        ::= { zoneServerMIBGroups 20 }


END



