-- =============================================================================
-- Copyright (c) 2004-2023 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Layer 2 Virtual Private Network (L2VPN) MIB
-- Reference:
-- Version: V1.5
-- History:
-- V1.5 2023-01-17 Modified by xuwentao
--   Add hh3cL2vpnFlowLabelNonSuppTable, hh3cL2vpnCCCTable and hh3cL2vpnPwInfoTable.
--   Add nodes hh3cL2vpnFlowLabelNonSupp, hh3cL2vpnSingleCCCVcDown,
--   hh3cL2vpnSingleCCCVcUp, hh3cL2vpnPwOutAgeClear and hh3cL2vpnPwOutAge.
-- V1.4 2021-11-30 Modified by lifei
--   Add hh3cL2vpnMacLimitPwTable and Added nodes hh3cL2vpnMacLimitMaxAc hh3cL2vpnMacLimitMaxAcClear hh3cL2vpnMacLimitMaxPw
--   hh3cL2vpnMacLimitMaxPwClear hh3cL2vpnPwParaMisMatch hh3cL2vpnPwParaMatch
-- V1.3 2020-08-08 Modified by Gaolei
--   Added node hh3cL2vpnPwOutboundQosCarCir hh3cL2vpnPwOutboundQosCarCbs
--   hh3cL2vpnPwOutboundQosCarEbs hh3cL2vpnPwOutboundQosCarPir
-- V1.2 2018-04-27  Modified by fuzhihua
--      Added nodes hh3cL2vpnXcgConnRedundancy and hh3cL2vpnXcgPwIgnoreStandby
-- V1.1 2018-01-17 Modified by Chenjuxi
--   Add node hh3cL2vpnPwcFlowLabel
--      2017-11-21 Modified by Chenjian
--   Add hh3cL2vpnLinkTable
--      2016-09-30 Modified by Liyun
--   Add hh3cL2vpnAcCfgTable and hh3cL2vpnPwCfgTable
-- V1.0 2015-01-16 Created by Yanneng
-- =============================================================================
HH3C-L2VPN-MIB DEFINITIONS ::= BEGIN

IMPORTS
        RowStatus, TruthValue, DisplayString
    FROM SNMPv2-TC
        InterfaceIndexOrZero
    FROM IF-MIB
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        IpAddress,
        NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        InterfaceIndex
    FROM IF-MIB
        hh3cCommon
    FROM HH3C-OID-MIB;

-- =============================================================================
-- module identity part
-- =============================================================================
hh3cL2vpn MODULE-IDENTITY
    LAST-UPDATED "202301171100Z"       -- Dec 01, 2023 at 11:00 GMT
    ORGANIZATION
        "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Tech. Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085
        "
    DESCRIPTION
        "Add hh3cL2vpnFlowLabelNonSuppTable hh3cL2vpnCCCTable and hh3cL2vpnPwInfoTable
         Added nodes hh3cL2vpnFlowLabelNonSupp hh3cL2vpnSingleCCCVcDown
         hh3cL2vpnSingleCCCVcUp hh3cL2vpnPwOutAgeClear and hh3cL2vpnPwOutAge."
    REVISION
        "202301171100Z"   -- Dec 01, 2023 at 11:00 GMT
    DESCRIPTION
        "Added hh3cL2vpnMacLimitMaxAc hh3cL2vpnMacLimitMaxAcClear hh3cL2vpnMacLimitMaxPw hh3cL2vpnMacLimitMaxPwClear
         hh3cL2vpnPwParaMisMatch hh3cL2vpnPwParaMatch."
    REVISION
        "202112101100Z"   -- Dec 10, 2021 at 11:00 GMT
    DESCRIPTION
        "Added hh3cL2vpnPwOutboundQosCarCir hh3cL2vpnPwOutboundQosCarCbs hh3cL2vpnPwOutboundQosCarEbs and hh3cL2vpnPwOutboundQosCarPir."
    REVISION
        "202010291800Z"   -- Oct 29, 2020 at 18:00 GMT
    DESCRIPTION
        "Added hh3cL2vpnXcgConnRedundancy and hh3cL2vpnXcgPwIgnoreStandby."
    REVISION
        "201804271800Z"   -- Apr 27, 2018 at 18:00 GMT
    DESCRIPTION
        "Added node hh3cL2vpnPwcFlowLabel."
    REVISION
        "201801171500Z"   -- Jan 17, 2018 at 15:00 GMT
    DESCRIPTION
        "Added hh3cL2vpnLinkTable."
    REVISION
        "201711211500Z"   -- Nov 21, 2017 at 15:00 GMT
    DESCRIPTION
        "Added hh3cL2vpnAcCfgTable and hh3cL2vpnPwCfgTable."
    REVISION
        "201609301800Z"   -- Sept 30, 2016 at 18:00 GMT
    DESCRIPTION
        "This MIB contains objects to manage L2VPN."
    REVISION
        "201501160000Z"   -- Jan 16, 2015 at 00:00 GMT
    DESCRIPTION
        "Initial version."
    ::= { hh3cCommon 162 }

-- ==================================================================
-- =================== hh3cL2VpnPwNotifications definition ==========
-- ==================================================================

hh3cL2vpnPwNotifications OBJECT IDENTIFIER ::= { hh3cL2vpn 0 }

-- ==================================================================
-- ======================= hh3cL2vpnGlobalTable definition ==========
-- ==================================================================

hh3cL2vpnGlobalTable OBJECT IDENTIFIER ::= { hh3cL2vpn 2 }

hh3cL2vpnPwcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnPwcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains pseudowire (PW) class information."
    ::= { hh3cL2vpnGlobalTable 1 }

hh3cL2vpnPwcEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnPwcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about a PW class entry."
    INDEX
        {
            hh3cL2vpnPwcName
        }
    ::= { hh3cL2vpnPwcTable 1 }

Hh3cL2vpnPwcEntry ::= SEQUENCE
    {
        hh3cL2vpnPwcName             OCTET STRING,
        hh3cL2vpnPwcCvType           INTEGER,
        hh3cL2vpnPwcCcType           INTEGER,
        hh3cL2vpnPwcControlWord      TruthValue,
        hh3cL2vpnPwcPwType           INTEGER,
        hh3cL2vpnPwcRowStatus        RowStatus,
        hh3cL2vpnPwcFlowLabel        INTEGER
    }

hh3cL2vpnPwcName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PW class name."
    ::= { hh3cL2vpnPwcEntry 1 }

hh3cL2vpnPwcCvType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        unknown(1),
        bfd(2),
        rawBFD(3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Virtual Circuit Connectivity Verification (VCCV) Bidirectional
         Forwarding Detection (BFD) type."
    ::= { hh3cL2vpnPwcEntry 2 }

hh3cL2vpnPwcCcType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        unknown(1),
        controlWord(2),
        routerAlert(3),
        ttl(4)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Virtual Circuit Connectivity Verification (VCCV) Control Channel
        (CC) type."
    ::= { hh3cL2vpnPwcEntry 3 }

hh3cL2vpnPwcControlWord OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Whether control word is enabled."
    DEFVAL { false }
    ::= { hh3cL2vpnPwcEntry 4 }

hh3cL2vpnPwcPwType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        vlan(4),
        ethernet(5)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "PW encapsulation type."
    DEFVAL { vlan }
    ::= { hh3cL2vpnPwcEntry 5 }

hh3cL2vpnPwcRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.  A row entry cannot be modified
         when the value of this object is 'active'."
    ::= { hh3cL2vpnPwcEntry 6 }

hh3cL2vpnPwcFlowLabel OBJECT-TYPE
    SYNTAX      INTEGER
    {
        unknown(1),
        send(2),
        receive(3),
        both(4)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Flow label capability."
    DEFVAL { unknown }
    ::= { hh3cL2vpnPwcEntry 7 }

-- ==================================================================
-- ======================= hh3cL2vpnLinkTable definition ==========
-- ==================================================================

hh3cL2vpnLinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains L2VPN link information."
    ::= { hh3cL2vpnGlobalTable 2 }

hh3cL2vpnLinkEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about an L2VPN link entry."
    INDEX
        {
            hh3cL2vpnLinkVsiIndex,
            hh3cL2vpnLinkLinkID
        }
    ::= { hh3cL2vpnLinkTable 1 }

Hh3cL2vpnLinkEntry ::= SEQUENCE
    {
        hh3cL2vpnLinkVsiIndex        Unsigned32,
        hh3cL2vpnLinkLinkID          Unsigned32,
        hh3cL2vpnLinkType            INTEGER,
        hh3cL2vpnLinkIfIndex         InterfaceIndex,
        hh3cL2vpnLinkSrvID           Unsigned32,
        hh3cL2vpnLinkTunnelID        Unsigned32
    }

hh3cL2vpnLinkVsiIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Virtual Switch Instance (VSI) index of the l2vpn link.  The maximum
         value of unsigned32 means that the VSI index is invalid."
    ::= { hh3cL2vpnLinkEntry 1 }

hh3cL2vpnLinkLinkID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VSI link Identifier (ID) of the l2vpn link.  The maximum value of
         unsigned32 means that the VSI link ID is invalid."
    ::= { hh3cL2vpnLinkEntry 2 }

hh3cL2vpnLinkType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        unknown(1),
        ac(2),
        tunnel(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Link type of the l2vpn link.  If the link type is neither Attachment
         Circuit (AC) nor tunnel, it returns 1."
    ::= { hh3cL2vpnLinkEntry 3 }

hh3cL2vpnLinkIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Interface index of the L2VPN link.  Value zero means that the interface
         index is invalid."
    ::= { hh3cL2vpnLinkEntry 4 }

hh3cL2vpnLinkSrvID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Service instance ID of the L2VPN link.  Value zero means that the
         service instance ID is invalid."
    ::= { hh3cL2vpnLinkEntry 5 }

hh3cL2vpnLinkTunnelID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tunnel ID of the L2VPN link.  The maximum value of unsigned32 means
         that the tunnel ID is invalid."
    ::= { hh3cL2vpnLinkEntry 6 }

-- ==================================================================
-- ======================= hh3cL2vpnMacLimitPwTable definition ==========
-- ==================================================================

hh3cL2vpnMacLimitPwTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnMacLimitPwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains L2VPN Mac Limit information."
    ::= { hh3cL2vpnGlobalTable 3 }

hh3cL2vpnMacLimitPwEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnMacLimitPwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about an L2VPN Mac Limit entry."
    INDEX
        {
            hh3cL2vpnMacLimitPwVsiIndex,
            hh3cL2vpnMacLimitPwLinkID
        }
    ::= { hh3cL2vpnMacLimitPwTable 1 }

Hh3cL2vpnMacLimitPwEntry ::= SEQUENCE
    {
        hh3cL2vpnMacLimitPwVsiIndex        Unsigned32,
        hh3cL2vpnMacLimitPwLinkID          Unsigned32,
        hh3cL2vpnMacLimitPwVsiName         OCTET STRING,
        hh3cL2vpnMacLimitPwRowStatus       RowStatus
    }

hh3cL2vpnMacLimitPwVsiIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Index of VSI.  Its value ranges from 0x1 to 0xFFFFFFFE."
    ::= { hh3cL2vpnMacLimitPwEntry 1 }

hh3cL2vpnMacLimitPwLinkID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "VSI link Identifier (ID) of the l2vpn link.  The maximum value of
         unsigned32 means that the VSI link ID is invalid."
    ::= { hh3cL2vpnMacLimitPwEntry 2 }

hh3cL2vpnMacLimitPwVsiName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Name of VSI.  Max string length of VSI name is 31."
    ::= { hh3cL2vpnMacLimitPwEntry 3 }
hh3cL2vpnMacLimitPwRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hh3cL2vpnMacLimitPwEntry 4 }

-- ==================================================================
-- ======================= hh3cL2vpnPwInfoTable definition ==========
-- ==================================================================

hh3cL2vpnPwInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnPwInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains L2VPN PW warning information."
    ::= { hh3cL2vpnGlobalTable 4 }

hh3cL2vpnPwInfoEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnPwInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry describes configurations for a PW."
    INDEX
        {
            hh3cL2vpnPeerIp,
            hh3cL2vpnPWPwID
        }
    ::= { hh3cL2vpnPwInfoTable 1 }

Hh3cL2vpnPwInfoEntry ::= SEQUENCE
    {
        hh3cL2vpnPeerIp                  IpAddress,
        hh3cL2vpnPWPwID                  Unsigned32,
        hh3cL2vpnPwType                  INTEGER
    }

hh3cL2vpnPeerIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Peer IP address."
    ::= { hh3cL2vpnPwInfoEntry 1 }

hh3cL2vpnPWPwID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "PW identifier (ID)."
    ::= { hh3cL2vpnPwInfoEntry 2 }

hh3cL2vpnPwType      OBJECT-TYPE
    SYNTAX      INTEGER
    {
        vlan(4),
        ethernet(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "L2VPN PW type."
    ::= { hh3cL2vpnPwInfoEntry 3 }

-- ==================================================================
-- =========== hh3cL2vpnFlowLabelNonSuppTable definition ============
-- ==================================================================

hh3cL2vpnFlowLabelNonSuppTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnFlowLabelNonSuppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains Slot configuration."
    ::= { hh3cL2vpnGlobalTable 5}

hh3cL2vpnFlowLabelNonSuppEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnFlowLabelNonSuppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry describes configurations about a Slot."
        INDEX
        {
            hh3cL2vpnFlowLabelSlotId
        }
    ::= { hh3cL2vpnFlowLabelNonSuppTable 1 }

Hh3cL2vpnFlowLabelNonSuppEntry ::= SEQUENCE
    {
        hh3cL2vpnFlowLabelSlotId                Unsigned32,
        hh3cL2vpnFlowLabelOID                   OBJECT IDENTIFIER
    }

hh3cL2vpnFlowLabelSlotId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "SlotId identifier (ID)."
    ::= { hh3cL2vpnFlowLabelNonSuppEntry 1 }

hh3cL2vpnFlowLabelOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "OID identifier (ID)."
    ::= { hh3cL2vpnFlowLabelNonSuppEntry 2 }

-- ==================================================================
-- =======================hh3cL2vpnVpwsTable definition  ============
-- ==================================================================

hh3cL2vpnVpwsTable OBJECT IDENTIFIER ::= { hh3cL2vpn 3 }

-- ==================================================================
-- =======================hh3cL2vpnXcgTable definition  ============
-- ==================================================================
hh3cL2vpnXcgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnXcgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains cross-connect group information."
    ::= { hh3cL2vpnVpwsTable 1 }

hh3cL2vpnXcgEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnXcgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about a cross-connect group entry."
    INDEX
        {
            hh3cL2vpnXcgName
        }
    ::= { hh3cL2vpnXcgTable 1 }

Hh3cL2vpnXcgEntry ::= SEQUENCE
    {
        hh3cL2vpnXcgName            OCTET STRING,
        hh3cL2vpnXcgAdminState      INTEGER,
        hh3cL2vpnXcgRowStatus       RowStatus
    }

hh3cL2vpnXcgName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Cross-connect group name."
    ::= { hh3cL2vpnXcgEntry 1 }

hh3cL2vpnXcgAdminState OBJECT-TYPE
    SYNTAX      INTEGER
    {
        adminUp(1),
        adminDown(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The desired state of the cross-connect group.  The column doesn't exist
         when this group hasn't any connection."
    ::= { hh3cL2vpnXcgEntry 2 }

hh3cL2vpnXcgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hh3cL2vpnXcgEntry 3 }
-- ==================================================================
-- ====================hh3cL2vpnXcgConnTable definition  ============
-- ==================================================================
hh3cL2vpnXcgConnTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnXcgConnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains cross-connect information."
    ::= { hh3cL2vpnVpwsTable 2 }

hh3cL2vpnXcgConnEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnXcgConnEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about a cross-connect entry."
    INDEX
        {
            hh3cL2vpnXcgName,
            hh3cL2vpnXcgConnName
        }
    ::= { hh3cL2vpnXcgConnTable 1 }

Hh3cL2vpnXcgConnEntry ::= SEQUENCE
    {
        hh3cL2vpnXcgConnName         OCTET STRING,
        hh3cL2vpnXcgConnRowStatus    RowStatus,
        hh3cL2vpnXcgConnRedundancy   INTEGER
    }

hh3cL2vpnXcgConnName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..20))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Cross-connect name."
    ::= { hh3cL2vpnXcgConnEntry 1 }

hh3cL2vpnXcgConnRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry."
    ::= { hh3cL2vpnXcgConnEntry 2 }

hh3cL2vpnXcgConnRedundancy OBJECT-TYPE
    SYNTAX      INTEGER
    {
        slave(1),
        master(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "PW redundancy mode."
    DEFVAL { slave }
    ::= { hh3cL2vpnXcgConnEntry 3 }
-- ==================================================================
-- ====================hh3cL2vpnXcgAcTable definition  ==============
-- ==================================================================
hh3cL2vpnXcgAcTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnXcgAcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains information about attachment circuits (ACs)
         bound to cross-connects"
    ::= { hh3cL2vpnVpwsTable 3 }

hh3cL2vpnXcgAcEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnXcgAcEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about an attachment circuit entry."
    INDEX
        {
            hh3cL2vpnXcgName,
            hh3cL2vpnXcgConnName,
            hh3cL2vpnXcgAcIfIndex,
            hh3cL2vpnXcgAcEvcSrvInstId
        }
    ::= { hh3cL2vpnXcgAcTable 1 }

Hh3cL2vpnXcgAcEntry ::= SEQUENCE
    {
        hh3cL2vpnXcgAcIfIndex            InterfaceIndex,
        hh3cL2vpnXcgAcEvcSrvInstId       Unsigned32,
        hh3cL2vpnXcgAcAccessMode         INTEGER,
        hh3cL2vpnXcgAcRowStatus          RowStatus
    }

hh3cL2vpnXcgAcIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the interface."
    ::= { hh3cL2vpnXcgAcEntry 1 }

hh3cL2vpnXcgAcEvcSrvInstId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the service instance.  The value is always 0 when the
         interface isn't a layer 2 Ethernet interface."
    ::= { hh3cL2vpnXcgAcEntry 2 }

hh3cL2vpnXcgAcAccessMode OBJECT-TYPE
    SYNTAX      INTEGER
    {
        vlan(1),
        ethernet(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Access mode of the AC.  The value is meaningless when the
         interface isn't a layer 2 Ethernet interface."
    ::= { hh3cL2vpnXcgAcEntry 3 }

hh3cL2vpnXcgAcRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.  A row entry cannot be modified
         when the value of this object is 'active'."
    ::= { hh3cL2vpnXcgAcEntry 4 }
-- ==================================================================
-- ====================hh3cL2vpnXcgPwTable definition  ==============
-- ==================================================================
hh3cL2vpnXcgPwTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnXcgPwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains PW information."
    ::= { hh3cL2vpnVpwsTable 4 }

hh3cL2vpnXcgPwEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnXcgPwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Provides information about a PW entry."
    INDEX
        {
            hh3cL2vpnXcgName,
            hh3cL2vpnXcgConnName,
            hh3cL2vpnXcgPwIndex
        }
    ::= { hh3cL2vpnXcgPwTable 1 }

Hh3cL2vpnXcgPwEntry ::= SEQUENCE
    {
        hh3cL2vpnXcgPwIndex            Unsigned32,
        hh3cL2vpnXcgPwCfgType          INTEGER,
        hh3cL2vpnXcgPwClassName        OCTET STRING,
        hh3cL2vpnXcgPwTunnelPolicy     OCTET STRING,
        hh3cL2vpnXcgPwPeerIp           IpAddress,
        hh3cL2vpnXcgPwPwID             Unsigned32,
        hh3cL2vpnXcgPwRowStatus        RowStatus,
        hh3cL2vpnXcgPwIgnoreStandby    TruthValue
    }

hh3cL2vpnXcgPwIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "A unique index for a PW."
    ::= { hh3cL2vpnXcgPwEntry 1 }

hh3cL2vpnXcgPwCfgType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        primary(1),
        backup(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "PW attribute."
    ::= { hh3cL2vpnXcgPwEntry 2 }

hh3cL2vpnXcgPwClassName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "PW class name."
    ::= { hh3cL2vpnXcgPwEntry 3 }

hh3cL2vpnXcgPwTunnelPolicy OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Tunnel policy name."
    ::= { hh3cL2vpnXcgPwEntry 4 }

hh3cL2vpnXcgPwPeerIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Peer IP address."
    ::= { hh3cL2vpnXcgPwEntry 5 }

hh3cL2vpnXcgPwPwID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "PW identifier(ID)."
    ::= { hh3cL2vpnXcgPwEntry 6 }

hh3cL2vpnXcgPwRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.  A row entry cannot be modified
         when the value of this object is 'active'."
    ::= { hh3cL2vpnXcgPwEntry 7 }

hh3cL2vpnXcgPwIgnoreStandby OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Ignores the PW standby state advertised by the remote PE."
    DEFVAL { false }
    ::= { hh3cL2vpnXcgPwEntry 8 }
-- ==================================================================
-- ======================= hh3cL2vpnCCCTable definition =============
-- ==================================================================
hh3cL2vpnCCCTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnCCCEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains Circuit Cross Connect(CCC)
         remote connection warning information."
    ::= { hh3cL2vpnVpwsTable 5 }

hh3cL2vpnCCCEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnCCCEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry describes configurations for a CCC."
        INDEX
        {
            hh3cL2vpnInInterfaceIndex, hh3cL2vpnOutInterfaceIndex
        }
    ::= { hh3cL2vpnCCCTable 1 }

Hh3cL2vpnCCCEntry ::= SEQUENCE
    {
        hh3cL2vpnInInterfaceIndex     InterfaceIndex,
        hh3cL2vpnOutInterfaceIndex    InterfaceIndex,
        hh3cL2vpnChangeReason         Unsigned32,
        hh3cL2vpnInInterfaceName      OCTET STRING,
        hh3cL2vpnOutInterfaceName     OCTET STRING
    }

hh3cL2vpnInInterfaceIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Index of the inbound interface."
    ::= { hh3cL2vpnCCCEntry 1 }

hh3cL2vpnOutInterfaceIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Index of the outbound interface."
    ::= { hh3cL2vpnCCCEntry 2 }

hh3cL2vpnChangeReason OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The reason for the CCC state change.
         Local AC Up/Down(4);
         Local AC (not) bind(5);
         Local Xconnect-group Up/Down(8);
         Label (not) allocated(11)."
    ::= { hh3cL2vpnCCCEntry 3 }

hh3cL2vpnInInterfaceName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the inbound interface."
    ::= { hh3cL2vpnCCCEntry 4 }

hh3cL2vpnOutInterfaceName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the outbound interface."
    ::= { hh3cL2vpnCCCEntry 5 }

-- ==================================================================
-- ===============hh3cL2vpnPwNotifications definition  ==============
-- ==================================================================
hh3cL2vpnPwSwitchPtoB NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnXcgPwIndex,
            hh3cL2vpnXcgPwPeerIp,
            hh3cL2vpnXcgPwPwID,
            hh3cL2vpnXcgPwIndex,
            hh3cL2vpnXcgPwPeerIp,
            hh3cL2vpnXcgPwPwID
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when a primary-to-backup PW switching
         happens.  The first three elements show the primary PW,
         and the second three elements show the backup PW."
    ::= { hh3cL2vpnPwNotifications 1 }

hh3cL2vpnPwSwitchBtoP NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnXcgPwIndex,
            hh3cL2vpnXcgPwPeerIp,
            hh3cL2vpnXcgPwPwID,
            hh3cL2vpnXcgPwIndex,
            hh3cL2vpnXcgPwPeerIp,
            hh3cL2vpnXcgPwPwID
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when a backup-to-primary PW switching
         happens.  The first three elements show the backup PW,
         and the second three elements show the primary PW."
    ::= { hh3cL2vpnPwNotifications 2 }
-- ==================================================================


-- ==================================================================
-- =======================hh3cL2vpnAcTable definition  ============
-- ==================================================================

hh3cL2vpnAcTable OBJECT IDENTIFIER ::= { hh3cL2vpn 4 }

-- ==================================================================
-- ======================= hh3cL2vpnAcCfgTable definition ==========
-- ==================================================================
hh3cL2vpnAcCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnAcCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains interface configurations and AC configurations."
    ::= { hh3cL2vpnAcTable 1 }

hh3cL2vpnAcCfgEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnAcCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry describes information about interface configurations
        and AC configurations."
    INDEX
        {
            hh3cL2vpnAcIfIndex,hh3cL2vpnAcSrvId
        }
    ::= { hh3cL2vpnAcCfgTable 1 }

Hh3cL2vpnAcCfgEntry ::= SEQUENCE
    {
        hh3cL2vpnAcIfIndex            InterfaceIndex,
        hh3cL2vpnAcSrvId              Unsigned32,
        hh3cL2vpnAcIfName             DisplayString,
        hh3cL2vpnAcVsiName            DisplayString,
        hh3cL2vpnAcXcgName            DisplayString,
        hh3cL2vpnAcXcgConnName        DisplayString,
        hh3cL2vpnAcDot1qType          INTEGER,
        hh3cL2vpnAcVLANID             Unsigned32
    }

hh3cL2vpnAcIfIndex   OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the interface."
    ::= { hh3cL2vpnAcCfgEntry 1 }

hh3cL2vpnAcSrvId   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index of the service instance.  The value is always 0 when the
        interface isn't a layer 2 Ethernet interface."
    ::= { hh3cL2vpnAcCfgEntry 2 }

hh3cL2vpnAcIfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the interface."
    ::= { hh3cL2vpnAcCfgEntry 3 }

hh3cL2vpnAcVsiName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the VSI."
    ::= { hh3cL2vpnAcCfgEntry 4 }

hh3cL2vpnAcXcgName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Cross-connect group name."
    ::= { hh3cL2vpnAcCfgEntry 5 }

hh3cL2vpnAcXcgConnName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Cross-connect name."
    ::= { hh3cL2vpnAcCfgEntry 6 }

hh3cL2vpnAcDot1qType OBJECT-TYPE
    SYNTAX INTEGER
    {
        other(1),
        default(2),
        singletag(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the configuration of VLAN IDs."
    ::= { hh3cL2vpnAcCfgEntry 7 }

hh3cL2vpnAcVLANID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "When the interface is a layer 2 Ethernet interface, this
        object indicates the VLAN IDs assigned to this service instance.
        When the interface is a subinterface, this object indicates
        the outermost VLAN IDs in the VLAN-tagged packets."
    ::= { hh3cL2vpnAcCfgEntry 8 }

-- ==================================================================
-- =======================hh3cL2vpnPwTable definition  ============
-- ==================================================================

hh3cL2vpnPwTable OBJECT IDENTIFIER ::= { hh3cL2vpn 5 }

-- ==================================================================
-- ======================= hh3cL2vpnPwCfgTable definition ==========
-- ==================================================================
hh3cL2vpnPwCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cL2vpnPwCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains PW configuration."
    ::= { hh3cL2vpnPwTable 1 }


hh3cL2vpnPwCfgEntry OBJECT-TYPE
    SYNTAX      Hh3cL2vpnPwCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry describes configurations about a PW."
        INDEX
        {
            hh3cL2vpnPwPeerIp, hh3cL2vpnPwId
        }
    ::= { hh3cL2vpnPwCfgTable 1 }

Hh3cL2vpnPwCfgEntry ::= SEQUENCE
    {
        hh3cL2vpnPwPeerIp                IpAddress,
        hh3cL2vpnPwId                    Unsigned32,
        hh3cL2vpnPwAcIfIndex             InterfaceIndexOrZero,
        hh3cL2vpnPwAcIfName              DisplayString,
        hh3cL2vpnPwAcSrvId               Unsigned32,
        hh3cL2vpnPwVsiName               DisplayString,
        hh3cL2vpnPwXcgName               DisplayString,
        hh3cL2vpnPwXcgConnName           DisplayString,
        hh3cL2vpnPwQosDirection          INTEGER,
        hh3cL2vpnPwInboundQosCir         Unsigned32,
        hh3cL2vpnPwInboundQosCbs         Unsigned32,
        hh3cL2vpnPwInboundQosEbs         Unsigned32,
        hh3cL2vpnPwOutboundQosCir        Unsigned32,
        hh3cL2vpnPwOutboundQosCbs        Unsigned32,
        hh3cL2vpnPwOutboundQosEbs        Unsigned32,
        hh3cL2vpnPwOutboundQosCarCir     Unsigned32,
        hh3cL2vpnPwOutboundQosCarCbs     Unsigned32,
        hh3cL2vpnPwOutboundQosCarEbs     Unsigned32,
        hh3cL2vpnPwOutboundQosCarPir     Unsigned32
    }

hh3cL2vpnPwPeerIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Peer IP address."
    ::= { hh3cL2vpnPwCfgEntry 1 }

hh3cL2vpnPwId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "PW identifier (ID)."
    ::= { hh3cL2vpnPwCfgEntry 2 }

hh3cL2vpnPwAcIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of the AC interface."
    ::= { hh3cL2vpnPwCfgEntry 3 }

hh3cL2vpnPwAcIfName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the AC interface."
    ::= { hh3cL2vpnPwCfgEntry 4 }

hh3cL2vpnPwAcSrvId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of the service instance.  The value is always
        0 when the interface isn't a layer 2 Ethernet interface."
    ::= { hh3cL2vpnPwCfgEntry 5 }

hh3cL2vpnPwVsiName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the VSI."
    ::= { hh3cL2vpnPwCfgEntry 6 }

hh3cL2vpnPwXcgName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Cross-connect group name."
    ::= { hh3cL2vpnPwCfgEntry 7 }

hh3cL2vpnPwXcgConnName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Cross-connect name."
    ::= { hh3cL2vpnPwCfgEntry 8 }

hh3cL2vpnPwQosDirection OBJECT-TYPE
    SYNTAX      INTEGER
    {
        none(1),
        inbound(2),
        outbound(3),
        both(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rate limit in the inbound or outbound direction."
    ::= { hh3cL2vpnPwCfgEntry 9 }

hh3cL2vpnPwInboundQosCir OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Committed Information Rate in the inbound direction."
    ::= { hh3cL2vpnPwCfgEntry 10 }

hh3cL2vpnPwInboundQosCbs OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Committed Burst Size in the inbound direction."
    ::= { hh3cL2vpnPwCfgEntry 11 }

hh3cL2vpnPwInboundQosEbs OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Excess Burst Size in the inbound direction."
    ::= { hh3cL2vpnPwCfgEntry 12 }

hh3cL2vpnPwOutboundQosCir OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Committed Information Rate in the outbound direction."
    ::= { hh3cL2vpnPwCfgEntry 13 }

hh3cL2vpnPwOutboundQosCbs OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Committed Burst Size in the outbound direction."
    ::= { hh3cL2vpnPwCfgEntry 14 }

hh3cL2vpnPwOutboundQosEbs OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Excess Burst Size in the outbound direction."
    ::= { hh3cL2vpnPwCfgEntry 15 }
hh3cL2vpnPwOutboundQosCarCir OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Committed Information Rate in kbps."
    ::= { hh3cL2vpnPwCfgEntry 16 }

hh3cL2vpnPwOutboundQosCarCbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Committed Burst Size in bytes."
    ::= { hh3cL2vpnPwCfgEntry 17 }

hh3cL2vpnPwOutboundQosCarEbs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Excess Burst Size in bytes.
         Only software QoS supports this node.
         4294967295 is returned when getting value from hardware QoS."
    ::= { hh3cL2vpnPwCfgEntry 18 }

hh3cL2vpnPwOutboundQosCarPir OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Peak Information Rate in kbps.
         Only hardware QoS supports this node.
         4294967295 is returned when getting value from software QoS."
    ::= { hh3cL2vpnPwCfgEntry 19 }

-- ==================================================================
-- ===============hh3cL2vpnPwNotifications definition  ==============
-- ==================================================================
hh3cL2vpnMacLimitMaxAc NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnAcIfName,
            hh3cL2vpnAcVsiName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when The number
         of MAC address entries on the AC reached the
         upper limit happens. The first element show
         the ServiceID"
    ::= { hh3cL2vpnPwNotifications 3 }

hh3cL2vpnMacLimitMaxAcClear NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnAcIfName,
            hh3cL2vpnAcVsiName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when The number of
         MAC address entries on the AC fell below the upper
         limit happens. The first element show the the ServiceID."
    ::= { hh3cL2vpnPwNotifications 4 }

hh3cL2vpnMacLimitMaxPw NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnMacLimitPwVsiIndex,
            hh3cL2vpnMacLimitPwLinkID,
            hh3cL2vpnMacLimitPwVsiName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when The number
         of MAC address entries on the PW reached the
         upper limit happens. The first  element show
         the vsi index"
    ::= { hh3cL2vpnPwNotifications 5 }

hh3cL2vpnMacLimitMaxPwClear NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnMacLimitPwVsiIndex,
            hh3cL2vpnMacLimitPwLinkID,
            hh3cL2vpnMacLimitPwVsiName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when The number of
         MAC address entries on the PW fell below the upper
         limit happens. The first element show the the vsi
         index."
    ::= { hh3cL2vpnPwNotifications 6 }

hh3cL2vpnPwParaMisMatch NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnPwVsiName,
            hh3cL2vpnPwXcgName,
            hh3cL2vpnPwXcgConnName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when the e PW parameter
         mismatch happens. The first element show the Pw PeerIp"
    ::= { hh3cL2vpnPwNotifications 7 }

hh3cL2vpnPwParaMatch NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnPwVsiName,
            hh3cL2vpnPwXcgName,
            hh3cL2vpnPwXcgConnName
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when the e PW parameter
         match happens. The first element show the Pw PeerIp"
    ::= { hh3cL2vpnPwNotifications 8 }

hh3cL2vpnPwOutAge NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnPeerIp,
            hh3cL2vpnPWPwID,
            hh3cL2vpnPwType
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when both main PW and backup PW are
         down."
    ::= { hh3cL2vpnPwNotifications 9 }

hh3cL2vpnPwOutAgeClear NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnPeerIp,
            hh3cL2vpnPWPwID,
            hh3cL2vpnPwType
        }
    STATUS      current
    DESCRIPTION
        "This notification is generated when the main PW or backup PW is
         recovered."
    ::= { hh3cL2vpnPwNotifications 10 }

hh3cL2vpnSingleCCCVcUp NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnInInterfaceIndex,
            hh3cL2vpnOutInterfaceIndex,
            hh3cL2vpnChangeReason,
            hh3cL2vpnInInterfaceName,
            hh3cL2vpnOutInterfaceName
        }
    STATUS      current
    DESCRIPTION
        "The status of the single CCC turned UP."
    ::= { hh3cL2vpnPwNotifications 11 }

hh3cL2vpnSingleCCCVcDown NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnInInterfaceIndex,
            hh3cL2vpnOutInterfaceIndex,
            hh3cL2vpnChangeReason,
            hh3cL2vpnInInterfaceName,
            hh3cL2vpnOutInterfaceName
        }
    STATUS      current
    DESCRIPTION
        "The status of the single CCC turned DOWN."
    ::= { hh3cL2vpnPwNotifications 12 }

hh3cL2vpnFlowLabelNonSupp NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cL2vpnFlowLabelSlotId,
            hh3cL2vpnFlowLabelOID
        }
    STATUS      current
    DESCRIPTION
        "The device has detected that there is a board with
         unsupported stream tag function."
    ::= { hh3cL2vpnPwNotifications 13 }
-- ==================================================================

END