-- =========================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:  SPB MIB
-- Reference:  Enterprise MIB
-- Version:V1.00
-- History:
--     initial version 2003-03-06
--     V1.0 6th Nov 2012
-- =========================================================================
HPN-ICF-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
    hpnicfCommon
        FROM HPN-ICF-OID-MIB
    IEEE8021SpbmSPsourceId
        FROM IEEE8021-SPB-MIB;

hpnicfSpb MODULE-IDENTITY
    LAST-UPDATED "201211220000Z"        -- November 22, 2012 at 00:00 GMT
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    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)."
    ::= { hpnicfCommon 128 }


hpnicfSpbObjects OBJECT IDENTIFIER ::= { hpnicfSpb 1 }

hpnicfSpbSysObjects OBJECT IDENTIFIER
    ::= { hpnicfSpbObjects 1 }

hpnicfSpbSysStatus 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 }
    ::= { hpnicfSpbSysObjects 1 }

hpnicfSpbMulticastBVlanStatus 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 }
    ::= { hpnicfSpbSysObjects 2 }

hpnicfSpbConfig OBJECT IDENTIFIER
    ::= { hpnicfSpbObjects 2 }

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

hpnicfSpbIfEntry OBJECT-TYPE
    SYNTAX HpnicfSpbIfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The entry of hpnicfSpbIfEntry."
    INDEX { ifIndex }
    ::= { hpnicfSpbIfTable 1 }

HpnicfSpbIfEntry ::=
    SEQUENCE
    {
        hpnicfSpbIfStatus         INTEGER
    }

hpnicfSpbIfStatus 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 }
    ::= { hpnicfSpbIfEntry 1 }

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


hpnicfSpbSrvEntry OBJECT-TYPE
    SYNTAX HpnicfSpbSrvEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The entry of hpnicfSpbSrvEntry."
    INDEX { hpnicfSpbSrvTableEntryTopIx,
            hpnicfSpbSrvTableEntryIsid }
    ::= { hpnicfSpbSrvTable 1 }

HpnicfSpbSrvEntry ::=
    SEQUENCE {
        hpnicfSpbSrvTableEntryTopIx   Unsigned32,
        hpnicfSpbSrvTableEntryIsid    Unsigned32,
        hpnicfSpbSrvTableEntryBaseVid VlanIdOrNone,
        hpnicfSpbSrvTableEntryMode    INTEGER
        }

hpnicfSpbSrvTableEntryTopIx 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."
    ::= { hpnicfSpbSrvEntry 1 }

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

hpnicfSpbSrvTableEntryBaseVid 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."
    ::= { hpnicfSpbSrvEntry 3 }

hpnicfSpbSrvTableEntryMode 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 }
    ::= { hpnicfSpbSrvEntry 4 }

-- ==================================================================
--
-- ======================= trap definition begin ====================
--
-- ==================================================================
hpnicfSpbTrap OBJECT IDENTIFIER ::= {  hpnicfSpbObjects 3  }

hpnicfSpbTraps OBJECT IDENTIFIER ::= { hpnicfSpbTrap 0 }

hpnicfSpbTrapsObjects OBJECT IDENTIFIER ::= { hpnicfSpbTrap 1 }

hpnicfSpbSPSourceConflictTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfSpbConflictSysID,
            hpnicfSpbConflictSPSourceID
        }
    STATUS      current
    DESCRIPTION
        "This notification will be generated when the SPSourceID is conflict
        with another bridge."
    ::= { hpnicfSpbTraps 1 }

hpnicfSpbBMacConflictTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfSpbConflictSysID,
            hpnicfSpbConflictBMac
        }
    STATUS      current
    DESCRIPTION
        "This notification will be generated when the BMAC is conflict
        with another bridge."
    ::= { hpnicfSpbTraps 2 }

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

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

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

END
