-- =========================================================================
-- Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:  SPB MIB
-- Reference:  Enterprise MIB
-- Version:V1.00
-- History:
--     initial version 2003-03-06
--     V1.0 6th Nov 2012
-- =========================================================================
H3C-SPB-MIB DEFINITIONS ::= BEGIN

IMPORTS
    ifIndex
        FROM IF-MIB
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MacAddress
        FROM SNMPv2-TC
    VlanIdOrNone
        FROM Q-BRIDGE-MIB
    h3cCommon
        FROM HUAWEI-3COM-OID-MIB
    IEEE8021SpbmSPsourceId
        FROM IEEE8021-SPB-MIB;

h3cSpb MODULE-IDENTITY
    LAST-UPDATED "201211220000Z"        -- November 22, 2012 at 00:00 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  "802.1 SPB MIB"
    REVISION  "201211220000Z"        -- November 22, 2012 at 00:00 GMT
    DESCRIPTION
        "This MIB describes objects used for managing Shortest Path Bridging
        (SPB)."
    ::= { h3cCommon 128 }


h3cSpbObjects OBJECT IDENTIFIER ::= { h3cSpb 1 }

h3cSpbSysObjects OBJECT IDENTIFIER
    ::= { h3cSpbObjects 1 }

h3cSpbSysStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "To descript the status of Shortest Path Bridging MAC Mode(SPBM) is
        Enabled or Disabled."
    DEFVAL { disabled }
    ::= { h3cSpbSysObjects 1 }

h3cSpbMulticastBVlanStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "To descript the status of SPBM multicast bvlan is Enabled or
        Disabled."
    DEFVAL { disabled }
    ::= { h3cSpbSysObjects 2 }

h3cSpbConfig OBJECT IDENTIFIER
    ::= { h3cSpbObjects 2 }

h3cSpbIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cSpbIfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table describes the interface status of SPBM is Enabled or
        Disabled."
    ::= { h3cSpbConfig 1 }

h3cSpbIfEntry OBJECT-TYPE
    SYNTAX H3cSpbIfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The entry of h3cSpbIfEntry."
    INDEX { ifIndex }
    ::= { h3cSpbIfTable 1 }

H3cSpbIfEntry ::=
    SEQUENCE
    {
        h3cSpbIfStatus         INTEGER
    }

h3cSpbIfStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            enabled(1),
            disabled(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "To descript the interface status of SPBM is Enabled or Disabled."
    DEFVAL { disabled }
    ::= { h3cSpbIfEntry 1 }

h3cSpbSrvTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cSpbSrvEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table descript the Base VlanID(VID) associated with the service
        and the service multicast duplicate mode."
    ::= { h3cSpbConfig 2 }


h3cSpbSrvEntry OBJECT-TYPE
    SYNTAX H3cSpbSrvEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The entry of h3cSpbSrvEntry."
    INDEX { h3cSpbSrvTableEntryTopIx,
            h3cSpbSrvTableEntryIsid }
    ::= { h3cSpbSrvTable 1 }

H3cSpbSrvEntry ::=
    SEQUENCE {
        h3cSpbSrvTableEntryTopIx   Unsigned32,
        h3cSpbSrvTableEntryIsid    Unsigned32,
        h3cSpbSrvTableEntryBaseVid VlanIdOrNone,
        h3cSpbSrvTableEntryMode    INTEGER
        }

h3cSpbSrvTableEntryTopIx OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Unique identifier of this SPB topology
         This is index is allocated for this ISIS/MT instance.
         It is used as an index to most other SPB tables below and to
         select the exact ISIS instance and which MT instance together."
    ::= { h3cSpbSrvEntry 1 }

h3cSpbSrvTableEntryIsid OBJECT-TYPE
    SYNTAX    Unsigned32 (255..16777215)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An ISID (service) originating/terminating on this bridge."
    ::= { h3cSpbSrvEntry 2 }

h3cSpbSrvTableEntryBaseVid OBJECT-TYPE
    SYNTAX    VlanIdOrNone
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Base VID associated with this service.  The Base VID determines
         the ECT Algorithm that is associated with this service.  Otherwise
         no Base VID associated with the service, should be set = 0."
    ::= { h3cSpbSrvEntry 3 }

h3cSpbSrvTableEntryMode OBJECT-TYPE
    SYNTAX    INTEGER
        {
            headEnd(1),
            tandem(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indication of supporting multicast replicate mode
         head-end/tandem."
    DEFVAL { headEnd }
    ::= { h3cSpbSrvEntry 4 }

-- ==================================================================
--
-- ======================= trap definition begin ====================
--
-- ==================================================================
h3cSpbTrap OBJECT IDENTIFIER ::= {  h3cSpbObjects 3  }

h3cSpbTraps OBJECT IDENTIFIER ::= { h3cSpbTrap 0 }

h3cSpbTrapsObjects OBJECT IDENTIFIER ::= { h3cSpbTrap 1 }

h3cSpbSPSourceConflictTrap NOTIFICATION-TYPE
    OBJECTS
        {
            h3cSpbConflictSysID,
            h3cSpbConflictSPSourceID
        }
    STATUS      current
    DESCRIPTION
        "This notification will be generated when the SPSourceID is conflict
        with another bridge."
    ::= { h3cSpbTraps 1 }

h3cSpbBMacConflictTrap NOTIFICATION-TYPE
    OBJECTS
        {
            h3cSpbConflictSysID,
            h3cSpbConflictBMac
        }
    STATUS      current
    DESCRIPTION
        "This notification will be generated when the BMAC is conflict
        with another bridge."
    ::= { h3cSpbTraps 2 }

h3cSpbConflictSysID OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "The bridge's SPSourceID is conflict with this bridge."
    ::= { h3cSpbTrapsObjects 1 }

h3cSpbConflictSPSourceID OBJECT-TYPE
    SYNTAX IEEE8021SpbmSPsourceId
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "The Shortest Path Source Identifier which is conflict."
    ::= { h3cSpbTrapsObjects 2 }

h3cSpbConflictBMac OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "The BMAC which is conflict."
    ::= { h3cSpbTrapsObjects 3 }

END
