-- =============================================================================
-- Copyright (c) 2004-2017 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The EVPN(Ethernet VPN) MIB
-- Reference:
-- Version: V1.0
-- History:
--   V1.0 2017-10-21 Initial version Created by Jian Chen
-- =============================================================================
H3C-EVPN-MIB DEFINITIONS ::= BEGIN
IMPORTS
        TruthValue, DisplayString
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
    FROM SNMPv2-SMI
        InetAddressType,
        InetAddress
    FROM INET-ADDRESS-MIB
        h3cCommon
    FROM HUAWEI-3COM-OID-MIB
        InterfaceIndex
    FROM IF-MIB;


-- =============================================================================
-- module identity part
-- =============================================================================
h3cEvpn MODULE-IDENTITY
    LAST-UPDATED
        "201710210900Z"        -- Oct 21, 2017 at 09:00 GMT
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "The EVPN MIB."
    REVISION
        "201710210900Z"   -- Oct 21, 2017 at 09:00 GMT
    DESCRIPTION
        "Initial version."
    ::= { h3cCommon 173 }

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

h3cEvpnObjects      OBJECT IDENTIFIER ::= { h3cEvpn 1 }

-- =============================================================================
-- h3cEvpnESTable Definition
-- =============================================================================
h3cEvpnESTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEvpnESEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for EVPN ES parameters."
    ::= { h3cEvpnObjects 1 }

h3cEvpnESEntry  OBJECT-TYPE
    SYNTAX      H3cEvpnESEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry represents the parameters of a EVPN ES."
    INDEX
    {
        h3cEvpnESESI
    }
    ::= { h3cEvpnESTable 1 }

H3cEvpnESEntry ::=
    SEQUENCE
    {
        h3cEvpnESESI               OCTET STRING,
        h3cEvpnESIfIndex           InterfaceIndex,
        h3cEvpnESIfName            DisplayString,
        h3cEvpnESMode              Unsigned32
    }

h3cEvpnESESI   OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..10))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Ethernet Segment Identifier."
    ::= { h3cEvpnESEntry 1 }

h3cEvpnESIfIndex    OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "ES interface index."
    ::= { h3cEvpnESEntry 2 }

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

h3cEvpnESMode    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Redundancy mode of ES."
    ::= { h3cEvpnESEntry 4 }

-- =============================================================================
-- End of h3cEvpnESTable Definition
-- =============================================================================

-- =============================================================================
-- h3cEvpnESMemberTable Definition
-- =============================================================================
h3cEvpnESMemberTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEvpnESMemberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for EVPN ES member information."
    ::= { h3cEvpnObjects 2 }

h3cEvpnESMemberEntry  OBJECT-TYPE
    SYNTAX      H3cEvpnESMemberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry contain the parameters of an ES member."
    INDEX
    {
        h3cEvpnESESI,
        h3cEvpnESMemberIPType,
        h3cEvpnESMemberIP
    }
    ::= { h3cEvpnESMemberTable 1 }

H3cEvpnESMemberEntry ::=
    SEQUENCE
    {
        h3cEvpnESMemberIPType        InetAddressType,
        h3cEvpnESMemberIP            InetAddress,
        h3cEvpnESMemberIsSelf        TruthValue
    }

h3cEvpnESMemberIPType     OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "ES member IP address type."
    ::= { h3cEvpnESMemberEntry 1 }

h3cEvpnESMemberIP   OBJECT-TYPE
    SYNTAX       InetAddress
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "ES member IP address."
    ::= { h3cEvpnESMemberEntry 2 }

h3cEvpnESMemberIsSelf  OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "Whether the member is local."
    ::= { h3cEvpnESMemberEntry 3 }

-- =============================================================================
-- End of h3cEvpnESMemberTable Definition
-- =============================================================================

-- =============================================================================
-- h3cEvpnESDFTable Definition
-- =============================================================================
h3cEvpnESDFTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cEvpnESDFEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for the ES DF information."
    ::= { h3cEvpnObjects 3 }

h3cEvpnESDFEntry  OBJECT-TYPE
    SYNTAX      H3cEvpnESDFEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry represents an (ES, VLAN) group."
    INDEX
    {
        h3cEvpnESESI,
        h3cEvpnESDFVLANID
    }
    ::= { h3cEvpnESDFTable 1 }

H3cEvpnESDFEntry ::=
    SEQUENCE
    {
        h3cEvpnESDFVLANID            Unsigned32,
        h3cEvpnESDFAcIfIndex         InterfaceIndex,
        h3cEvpnESDFACEvcSrvInstId    Unsigned32,
        h3cEvpnESDFMode              Unsigned32,
        h3cEvpnESDFRouterIPType      InetAddressType,
        h3cEvpnESDFRouterIP          InetAddress
    }

h3cEvpnESDFVLANID     OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VLAN assigned to an ES."
    ::= { h3cEvpnESDFEntry 1 }

h3cEvpnESDFAcIfIndex    OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index of an interface that hosts an Ethernet service instance for an ES."
    ::= { h3cEvpnESDFEntry 2 }

h3cEvpnESDFACEvcSrvInstId    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Ethernet service instance ID."
    ::= { h3cEvpnESDFEntry 3 }

h3cEvpnESDFMode    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "ES redundancy mode."
    ::= { h3cEvpnESDFEntry 4 }

h3cEvpnESDFRouterIPType    OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The designated forwarder IP address type."
    ::= { h3cEvpnESDFEntry 5 }

h3cEvpnESDFRouterIP    OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The designated forwarder IP address."
    ::= { h3cEvpnESDFEntry 6 }

-- =============================================================================
-- End of h3cEvpnESDFTable Definition
-- =============================================================================

END
