L2L3-VPN-MULTICAST-TC-MIB DEFINITIONS ::= BEGIN

IMPORTS
  MODULE-IDENTITY, mib-2
     FROM SNMPv2-SMI                            -- RFC 2578

  TEXTUAL-CONVENTION
     FROM SNMPv2-TC;                            -- RFC 2579

l2L3VpnMcastTCMIB MODULE-IDENTITY
  LAST-UPDATED "201812140000Z"  -- 14 December 2018
  ORGANIZATION "IETF BESS Working Group"
  CONTACT-INFO
                "Zhaohui Zhang
                 Juniper Networks, Inc.
                 10 Technology Park Drive
                 Westford, MA 01886
                 United States of America
                 Email: zzhang@juniper.net

                 Hiroshi Tsunoda
                 Tohoku Institute of Technology
                 35-1, Yagiyama Kasumi-cho
                 Taihaku-ku, Sendai, 982-8577
                 Japan
                 Email: tsuno@m.ieice.org"
  DESCRIPTION
      "This MIB module specifies textual conventions for
       Border Gateway Protocol/Multiprotocol Label
       Switching Layer 2 and Layer 3 Virtual Private Networks
       that support multicast (L2L3VpnMCast networks).

       Copyright (c) 2018 IETF Trust and the persons identified
       as authors of the code.  All rights reserved.

       Redistribution and use in source and binary forms, with or
       without modification, is permitted pursuant to, and subject
       to the license terms contained in, the Simplified BSD
       License set forth in Section 4.c of the IETF Trust's Legal
       Provisions Relating to IETF Documents
       (http://trustee.ietf.org/license-info).
      "

  -- Revision History

  REVISION "201812140000Z"  -- 14 December 2018
  DESCRIPTION
      "Initial version, published as RFC 8502."
  ::= { mib-2 244 }

-- Textual Convention

L2L3VpnMcastProviderTunnelType ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
      "This textual convention enumerates values
       representing the type of a provider tunnel (P-tunnel)
       used for L2L3VpnMCast networks.
       These labeled numbers are aligned with the definition
       of Tunnel Types in Section 5 of RFC 6514 and
       Section 14.1 of RFC 7524.

       The enumerated values and the corresponding P-tunnel types
       are as follows:

        noTunnelInfo       (0) : No tunnel information RFC 6514
        rsvpP2mp           (1) : RSVP-TE P2MP LSP      RFC 4875
        ldpP2mp            (2) : mLDP P2MP LSP         RFC 6388
        pimSsm             (3) : PIM-SSM Tree          RFC 7761
        pimAsm             (4) : PIM-SM Tree           RFC 7761
        pimBidir           (5) : BIDIR-PIM Tree        RFC 5015
        ingressReplication (6) : Ingress Replication   RFC 6513
        ldpMp2mp           (7) : mLDP MP2MP LSP        RFC 6388
        transportTunnel    (8) : Transport Tunnel      RFC 7524

       These numbers are registered at IANA.
       A current list of assignments can be found at
       <https://www.iana.org/assignments/bgp-parameters/>.
      "
  REFERENCE
      "RFC 4875
       RFC 5015
       RFC 6388
       RFC 6513
       RFC 6514, Section 5
       RFC 7524, Section 14.1
       RFC 7761
      "
  SYNTAX       INTEGER
       {
         noTunnelInfo       (0),
         rsvpP2mp           (1),
         ldpP2mp            (2),
         pimSsm             (3),
         pimAsm             (4),
         pimBidir           (5),
         ingressReplication (6),
         ldpMp2mp           (7),
         transportTunnel    (8)
       }

L2L3VpnMcastProviderTunnelId ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
      "This textual convention represents the Tunnel Identifier
       of a P-tunnel.

       The size of the identifier depends on the address family
       (IPv4 or IPv6) and the value of the corresponding
       L2L3VpnMcastProviderTunnelType object.

       The corresponding L2L3VpnMcastProviderTunnelType object
       represents the type of tunneling technology used
       to establish the P-tunnel.

       The size of the identifier for each tunneling technology
       is summarized below.

        L2L3VpnMcastProviderTunnelType            Size (in octets)
         (tunneling technology)                      IPv4  IPv6
       -----------------------------------------------------------
         noTunnelInfo       (No tunnel information)    0     0
         rsvpP2mp           (RSVP-TE P2MP LSP)        12    24
         ldpP2mp            (mLDP P2MP LSP)           17    29
         pimSsm             (PIM-SSM Tree)             8    32
         pimAsm             (PIM-SM Tree)              8    32
         pimBidir           (BIDIR-PIM Tree)           8    32
         ingressReplication (Ingress Replication)      4    16
         ldpMp2mp           (mLDP MP2MP LSP)          17    29
         transportTunnel    (Transport Tunnel)         8    32

       The Tunnel Type is set to 'No tunnel information'
       when the PMSI Tunnel attribute carries no tunnel
       information (there is no Tunnel Identifier).
       The value of the corresponding L2L3VpnMcastProviderTunnelId
       object will be a string of length zero.

       For Tunnel Type rsvpP2mp(1), the corresponding Tunnel
       Identifier is composed of an Extended Tunnel ID (4 octets in
       IPv4, 16 octets in IPv6), 2 unused (Reserved) octets that of
       value zero, a Tunnel ID (2 octets), and a Point-to-Multipoint
       (P2MP) ID (4 octets).  The size of the corresponding
       L2L3VpnMcastProviderTunnelId object will be 12 octets in IPv4
       and 24 octets in IPv6.

       For Tunnel Type ldpP2mp(2), the corresponding Tunnel
       Identifier is the P2MP Forwarding Equivalence Class (FEC)
       Element (RFC 6388).  The size of the corresponding
       L2L3VpnMcastProviderTunnelId object will be 17 octets
       in IPv4 and 29 octets in IPv6.

       For Tunnel Types pimSsm(3), PimAsm(4), and PimBidir(5), the
       corresponding Tunnel Identifier is composed of the source IP
       address and the group IP address.
       The size of the corresponding L2L3VpnMcastProviderTunnelId
       object will be 8 octets in IPv4 and 32 octets in IPv6.

       For Tunnel Type ingressReplication(6), the Tunnel Identifier
       is the unicast tunnel endpoint IP address of the local PE.
       The size of the corresponding L2L3VpnMcastProviderTunnelId
       object will be 4 octets in IPv4 and 16 octets in IPv6.

       For Tunnel Type ldpMp2mp(7), the Tunnel Identifier is
       a Multipoint-to-Multipoint (MP2MP) FEC Element (RFC 6388).
       The size of the corresponding L2L3VpnMcastProviderTunnelId
       object will be 17 octets in IPv4 and 29 octets in IPv6.

       For Tunnel Type transportTunnel(8), the Tunnel Identifier
       is a tuple of Source PE Address and Local Number,
       which is a number that is unique to the Source PE (RFC 7524).
       Both Source PE Address and Local Number are 4 octets in IPv4
       and 16 octets in IPv6.
       The size of the corresponding L2L3VpnMcastProviderTunnelId
       object will be 8 octets in IPv4 and 32 octets in IPv6.
      "
  REFERENCE
      "RFC 6514, Section 5
       RFC 4875, Section 19.1
       RFC 6388, Sections 2.2 and 3.2
       RFC 7524, Section 14.1
      "
  SYNTAX       OCTET STRING ( SIZE (0|4|8|12|16|17|24|29|32) )

END
