Network Working Group                                           Z. Zhang
Internet-Draft                                    Juniper Networks, Inc.
Intended status: Standards Track                              H. Tsunoda
Expires: November 27, December 23, 2017                Tohoku Institute of Technology
                                                            May 26,
                                                           June 21, 2017

                         L2L3 VPN Multicast MIB
                 draft-ietf-bess-l2l3-vpn-mcast-mib-08
                 draft-ietf-bess-l2l3-vpn-mcast-mib-09

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes two MIB modules which will be used by
   other MIB modules for monitoring and/or configuring Layer 2 and Layer
   3 Virtual Private Networks that support multicast.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 27, December 23, 2017.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  The Internet-Standard Management Framework  . . . . . . . . .   4
   3.  Summary of MIB Modules  . . . . . . . . . . . . . . . . . . .   4
   4.  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .   5   4
     4.1.  L2L3-VPN-MCAST-TC-MIB Object Definitions  . . . . . . . .   5
     4.2.  L2L3-VPN-MCAST-MIB Object Definitions . . . . . . . . . .  10   9
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  17
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  20  19

1.  Introduction

   In BGP/MPLS Virtual Private Networks (VPN), Border Gateway Protocol
   (BGP) is used for distributing routes and MultiProtocol Label
   Switching (MPLS) is used for forwarding packets accross service
   provider networks.

   The procedures for supporting multicast in Border Gateway Protocol/
   MultiProtocol Label Switching (BGP/MPLS) BGP/MPLS Layer 3 (L3) Virtual Private
   Network (VPN) VPN
   are specified in [RFC6513].  The procedures for supporting multicast
   in Border Gateway Protocol/MultiProtocol Label
   Switching BGP/MPLS Layer 2 (L2) Virtual Private Network VPN are specified in [RFC7117].  Throughout
   this document, we will use the term
   "L2L3VPNMCast" "L2L3VpnMCast" to mean BGP/MPLS
   L2 and L3 VPN that support multicast.

   This document describes textual conventions (TCs) and common managed
   objects (MOs) which will be used by other Management Information Base
   (MIB) modules for monitoring and/or configuring L2L3VPNMCast.

   L2L3VPNMCast L2L3VpnMCast.

   L2L3VpnMCast can be achieved by using various kinds of transport
   mechanisms for forwarding a packet to all or a subset of Provider
   Edge routers (PEs) across service provider networks.  Such transport
   mechanisms are referred to as provider tunnels (P-tunnels).  The
   signaling of P-tunnel choice is very similar for multicast in both L2
   and L3 VPNs.  Therefore,  TCs and
   MOs defined in this document will be used by other MIB modules for
   monitoring and/or configuring both L2 and L3 VPNs that support
   multicast.

   The

   There are two type types of the signaling mechanisms of P-tunnel choice: BGP-
   based and UDP-based [RFC6513].  BGP-based mechanisms for Virtual
   Private LAN Service and Multicast VPN (MVPN) are described in [RFC7117] and

   [RFC6513], respectively.  In [RFC6513], a UDP-based signaling
   mechanism is also specified.

   A BGP attribute that specifies information of a P-tunnel is called
   Provider Multicast Service Interface (PMSI) tunnel attribute.  The
   PMSI tunnel attribute is advertised/received by PEs in BGP auto-
   discovery (A-D) routes.  [RFC6514] defines the format of a PMSI
   tunnel attribute.

   This document defines four two TCs to represent

   (a) the tunnel type of a P-tunnel, P-tunnel and
   (b) the identifier of a P-tunnel,
   (c) the pointer to a row in some table pertaining to a P-tunnel, and
   (d) the type of the pointer in (c) above, P-tunnel

   respectively.

   This document also describes common MOs that provide the information
   in a PMSI tunnel attribute and corresponding tunnel information to
   other MIB modules.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

1.1.  Terminology

   This document adopts the definitions, acronyms and mechanisms
   described in [RFC6513] [RFC6514] [RFC7117] and other documents that
   they refer to.  Familiarity with Multicast, MPLS, Layer 3 VPN, MVPN
   (Multicast VPN)
   Multicast VPN concepts and/or mechanisms is assumed.  Some terms
   specifically related to this document are explained below.

   The term "Multicast VPN (MVPN)" [RFC6513] refers to a BGP/MPLS Layer
   3 (IP) VPN service that supports multicast.

   "Provider Multicast Service Interface (PMSI)" [RFC6513] is a
   conceptual interface instantiated by a P-tunnel, a transport
   mechanism used to deliver multicast traffic.  A PE uses it to send
   customer multicast traffic to all or some PEs in the same VPN.

   There are two kinds of PMSIs: "Inclusive PMSI (I-PMSI)" and
   "Selective PMSI (S-PMSI)" [RFC6513].  An I-PMSI is a PMSI that
   enables a PE attached to a particular MVPN Multicast VPN to transmit a
   message to all PEs in the same VPN.  An S-PMSI is a PMSI that enables
   a PE attached to a particular MVPN Multicast VPN to transmit a message to
   some of the PEs in the same VPN.

   Throughout this document, we will use the term "PMSI" to refer both
   "I-PMSI" and "S-PMSI."

   [RFC6513] describes the following tunnel setup techniques that can be
   used to create the P-tunnels that instantiate the PMSIs.

   o  Protocol Independent Multicast tree

      *  Sparse Mode (PIM-SM) tree [RFC4601]

      *  Source Specific Multicast (PIM-SSM) tree [RFC4601]

      *  Bidirectional Protocol Independent Multicast (BIDIR-PIM) tree
         [RFC5015]

   o  Label Distribution Protocol Extension for Multipoint Label
      Switched Paths (mLDP) [RFC6388]

      *  Point-to-MultiPoint (mLDP P2MP)

      *  Point-to-MultiPoint (mLDP MP2MP)

   o  Resource Reservation Protocol - Traffic Engineering Point-to-
      Multipoint (RSVP-TE P2MP) Label Switched Path [RFC4875]

   o  Ingress Replication through Unicast Tunnels [RFC6513]

   A tunnel is identified by its Tunnel Identifier.  The length of the
   identifier will depend on the setup technique that is used to create
   the tunnel.

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

3.  Summary of MIB Modules

   This document defines two MIB modules: L2L3-VPN-MCAST-TC-MIB and
   L2L3-VPN-MCAST-MIB.

   o  L2L3-VPN-MCAST-TC-MIB contains four two Textual Conventions:
      L2L3VpnMcastProviderTunnelType, L2L3VpnMcastProviderTunnelId,
      L2L3VpnMcastProviderTunnelPointerType,
      L2L3VpnMcastProviderTunnelType and
      L2L3VpnMcastProviderTunnelPointer. L2L3VpnMcastProviderTunnelId.
      L2L3VpnMcastProviderTunnelType provides an enumeration of the
      P-tunnel types.  L2L3VpnMcastProviderTunnelId represents an
      identifier of a P-tunnel.  L2L3VpnMcastProviderTunnelPointerType indicates a type
      of pointer to the row pertaining to a table entry that represents
      a P-tunnel.  L2L3VpnMcastProviderTunnelPointer denotes a pointer
      to the row pertaining to a table entry that represents a P-tunnel.

   o  L2L3-VPN-MCAST-MIB defines a table
      l2L3VpnMcastPmsiTunnelAttributeTable.  An entry in this table
      corresponds to a PMSI Tunnel Attribute (PTA) advertised/received
      by a PE router.  Entries in this table will be used by other MIB
      modules for monitoring and/or configuring L2L3VPNMCast. L2L3VpnMCast.  The table
      index uniquely identifies a tunnel.  It is composed of a set of
      attributes which depend on the tunnel type.  The table may also be
      used in conjunction with other MIBs, such as MPLS Traffic
      Engineering MIB (MPLS-TE-STD-MIB) [RFC3812], to obtain further
      information of a tunnel by following the row pointer of the
      corresponding tunnel's row in this table.  It may also be used in
      conjunction with Interfaces Group MIB (IF-MIB) [RFC2863] to obtain
      further information of the interface corresponding to the tunnel
      by following the row pointer of the corresponding tunnel's row in
      this table.

4.  Definitions
4.1.  L2L3-VPN-MCAST-TC-MIB Object Definitions

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

  IMPORTS
    MODULE-IDENTITY, mib-2
       FROM SNMPv2-SMI                            -- [RFC2578]

    TEXTUAL-CONVENTION
       FROM SNMPv2-TC;                            -- [RFC2579]

  l2L3VpnMcastTCMIB MODULE-IDENTITY
    LAST-UPDATED "201705261200Z" "201706211200Z"  -- 26th May, 21th June, 2017
    ORGANIZATION "IETF BESS Working Group."
    CONTACT-INFO
          "        Zhaohui Zhang
                   Juniper Networks, Inc.
                   10 Technology Park Drive
                   Westford, MA 01886
                   USA
                   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

                   Comments and discussion to bess@ietf.org
          "
    DESCRIPTION
        "This MIB module specifies textual conventions for
         Border Gateway Protocol/MultiProtocol Label
         Switching Layer 2 and Layer 3 Virtual Private Network
         that support multicast (L2L3VPNMCast). (L2L3VpnMCast).

         Copyright (C) The Internet Society (2017).
        "

    -- Revision history.

    REVISION "201705261200Z" "201706211200Z"  -- 26th May, 21th June, 2017
    DESCRIPTION
        "Initial version, published as RFC XXXX."

    -- RFC Ed. Ed.: replace XXXX with actual RFC number and remove this note
    ::= { mib-2 AAAA }

    -- IANA Reg.: Please assign a value for "AAAA" under the
    -- 'mib-2' subtree and record the assignment in the SMI
    -- Numbers registry.

    -- RFC Ed.: When the above assignment has been made, please
    -- remove the above note
    -- replace "AAAA" here with the assigned value and
    -- remove this note.

  -- 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. L2L3VpnMCast.
         These labeled numbers are aligned with the definition
         of Tunnel types in Section 5 of [RFC6514].
        "
    REFERENCE
        "RFC6514, [RFC6514] and
         Section 5"
    SYNTAX       INTEGER
         {
           noTunnelId         (0), -- No 14.1 of [RFC7524].

         The enumerated values and the corresponding tunnel type
         are as follows:

           noTunnelInfo       (0) : no tunnel information present
           rsvpP2mp           (1), --           (1) : RSVP-TE P2MP LSP
           ldpP2mp            (2), --            (2) : mLDP P2MP LSP
           pimSsm             (3), --             (3) : PIM-SSM Tree
           pimAsm             (4), --             (4) : PIM-SM Tree
           pimBidir           (5), --           (5) : BIDIR-PIM Tree
           ingressReplication (6), -- (6) : Ingress Replication
           ldpMp2mp           (7)  -- : mLDP MP2MP LSP
         }
           transportTunnel    (8) : Transport Tunnel

         These numbers are registered at IANA.
         A current list of assignments can be found at
          <https://www.iana.org/assignments/bgp-parameters/
           bgp-parameters.xhtml#pmsi-tunnel-types>.
        "
    REFERENCE
        "RFC6514, Section 5
         RFC7385
         RFC7524, Section 14.1
        "
    SYNTAX       INTEGER
         {
           noTunnelInfo       (0), -- no tunnel information present
           rsvpP2mp           (1), -- RSVP-TE P2MP LSP
           ldpP2mp            (2), -- mLDP P2MP LSP
           pimSsm             (3), -- PIM-SSM Tree
           pimAsm             (4), -- PIM-SM Tree
           pimBidir           (5), -- BIDIR-PIM Tree
           ingressReplication (6), -- Ingress Replication
           ldpMp2mp           (7), -- mLDP MP2MP LSP
           transportTunnel    (8)  -- Transport Tunnel
         }

  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 the 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
         --------------------------------------------------------
           noTunnelId
         -----------------------------------------------------------
           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

         A L2L3VpnMcastProviderTunnelType object of value
         noTunnelId(0)
         noTunnelInfo(0) indicates that the corresponding
         Provider Multicast Service Interface (PMSI) Tunnel
         attribute does not have tunnel information.
         The value of the corresponding L2L3VpnMcastProviderTunnelId
         object will be a string of length zero.

         When the L2L3VpnMcastProviderTunnelType object is of value
         rsvpP2mp(1), the corresponding Tunnel Identifier is composed of
         Extended Tunnel ID (4 octets in IPv4, 16 octets in IPv6),
         Reserved (2 octets), Tunnel ID (2 octets), and
         P2MP ID (4 octets).
         The size of the corresponding L2L3VpnMcastProviderTunnelId
         object will be 12 octets in IPv4 and 24 octets in IPv6.

         When the L2L3VpnMcastProviderTunnelType object is of value
         ldpP2mp(2), the corresponding Tunnel Identifier is P2MP
         Forwarding Equivalence Class (FEC) Element [RFC6388].
         The size of the corresponding L2L3VpnMcastProviderTunnelId
         object will be 17 octets in IPv4 and 29 octets in IPv6

         When the L2L3VpnMcastProviderTunnelType object is of value
         pimSsm(3), PimAsm(4), or 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.

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

         When the L2L3VpnMcastProviderTunnelType object is of value
         ldpMp2mp(7), the Tunnel Identifier is MP2MP FEC Element
         [RFC6388].
         The size of the corresponding L2L3VpnMcastProviderTunnelId
         object will be 17 octets in IPv4 and 29 octets in IPv6.

         When the L2L3VpnMcastProviderTunnelType object is of value
         transportTunnel(8), the Tunnel Identifier is a tuple of
         Source PE Address (4 octets in IPv4, 16 octets in IPv6) and
         Local Number (the same length as the Source PE Address)
         [RFC7524].
         The size of the corresponding L2L3VpnMcastProviderTunnelId
         object will be 8 octets in IPv4 and 32 octets in IPv6.
        "
    REFERENCE
        "RFC6514, Section 5
         RFC4875, Section 19.1
         RFC6388, Section 2.2 and 3.2
         RFC7524, Section 14.1
        "
    SYNTAX       OCTET STRING ( SIZE (0|4|8|12|16|17|24|29|32) )

  L2L3VpnMcastProviderTunnelPointer ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "This textual convention represents a pointer to a row in
         a table represented by the following object of type
         L2L3VpnMcastProviderTunnelPointerType.

         An L2L3VpnMcastProviderTunnelPointer value is always
         interpreted within the context of an
         L2L3VpnMcastProviderTunnelPointerType value.
         Every usage of the L2L3VpnMcastProviderTunnelPointer
         textual convention MUST specify the
         L2L3VpnMcastProviderTunnelPointerType object which
         provides the context.

         Furthermore, MIB authors SHOULD define a separate
         L2L3VpnMcastProviderTunnelPointerType object for each
         L2L3VpnMcastProviderTunnelPointer object.
         The L2L3VpnMcastProviderTunnelPointerType object which
         defines the context must be registered immediately before
         the object which uses the L2L3VpnMcastProviderTunnelPointer
         textual convention.
        "
    SYNTAX       OBJECT IDENTIFIER

  L2L3VpnMcastProviderTunnelPointerType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "This textual convention enumerates the
         tables having the row that an L2L3VpnMcastProviderTunnelPointer
         object points to.
         The row pertains to the entry that represents a
         P-tunnel used for L2L3VPNMCast.

         The enumerated values have the following meanings:

           null(0)
             Default value. This indicates that the corresponding
             L2L3VpnMcastProviderTunnelPointer object is not assigned.

           pointerToMplsTunnelTable(1)
             The corresponding L2L3VpnMcastProviderTunnelPointer object
             points to a row in an mplsTunnelTable defined in [RFC3812].

           pointerToTunnelIfTableForGRE(2)
             The corresponding L2L3VpnMcastProviderTunnelPointer object
             points to a row in a tunnelIfTable defined in [RFC4087] for
             GRE tunnel.
        "

    REFERENCE
        "RFC3812, RFC4087"

    SYNTAX       INTEGER
         {
           null                         (0), -- Default value
           pointerToMplsTunnelTable     (1), -- Pointer to a row
                                             -- in mplsTunnelTable
           pointerToTunnelIfTableForGRE (2)  -- Pointer to a row
                                             -- in tunnelIfTable
                                             -- for GRE tunnel
         }

  END

4.2.  L2L3-VPN-MCAST-MIB Object Definitions

  L2L3-VPN-MCAST-MIB DEFINITIONS ::= BEGIN

  IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, mib-2, zeroDotZero
       FROM SNMPv2-SMI                            -- [RFC2578]

    MODULE-COMPLIANCE, OBJECT-GROUP
       FROM SNMPv2-CONF                           -- [RFC2580]

    RowPointer
       FROM SNMPv2-TC                             -- [RFC2579]

    MplsLabel
       FROM MPLS-TC-STD-MIB                       -- [RFC3811]

    L2L3VpnMcastProviderTunnelType,
     L2L3VpnMcastProviderTunnelId,
     L2L3VpnMcastProviderTunnelPointerType,
     L2L3VpnMcastProviderTunnelPointer
    L2L3VpnMcastProviderTunnelId
       FROM L2L3-VPN-MCAST-TC-MIB;                -- [RFCXXXX]

    -- RFC Ed.: replace XXXX with actual RFC number and remove this note

  l2L3VpnMcastMIB MODULE-IDENTITY
    LAST-UPDATED "201705261200Z" "201706211200Z"  -- 26th May, 21th June, 2017
    ORGANIZATION "IETF BESS Working Group."
    CONTACT-INFO
          "        Zhaohui Zhang
                   Juniper Networks, Inc.
                   10 Technology Park Drive
                   Westford, MA 01886
                   USA
                   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

                   Comments and discussion to bess@ietf.org
          "
    DESCRIPTION
        "This MIB module will be used by other MIB modules designed for
         monitoring and/or configuring Border Gateway
         Protocol/MultiProtocol Label Switching
         Layer 2 and Layer 3 Virtual Private
         Network that support multicast (L2L3VPNMCast). (L2L3VpnMCast).
         Copyright (C) The Internet Society (2017).
        "
    -- Revision history.

    REVISION "201705261200Z" "201706211200Z"  -- 26th May, 21th June, 2017
    DESCRIPTION
        "Initial version, published as RFC XXXX."

    -- RFC Ed. Ed.: replace XXXX with actual RFC number and remove this note

    ::= { mib-2 BBBB }

    -- IANA Reg.: Please assign a value for "BBBB" under the
    -- 'mib-2' subtree and record the assignment in the SMI
    -- Numbers registry.

    -- RFC Ed.: When the above assignment has been made, please
    -- remove the above note
    -- replace "BBBB" here with the assigned value and
    -- remove this note.

  -- Top level components of this MIB.
  l2L3VpnMcastStates      OBJECT IDENTIFIER
                          ::= { l2L3VpnMcastMIB 1 }
  l2L3VpnMcastConformance OBJECT IDENTIFIER
                          ::= { l2L3VpnMcastMIB 2 }

  -- tables, scalars, conformance information
  -- Table of PMSI Tunnel Attributes

  l2L3VpnMcastPmsiTunnelAttributeTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF L2L3VpnMcastPmsiTunnelAttributeEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table corresponds to a
          (Provider Multicast Service Interface) PMSI Tunnel
          attribute and is maintained by a PE router
          that advertises and receives the attribute.
          The entries will be referred to by other MIB modules
          for monitoring and/or configuring L2L3VPNMCast. L2L3VpnMCast.
         "
     REFERENCE
         "RFC6514, Section 5"
     ::= { l2L3VpnMcastStates 1 }

  l2L3VpnMcastPmsiTunnelAttributeEntry OBJECT-TYPE
     SYNTAX        L2L3VpnMcastPmsiTunnelAttributeEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A conceptual row corresponding to a PTA
          that is advertised/received on this router.
         "
     REFERENCE
         "RFC6514, Section 5"
     INDEX {
             l2L3VpnMcastPmsiTunnelAttributeFlags,
             l2L3VpnMcastPmsiTunnelAttributeType,
             l2L3VpnMcastPmsiTunnelAttributeLabel,
             l2L3VpnMcastPmsiTunnelAttributeId
           }
     ::= { l2L3VpnMcastPmsiTunnelAttributeTable 1 }

  L2L3VpnMcastPmsiTunnelAttributeEntry ::=
      SEQUENCE {
          l2L3VpnMcastPmsiTunnelAttributeFlags
              OCTET STRING,
          l2L3VpnMcastPmsiTunnelAttributeAddlFlags
              OCTET STRING,
          l2L3VpnMcastPmsiTunnelAttributeType
              L2L3VpnMcastProviderTunnelType,
          l2L3VpnMcastPmsiTunnelAttributeLabel
              MplsLabel,
          l2L3VpnMcastPmsiTunnelAttributeId
              L2L3VpnMcastProviderTunnelId,
           l2L3VpnMcastPmsiTunnelPointerType
               L2L3VpnMcastProviderTunnelPointerType,
          l2L3VpnMcastPmsiTunnelPointer
               L2L3VpnMcastProviderTunnelPointer,
              RowPointer,
          l2L3VpnMcastPmsiTunnelIf
              RowPointer
      }

  l2L3VpnMcastPmsiTunnelAttributeFlags OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (1)) (1))
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object represents the Flags field in the PMSI Tunnel
          attribute. The Flags field has the following format.

             0 1 2 3 4 5 6 7
            +-+-+-+-+-+-+-+-+
            |U|E|    U    |L|
            +-+-+-+-+-+-+-+-+
             E: Extension flag [RFC7902]
             U: Unassigned
             L: Leaf Information Required flag [RFC6514]

          When BGP-based PMSI signaling is used, the value of
          this object corresponds to the Flags field in
          an advertised/received PMSI auto-discovery (A-D) route.

          When UDP-based S-PMSI signaling is used, the value of
          this object is zero.

          These flags are registered at IANA.
          A current list of assignments can be found at
          <https://www.iana.org/assignments/bgp-parameters/
           bgp-parameters.xhtml#pmsi-tunnel-attributes>.
         "
     REFERENCE
         "RFC6514, Section 5
          RFC7902
         "
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 1 }

l2L3VpnMcastPmsiTunnelAttributeAddlFlags OBJECT-TYPE
     SYNTAX        OCTET STRING (SIZE (6))
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object represents the BGP Additional PMSI
          Tunnel Attribute Flags field Extended Community
          defined in the [RFC7902].

          Additional PMSI Tunnel
           attribute. The Attribute Flags field is
          48 one-bit Flags and has the following format.

             0                   1                   2
             0 1 2 3 4 5 6 7
               +-+-+-+-+-+-+-+-+ 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |  reserved   |L|
               +-+-+-+-+-+-+-+-+

               L: Leaf Information Required               |               |               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         3                   4
             4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |               |               |               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          When BGP-based PMSI signaling is used, and the
          Extension flag of l2L3VpnMcastPmsiTunnelAttributeFlags
          object is set, the value of this object corresponds to
          the value of Additional PMSI Tunnel Attribute Flags field
          Extended Community in an advertised/received PMSI
          auto-discovery (A-D) route.

          When UDP-based S-PMSI signaling is used, the value of
          this object is zero.

          These flags are registered at IANA.
          A current list of assignments can be found at
          <https://www.iana.org/assignments/bgp-extended-communities/
           bgp-extended-communities.xhtml
           #additional-pmsi-tunnel-attribute-flags>.
         "
     REFERENCE
         "RFC6514, Section 5" 5
          RFC7902
         "
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 1 2 }

  l2L3VpnMcastPmsiTunnelAttributeType OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelType
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The Tunnel Type field that identifies
          the type of the tunneling technology used to
          establish the provider tunnel (P-tunnel), in a
          PMSI Tunnel attribute.

          When BGP-based PMSI signaling is used, the value of
          this object corresponds to the Tunnel Type field in
          an advertised/received PMSI auto-discovery (A-D) route.

          When UDP-based S-PMSI signaling is used, the value of
          this object will be one of pimAsm (3), pimSsm (4), or
          pimBidir (5).
         "
     REFERENCE
         "RFC6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 2 3 }

  l2L3VpnMcastPmsiTunnelAttributeLabel OBJECT-TYPE
     SYNTAX        MplsLabel
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The MPLS Label field in a PMSI Tunnel attribute.

          When BGP-based PMSI signaling is used, the value of
          this object corresponds to the MPLS Label field in
          an advertised/received PMSI A-D route.

          When UDP-based S-PMSI signaling is used, the value of
          this object is zero that indicates the absence of MPLS
          Label.
         "
     REFERENCE
         "RFC6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 3 4 }

  l2L3VpnMcastPmsiTunnelAttributeId OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelId
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The Tunnel Identifier field that uniquely
          identifies a tunnel, in a PMSI Tunnel attribute.
          The size of the identifier depends on the address family
          (IPv4 or IPv6) and the value of the corresponding
          l2L3VpnMcastPmsiTunnelAttributeType object i.e., the type of
          the tunneling technology used to establish the provider
          tunnel.
         "
     REFERENCE
         "RFC6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 4 5 }

   l2L3VpnMcastPmsiTunnelPointerType

  l2L3VpnMcastPmsiTunnelPointer OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelPointerType        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The type of l2L3VpnMcastPmsiTunnelPointer.

           The tunnel identified by l2L3VpnMcastPmsiTunnelAttributeId
          may be represented as an entry in some other table, e.g.,
          mplsTunnelTable [RFC3812]. This object specifies
          the type of the pointer to the row pertaining to the entry.

          If such an entry does not exist, the value of this object
          MUST be null(0).
          "
      DEFVAL        { null }
      ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 5 }

   l2L3VpnMcastPmsiTunnelPointer OBJECT-TYPE
      SYNTAX        L2L3VpnMcastProviderTunnelPointer
      MAX-ACCESS    read-only
      STATUS        current
      DESCRIPTION
          "The pointer to a table entry representing the tunnel
           identified by l2L3VpnMcastPmsiTunnelAttributeId.

           The type of this pointer is specified with
           the corresponding instance of the
           l2L3VpnMcastPmsiTunnelPointerType object.

           If the value of the corresponding instance of the
           l2L3VpnMcastPmsiTunnelPointerType is null(0),
           the value of this object MUST be set to zeroDotZero.
         "
     DEFVAL        { zeroDotZero }
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 6 }

  l2L3VpnMcastPmsiTunnelIf OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "If the tunnel identified by l2L3VpnMcastPmsiTunnelAttributeId
          has a corresponding entry in the ifXTable [RFC2863],
          this object will point to the row pertaining to the entry
          in the ifXTable. Otherwise, this object MUST be set to
          zeroDotZero."
     DEFVAL        { zeroDotZero }
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 7 }

  -- Conformance Information

  l2L3VpnMcastGroups      OBJECT IDENTIFIER
                          ::= { l2L3VpnMcastConformance 1 }
  l2L3VpnMcastCompliances OBJECT IDENTIFIER
                          ::= { l2L3VpnMcastConformance 2 }

  -- Compliance Statements

  l2L3VpnMcastCompliance MODULE-COMPLIANCE
      STATUS  current
      DESCRIPTION
         "The compliance statement: no mandatory groups "
      MODULE  -- this module

      GROUP l2L3VpnMcastOptionalGroup
           DESCRIPTION
               "This group is optional."
      ::= { l2L3VpnMcastCompliances 1 }

  -- units of conformance

  l2L3VpnMcastOptionalGroup    OBJECT-GROUP
      OBJECTS {
           l2L3VpnMcastPmsiTunnelPointerType,
          l2L3VpnMcastPmsiTunnelPointer,
          l2L3VpnMcastPmsiTunnelIf
      }
      STATUS      current
      DESCRIPTION
          "Support of these objects is not required."
      ::= { l2L3VpnMcastGroups 1 }

  END

5.  Security Considerations

   There are no management objects defined in these MIB modules that
   have a MAX-ACCESS clause of read-write and/or read-create.  So, if
   this MIB module is implemented correctly, then there is no risk that
   an intruder can alter or create any management objects of this MIB
   module via direct SNMP SET operations.

   Some of the readable objects in these MIB modules (i.e., objects with
   a MAX-ACCESS other than not-accessible) may be considered sensitive
   or vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  the l2L3VpnMcastPmsiTunnelAttributeTable collectively show shows the
      P-tunnel network topology and its performance characteristics.
      For instance, l2L3VpnMcastPmsiTunnelAttributeId in this table will
      contain the identifier that uniquely identifies a created
      P-tunnel.  This identifier may be composed of source and multicast
      group IP addresses.  l2L3VpnMcastPmsiTunnelPointer and
      l2L3VpnMcastPmsiTunnelIf will point to the corresponding entries
      in other tables containing configuration and/or performance
      information of a tunnel and an interface.  If an Administrator
      does not want to reveal this information, then these objects
      should be considered sensitive/vulnerable.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   there is no control as to who on the secure network is allowed to
   access and GET/SET (read/change/create/delete) the objects in this
   MIB module.

   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC3414] with the AES cipher algorithm [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC5591] in combination with a secure transport such as SSH
   [RFC5592] or TLS/DTLS [RFC6353].

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

6.  IANA Considerations

   IANA is requested to root MIB objects in the MIB module contained in
   this document under the mib-2 subtree.

7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, DOI 10.17487/
              RFC2578, April 1999,
              <http://www.rfc-editor.org/info/rfc2578>.

   [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD
              58, RFC 2579, DOI 10.17487/RFC2579, April 1999,
              <http://www.rfc-editor.org/info/rfc2579>.

   [RFC2580]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Conformance Statements for SMIv2",
              STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999,
              <http://www.rfc-editor.org/info/rfc2580>.

   [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
              MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000,
              <http://www.rfc-editor.org/info/rfc2863>.

   [RFC3414]  Blumenthal, U. and B. Wijnen, "User-based Security Model
              (USM) for version 3 of the Simple Network Management
              Protocol (SNMPv3)", STD 62, RFC 3414, DOI 10.17487/
              RFC3414, December 2002,
              <http://www.rfc-editor.org/info/rfc3414>.

   [RFC3812]  Srinivasan, C., Viswanathan, A., and T. Nadeau,
              "Multiprotocol Label Switching (MPLS) Traffic Engineering
              (TE) Management Information Base (MIB)", RFC 3812, DOI
              10.17487/RFC3812, June 2004,
              <http://www.rfc-editor.org/info/rfc3812>.

   [RFC3826]  Blumenthal, U., Maino, F., and K. McCloghrie, "The
              Advanced Encryption Standard (AES) Cipher Algorithm in the
              SNMP User-based Security Model", RFC 3826, DOI 10.17487/
              RFC3826, June 2004,
              <http://www.rfc-editor.org/info/rfc3826>.

   [RFC4087]  Thaler, D., "IP Tunnel MIB", RFC 4087, DOI 10.17487/
              RFC4087, June 2005,
              <http://www.rfc-editor.org/info/rfc4087>.

   [RFC4875]  Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
              Yasukawa, Ed., "Extensions to Resource Reservation
              Protocol - Traffic Engineering (RSVP-TE) for Point-to-
              Multipoint TE Label Switched Paths (LSPs)", RFC 4875, DOI
              10.17487/RFC4875, May 2007,
              <http://www.rfc-editor.org/info/rfc4875>.

   [RFC5591]  Harrington, D. and W. Hardaker, "Transport Security Model
              for the Simple Network Management Protocol (SNMP)", STD
              78, RFC 5591, DOI 10.17487/RFC5591, June 2009,
              <http://www.rfc-editor.org/info/rfc5591>.

   [RFC5592]  Harrington, D., Salowey, J., and W. Hardaker, "Secure
              Shell Transport Model for the Simple Network Management
              Protocol (SNMP)", RFC 5592, DOI 10.17487/RFC5592, June
              2009, <http://www.rfc-editor.org/info/rfc5592>.

   [RFC6353]  Hardaker, W., "Transport Layer Security (TLS) Transport
              Model for the Simple Network Management Protocol (SNMP)",
              STD 78, RFC 6353, DOI 10.17487/RFC6353, July 2011,
              <http://www.rfc-editor.org/info/rfc6353>.

   [RFC6388]  Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B.
              Thomas, "Label Distribution Protocol Extensions for Point-
              to-Multipoint and Multipoint-to-Multipoint Label Switched
              Paths", RFC 6388, DOI 10.17487/RFC6388, November 2011,
              <http://www.rfc-editor.org/info/rfc6388>.

   [RFC6513]  Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
              BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
              2012, <http://www.rfc-editor.org/info/rfc6513>.

   [RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
              Encodings and Procedures for Multicast in MPLS/BGP IP
              VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
              <http://www.rfc-editor.org/info/rfc6514>.

   [RFC7117]  Aggarwal, R., Ed., Kamite, Y., Fang, L., Rekhter, Y., and
              C. Kodeboniya, "Multicast in Virtual Private LAN Service
              (VPLS)", RFC 7117, DOI 10.17487/RFC7117, February 2014,
              <http://www.rfc-editor.org/info/rfc7117>.

   [RFC7385]  Andersson, L. and G. Swallow, "IANA Registry for
              P-Multicast Service Interface (PMSI) Tunnel Type Code
              Points", RFC 7385, DOI 10.17487/RFC7385, October 2014,
              <http://www.rfc-editor.org/info/rfc7385>.

   [RFC7524]  Rekhter, Y., Rosen, E., Aggarwal, R., Morin, T.,
              Grosclaude, I., Leymann, N., and S. Saad, "Inter-Area
              Point-to-Multipoint (P2MP) Segmented Label Switched Paths
              (LSPs)", RFC 7524, DOI 10.17487/RFC7524, May 2015,
              <http://www.rfc-editor.org/info/rfc7524>.

7.2.  Informative References

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, DOI 10.17487/
              RFC3410, December 2002,
              <http://www.rfc-editor.org/info/rfc3410>.

   [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
              "Protocol Independent Multicast - Sparse Mode (PIM-SM):
              Protocol Specification (Revised)", RFC 4601, DOI 10.17487/
              RFC4601, August 2006,
              <http://www.rfc-editor.org/info/rfc4601>.

   [RFC5015]  Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
              "Bidirectional Protocol Independent Multicast (BIDIR-
              PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007,
              <http://www.rfc-editor.org/info/rfc5015>.

Authors' Addresses

   Zhaohui (Jeffrey) Zhang
   Juniper Networks, Inc.
   10 Technology Park Drive
   Westford, MA  01886
   USA

   Email: zzhang@juniper.net

   Hiroshi Tsunoda
   Tohoku Institute of Technology
   35-1, Yagiyama Kasumi-cho
   Taihaku-ku, Sendai  982-8577
   Japan

   Phone: +81-22-305-3411
   Email: tsuno@m.ieice.org