-- ==================================================================
-- Copyright (C) 2002 by  HUAWEI TECHNOLOGIES. All rights reserved.
--
-- Description:  HUAWEI Lan Switch mac management MIB
-- Reference:
-- Version: V2.3
-- History:
--(1) Created by Zhangshilin, 2001.06.29
-- V2.0 2004-10-12 updated by gaolong
--      Import TEXTUAL-CONVENTION and MODULE-IDENTITY.
--      Add hwLswMacPort MODULE-IDENTITY clause.
--      Change ACCESS to MAX-ACCESS.
--      Change MAX-ACCESS clause value from write-only to read-write.
-- V2.1 2005-03-16 by gaolong
--      Change import clause of hwdot1qVlanIndex
-- V2.2 2005-07-28 by huna kf0518
--      Add hwdot1qTpFdbGroupSetTable
-- V2.3 2005-02-25 by wangyupeng
--      Add blackhole and security for hwdot1qTpFdbSetStatus
-- ==================================================================

-- ==================================================================
--
-- Varibles and types be imported
--
-- ==================================================================
A3COM-HUAWEI-LswMAM-MIB DEFINITIONS ::= BEGIN
IMPORTS

    MacAddress, TEXTUAL-CONVENTION
        FROM SNMPv2-TC

    OBJECT-TYPE,Integer32, MODULE-IDENTITY
        FROM SNMPv2-SMI

    lswCommon
        FROM A3COM-HUAWEI-OID-MIB

    hwdot1qVlanIndex
        FROM A3COM-HUAWEI-LswVLAN-MIB;

    hwLswMacPort MODULE-IDENTITY
            LAST-UPDATED "200106290000Z"
            ORGANIZATION " "
            CONTACT-INFO
            " "
            DESCRIPTION
            " "
            REVISION "200106290000Z"
            DESCRIPTION
            " "
            ::= { lswCommon 3 }

    InterfaceIndex ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
               "A unique value, greater than zero, for each interface
               or interface sub-layer in the managed system.  It is
               recommended that values are assigned contiguously
               starting from 1.  The value for each interface sub-
               layer must remain constant at least from one re-
               initialization of the entity's network management
               system to the next re-initialization."
       SYNTAX       Integer32

    PortList ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            ports, with the first octet specifying ports 1 through
            8, the second octet specifying ports 9 through 16, etc.
            Within each octet, the most significant bit represents
            the lowest numbered port, and the least significant bit
            represents the highest numbered port.  Thus, each port
            of the bridge is represented by a single bit within the
            value of this object.  If that bit has a value of '1'
            then that port is included in the set of ports; the port
            is not included if its bit has a value of '0'."
        SYNTAX      OCTET STRING




-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================



    hwdot1qMacSearchTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF HwDot1qMacSearchEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Information table for searching port with mac address   "
        ::= { hwLswMacPort  1 }

    hwdot1qMacSearchEntry   OBJECT-TYPE
        SYNTAX  HwDot1qMacSearchEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                " Information table for searching port with mac address entry  "
        INDEX   { hwdot1qMacSearchAddress, hwdot1qMacSearchVlanID }
        ::= { hwdot1qMacSearchTable  1 }

    HwDot1qMacSearchEntry ::=
       SEQUENCE {
                hwdot1qMacSearchAddress MacAddress ,
                hwdot1qMacSearchVlanID  INTEGER ,
                hwdot1qMacSearchPort    InterfaceIndex ,
                hwdot1qMacSearchAgeTime INTEGER
                }

    hwdot1qMacSearchAddress   OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "MAC address"
        ::= { hwdot1qMacSearchEntry  1 }

    hwdot1qMacSearchVlanID OBJECT-TYPE
        SYNTAX  INTEGER (-1 | 1..4096)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
               " VLANID of the native VLAN of the MAC address to be searched for "
        ::= { hwdot1qMacSearchEntry  2 }

    hwdot1qMacSearchPort OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
               "Interface index corresponding to the MAC address"
        ::= { hwdot1qMacSearchEntry  3 }

    hwdot1qMacSearchAgeTime OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
               " Address aging time"
        ::= { hwdot1qMacSearchEntry  4 }


    hwdot1qTpFdbSetTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF HwDot1qTpFdbSetEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Unicast address setting table  "
        ::= { hwLswMacPort  2 }

    hwdot1qTpFdbSetEntry   OBJECT-TYPE
        SYNTAX  HwDot1qTpFdbSetEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                " Unicast address setting table entry "
        INDEX   { hwdot1qVlanIndex, hwdot1qTpFdbSetAddress }
        ::= { hwdot1qTpFdbSetTable  1 }

    HwDot1qTpFdbSetEntry ::=
       SEQUENCE {
                hwdot1qTpFdbSetAddress  MacAddress ,
                hwdot1qTpFdbSetPort     InterfaceIndex ,
                hwdot1qTpFdbSetStatus   INTEGER,
                hwdot1qTpFdbSetOperate  INTEGER
                }

    hwdot1qTpFdbSetAddress   OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Unicast MAC address "
        ::= { hwdot1qTpFdbSetEntry  1 }


    hwdot1qTpFdbSetPort OBJECT-TYPE
        SYNTAX  InterfaceIndex

        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
               "Interface index corresponding to the MAC address "
        ::= { hwdot1qTpFdbSetEntry  2 }

    hwdot1qTpFdbSetStatus OBJECT-TYPE
        SYNTAX  INTEGER {
            other(1),
            learned(3),
            static(6),
            dynamic(7),
            blackhole(9),
            security(11)
                }
        MAX-ACCESS read-write
        STATUS      current
        DESCRIPTION
               "State corresponding to the MAC address"
        ::= { hwdot1qTpFdbSetEntry 3 }

    hwdot1qTpFdbSetOperate OBJECT-TYPE
        SYNTAX  INTEGER {
            add(1),
            delete(2)
            }
        MAX-ACCESS read-write
        STATUS      current
        DESCRIPTION
        "Add or delete an MAC address.  Read operation not supported."
        ::= { hwdot1qTpFdbSetEntry 4 }


    hwdot1qTpFdbGroupSetTable   OBJECT-TYPE
        SYNTAX  SEQUENCE OF HwDot1qTpFdbGroupSetEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Multistcast address setting table, whose maximal row number
                 is dynamically changed by the influence of IGSP.  When
                 reaching the upper limit of the table, no more row could be
                 added, then an error will be returned."
        ::= { hwLswMacPort  3 }

    hwdot1qTpFdbGroupSetEntry   OBJECT-TYPE
        SYNTAX  HwDot1qTpFdbGroupSetEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Multicast address setting table entry."
        INDEX   { hwdot1qVlanIndex, hwdot1qTpFdbGroupSetAddress }
        ::= { hwdot1qTpFdbGroupSetTable  1 }

    HwDot1qTpFdbGroupSetEntry ::=
       SEQUENCE {
                hwdot1qTpFdbGroupSetAddress  MacAddress,
                hwdot1qTpFdbGroupSetPort     PortList,
                hwdot1qTpFdbGroupSetOperate  INTEGER
                }

    hwdot1qTpFdbGroupSetAddress   OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Multicast MAC address."
        ::= { hwdot1qTpFdbGroupSetEntry  1 }

    hwdot1qTpFdbGroupSetPort OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                "The complete set of ports, in this VLAN, to which
                 frames destined to this Multicast MAC address are currently
                 being explicitly forwarded.  This does not include ports
                 for which this address is only implicitly forwarded."
        ::= { hwdot1qTpFdbGroupSetEntry  2 }

    hwdot1qTpFdbGroupSetOperate OBJECT-TYPE
        SYNTAX  INTEGER {
            add(1),
            delete(2)
            }
        MAX-ACCESS read-write
        STATUS      current
        DESCRIPTION
                "Add or delete a Multicast MAC address.  Read operation is
                 meaningless.  When adding a Multicast MAC address, it is
                 required to provide MacAddress, VLAN and PortList all.  For
                 deleting operation, MacAddress and VLAN must be provided,
                 but hwdot1qTpFdbGroupSetPort is optional."
        ::= { hwdot1qTpFdbGroupSetEntry 3 }


END
