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


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

    MODULE-COMPLIANCE, OBJECT-GROUP
       FROM SNMPv2-CONF                           -- RFC 2580

    RowPointer
       FROM SNMPv2-TC                             -- RFC 2579

    MplsLabel
       FROM MPLS-TC-STD-MIB                       -- RFC 3811

    L2L3VpnMcastProviderTunnelType,
    L2L3VpnMcastProviderTunnelId
       FROM L2L3-VPN-MULTICAST-TC-MIB;            -- RFC 8502

  l2L3VpnMcastMIB 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 defines a table representing the attribute
         information of the provider tunnels (P-tunnels) on a PE router.
         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 network).

         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 245 }

  -- 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
          the attribute information of a specific
          P-tunnel on a PE router.
          A part of the attributes corresponds to fields in
          a Provider Multicast Service Interface (PMSI) Tunnel
          attribute advertised and received by a PE router.
          The entries will be referred to by other MIB modules
          for monitoring and/or configuring L2L3VpnMCast networks.
         "







     REFERENCE
         "RFC 6514, Section 5"
     ::= { l2L3VpnMcastStates 1 }

  l2L3VpnMcastPmsiTunnelAttributeEntry OBJECT-TYPE
     SYNTAX        L2L3VpnMcastPmsiTunnelAttributeEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A conceptual row corresponding to a specific
          P-tunnel on this router.
         "
     REFERENCE
         "RFC 6514, Section 5"
     INDEX {
             l2L3VpnMcastPmsiTunnelAttributeType,
             l2L3VpnMcastPmsiTunnelAttributeId
           }
     ::= { l2L3VpnMcastPmsiTunnelAttributeTable 1 }

  L2L3VpnMcastPmsiTunnelAttributeEntry ::=
      SEQUENCE {
          l2L3VpnMcastPmsiTunnelAttributeType
              L2L3VpnMcastProviderTunnelType,
          l2L3VpnMcastPmsiTunnelAttributeId
              L2L3VpnMcastProviderTunnelId,
          l2L3VpnMCastPmsiTunnelLeafInfoRequired
              INTEGER,
          l2L3VpnMcastPmsiTunnelAttributeMplsLabel
              MplsLabel,
          l2L3VpnMcastPmsiTunnelPointer
              RowPointer,
          l2L3VpnMcastPmsiTunnelIf
              RowPointer
      }

  l2L3VpnMcastPmsiTunnelAttributeType OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelType
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object indicates the type of tunneling technology
          used to establish the P-tunnel corresponding to this entry.

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





         "
     REFERENCE
         "RFC 6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 1 }

  l2L3VpnMcastPmsiTunnelAttributeId OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelId
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This object represents the Tunnel Identifier field, which
          uniquely identifies a P-tunnel, in the PMSI Tunnel attribute
          of the P-tunnel corresponding to this entry.

          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
          tunneling technology used to establish the P-tunnel.
         "
     REFERENCE
         "RFC 6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 2 }


  l2L3VpnMCastPmsiTunnelLeafInfoRequired OBJECT-TYPE
     SYNTAX        INTEGER {
                       false        (0),
                       true         (1),
                       notAvailable (2)
                   }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "When the value of this object is set to 1 (true),
          it indicates that the PE that originated the
          PMSI Tunnel attribute of the P-tunnel corresponding
          to this entry requests receivers to originate
          a new Leaf A-D route.

          A value of zero (false) indicates that there is no such
          request.

          When the P-tunnel does not have a corresponding PMSI
          Tunnel attribute, the value of this object will be
          2 (notAvailable).








          In the case of multicast in MPLS/BGP IP VPNs,
          this object represents the 'Leaf Information Required flag'
          (RFC 6514) in the Flags field in the PMSI Tunnel attribute
          of the P-tunnel corresponding to this entry.
         "
     REFERENCE
         "RFC 6514, Section 5
         "
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 3 }

  l2L3VpnMcastPmsiTunnelAttributeMplsLabel OBJECT-TYPE
     SYNTAX        MplsLabel
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This object represents the MPLS Label in the PMSI Tunnel
          attribute of the P-tunnel corresponding to this entry.

          When BGP-based PMSI signaling is used, the PMSI Tunnel
          attribute of the P-tunnel will be advertised/received
          in a PMSI A-D route.  The value of
          this object corresponds to the MPLS Label in the attribute.

          When the P-tunnel does not have a PMSI tunnel
          attribute, the value of this object will be zero.
         "
     REFERENCE
         "RFC 6514, Section 5"
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 4 }

  l2L3VpnMcastPmsiTunnelPointer OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "Details of a P-tunnel identified by
          l2L3VpnMcastPmsiTunnelAttributeId may be present
          in some other table, e.g.,
          mplsTunnelTable (RFC 3812).  This object specifies
          the pointer to the row that pertains to the entry
          in the table.

          If no such entry exists, the value of this object
          will be zeroDotZero.
         "
     REFERENCE
         "RFC 3812, Sections 6.1 and 11"
     DEFVAL        { zeroDotZero }





     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 5 }

  l2L3VpnMcastPmsiTunnelIf OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "If the P-tunnel identified by
          l2L3VpnMcastPmsiTunnelAttributeId has a corresponding
          entry in ifXTable (RFC 2863), this object will
          point to the row in ifXTable that pertains to the entry.
          Otherwise, the value of this object will be zeroDotZero.
         "
     REFERENCE
         "RFC 2863, Section 6"
     DEFVAL        { zeroDotZero }
     ::= { l2L3VpnMcastPmsiTunnelAttributeEntry 6 }

  -- Conformance Information

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

  -- Compliance Statements

  l2L3VpnMcastCoreCompliance MODULE-COMPLIANCE
      STATUS  current
      DESCRIPTION
         "The core compliance statement for SNMP entities
          that implement the L2L3-VPN-MULTICAST-MIB module.
         "
      MODULE  -- this module

      MANDATORY-GROUPS {
           l2L3VpnMcastCoreGroup
      }
      ::= { l2L3VpnMcastCompliances 1 }

  l2L3VpnMcastFullCompliance MODULE-COMPLIANCE
      STATUS  current
      DESCRIPTION
         "The full compliance statement for SNMP entities
          that implement the L2L3-VPN-MULTICAST-MIB module.
         "
      MODULE  -- this module






      MANDATORY-GROUPS {
           l2L3VpnMcastCoreGroup,
           l2L3VpnMcastOptionalGroup
      }
      ::= { l2L3VpnMcastCompliances 2 }

  -- Units of Conformance

  l2L3VpnMcastCoreGroup    OBJECT-GROUP
      OBJECTS {
          l2L3VpnMCastPmsiTunnelLeafInfoRequired,
          l2L3VpnMcastPmsiTunnelAttributeMplsLabel
      }
      STATUS      current
      DESCRIPTION
          "Support of these objects is required.
          "
      ::= { l2L3VpnMcastGroups 1 }

  l2L3VpnMcastOptionalGroup    OBJECT-GROUP
      OBJECTS {
          l2L3VpnMcastPmsiTunnelPointer,
          l2L3VpnMcastPmsiTunnelIf
      }
      STATUS      current
      DESCRIPTION
          "Support of these objects is optional.
          "
      ::= { l2L3VpnMcastGroups 2 }

  END


