-- ============================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- 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 hpnicfFtmUnitRole node
-- V1.3 2004/07/16 add hpnicfFtmUnitRole to HpnicfFtmUnitEntry SEQUENCE { }
--           add hpnicfFtmUnitRole OBJECT
-- V2.0 2004-10-12 updated by gaolong
--      Relocate hpnicfFtmManMIB MODULE-IDENTITY.
--      Change MAX-ACCESS clause value of hpnicfFtmIndex to accessible-for-notify
--      because this index is used when sending trap.
--      Relocate hpnicfFtmManMIBNotification.
--      Add MODULE clause for hpnicfFtmMIBCompliance.
--      Change value of hpnicfFtmAuthMode from underscores to hephens.
-- V2.1 2004-11-20 updated by xuhui
--      Add hpnicfFtmFabricVlanID
-- V2.2 2004-12-22 add hpnicfFtmFabricType node by zhuchaopeng
-- V2.3 2005-03-31 add hpnicfFtmNumberMode by yangjianfeng
-- ============================================================================
HPN-ICF-FTM-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            hpnicfCommon
                FROM HPN-ICF-OID-MIB
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
            Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
                FROM SNMPv2-SMI;

        hpnicfFtmManMIB MODULE-IDENTITY
            LAST-UPDATED "200401131055Z"        -- January 13, 2004 at 10:55 GMT
            ORGANIZATION
                ""
            CONTACT-INFO
                ""
            DESCRIPTION
                "this MIB will maintain Fabric topology management.
                 The MIB includes unit-id, unit-name and
                      fabric authentication information."
            ::= { hpnicfFtm 1 }

        hpnicfFtm    OBJECT IDENTIFIER ::= { hpnicfCommon 1 }

--
-- Node definitions
--

        hpnicfFtmManMIBObjects OBJECT IDENTIFIER ::= { hpnicfFtmManMIB 1 }

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

        hpnicfFtmUnitEntry OBJECT-TYPE
            SYNTAX HpnicfFtmUnitEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry for configuring unit informations of XRN-Fabric."
            INDEX { hpnicfFtmIndex }
            ::= { hpnicfFtmUnitTable 1 }

        HpnicfFtmUnitEntry ::=
            SEQUENCE {
                hpnicfFtmIndex
                    Integer32,
                hpnicfFtmUnitID
                    INTEGER,
                hpnicfFtmUnitName
                    OCTET STRING,
                hpnicfFtmUnitRole
                    INTEGER,
                hpnicfFtmNumberMode
                    INTEGER
             }

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

        hpnicfFtmUnitID 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 hpnicfFtmNumberMode. In that case, the value
                of this object remains its original value after set to zero.
                "
            ::= { hpnicfFtmUnitEntry 2 }

        hpnicfFtmUnitName 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."
            ::= { hpnicfFtmUnitEntry 3 }

        hpnicfFtmUnitRole 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"
            ::= { hpnicfFtmUnitEntry 4 }

        hpnicfFtmNumberMode 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 (hpnicfFtmUnitID) is assigned by the user, the numbering mode will be manual
                numbering; if hpnicfFtmUnitID is set to be zero, the numbering mode will become
                automatic numbering."
            ::= { hpnicfFtmUnitEntry 5 }

        hpnicfFtmAuthMode 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."
            ::= { hpnicfFtmManMIBObjects 2 }

        hpnicfFtmAuthValue 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."
            ::= { hpnicfFtmManMIBObjects 3 }

        hpnicfFtmFabricVlanID 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."
            ::= { hpnicfFtmManMIBObjects 4 }

        hpnicfFtmFabricType 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."
            ::= { hpnicfFtmManMIBObjects 5 }

        hpnicfFtmManMIBNotification OBJECT IDENTIFIER ::= { hpnicfFtmManMIB 3 }

        hpnicfFtmUnitIDChange NOTIFICATION-TYPE
            OBJECTS { hpnicfFtmIndex, hpnicfFtmUnitID}
            STATUS current
            DESCRIPTION
                "When unit id changes in fabric, this trap is sent with unit index and its new id ."
            ::= { hpnicfFtmManMIBNotification 1 }

        hpnicfFtmUnitNameChange NOTIFICATION-TYPE
            OBJECTS { hpnicfFtmIndex, hpnicfFtmUnitName }
            STATUS current
            DESCRIPTION
                "When unit name changes in fabric, this trap is sent with unit index and its new name."
            ::= { hpnicfFtmManMIBNotification 2 }

        hpnicfFtmManMIBComformance OBJECT IDENTIFIER ::= { hpnicfFtmManMIB 2 }

        hpnicfFtmMIBCompliances OBJECT IDENTIFIER ::= { hpnicfFtmManMIBComformance 1 }

        hpnicfFtmMIBCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION
                "The compliance statement for FTM implementing the MIB."
            MODULE HPN-ICF-FTM-MIB
                MANDATORY-GROUPS { hpnicfFtmConfigGroup, hpnicfFtmNotificationGroup
                     }
            ::= { hpnicfFtmMIBCompliances 1 }

        hpnicfFtmMIBGroups OBJECT IDENTIFIER ::= { hpnicfFtmManMIBComformance 2 }

        hpnicfFtmConfigGroup OBJECT-GROUP
            OBJECTS { hpnicfFtmUnitID, hpnicfFtmUnitName, hpnicfFtmAuthMode, hpnicfFtmAuthValue, hpnicfFtmFabricVlanID,
                      hpnicfFtmFabricType }
            STATUS current
            DESCRIPTION
                "The basic collection of objects for sending trap of FTM Management."
            ::= { hpnicfFtmMIBGroups 1 }

        hpnicfFtmNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hpnicfFtmUnitIDChange, hpnicfFtmUnitNameChange }
            STATUS current
            DESCRIPTION
                "The basic collection of objects for sending trap of FTM Management."
            ::= { hpnicfFtmMIBGroups 2 }

END
