-- ============================================================================
-- Copyright (C) 2003 by  H3C TECHNOLOGIES. All rights reserved.
--
-- Description: this MIB is a MIB for fabric topology management
--
-- Reference:
-- Version:     V2.3
-- History:
-- V1.0 2004/01/13 created by wangjiao
-- V1.1 2004/06/15 modifyied by huxiaolong
-- V1.2 2004/07/13 modified by huxiaolong add h3cFtmUnitRole node
-- V1.3 2004/07/16 add h3cFtmUnitRole to H3cFtmUnitEntry SEQUENCE { }
--           add h3cFtmUnitRole OBJECT
-- V2.0 2004-10-12 updated by gaolong
--      Relocate h3cFtmManMIB MODULE-IDENTITY.
--      Change MAX-ACCESS clause value of h3cFtmIndex to accessible-for-notify
--      because this index is used when sending trap.
--      Relocate h3cFtmManMIBNotification.
--      Add MODULE clause for h3cFtmMIBCompliance.
--      Change value of h3cFtmAuthMode from underscores to hephens.
-- V2.1 2004-11-20 updated by xuhui
--      Add h3cFtmFabricVlanID
-- V2.2 2004-12-22 add h3cFtmFabricType node by zhuchaopeng
-- V2.3 2005-03-31 add h3cFtmNumberMode by yangjianfeng
-- ============================================================================
H3C-FTM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            h3cCommon
                FROM HUAWEI-3COM-OID-MIB
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
            Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
                FROM SNMPv2-SMI;

        h3cFtmManMIB MODULE-IDENTITY
            LAST-UPDATED "200401131055Z"        -- January 13, 2004 at 10:55 GMT
            ORGANIZATION
                "Hangzhou H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech. Co., Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
                "this MIB will maintain Fabric topology management.
                 The MIB includes unit-id, unit-name and
                      fabric authentication information."
            ::= { h3cFtm 1 }

        h3cFtm    OBJECT IDENTIFIER ::= { h3cCommon 1 }

--
-- Node definitions
--

        h3cFtmManMIBObjects OBJECT IDENTIFIER ::= { h3cFtmManMIB 1 }

        h3cFtmUnitTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cFtmUnitEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of informations of XRN-Fabric Unit."
            ::= { h3cFtmManMIBObjects 1 }

        h3cFtmUnitEntry OBJECT-TYPE
            SYNTAX H3cFtmUnitEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry for configuring unit informations of XRN-Fabric."
            INDEX { h3cFtmIndex }
            ::= { h3cFtmUnitTable 1 }

        H3cFtmUnitEntry ::=
            SEQUENCE {
                h3cFtmIndex
                    Integer32,
                h3cFtmUnitID
                    INTEGER,
                h3cFtmUnitName
                    OCTET STRING,
                h3cFtmUnitRole
                    INTEGER,
                h3cFtmNumberMode
                    INTEGER
             }

        h3cFtmIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The unique index of a unit."
            ::= { h3cFtmUnitEntry 1 }

        h3cFtmUnitID OBJECT-TYPE
            SYNTAX INTEGER
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Identifer of unit in fabric. Its value should be between 1 and the maximum which defines
                in product specification.
                An exception is described in description of h3cFtmNumberMode. In that case, the value
                of this object remains its original value after set to zero.
                "
            ::= { h3cFtmUnitEntry 2 }

        h3cFtmUnitName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Name of unit in XRN-Fabric. It consists of no more than 64 characters."
            ::= { h3cFtmUnitEntry 3 }

        h3cFtmUnitRole OBJECT-TYPE
            SYNTAX INTEGER
            {
                master(0),   -- master unit
                slave(1)     -- slave unit
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Role of unit in XRN-Fabric. One unit in a XRN-Fabric acts as master role and others
                act as slave roles"
            ::= { h3cFtmUnitEntry 4 }

        h3cFtmNumberMode OBJECT-TYPE
            SYNTAX INTEGER
            {
                automatic(0),
                manual (1)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Numbering Mode of unit in XRN-Fabric.  If the unit ID is assigned by the auto
                numbering algorithm, the numbering mode will be automatic numbering; if the
                unit ID (h3cFtmUnitID) is assigned by the user, the numbering mode will be manual
                numbering; if h3cFtmUnitID is set to be zero, the numbering mode will become
                automatic numbering."
            ::= { h3cFtmUnitEntry 5 }

        h3cFtmAuthMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                ftm-none(0),
                ftm-simple(1),
                ftm-md5(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Authentication mode of XRN-Fabric."
            ::= { h3cFtmManMIBObjects 2 }

        h3cFtmAuthValue OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Authentication value of XRN-Fabric Feature. ftm_none mode means no authentication.
                In simple mode, the value is password of a string of 1 to 16 charactors.
                While in md5 mode, the value is key of a string within 16 charactors."
            ::= { h3cFtmManMIBObjects 3 }

        h3cFtmFabricVlanID OBJECT-TYPE
            SYNTAX INTEGER(2..4094)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The object is used for get and set the Fabric VlanID.
                Only is the equipment not in the stacking status, the value can be set."
            ::= { h3cFtmManMIBObjects 4 }

        h3cFtmFabricType OBJECT-TYPE
            SYNTAX INTEGER
                {
                outofStack(1),
                line(2),
                ring(3),
                mesh(4)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Topology type of Fabric.
                outofStack means this unit is not in stack."
            ::= { h3cFtmManMIBObjects 5 }

        h3cFtmManMIBNotification OBJECT IDENTIFIER ::= { h3cFtmManMIB 3 }

        h3cFtmUnitIDChange NOTIFICATION-TYPE
            OBJECTS { h3cFtmIndex, h3cFtmUnitID}
            STATUS current
            DESCRIPTION
                "When unit id changes in fabric, this trap is sent with unit index and its new id ."
            ::= { h3cFtmManMIBNotification 1 }

        h3cFtmUnitNameChange NOTIFICATION-TYPE
            OBJECTS { h3cFtmIndex, h3cFtmUnitName }
            STATUS current
            DESCRIPTION
                "When unit name changes in fabric, this trap is sent with unit index and its new name."
            ::= { h3cFtmManMIBNotification 2 }

        h3cFtmManMIBComformance OBJECT IDENTIFIER ::= { h3cFtmManMIB 2 }

        h3cFtmMIBCompliances OBJECT IDENTIFIER ::= { h3cFtmManMIBComformance 1 }

        h3cFtmMIBCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION
                "The compliance statement for FTM implementing the MIB."
            MODULE H3C-FTM-MIB
                MANDATORY-GROUPS { h3cFtmConfigGroup, h3cFtmNotificationGroup
                     }
            ::= { h3cFtmMIBCompliances 1 }

        h3cFtmMIBGroups OBJECT IDENTIFIER ::= { h3cFtmManMIBComformance 2 }

        h3cFtmConfigGroup OBJECT-GROUP
            OBJECTS { h3cFtmUnitID, h3cFtmUnitName, h3cFtmAuthMode, h3cFtmAuthValue, h3cFtmFabricVlanID,
                      h3cFtmFabricType }
            STATUS current
            DESCRIPTION
                "The basic collection of objects for sending trap of FTM Management."
            ::= { h3cFtmMIBGroups 1 }

        h3cFtmNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { h3cFtmUnitIDChange, h3cFtmUnitNameChange }
            STATUS current
            DESCRIPTION
                "The basic collection of objects for sending trap of FTM Management."
            ::= { h3cFtmMIBGroups 2 }

END
