Network Working Group                                      Z. Zhang, Ed.
Internet-Draft                                                   Juniper
Intended status: Standards Track                                 S. Asif
Expires: November 1, 2018                                           AT&T
                                                                A. Green
                                                                      BT
                                                           S. Gulranjani
                                                                   Cisco
                                                                 P. Jain
                                                          Alcatel-Lucent                                         H. Tsunoda, Ed. Tsunoda
Internet-Draft                            Tohoku Institute of Technology
                                                          April 30,
Intended status: Standards Track                           July 23, 2018
Expires: January 24, 2019

       BGP/MPLS Layer 3 VPN Multicast Management Information Base
                      draft-ietf-bess-mvpn-mib-06
                      draft-ietf-bess-mvpn-mib-07

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 managed objects to configure and/or
   monitor MVPN, Multicast in MultiProtocol Label Switching/Border
   Gateway Protocol (MPLS/BGP) communication over IP Virtual Private Networks
   (VPNs) supported by MultiProtocol Label Switching/Border Gateway
   Protcol (MPLS/BGP) on a Provider Edge router.

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 1, 2018. January 24, 2019.

Copyright Notice

   Copyright (c) 2018 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
   2.  The Internet-Standard Management Framework  . . . . . . . . .   4   3
   3.  MCAST-VPN-MIB . . . . . . . . . . . . . . . . . . . . . . . .   4   3
     3.1.  Summary of MIB Module . . . . . . . . . . . . . . . . . .   4
     3.2.  MIB Module Definitions  . . . . . . . . . . . . . . . . .   6   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  62  50
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  63  52
   6.  Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .  64  53
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  64  53
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  64  53
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  66
   Authors' Addresses  55
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  66  55

1.  Introduction

   [RFC6513], [RFC6514], and [RFC6625] specify procedures for supporting
   multicast in Border Gateway Protocol/MultiProtocol Label Switching
   (BGP/MPLS) Layer 3 (IP) Virtual Private Network (VPN). Networks (VPNs).  Throughout
   this document, we will use the term "Multicast VPN (MVPN)" VPN" (MVPN) [RFC6513]
   to refer to a BGP/MPLS IP VPN that supports multicast.

   Provider Edge routers (PEs) attaching to a particular MVPN exchange the VPN
   customer multicast (C-multicast) routing information with each other. neighboring
   PEs.  In [RFC6513], two basic methods for exchanging C-multicast
   routing information are defined (1) Protocol Independent Multicast
   (PIM) [RFC7761] and (2) BGP.

   In the rest of this document we will use the term "PIM-MVPN" to refer
   to the case where PIM being is used for exchanging C-multicast routing
   information, and "BGP-MVPN" to refer to the case where BGP being is used
   for exchanging C-multicast routing information.

   This document describes managed objects to configure and/or monitor
   MVPN.  The
   MVPNs.  Most of the managed objects are common to both PIM-MVPN and BGP-MVPN.

   Comments should be made directly to the BESS WG at bess@ietf.org.
   BGP-MVPN, and some managed objects are BGP-MVPN specific.

1.1.  Terminology

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

   An MVPN can be achieved realized by using various kinds of transport
   mechanisms for forwarding a packet to all or a subset of PEs across
   service provider networks.  Such transport mechanisms are referred to
   as provider tunnels (P-tunnels).

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

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

   As described in [RFC4382], each PE router maintains one default forwarding
   table and zero or more "Virtual Routing and Forwarding tables", or
   "VRFs". tables"
   (VRFs).  Throughout this document, we will use the term "multicast
   VRF (MVRF)"
   VRF" (MVRF) to refer to a VRF that is configured to contain the contains multicast routing
   information.

   Interchangeably, the term MVRF and MVPN are used to refer to a
   particular Multicast VPN instantiation on a particular PE.

   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].

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.  MCAST-VPN-MIB

   This document defines MCAST-VPN-MIB, a MIB module for monitoring and/
   or configuring MVPNs on PEs.  This MIB module will be used in
   conjunction with MPLS-L3VPN-STD-MIB [RFC4382] and IPMCAST-MIB
   [RFC5132].

3.1.  Summary of MIB Module

   MCAST-VPN-MIB provides the following functionalities for monitoring
   and configuring MVPN. functionalities.

   o  Monitoring attribute informations of MVRFs attributes of MVPNs presented on a PE

   o  Configuring some timers and thresholds related to an MVPN on a MVRF PE

   o  Notifying creation, deletion, and modification of MVRFs on a PE

   o  Monitoring attribute informations of PMSIs on a PE PMSI attributes

   o  Monitoring advertisement statistics of advertisements exchanged by a PE

   o  Monitoring routing entries in an MVRF information for multicast destinations

   o  Monitoring information on next-hops in an MVRF

   o  Notifying events that a PE joins or leaves a for each multicast group destination

   To provide these functionalities, MCAST-VPN-MIB defines nine tables:
   mvpnGenericTable, mvpnBgpGenericlTable, mvpnPmsiTable,
   mvpnSpmsiTable, mvpnIpmsiAdvtTable, mvpnInterAsIpmsiAdvtTable,
   mvpnSpmsiAdvtTable, mvpnMrouteTable, and mvpnMrouteNextHopTable.

   The following two tables contain information of MVRFs of MVPNs
   configured on a PE.
   tables.

   o  mvpnGenericTable

      This table specifies the contains generic information about MVRFs present
      in MVPNs on a PE.  Each
      entry in this table is created for each MVRF
      representing represents an instance of an MVPN on a PE and
      contains generic information related to the MVPN.  The entry represetns general
      configuration/states of the MVRF, including Inclusive PMSI
      (I-PMSI) configuration.  An MVRF represented by the  For each entry
      in this table must have there MUST be a corresponding VRF in MPLS-L3VPN-STD-MIB MPLS-L3VPN-STD-
      MIB [RFC4382].

   o  mvpnBgpGenericTable  mvpnBgpTable

      This table specifies the specific information of MVRFs of MVPNs
      that use BGP for exchanging C-Multicast routing contains information
      present in a PE. specific to BGP-MVPNs.  Each MVRF of an BGP-
      MVPN that use BGP for exchanging
      C-Multicast routing information on a PE will have an entry in this table.
      The MVRF represented by this entry will have a corresponding entry
      in the mvpnGenericTable.

   The following two tables contain information of PMSIs configured on a
   PE.

   o  mvpnPmsiTable

      This table contains common managed objects representing attribute
      information of both I-PMSI that is common to I-PMSIs and Selective PMSI (S-PMSI) configured S-PMSIs on a PE.  Both I-PMSI information (in the entry in
      mvpnGeneralTable) and S-PMSI information (in the entry in
      mvpnSpmsiConfigTable) refer to an entry in this table.

   o  mvpnSpmsiTable

      This table contains managed objects representing attribute
      information that is specific for to S-PMSIs.  An S-PMSI associated with an MVRF on
      a PE.

   The following three tables are designed for monitoring advertisements
   that is advertised/received by a PE.

   o  mvpnIpmsiAdvtTable

      This table contains managed objects representing advertisements of
      Intra-AS I-PMSIs advertised/received by a PE.

   o  mvpnInterAsIpmsiAdvtTable
      This represented in this
      table contains managed objects representing advertisements of
      Inter-AS I-PMSIs advertised/received by will have a PE. corresponding entry in mvpnPmsiTable.

   o  mvpnSpmsiAdvtTable  mvpnAdvtStatsTable

      This table contains managed objects representing statistics pertaining to I-PMSI and S-PMSI
      advertisements of
      S-PMSIs advertised/received by a PE.

   The following two tables are designed for handling routing
   information that is advertised/received by a PE. sent/received.

   o  mvpnMrouteTable

      This table contains multicast routing information in MVRFs present
      in on a
      PE.

   o  mvpnMrouteNextHopTable

      The

      This table contains information on the next-hops on outgoing
      interfaces for routing IP
      multicast datagrams in MVPNs present on a PE.

3.2.  MIB Module Definitions

  MCAST-VPN-MIB DEFINITIONS ::= BEGIN

  IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
     Counter32, Counter64, Gauge32, Unsigned32, TimeTicks,
     zeroDotZero,
     mib-2
        FROM SNMPv2-SMI                         -- [RFC2578]

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

     RowPointer, TimeStamp, TimeInterval DateAndTime
        FROM SNMPv2-TC                          -- [RFC2579]

     CounterBasedGauge64
        FROM HCNUM-TC                           -- [RFC2856]

     InterfaceIndex, InterfaceIndexOrZero
        FROM IF-MIB                             -- [RFC2863]

     InetAddress, InetAddressType, InetAddressPrefixLength,
     InetAutonomousSystemNumber InetAddressPrefixLength
        FROM INET-ADDRESS-MIB                   -- [RFC2851]

     mplsL3VpnVrfName, MplsL3VpnRouteDistinguisher
        FROM MPLS-L3VPN-STD-MIB                 -- [RFC4382]

     IANAipRouteProtocol, IANAipMRouteProtocol
        FROM IANA-RTPROTO-MIB                   -- [RTPROTO]

     L2L3VpnMcastProviderTunnelType
        FROM L2L3-VPN-MCAST-TC-MIB;

  mvpnMIB MODULE-IDENTITY
     LAST-UPDATED "201804301200Z" "201807231200Z"  -- 30th April 23th July 2018 12:00:00 GMT
     ORGANIZATION "IETF BESS Working Group."
     CONTACT-INFO
           "       Zhaohui Zhang
                   Juniper Networks, Inc.
                   10 Technology Park Drive
                   Westford, MA 01886
                   USA
                   Email: zzhang@juniper.net

                   Saud Asif
                   AT&T
                   C5-3D30 200 South Laurel Avenue
                   Middletown, NJ 07748
                   USA
                   Email: sasif@att.com

                   Andy Green
                   BT Design 21CN Converged Core IP & Data
                   01473 629360 Adastral Park, Martlesham Heath,
                   Ipswich IP5 3RE
                   UK
                   Email: andy.da.green@bt.com

                   Sameer Gulrajani
                   Cisco Systems
                   Tasman Drive San Jose, CA  95134
                   USA
                   Email: sameerg@cisco.com

                   Pradeep G. Jain
                   Alcatel-Lucent Inc
                   701 E Middlefield road Mountain view, CA 94043
                   USA
                   Email: pradeep.jain@alcatel-lucent.com       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 contains managed object definitions for
           multicast in BGP/MPLS to
           configure and/or monitor Multicast communication over IP VPNs defined
           Virtual Private Networks (VPNs) supported by [RFC6513]. MultiProtocol
           Label Switching/Border Gateway Protcol (MPLS/BGP) on a
           Provider Edge router (PE).
           Copyright (C) The Internet Society (2018)." (2018).
          "

    -- Revision history.

    REVISION "201804301200Z" "201807231200Z"  -- 30th April, 23th July, 2018
    DESCRIPTION
        "Initial version, published as RFC XXXX."

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

    ::= { mib-2 YYYY }

    -- IANA Reg.: Please assign a value for "YYYY" 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 "YYYY" here with the assigned value and
    -- remove this note.

  -- Top level components of this MIB. MIB module.
  mvpnNotifications OBJECT IDENTIFIER ::= { mvpnMIB 0 }

  -- tables, scalars scalars, tables
  mvpnObjects       OBJECT IDENTIFIER ::= { mvpnMIB 1 }

  -- conformance information
  mvpnConformance   OBJECT IDENTIFIER ::= { mvpnMIB 2 }

  -- mvpn Objects
  mvpnScalars       OBJECT IDENTIFIER ::= { mvpnObjects 1 }
  mvpnGeneric       OBJECT IDENTIFIER ::= { mvpnObjects 2 }
  mvpnConfig        OBJECT IDENTIFIER ::= { mvpnObjects 3 }
  mvpnStates        OBJECT IDENTIFIER ::= { mvpnObjects 4 }

  -- Scalar Objects

  mvpnMvrfs OBJECT-TYPE
     SYNTAX        Gauge32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The total number of Multicast Virtual Routing and
          Forwarding tables (MVRFs) that are present on
          this Provider Edge router (PE). This includes MVRFs
          for IPv4, IPv6, and mLDP C-Multicast.
         "
     ::= { mvpnScalars 1 }

  mvpnV4Mvrfs OBJECT-TYPE
     SYNTAX        Gauge32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The number of MVRFs for IPv4 C-Multicast that are
          present in on this PE.
         "
     ::= { mvpnScalars 2 }

  mvpnV6Mvrfs OBJECT-TYPE
     SYNTAX        Gauge32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The number of MVRFs for IPv6 C-Multicast that are
          present in on this PE.
         "
     ::= { mvpnScalars 3 }

  mvpnPimV4Mvrfs

  mvpnMldpMvrfs OBJECT-TYPE
     SYNTAX         Gauge32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The number of MVRFs of MVPNs on this PE that use PIM BGP for
          exchanging IPv4 Multipoint Label Distribution Protocol (mLDP)
          C-Multicast routing information
          present in this PE. information.
         "
     ::= { mvpnScalars 4 }

  mvpnPimV6Mvrfs

  mvpnPimV4Mvrfs OBJECT-TYPE
     SYNTAX         Gauge32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The number of MVRFs of MVPNs on this PE that use PIM Provider
          Independent Multicast (PIM) for exchanging IPv6 IPv4
          C-Multicast routing information
          present in this PE. information.
         "
     ::= { mvpnScalars 5 }

  mvpnBgpV4Mvrfs

  mvpnPimV6Mvrfs OBJECT-TYPE
     SYNTAX         Gauge32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The number of MVRFs of MVPNs on this PE that use BGP PIM for
          exchanging IPv4 IPv6 C-Multicast routing information
          present in this PE. information.
         "
     ::= { mvpnScalars 6 }

  mvpnBgpV6Mvrfs

  mvpnBgpV4Mvrfs OBJECT-TYPE
     SYNTAX         Gauge32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The number of MVRFs of MVPNs on this PE that use BGP for
          exchanging IPv6 IPv4 C-Multicast routing information
          present in this PE. information.
         "
     ::= { mvpnScalars 7 }

  mvpnMldpMvrfs

  mvpnBgpV6Mvrfs OBJECT-TYPE
     SYNTAX         Gauge32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The number of MVRFs of MVPNs on this PE that use BGP for
          exchanging mLDP IPv6 C-Multicast routing information
          present in information.
         "
     ::= { mvpnScalars 8 }

  mvpnSPTunnelLimit OBJECT-TYPE
     SYNTAX        Unsigned32 (1..4294967295)
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The maximum number of selective provider tunnels that
          this PE allows for a particular MVPN on this PE.

         "
     REFERENCE
         "RFC6513, Section 13"
     ::= { mvpnScalars 8 9 }

  mvpnBgpCmcastRouteWithdrawalTimer OBJECT-TYPE
     SYNTAX        Unsigned32
     UNITS         "milliseconds"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "A configurable timer to control the delay
          of C-multicast route withdrawal advertisements.
         "
     REFERENCE
         "RFC6514, Section 16.1.1"
     ::= { mvpnScalars 10 }

  mvpnBgpSrcSharedTreeJoinTimer OBJECT-TYPE
     SYNTAX        Unsigned32
     UNITS         "milliseconds"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "A configurable timer to control the delay
          of Source/Shared Tree Join C-multicast route
          advertisements.
         "
     REFERENCE
         "RFC6514, Section 16.1.2"
     ::= { mvpnScalars 11 }

  -- Generic MVRF Information Table

  mvpnGenericTable  OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnGenericEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This
         "A conceptual table specifies the containing generic information about the MVRFs
          present in MVPNs
          on this PE.

          Entries in this table are not required to survive a reboot
          of the managed entity.
         "
     ::= { mvpnGeneric 1 mvpnObjects 2 }

  mvpnGenericEntry OBJECT-TYPE
     SYNTAX        MvpnGenericEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This entry represents a
         "A conceptual row in the mvpnGenericTable.
          Each MVRF serviced by the PE will have that represents an entry in MVPN on this table. PE.
          The MVRF MVPN represented by this entry will have one or more
          corresponding P-Multicast Service Interfaces (PMSIs)
          and a corresponding VRF in MPLS-L3VPN-STD-MIB [RFC4382].
         "
     INDEX {
             mplsL3VpnVrfName,
             mvpnGenAddressFamily
             mplsL3VpnVrfName
           }
     ::= { mvpnGenericTable 1 }

  MvpnGenericEntry ::= SEQUENCE {
    mvpnGenAddressFamily         INTEGER,
    mvpnGenMvrfLastOperation
     mvpnGenMvrfLastAction       INTEGER,
    mvpnGenMvrfLastOperationTime TimeStamp,
     mvpnGenMvrfLastActionTime   DateAndTime,
     mvpnGenMvrfCreationTime     DateAndTime,
     mvpnGenCmcastRouteProtocol  INTEGER,
     mvpnGenIpmsiInfo            RowPointer,
     mvpnGenInterAsPmsiInfo      RowPointer,
     mvpnGenUmhSelection         INTEGER,
     mvpnGenCustomerSiteType     INTEGER,
    mvpnGenSPTunnelLimit         Unsigned32
  }

  mvpnGenAddressFamily OBJECT-TYPE
     SYNTAX     INTEGER {
                           ipv4(1),
                           ipv6(2)
                         }
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "The Address Family of the MVRF represented by this entry"
     REFERENCE
         "RFC6513, Section 1
         "
     ::= { mvpnGenericEntry 1
  }

  mvpnGenMvrfLastOperation

  mvpnGenMvrfLastAction OBJECT-TYPE
     SYNTAX      INTEGER {
                           createdMvrf(1),
                           deletedMvrf(2),
                           modifiedMvrfIpmsiConfig(3),
                           modifiedMvrfSpmsiConfig(4)
                           createdMvrf             (1),
                           deletedMvrf             (2),
                           modifiedMvrfIpmsiConfig (3),
                           modifiedMvrfSpmsiConfig (4)
                         }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "This object describes the last operation action pertaining
          to the MVRF MVPN represented by this entry.

            createdMvrf(1):

          The enumerated action types and the corresponding
          descriptions are as follows:

            createdMvrf:
              MVRF was created in for this MVPN on the PE.

            deletedMvrf(2):
              the

            deletedMvrf:
              MVRF for this MVPN was deleted from the PE.
              A conceptual row in this table will never have
              mvpnGenMvrfLastOperation
              mvpnGenMvrfLastAction equal to deletedMvrf(2), deletedMvrf,
              because in that case the row itself will be deleted
              from not exist
              in the table.
              This value for mvpnGenMvrfLastOperation mvpnGenMvrfLastAction is defined
              mainly
              solely for use in mvpnMvrfOperationChange mvpnMvrfActionChange notification.

            modifiedMvrfIpmsiConfig(3):

            modifiedMvrfIpmsiConfig:
              an I-PMSI for the MVRF this MVPN was configured, deleted or
              changed.

            modifiedMvrfSpmsiConfig(4):

            modifiedMvrfSpmsiConfig:
              an S-PMSI for the MVRF this MVPN was configured, deleted or
              changed.
         "
     DEFVAL { createdMvrf }
     ::= { mvpnGenericEntry 2 }

  mvpnGenMvrfLastOperationTime

  mvpnGenMvrfLastActionTime OBJECT-TYPE
     SYNTAX        TimeStamp        DateAndTime
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The time at which timestamp when the last operation for the MVRF action, given in
          question took place. The last operational change is specified
          by mvpnGenMvrfLastOperation.
          The time at which
          the last operation, specifed
          in mvpnGenMvrfLastOperation, for corresponding mvpnGenMvrfLastAction object,
          was carried out.
         "
     ::= { mvpnGenericEntry 3 }

  mvpnGenMvrfCreationTime OBJECT-TYPE
     SYNTAX        DateAndTime
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The timestamp when the MVRF was created for
          the MVPN represented by this entry was carried out. entry.
         "
     ::= { mvpnGenericEntry 3 4 }

  mvpnGenCmcastRouteProtocol OBJECT-TYPE
     SYNTAX        INTEGER {
                             pim (1),
                             bgp (2)
                           }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The protocol used to signal C-multicast routing
          information across the provider core. core for the MVPN
          represented by this entry.

          The enumerated protocols and the corresponding
          descriptions are as follows:

            pim : PIM (PIM-MVPN): pim(1) (PIM-MVPN)
            bgp : BGP (BGP-MVPN): bgp(2) (BGP-MVPN)
         "
     REFERENCE
         "RFC6513, Section 5"
     ::= { mvpnGenericEntry 4 5 }

  mvpnGenIpmsiInfo OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This points
         "A pointer to a conceptual row representing
          the corresponding I-PMSI in mvpnPmsiTable.
          If there is no I-PMSI for the MVRF, MVPN
          represented by this entry, the
          value of this object will be zeroDotZero.
         "
     DEFVAL        { zeroDotZero }
     ::= { mvpnGenericEntry 5 6 }

  mvpnGenInterAsPmsiInfo OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This points
         "A pointer to a conceptual row representing
          the corresponding segmented Inter-AS I-PMSI in mvpnPmsiTable,
          in case of segmented Inter-AS provider tunnels. mvpnPmsiTable.
          If there is no segmented Inter-AS I-PMSI for the MVRF, MVPN,
          the value of this object will be zeroDotZero.
         "
     DEFVAL        { zeroDotZero }
     ::= { mvpnGenericEntry 6 7 }

  mvpnGenUmhSelection OBJECT-TYPE
     SYNTAX        INTEGER {
                             highestPeAddress  (1),
                             cRootGroupHashing (2),
                             ucastUmhRoute     (3)
                           }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The UMH Upstream Multicast Hop (UMH) selection method for the MVPN
          represented by this mvpn, entry.

          The enumerated methods and the corresponding
          descriptions are as specified in
          section 5.1.3 of [RFC6513]: follows:

            highestPeAddress  : PE with the highest address:        highestPeAddress  (1) address
                                (see RFC6513, Section 5.1.3)
            cRootGroupHashing : hashing based on (c-root, c-group): cRootGroupHashing (2) c-group)
            ucastUmhRoute     : per ucast unicast route towards c-root:     ucastUmhRoute     (3) c-root
         "
     REFERENCE
         "RFC6513, Section 5.1"
     ::= { mvpnGenericEntry 7 8 }

  mvpnGenCustomerSiteType OBJECT-TYPE
     SYNTAX        INTEGER {
                             senderReceiver (1),
                             receiverOnly   (2),
                             senderOnly     (3)
                           }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The type of a the customer site, which is connected to
          this PE, in
          the MVPN which has the MVRF represented by this entry.

          The enumerated types and the corresponding
          descriptions are as follows:

            senderReceiver : Site is both sender and receiver: senderReceiver (1) receiver
            receiverOnly   : Site is receiver-only
            senderOnly     : receiverOnly   (2) Site is sender-only             : senderOnly     (3)
         "
     REFERENCE
         "RFC6513, Section 2.3"
     ::= { mvpnGenericEntry 8 }

  mvpnGenSPTunnelLimit OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The maximum number of selective provider tunnels that
          this PE allows for this MVPN.
         "
     REFERENCE
         "RFC6513, Section 13"

     ::= { mvpnGenericEntry 9 }

  -- Generic BGP-MVPN table

  mvpnBgpGenericTable

  mvpnBgpTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnBgpGenericEntry MvpnBgpEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This
         "A conceptual table specifies the that supplements mvpnGenericTable
          with BGP-MVPN specific information of MVRFs of MVPNs
          that use BGP for exchanging C-Multicast routing information
          present in BGP-MVPNs on this PE.
         "
     ::= { mvpnGeneric 2 mvpnObjects 3 }

  mvpnBgpGenericEntry

  mvpnBgpEntry OBJECT-TYPE
     SYNTAX           MvpnBgpGenericEntry           MvpnBgpEntry
     MAX-ACCESS       not-accessible
     STATUS           current
     DESCRIPTION
         "This entry represents a
         "A conceptual row in the mvpnBgpGenericTable.
          Each MVRF of an MVPN that use BGP for exchanging C-Multicast
          routing information will have an entry in this table.
          The MVRF represented by this entry will have
          a corresponding entry in the mvpnGenericTable. to a BGP-MVPN on this PE.
         "
     INDEX {
             mplsL3VpnVrfName,
             mvpnGenAddressFamily
             mplsL3VpnVrfName
           }
  ::= { mvpnBgpGenericTable mvpnBgpTable 1 }

  MvpnBgpGenericEntry

  MvpnBgpEntry ::= SEQUENCE {
    mvpnBgpGenMode
     mvpnBgpMode                            INTEGER,
    mvpnBgpGenVrfRouteImport
     mvpnBgpVrfRouteImportExtendedCommunity MplsL3VpnRouteDistinguisher,
    mvpnBgpGenSrcAs                      InetAutonomousSystemNumber,
    mvpnBgpGenCmcastRouteWithdrawalTimer
     mvpnBgpSrcASExtendedCommunity          Unsigned32,
    mvpnBgpGenSrcSharedTreeJoinTimer
     mvpnBgpMsgRateLimit                    Unsigned32,
    mvpnBgpGenMsgRateLimit
     mvpnBgpMaxSpmsiAdRoutes                Unsigned32,
    mvpnBgpGenMaxSpmsiAdRoutes
     mvpnBgpMaxSpmsiAdRouteFreq             Unsigned32,
    mvpnBgpGenMaxSpmsiAdRouteFreq
     mvpnBgpMaxSrcActiveAdRoutes            Unsigned32,
    mvpnBgpGenMaxSrcActiveAdRoutes       Unsigned32,
    mvpnBgpGenMaxSrcActiveAdRouteFreq
     mvpnBgpMaxSrcActiveAdRouteFreq         Unsigned32
  }

  mvpnBgpGenMode

  mvpnBgpMode OBJECT-TYPE
     SYNTAX        INTEGER {
                             other   (0),
                             rptSpt  (1),
                             sptOnly (2)
                           }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "For two different
         "The inter-site C-tree mode used by the BGP-MVPN modes:
            rptSpt(1):
          represented by this entry.

            other   : none of the following
            rptSpt  : inter-site shared tree mode
            sptOnly(2):
                      (Rendezvous Point Tree (RPT) and
                       source-specific shortest-path tree (SPT))
            sptOnly : inter-site source-only tree mode. mode
         "
     REFERENCE
         "RFC6513, Section 9.3.1"
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 1 }

  mvpnBgpGenVrfRouteImport

  mvpnBgpVrfRouteImportExtendedCommunity OBJECT-TYPE
     SYNTAX             MplsL3VpnRouteDistinguisher
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
         "The VRF Route Import Extended Community that added by this PE
          adds
          to unicast VPN routes that it advertises for the BGP-MVPN
          corresponding to this MVPN. entry.

         "
     REFERENCE
         "RFC6514, Section 7
         "
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 2 }

  mvpnBgpGenSrcAs

  mvpnBgpSrcASExtendedCommunity OBJECT-TYPE
     SYNTAX            InetAutonomousSystemNumber            Unsigned32
     MAX-ACCESS        read-only
     STATUS            current
     DESCRIPTION
         "The Source AS number in Source AS Extended Community that added by this PE adds
          to the unicast VPN routes that it advertises for
          the BGP-MVPN represented by this MVPN. entry.
         "
     REFERENCE
         "RFC6514, Section 6
         "
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 3 }

  mvpnBgpGenCmcastRouteWithdrawalTimer

  mvpnBgpMsgRateLimit OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     UNITS         "messages per second"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The configurable timer to control the delay upper bound for the advertisement of withdrawals rate of BGP C-multicast routes.
          routing information message exchange between this PE and other
          PEs in the BGP-MVPN corresponding to this entry.
         "
     REFERENCE
         "RFC6514, Section 16.1.1" 17"
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 4 }

  mvpnBgpGenSrcSharedTreeJoinTimer

  mvpnBgpMaxSpmsiAdRoutes OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The configurable timer to control the delay upper bound for the advertisement number of Source/Shared Tree Join
          C-multicast routes.
          S-PMSI A-D routes for the BGP-MVPN corresponding to
          this entry.
         "
     REFERENCE
         "RFC6514, Section 16.1.2" 17"
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 5 }

  mvpnBgpGenMsgRateLimit

  mvpnBgpMaxSpmsiAdRouteFreq OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     UNITS         "routes per second"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The configurable upper bounds on rate bound for the frequency of BGP message exchange among PEs
          S-PMSI A-D route generation for exchanging C-multicast routing information the BGP-MVPN corresponding
          to this entry.
         "
     REFERENCE
         "RFC6514, Section 17"
     ::= { mvpnBgpGenericEntry mvpnBgpEntry 6 }

  mvpnBgpGenMaxSpmsiAdRoutes

  mvpnBgpMaxSrcActiveAdRoutes OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The configurable upper bound on for the number of S-PMSI A-D routes.
         "
     REFERENCE
         "RFC6514, Section 17"
     ::= { mvpnBgpGenericEntry 7 }

  mvpnBgpGenMaxSpmsiAdRouteFreq OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The upper bound on how frequently S-PMSI
          Source Active A-D routes
          may be generated. for the BGP-MVPN corresponding
          to this entry.
         "
     REFERENCE
         "RFC6514, Section 17"
     ::= { mvpnBgpGenericEntry 8 mvpnBgpEntry 7 }

  mvpnBgpGenMaxSrcActiveAdRoutes

  mvpnBgpMaxSrcActiveAdRouteFreq OBJECT-TYPE
     SYNTAX        Unsigned32 (0..4294967295)
     UNITS         "routes per second"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The configurable upper bound on for the number frequency of Source
          Active A-D routes.
         "
     REFERENCE
         "RFC6514, Section 17"
     ::= { mvpnBgpGenericEntry 9 }

  mvpnBgpGenMaxSrcActiveAdRouteFreq OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The upper bound on how frequently Source Active A-D routes
          may be generated. route generation for the BGP-MVPN corresponding
          to this entry.
         "
     REFERENCE
         "RFC6514, Section 17"
     ::= { mvpnBgpGenericEntry 10 mvpnBgpEntry 8 }

  -- PMSI Configuration Table of PMSI information

  mvpnPmsiTable  OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnPmsiEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this
         "A conceptual table corresponds to
          the attribute containing information of a specific
          PMSI configured related
          to PMSIs on a PE router. this PE.
         "
     ::= { mvpnConfig 1 mvpnObjects 4 }

  mvpnPmsiEntry OBJECT-TYPE
     SYNTAX        MvpnPmsiEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A conceptual row corresponding to a specific
          PMSI on this router. PE.
         "
     INDEX       {
                   mvpnPmsiTunnelIfIndex
                 }
     ::= { mvpnPmsiTable 1 }

  MvpnPmsiEntry ::= SEQUENCE {
     mvpnPmsiTunnelIfIndex          InterfaceIndex,
     mvpnPmsiRD                     MplsL3VpnRouteDistinguisher,
     mvpnPmsiTunnelType             L2L3VpnMcastProviderTunnelType,
     mvpnPmsiTunnelAttribute        RowPointer,
     mvpnPmsiTunnelPimGroupAddrType InetAddressType,
     mvpnPmsiTunnelPimGroupAddr     InetAddress,
     mvpnPmsiEncapsulationType      INTEGER
  }

  mvpnPmsiTunnelIfIndex OBJECT-TYPE
     SYNTAX        InterfaceIndex
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This is a
         "A unique index value for an entry in this conceptual row. Its value
          will be the
          mvpnPmsiTable.  A non-zero index for an
          entry indicates same as that of the ifIndex object instance
          for the corresponding
          entry of PMSI in the ifTable.
         "
     REFERENCE
         "RFC2863 Sec. 3.1.5
         "
     ::= { mvpnPmsiEntry 1 }

  mvpnPmsiRD OBJECT-TYPE
     SYNTAX        MplsL3VpnRouteDistinguisher
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The Route Distinguisher for this I-PMSI."
     ::= { mvpnPmsiEntry 3 }

  mvpnPmsiTunnelType OBJECT-TYPE
     SYNTAX        L2L3VpnMcastProviderTunnelType
     MAX-ACCESS    not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "This object indicates the
         "The type of tunnel used to
          instantiate the PMSI corresponding to this entry" entry.
         "
     REFERENCE
         "RFC6513
         "RFC6513, Sec. 2.6
         "
     ::= { mvpnPmsiEntry 2 4 }

  mvpnPmsiTunnelAttribute OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "A pointer to a conceptual row representing
          the P-tunnel used by the PMSI in
          l2L3VpnMcastPmsiTunnelAttributeTable.
         "
     ::= { mvpnPmsiEntry 5 }

  mvpnPmsiTunnelPimGroupAddrType OBJECT-TYPE
     SYNTAX        InetAddressType
     MAX-ACCESS    not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "When
         "The InetAddressType of the PIM provider tunnel is used for instantiating mvpnPmsiTunnelPimGroupAddr object
          that follows.
          When the PMSI corresponding to this entry, entry does not use
          the PIM provider tunnel, i.e.,
          the value of mvpnPmsiTunnelType is not one of
          pimSsm(3), pimAsm(4), or pimBidir(5),
          this object indicates the type of tunnel address.
          Otherwise, the value of this object will should be unknown(0).
         "
     ::= { mvpnPmsiEntry 3 6 }

  mvpnPmsiTunnelPimGroupAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "When the PIM provider
         "The tunnel address which is used for instantiating by the PMSI
          corresponding to this entry, entry.
          When the PMSI corresponding to this entry does not
          use PIM provider tunnel, i.e.,
          the value of mvpnPmsiTunnelType is not one of
          pimSsm(3), pimAsm(4), or pimBidir(5),
          this object indicates the tunnel address.
          Otherwise, the value of this object will should be a string of length zero. zero-length octet string.
         "
     ::= { mvpnPmsiEntry 4 7 }

  mvpnPmsiEncapsulationType OBJECT-TYPE
     SYNTAX        INTEGER {
                             greIp (1),
                             ipIp  (2),
                             mpls  (3)
                           }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The encapsulation type to be used for sending
          packets through a P-tunnel. the PMSI corresponding to this entry.

          The enumerated values encapsulation types and the corresponding
          encapsulation types
          descriptions are as follows:

            greIp (0) : GRE (Generic Routing Encapsulation)
                    encapsulation [RFC2784]
            ipIp  (1)  : IP-in-IP encapsulation [RFC2003]
            mpls  (2)  : MPLS encapsulation [RFC3032]
         "
     REFERENCE
         "RFC2003
          RFC2784
          RFC3032
          RFC6513
          RFC6513, Sec. 12.1
         "
     ::= { mvpnPmsiEntry 5 8 }

  -- Table of S-PMSI configuration table specific information

  mvpnSpmsiTable  OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnSpmsiEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this
         "A conceptual table corresponds containing information related
          to
          a specific S-PMSI configured S-PMSIs on a PE router. this PE.
          This table stores only S-PMSI specific attribute information and generic
          information. Generic PMSI attribute information of the S-PMSI
          S-PMSIs is stored in mvpnPmsiTable.
          Therefore, there MUST be corresponding entry
          that pertains to the S-PMSI, in mvpnPmsiTable.
         "
     ::= { mvpnConfig 2 mvpnObjects 5 }

  mvpnSpmsiEntry OBJECT-TYPE
     SYNTAX        MvpnSpmsiEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A conceptual row corresponding to a specific an S-PMSI on this router. PE.
          Implementers need to be aware that there are quite a few
          index objects that together can exceed if the total number of
          octets in mplsL3VpnVrfName, mvpnSpmsiCmcastGroupAddr and
          mvpnSpmsiCmcastSourceAddr exceeds 113, the size allowed
          for an Object Identifier (OID).  So implementers must make
          sure that OIDs of column
          instances in this table row will have
          no more than 128 sub-identifiers, otherwise they sub-identifiers
          and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3.
         "
     INDEX       {
                   mplsL3VpnVrfName,
                   mvpnSpmsiCmcastAddrType,
                   mvpnSpmsiCmcastGroupAddrType,
                   mvpnSpmsiCmcastGroupAddr,
                   mvpnSpmsiCmcastGroupPrefixLen,
                   mvpnSpmsiCmcastSourceAddrType,
                   mvpnSpmsiCmcastSourceAddr,
                   mvpnSpmsiCmcastSourcePrefixLen
                 }
     ::= { mvpnSpmsiTable 1 }

  MvpnSpmsiEntry ::= SEQUENCE {
     mvpnSpmsiCmcastAddrType
     mvpnSpmsiCmcastGroupAddrType   InetAddressType,
     mvpnSpmsiCmcastGroupAddr       InetAddress,
     mvpnSpmsiCmcastGroupPrefixLen  InetAddressPrefixLength,
     mvpnSpmsiCmcastSourceAddrType  InetAddressType,
     mvpnSpmsiCmcastSourceAddr      InetAddress,
     mvpnSpmsiCmcastSourcePrefixLen InetAddressPrefixLength,
     mvpnSpmsiThreshold             Unsigned32,
     mvpnSpmsiPmsiPointer           RowPointer
  }

  mvpnSpmsiCmcastAddrType

  mvpnSpmsiCmcastGroupAddrType OBJECT-TYPE
     SYNTAX        InetAddressType
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "Type of C-multicast source and group addresses
         "The InetAddressType of
          a particular C-flow which is assigned to an S-PMSI
          corresponding to this entry." the mvpnSpmsiCmcastGroupAddr object
          that follows.
         "
     ::= { mvpnSpmsiEntry 1 }

  mvpnSpmsiCmcastGroupAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A
         "The group address of a particular the C-flow which is assigned to an the
          S-PMSI corresponding to this entry."
     REFERENCE
         "RFC6513, Sec. 3.1"
     ::= { mvpnSpmsiEntry 2 }

  mvpnSpmsiCmcastGroupPrefixLen OBJECT-TYPE
     SYNTAX        InetAddressPrefixLength
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A
         "The prefix length of mvpnSpmsiCmcastGroupAddr.
          A group 0 (or ::0) with prefix length 32 (or 128)
          indicates wildcard group, while a group 0 (or ::0)
          with prefix length 0 indicates any group. the corresponding
          mvpnSpmsiCmcastGroupAddr object.
         "
     ::= { mvpnSpmsiEntry 3 }

  mvpnSpmsiCmcastSourceAddrType OBJECT-TYPE
     SYNTAX        InetAddressType
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The InetAddressType of the mvpnSpmsiCmcastSourceAddr object
          that follows.
         "
     ::= { mvpnSpmsiEntry 4 }

  mvpnSpmsiCmcastSourceAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A
         "The source address of a particular the C-flow which is assigned to an the
          S-PMSI corresponding to this entry."
     ::= { mvpnSpmsiEntry 4 5 }

  mvpnSpmsiCmcastSourcePrefixLen OBJECT-TYPE
     SYNTAX        InetAddressPrefixLength
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "A
         "The prefix length of mvpnSpmsiCmcastSourceAddr.
          A source 0 (or ::0) with prefix length 32 (or 128)
          indicates a wildcard source, while a source 0 (or ::0)
          with prefix length 0 indicates any source. the corresponding
          mvpnSpmsiCmcastSourceAddr object.
         "
     ::= { mvpnSpmsiEntry 5 6 }

  mvpnSpmsiThreshold OBJECT-TYPE
     SYNTAX        Unsigned32  (0..4294967295)
     UNITS         "kilobits per second"
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
         "The bandwidth threshold value which when exceeded for a
          multicast routing entry in the given MVRF, triggers usage
          of S-PMSI.
         "
     REFERENCE
         "RFC6513 Sec. 7.2"
     ::= { mvpnSpmsiEntry 6 }

  mvpnSpmsiPmsiPointer

  mvpnSpmsiPmsiPointer OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "This points
         "A pointer to a conceptual row representing
          generic information of this S-PMSI in mvpnPmsiTable,
          to specify tunnel attributes. mvpnPmsiTable.
         "
     ::= { mvpnSpmsiEntry 7 }

  -- Table of intra-as I-PMSIs advertised/received

  mvpnIpmsiAdvtTable statistics pertaining to
  -- advertisements sent/received

  mvpnAdvtStatsTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnIpmsiAdvtEntry MvpnAdvtStatsEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This
         "A conceptual table is for all advertised/received containing statistics pertaining to
          I-PMSI
          advertisements. and S-PMSI advertisements sent/received by this PE.
         "
     ::= { mvpnStates 1 mvpnObjects 6 }

  mvpnIpmsiAdvtEntry

  mvpnAdvtStatsEntry OBJECT-TYPE
     SYNTAX        MvpnIpmsiAdvtEntry        MvpnAdvtStatsEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table corresponds
         "A conceptual row corresponding to an I-PMSI
          advertisement that is advertised/received by this router.
          This represents all the sender PEs in the MVPN,
          with the provider tunnel they use statistics
          pertaining to send traffic. advertisements sent/received
          for a particular MVPN on this PE.

          Implementers need to be aware that there are quite a few
          index objects that together can exceed if the size allowed
          for an Object Identifier (OID).  So implementers must make
          sure that total number of
          octets in mplsL3VpnVrfName and mvpnAdvtPeerAddr exceeds 115,
          then OIDs of column instances in this table row will have
          no more than
          128 sub-identifiers, otherwise they sub-identifiers and cannot be accessed using SNMPv1,
          SNMPv2c, or SNMPv3.
         "
     INDEX  {
              mplsL3VpnVrfName,
              mvpnIpmsiAdvtAfi,
              mvpnIpmsiAdvtRD,
              mvpnIpmsiAdvtOrigAddrType,
              mvpnIpmsiAdvtOrigAddr
              mvpnAdvtType,
              mvpnAdvtPeerAddrType,
              mvpnAdvtPeerAddr
            }
     ::= { mvpnIpmsiAdvtTable mvpnAdvtStatsTable 1 }

  MvpnIpmsiAdvtEntry

  MvpnAdvtStatsEntry ::= SEQUENCE {
     mvpnIpmsiAdvtAfi
     mvpnAdvtType                        INTEGER,
     mvpnIpmsiAdvtRD                       MplsL3VpnRouteDistinguisher,
     mvpnIpmsiAdvtOrigAddrType
     mvpnAdvtPeerAddrType                InetAddressType,
     mvpnIpmsiAdvtOrigAddr
     mvpnAdvtPeerAddr                    InetAddress,
     mvpnIpmsiAdvtTunnelAttribute          RowPointer,
     mvpnIpmsiAdvtReceived
     mvpnAdvtSent                        Counter32,
     mvpnIpmsiAdvtReceivedError
     mvpnAdvtReceived                    Counter32,
     mvpnIpmsiAdvtMalformedTunnelType
     mvpnAdvtReceivedError               Counter32,
     mvpnIpmsiAdvtMalformedTunnelId
     mvpnAdvtReceivedMalformedTunnelType Counter32,
     mvpnIpmsiAdvtLastReceivedTime         TimeStamp,
     mvpnIpmsiAdvtCounterDiscontinuityTime
     mvpnAdvtReceivedMalformedTunnelId   Counter32,
     mvpnAdvtLastSentTime                DateAndTime,
     mvpnAdvtLastReceivedTime            DateAndTime,
     mvpnAdvtCounterDiscontinuityTime    TimeStamp
    }

  mvpnIpmsiAdvtAfi

  mvpnAdvtType OBJECT-TYPE
     SYNTAX        INTEGER {
                             ipv4(1),
                             ipv6(2)
                              intraAsIpmsi (0),
                              interAsIpmsi (1),
                              sPmsi        (2)
                           }
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The address family this I-PMSI is for." PMSI type.

          The enumerated PMSI types and corresponding
          descriptions are as follows:

            intraAsIpmsi : Intra-AS Inclusive PMSI
            interAsIpmsi : Inter-AS Inclusive PMSI
            sPmsi        : Selective PMSI
         "
     REFERENCE
         "RFC6513, Sec. 3.2.1"
     ::= { mvpnIpmsiAdvtEntry mvpnAdvtStatsEntry 1 }

  mvpnIpmsiAdvtRD OBJECT-TYPE
     SYNTAX        MplsL3VpnRouteDistinguisher
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The Route Distinguisher in this I-PMSI."
     ::= { mvpnIpmsiAdvtEntry 2 }

  mvpnIpmsiAdvtOrigAddrType

  mvpnAdvtPeerAddrType OBJECT-TYPE
     SYNTAX        InetAddressType
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The Internet address type InternetAddressType of mvpnIpmsiAdvtOrigAddr." the mvpnAdvtPeerAddr object
          that follows.
         "
     ::= { mvpnIpmsiAdvtEntry 3 mvpnAdvtStatsEntry 2 }

  mvpnIpmsiAdvtOrigAddr

  mvpnAdvtPeerAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "The BGP address of the a peer PE that originated the I-PMSI."
     ::= { mvpnIpmsiAdvtEntry 4 }

  mvpnIpmsiAdvtTunnelAttribute OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "Points to a row in the l2L3VpnMcastPmsiTunnelAttributeTable." exchanges advertisement with
          this PE.
         "
     ::= { mvpnIpmsiAdvtEntry 5 mvpnAdvtStatsEntry 3 }

  mvpnIpmsiAdvtReceived

  mvpnAdvtSent OBJECT-TYPE
     SYNTAX        Counter32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The number of I-PMSI advertisements received by successfully
          sent to the peer PE router.
          This includes advertisements that were discarded. specified by the corresponding
          mvpnAdvtPeerAddr.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnIpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnAdvtCounterDiscontinuityTime object.
         "
     ::= { mvpnIpmsiAdvtEntry 6 mvpnAdvtStatsEntry 4 }

  mvpnIpmsiAdvtReceivedError

  mvpnAdvtReceived OBJECT-TYPE
     SYNTAX        Counter32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The total number of errors advertisements received from the peer PE
          specified by the corresponding mvpnAdvtPeerAddr object.
          This includes advertisements that were discarded.

          Discontinuities in the I-PMSI value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the corresponding
          mvpnAdvtCounterDiscontinuityTime object.
         "
     ::= { mvpnAdvtStatsEntry 5 }

  mvpnAdvtReceivedError OBJECT-TYPE
     SYNTAX        Counter32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The total number of advertisements received from a peer PE,
          specified by the PE router. corresponding mvpnAdvtPeerAddr object,
          that were rejected due to error(s) in the advertisement.
          The value of this object is includes
          the sum of error cases counted in the values of mvpnIpmsiAdvtMalformedTunnelType corresponding
          mvpnAdvtReceivedMalformedTunnelType and
          mvpnIpmsiAdvtMalformedTunnelId.
          mvpnAdvtReceivedMalformedTunnelId objects.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnIpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnAdvtCounterDiscontinuityTime object.
         "
     ::= { mvpnIpmsiAdvtEntry 7 mvpnAdvtStatsEntry 6 }

  mvpnIpmsiAdvtMalformedTunnelType

  mvpnAdvtReceivedMalformedTunnelType OBJECT-TYPE
     SYNTAX        Counter32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The total number of received I-PMSI advertisements received from the peer PE
          specified by the corresponding mvpnAdvtPeerAddr object,
          that
          contain a PMSI Tunnel attribute whose were rejected due to malformed Tunnel Type field has an undefined tunnel type.
          in the PMSI Tunnel attribute.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnIpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnAdvtCounterDiscontinuityTime object.
         "
     REFERENCE
         "RFC6514 Sec.5"
     ::= { mvpnIpmsiAdvtEntry 8 mvpnAdvtStatsEntry 7 }

  mvpnIpmsiAdvtMalformedTunnelId

  mvpnAdvtReceivedMalformedTunnelId   OBJECT-TYPE
     SYNTAX        Counter32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The total number of received I-PMSI advertisements received from the peer PE
          specified by the corresponding mvpnAdvtPeerAddr object,
          that
          contain a PMSI Tunnel attribute whose were rejected due to malformed Tunnel Identifier field cannot be parsed as a
          tunnel identifier of the tunnel types specified
          in the PMSI Tunnel type field of the attribute.
          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnIpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnAdvtCounterDiscontinuityTime object.
         "
     REFERENCE
         "RFC6514 Sec.5"
     ::= { mvpnIpmsiAdvtEntry 9 mvpnAdvtStatsEntry 8 }

  mvpnIpmsiAdvtLastReceivedTime

  mvpnAdvtLastSentTime   OBJECT-TYPE
     SYNTAX        TimeStamp        DateAndTime
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The value timestamp when the last advertisement
          was successfully sent by this PE.
          If no advertisement has been sent since the
          last re-initialization of sysUpTime this PE, then this
          object will have a zero-length string.
         "
     ::= { mvpnAdvtStatsEntry 9 }

  mvpnAdvtLastReceivedTime   OBJECT-TYPE
     SYNTAX        DateAndTime
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The timestamp when the last I-PMSI advertisement
          was successfully received by from the peer PE router. specified
          by the corresponding mvpnAdvtPeerAddr object and
          processed by this PE.
          If no advertisement has been received since the
          last re-initialization of this PE, then this
          object will have a zero-length string.
         "
     ::= { mvpnIpmsiAdvtEntry mvpnAdvtStatsEntry 10 }

  mvpnIpmsiAdvtCounterDiscontinuityTime

  mvpnAdvtCounterDiscontinuityTime OBJECT-TYPE
     SYNTAX        TimeStamp
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The value of sysUpTime on the most recent occasion
          at which any one or more of this syslog application's
          counters, viz., counters with OID prefix
          'mvpnIpmsiAdvtReceived'
          'mvpnAdvtSent' or
          'mvpnAdvtReceived' or
          'mvpnIpmsiAdvtReceivedError'
          'mvpnAdvtReceivedError' or
          'mvpnIpmsiAdvtMalformedTunnelType'
          'mvpnAdvtReceivedMalformedTunnelType' or
          'mvpnIpmsiAdvtMalformedTunnelId'
          'mvpnAdvtReceivedMalformedTunnelId' suffered a
          discontinuity.
          If no such discontinuities have occurred since the
          last re-initialization of the local management
          subsystem, then this object will have a zero value.
         "
     ::= { mvpnIpmsiAdvtEntry mvpnAdvtStatsEntry 11 }

  -- Table of inter-as I-PMSIs advertised/received

  mvpnInterAsIpmsiAdvtTable multicast routes in an MVPN

  mvpnMrouteTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnInterAsIpmsiAdvtEntry MvpnMrouteEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "This
         "A conceptual table is for all advertised/received inter-as I-PMSI
          advertisements." containing multicast routing information
          corresponding to the MVRFs present on the PE.
         "
     ::= { mvpnStates 2 mvpnObjects 7 }

  mvpnInterAsIpmsiAdvtEntry

  mvpnMrouteEntry OBJECT-TYPE
     SYNTAX        MvpnInterAsIpmsiAdvtEntry        MvpnMrouteEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table corresponds
         "A conceptual row corresponding to an inter-as I-PMSI
          advertisement that is advertised/received by this router.
          This represents all the ASes in the MVPN,
          with the provider tunnel used a route for IP datagrams
          from a particular source and addressed to send traffic to. a particular IP
          multicast group address.

          Implementers need to be aware that there are quite a few
          index objects that together can exceed if the total number of
          octets in mplsL3VpnVrfName, mvpnMrouteCmcastGroupAddr and
          mvpnMrouteCmcastSourceAddrs exceeds 113, the size allowed
          for an Object Identifier (OID).  So implementers must make
          sure that OIDs of column
          instances in this table row will have
          no more than 128 sub-identifiers, otherwise they sub-identifiers
          and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3.
         "
     INDEX  {
              mplsL3VpnVrfName,
              mvpnInterAsIpmsiAdvtAfi,
              mvpnInterAsIpmsiAdvtRD,
              mvpnInterAsIpmsiAdvtSrcAs
              mvpnMrouteCmcastGroupAddrType,
              mvpnMrouteCmcastGroupAddr,
              mvpnMrouteCmcastGroupPrefixLength,
              mvpnMrouteCmcastSourceAddrType,
              mvpnMrouteCmcastSourceAddrs,
              mvpnMrouteCmcastSourcePrefixLength
            }
     ::= { mvpnInterAsIpmsiAdvtTable mvpnMrouteTable 1 }

  MvpnInterAsIpmsiAdvtEntry

  MvpnMrouteEntry ::= SEQUENCE {
     mvpnInterAsIpmsiAdvtAfi
     mvpnMrouteCmcastGroupAddrType       InetAddressType,
     mvpnMrouteCmcastGroupAddr           InetAddress,
     mvpnMrouteCmcastGroupPrefixLength   InetAddressPrefixLength,
     mvpnMrouteCmcastSourceAddrType      InetAddressType,
     mvpnMrouteCmcastSourceAddrs         InetAddress,
     mvpnMrouteCmcastSourcePrefixLength  InetAddressPrefixLength,
     mvpnMrouteUpstreamNeighborAddrType  InetAddressType,
     mvpnMrouteUpstreamNeighborAddr      InetAddress,
     mvpnMrouteInIfIndex                 InterfaceIndexOrZero,
     mvpnMrouteExpiryTime                TimeTicks,
     mvpnMrouteProtocol                  IANAipMRouteProtocol,
     mvpnMrouteRtProtocol                IANAipRouteProtocol,
     mvpnMrouteRtAddrType                InetAddressType,
     mvpnMrouteRtAddr                    InetAddress,
     mvpnMrouteRtPrefixLength            InetAddressPrefixLength,
     mvpnMrouteRtType                    INTEGER,
     mvpnInterAsIpmsiAdvtRD                       MplsL3VpnRouteDistinguisher,
     mvpnInterAsIpmsiAdvtSrcAs                    InetAutonomousSystemNumber,
     mvpnInterAsIpmsiAdvtTunnelAttribute
     mvpnMrouteOctets                    Counter64,
     mvpnMroutePkts                      Counter64,
     mvpnMrouteTtlDroppedOctets          Counter64,
     mvpnMrouteTtlDroppedPackets         Counter64,
     mvpnMrouteDroppedInOctets           Counter64,
     mvpnMrouteDroppedInPackets          Counter64,
     mvpnMroutePmsiPointer               RowPointer,
     mvpnInterAsIpmsiAdvtReceived                 Counter32,
     mvpnInterAsIpmsiAdvtReceivedError            Counter32,
     mvpnInterAsIpmsiAdvtMalformedTunnelType      Counter32,
     mvpnInterAsIpmsiAdvtMalformedTunnelId        Counter32,
     mvpnInterAsIpmsiAdvtLastReceivedTime         TimeStamp,
     mvpnInterAsIpmsiAdvtCounterDiscontinuityTime
     mvpnMrouteNumberOfLocalReplication  Unsigned32,
     mvpnMrouteNumberOfRemoteReplication Unsigned32,
     mvpnMrouteCounterDiscontinuityTime  TimeStamp
  }

  mvpnInterAsIpmsiAdvtAfi

  mvpnMrouteCmcastGroupAddrType OBJECT-TYPE
     SYNTAX        INTEGER {
                             ipv4(1),
                             ipv6(2)
                           }     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The address family this I-PMSI is for." InetAddressType of the mvpnMrouteCmcastGroupAddr object
          that follows.
         "
     ::= { mvpnInterAsIpmsiAdvtEntry mvpnMrouteEntry 1 }

  mvpnInterAsIpmsiAdvtRD

  mvpnMrouteCmcastGroupAddr OBJECT-TYPE
     SYNTAX        MplsL3VpnRouteDistinguisher     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The Route Distinguisher IP multicast group address which, along with
          the corresponding mvpnMrouteCmcastGroupPrefixLength object,
          identifies destinations for which this entry contains
          multicast routing information.

          This address object is only significant up to
          mvpnMrouteCmcastGroupPrefixLength bits. The remaining address
          bits MUST be set to zero.

          For addresses of type 'ipv4z' or 'ipv6z', the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use of these address types indicate that this
          forwarding state applies only within the given zone.  Zone
          index zero is not valid in this inter-as I-PMSI." table.
         "
     ::= { mvpnInterAsIpmsiAdvtEntry mvpnMrouteEntry 2 }

  mvpnInterAsIpmsiAdvtSrcAs

  mvpnMrouteCmcastGroupPrefixLength OBJECT-TYPE
     SYNTAX        InetAutonomousSystemNumber     InetAddressPrefixLength
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The source-as length in this inter-as I-PMSI."
     ::= { mvpnInterAsIpmsiAdvtEntry 3 }

  mvpnInterAsIpmsiAdvtTunnelAttribute OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "Points to a row bits of the mask which, along with
          the corresponding mvpnMrouteCmcastGroupAddr object,
          identifies destinations for which this entry contains
          multicast routing information.

          If the corresponding InetAddressType is 'ipv4' or 'ipv4z',
          this object must be in the range 4..32.
          If the corresponding InetAddressType is 'ipv6' or 'ipv6z',
          this object must be in the l2L3VpnMcastPmsiTunnelAttributeTable." range 8..128.
         "
     ::= { mvpnInterAsIpmsiAdvtEntry 4 mvpnMrouteEntry 3 }

  mvpnInterAsIpmsiAdvtReceived

  mvpnMrouteCmcastSourceAddrType OBJECT-TYPE
     SYNTAX        Counter32     InetAddressType
     MAX-ACCESS    read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The number InetAddressType of Inter-AS I-PMSI advertisements received
          by the PE router.
          This includes advertisements mvpnMrouteCmcastSourceAddrs object
          that were discarded.
          Discontinuities follows.

          A value of unknown(0) indicates a non-source-specific entry,
          corresponding to all sources in the group. Otherwise, the
          value of this counter can
          occur at re-initialization of MUST be the management system,
          and at other times same as indicated by the value of
          mvpnInterAsIpmsiAdvtCounterDiscontinuityTime.
          mvpnMrouteCmcastGroupAddrType.
         "
     ::= { mvpnInterAsIpmsiAdvtEntry 5 mvpnMrouteEntry 4 }

  mvpnInterAsIpmsiAdvtReceivedError

  mvpnMrouteCmcastSourceAddrs OBJECT-TYPE
     SYNTAX        Counter32     InetAddress
     MAX-ACCESS    read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The total number of errors in network address which, along with the Inter-AS I-PMSI
          advertisements received by
          corresponding mvpnMrouteCmcastSourcePrefixLength object,
          identifies the PE router.
          The value of sources for which this entry contains
          multicast routing information.

          This address object is the sum only significant up to
          mvpnMrouteCmcastSourcePrefixLength bits.
          The remaining address bits MUST be set to zero.

          For addresses of type 'ipv4z' or 'ipv6z', the values of mvpnInterAsIpmsiAdvtMalformedTunnelType and
          mvpnInterAsIpmsiAdvtMalformedTunnelId.
          Discontinuities in appended zone
          index is significant even though it lies beyond the value prefix
          length.  The use of these address types indicate that this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by
          source address applies only within the value of
          mvpnInterAsIpmsiAdvtCounterDiscontinuityTime. given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnInterAsIpmsiAdvtEntry 6 mvpnMrouteEntry 5 }

  mvpnInterAsIpmsiAdvtMalformedTunnelType

  mvpnMrouteCmcastSourcePrefixLength OBJECT-TYPE
     SYNTAX        Counter32     InetAddressPrefixLength
     MAX-ACCESS    read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The number length in bits of received Inter-AS I-PMSI advertisements that
          contain a PMSI Tunnel attribute whose Tunnel
          Type field has an undefined tunnel type.
          Discontinuities the mask which, along with
          the corresponding mvpnMrouteCmcastSourceAddr object,
          identifies the sources for which this entry contains
          multicast routing information.

          If the corresponding InetAddressType is 'ipv4' or 'ipv4z',
          this object must be in the value of range 4..32.
          If the corresponding InetAddressType is 'ipv6' or 'ipv6z',
          this counter can
          occur at re-initialization of object must be in the management system,
          and at other times as indicated by range 8..128.
          If the value of
          mvpnInterAsIpmsiAdvtCounterDiscontinuityTime. corresponding InetAddressType is 'unknown',
          this object must be zero.
         "
     REFERENCE
         "RFC6514 Sec.5"
     ::= { mvpnInterAsIpmsiAdvtEntry 7 mvpnMrouteEntry 6 }

  mvpnInterAsIpmsiAdvtMalformedTunnelId

  mvpnMrouteUpstreamNeighborAddrType OBJECT-TYPE
     SYNTAX        Counter32     InetAddressType
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of received Inter-AS I-PMSI advertisements that
          contain a PMSI Tunnel attribute whose Tunnel
          Identifier field cannot be parsed as a
          tunnel identifier of the tunnel types specified in
          the Tunnel type field InetAddressType of the attribute.
          Discontinuities in the mvpnMrouteUpstreamNeighborAddr
          object that follows.

          A value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by unknown(0) indicates that the value of
          mvpnInterAsIpmsiAdvtCounterDiscontinuityTime.
         " upstream
          neighbor is unknown, for example in BIDIR-PIM."
     REFERENCE
         "RFC6514 Sec.5"
         "RFC 5015"
     ::= { mvpnInterAsIpmsiAdvtEntry 8 mvpnMrouteEntry 7 }

  mvpnInterAsIpmsiAdvtLastReceivedTime

  mvpnMrouteUpstreamNeighborAddr OBJECT-TYPE
     SYNTAX        TimeStamp     InetAddress
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value address of sysUpTime when the last Inter-AS I-PMSI
          advertisement was received upstream neighbor (for example,
          Reverse Path Forwarding (RPF) neighbor) from which
          IP datagrams from these sources represented by the PE router.
          this entry to this multicast address are received.
         "

     ::= { mvpnInterAsIpmsiAdvtEntry 9 mvpnMrouteEntry 8 }

  mvpnInterAsIpmsiAdvtCounterDiscontinuityTime

  mvpnMrouteInIfIndex OBJECT-TYPE
     SYNTAX        TimeStamp     InterfaceIndexOrZero
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value of sysUpTime on ifIndex for the most recent occasion
          at interface on which any one or more of IP
          datagrams sent by these sources represented by this syslog application's
          counters, viz., counters with OID prefix
          'mvpnInterAsIpmsiAdvtReceived' or
          'mvpnInterAsIpmsiAdvtReceivedError' or
          'mvpnInterAsIpmsiAdvtMalformedTunnelType' or
          'mvpnInterAsIpmsiAdvtMalformedTunnelId' suffered a
          discontinuity.
          If no such discontinuities have occurred since the
          last re-initialization of the local management
          subsystem, then entry to
          this object will have a zero value. multicast address are received.

          A value 0 indicates that datagrams are not
          subject to an incoming interface check, but may be accepted
          on multiple interfaces (for example, in BIDIR-PIM).
         "
     REFERENCE
         "RFC 5015"
     ::= { mvpnInterAsIpmsiAdvtEntry 10 mvpnMrouteEntry 9 }

  -- Table of S-PMSIs advertised/received

  mvpnSpmsiAdvtTable

  mvpnMrouteExpiryTime OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnSpmsiAdvtEntry     TimeTicks
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "This table has information about
         "The minimum amount of time remaining before this entry will
          be aged out.  The value 0 indicates that the S-PMSIs sent/received
          by a PE.
         "
     ::= { mvpnStates 3 }

  mvpnSpmsiAdvtEntry OBJECT-TYPE
     SYNTAX        MvpnSpmsiAdvtEntry
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "An entry in this table is created or updated for each S-PMSI
          advertised/received in a particular MVRF.

          Implementers need not
          subject to be aware that there are quite a few
          index objects that together can exceed aging.  If the size allowed corresponding mvpnMrouteNextHopState
          object is pruned(1), this object represents the remaining
          time for an Object Identifier (OID).  So implementers must make
          sure that OIDs of column instances in the prune to expire after which the state will
          return to forwarding(2).
          If the corresponding mvpnMrouteNextHopState object is
          forwarding(2), this table object indicates the time after which
          this entry will have
          no more than 128 sub-identifiers, otherwise they cannot be
          accessed using SNMPv1, SNMPv2c, or SNMPv3. removed from the table.
         "
     INDEX  {
              mplsL3VpnVrfName,
              mvpnSpmsiAdvtCmcastAddrType,
              mvpnSpmsiAdvtCmcastGroupAddr,
              mvpnSpmsiAdvtCmcastGroupPrefixLen,
              mvpnSpmsiAdvtCmcastSourceAddr,
              mvpnSpmsiAdvtCmcastSourcePrefixLen,
              mvpnSpmsiAdvtOrigAddrType,
              mvpnSpmsiAdvtOrigAddr
            }
     ::= { mvpnSpmsiAdvtTable 1 }

  MvpnSpmsiAdvtEntry
     ::= SEQUENCE {
     mvpnSpmsiAdvtCmcastAddrType           InetAddressType,
     mvpnSpmsiAdvtCmcastGroupAddr          InetAddress,
     mvpnSpmsiAdvtCmcastGroupPrefixLen     InetAddressPrefixLength,
     mvpnSpmsiAdvtCmcastSourceAddr         InetAddress,
     mvpnSpmsiAdvtCmcastSourcePrefixLen    InetAddressPrefixLength,
     mvpnSpmsiAdvtOrigAddrType             InetAddressType,
     mvpnSpmsiAdvtOrigAddr                 InetAddress,
     mvpnSpmsiAdvtTunnelAttribute          RowPointer,
     mvpnSpmsiAdvtExpTime                  TimeInterval,
     mvpnSpmsiAdvtRefCnt                   Unsigned32,
     mvpnSpmsiAdvtReceived                 Counter32,
     mvpnSpmsiAdvtReceivedError            Counter32,
     mvpnSpmsiAdvtMalformedTunnelType      Counter32,
     mvpnSpmsiAdvtMalformedTunnelId        Counter32,
     mvpnSpmsiAdvtLastReceivedTime         TimeStamp,
     mvpnSpmsiAdvtCounterDiscontinuityTime TimeStamp mvpnMrouteEntry 10 }

  mvpnSpmsiAdvtCmcastAddrType

  mvpnMrouteProtocol OBJECT-TYPE
     SYNTAX        InetAddressType     IANAipMRouteProtocol
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "The Internet address type of mvpnSpmsiAdvtCmcastGroup/Source." multicast routing protocol via which this multicast
          forwarding entry was learned.
         "
     ::= { mvpnSpmsiAdvtEntry 1 mvpnMrouteEntry 11 }

  mvpnSpmsiAdvtCmcastGroupAddr

  mvpnMrouteRtProtocol OBJECT-TYPE
     SYNTAX        InetAddress     IANAipRouteProtocol
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "S-PMSI C-multicast group address.

          If it is 0 (or ::0), this is a wildcard group,
          and mvpnSpmsiAdvtCmcastGroupPrefixLen must be 32 (or 128).
         "
     ::= { mvpnSpmsiAdvtEntry 2 }

  mvpnSpmsiAdvtCmcastGroupPrefixLen OBJECT-TYPE
     SYNTAX        InetAddressPrefixLength
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "S-PMSI C-multicast group address prefix length."
     ::= { mvpnSpmsiAdvtEntry 3 }

  mvpnSpmsiAdvtCmcastSourceAddr OBJECT-TYPE
     SYNTAX        InetAddress
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "S-PMSI C-multicast source address
          If it is 0 (or ::0),
         "The routing protocol via which the route used to find the
          upstream or parent interface for this is a wildcard source,
          and mvpnSpmsiAdvtCmcastSourcePrefixLen must be 32 (or 128). multicast forwarding
          entry was learned.
         "
     ::= { mvpnSpmsiAdvtEntry 4 }

  mvpnSpmsiAdvtCmcastSourcePrefixLen OBJECT-TYPE
     SYNTAX        InetAddressPrefixLength
     MAX-ACCESS    not-accessible
     STATUS        current
     DESCRIPTION
         "S-PMSI C-multicast source address prefix length."
     ::= { mvpnSpmsiAdvtEntry 5 mvpnMrouteEntry 12 }

  mvpnSpmsiAdvtOrigAddrType

  mvpnMrouteRtAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "The Internet address type InetAddressType of mvpnSpmsiAdvtOrigAddr." the mvpnMrouteRtAddr object
          that follows.
         "
     ::= { mvpnSpmsiAdvtEntry 6 mvpnMrouteEntry 13 }

  mvpnSpmsiAdvtOrigAddr

  mvpnMrouteRtAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "The BGP address portion of the PE that originated the S-PMSI."
     ::= { mvpnSpmsiAdvtEntry 7 }

  mvpnSpmsiAdvtTunnelAttribute OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "A row pointer route used to find the l2L3VpnMcastPmsiTunnelAttributeTable"
     ::= { mvpnSpmsiAdvtEntry 8 }

  mvpnSpmsiAdvtExpTime OBJECT-TYPE
     SYNTAX        TimeInterval
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "For UDP-based S-PMSI signaling upstream
          or parent interface for PIM-MVPN,
          the amount of time remaining before this
          received S-PMSI Join Message expires,
          or the next S-PMSI Join Message refresh multicast forwarding entry.

          This address object is only significant up to
          mvpnMrouteRtPrefixLength bits.  The remaining address bits
          MUST be
          advertised again from set to zero.

          For addresses of type 'ipv4z' or 'ipv6z', the PE.
          Otherwise, it appended zone
          index is 0.
         "
     ::= { mvpnSpmsiAdvtEntry 9 }

  mvpnSpmsiAdvtRefCnt OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The number significant even though it lies beyond the prefix
          length.  The use of c-multicast routes these address types indicate that are mapped to this S-PMSI.
          forwarding state applies only within the given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnSpmsiAdvtEntry 10 mvpnMrouteEntry 14 }

  mvpnSpmsiAdvtReceived

  mvpnMrouteRtPrefixLength OBJECT-TYPE
     SYNTAX        Counter32     InetAddressPrefixLength
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number length in bits of S-PMSI advertisements received by the PE router.
          This includes advertisements that were discarded.
          Discontinuities mask associated with the route
          used to find the upstream or parent interface for this
          multicast forwarding entry.

          If the corresponding InetAddressType is 'ipv4' or 'ipv4z',
          this object must be in the value of range 4..32.
          If the corresponding InetAddressType is 'ipv6' or 'ipv6z',
          this counter can
          occur at re-initialization of object must be in the management system, range 8..128.
         "
     ::= { mvpnMrouteEntry 15 }

  mvpnMrouteRtType OBJECT-TYPE
     SYNTAX     INTEGER {
                          unicast   (1),
                          multicast (2)
                        }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The reason for placing the route in the (logical)
          multicast Routing Information Base (RIB).

          The enumerated reasons and at other times the corresponding
          descriptions are as indicated follows:

            unicast:
              The route would normally be placed only in
              the unicast RIB, but was placed in the multicast RIB
              by local configuration, such as when running PIM over
              RIP.

            multicast:
              The route was explicitly added to the multicast RIB by
              the value of
          mvpnIpmsiAdvtCounterDiscontinuityTime. routing protocol, such as the Distance Vector
              Multicast Routing Protocol (DVMRP) or Multiprotocol BGP.
         "
     ::= { mvpnSpmsiAdvtEntry 11 mvpnMrouteEntry 16 }

  mvpnSpmsiAdvtReceivedError

  mvpnMrouteOctets OBJECT-TYPE
     SYNTAX        Counter32     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The total number of errors octets contained in the S-PMSI advertisements IP datagrams that were
          received from sources represented by the PE router.
          The value of this object is the sum of
          the values of mvpnSpmsiAdvtMalformedTunnelType entry and
          addressed to this multicast group address, and
          mvpnSpmsiAdvtMalformedTunnelId. which were
          forwarded by this router.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnSpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnMrouteCounterDiscontinuityTime object.

         "
     ::= { mvpnSpmsiAdvtEntry 12 mvpnMrouteEntry 17 }

  mvpnSpmsiAdvtMalformedTunnelType

  mvpnMroutePkts OBJECT-TYPE
     SYNTAX        Counter32     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of received S-PMSI advertisements that
          contain a PMSI Tunnel attribute whose Tunnel
          Type field has an undefined tunnel type. packets routed using this multicast route
          entry.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnSpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnMrouteCounterDiscontinuityTime object.
         "
     REFERENCE
         "RFC6514 Sec.5"
     ::= { mvpnSpmsiAdvtEntry 13 mvpnMrouteEntry 18 }

  mvpnSpmsiAdvtMalformedTunnelId

  mvpnMrouteTtlDroppedOctets OBJECT-TYPE
     SYNTAX        Counter32     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of received S-PMSI advertisements octets contained in IP datagrams that
          contain a PMSI Tunnel attribute whose Tunnel
          Identifier field cannot be parsed as this
          router has received from sources represented by
          this entry and addressed to this multicast group address,
          which were dropped due to Time To Live (TTL) issues.
          TTL issues occur when the TTL (IPv4) or Hop Limit (IPv6)
          of the incoming packet was decremented to zero, or to a
          tunnel identifier
          value less than ipMcastInterfaceTtl of the tunnel types specified corresponding
          interface.

          The ipMcastInterfaceTtl object is defined in IPMCAST-MIB
          [RFC5132] and represents the Tunnel type field datagram TTL
          threshold for the interface.  Any IP multicast datagrams
          with a TTL (IPv4) or Hop Limit (IPv6) less than this
          threshold will not be forwarded out of the attribute. interface.
          The default value of 0 means all multicast packets are
          forwarded out of the interface.  A value of 256 means that
          no multicast packets are forwarded out of the interface.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the value of
          mvpnSpmsiAdvtCounterDiscontinuityTime. corresponding
          mvpnMrouteCounterDiscontinuityTime object.
         "
     REFERENCE
         "RFC6514 Sec.5"
     ::= { mvpnSpmsiAdvtEntry 14 }

  mvpnSpmsiAdvtLastReceivedTime   OBJECT-TYPE
     SYNTAX        TimeStamp
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The value of sysUpTime when the last S-PMSI
          advertisement was received by the PE router.
         "RFC5132, Sec. 6
         "
     ::= { mvpnSpmsiAdvtEntry 15 mvpnMrouteEntry 19 }

  mvpnSpmsiAdvtCounterDiscontinuityTime

  mvpnMrouteTtlDroppedPackets OBJECT-TYPE
     SYNTAX        TimeStamp     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value number of sysUpTime on packets that this router has received from
          the most recent occasion
          at sources represented by this entry and addressed to this
          multicast group address, which any one were dropped due to
          Time To Live (TTL) issues. TTL issues occur when the
          TTL (IPv4) or more Hop Limit (IPv6) of this syslog application's
          counters, viz., counters with OID prefix
          'mvpnSpmsiAdvtReceived' or
          'mvpnSpmsiAdvtReceivedError' or
          'mvpnSpmsiAdvtMalformedTunnelType' the incoming packet was
          decremented to zero, or
          'mvpnSpmsiAdvtMalformedTunnelId' suffered to a
          discontinuity.
          If no such discontinuities have occurred since the
          last re-initialization value less than
          ipMcastInterfaceTtl of the local management
          subsystem, then this corresponding interface.

          The ipMcastInterfaceTtl object will have a zero value. is defined in IPMCAST-MIB
          [RFC5132] and represents the datagram TTL
          threshold for the interface.  Any IP multicast datagrams
          with a TTL (IPv4) or Hop Limit (IPv6) less than this
          threshold will not be forwarded out of the interface.
          The default value of 0 means all multicast packets are
          forwarded out of the interface.  A value of 256 means that
          no multicast packets are forwarded out of the interface.

          Discontinuities in the value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the corresponding
          mvpnMrouteCounterDiscontinuityTime object.
         "
     REFERENCE
         "RFC5132, Sec. 6
         "
     ::= { mvpnSpmsiAdvtEntry 16 mvpnMrouteEntry 20 }

  -- Table of multicast routes in an MVPN

  mvpnMrouteTable

  mvpnMrouteDroppedInOctets OBJECT-TYPE
     SYNTAX        SEQUENCE OF MvpnMrouteEntry     Counter64
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "This table contains
         "The number of octets contained in IP datagrams that this
          router has received from sources represented by
          this entry and addressed to this multicast routing information group address,
          which were dropped due to error(s).
          The value of this object includes the octets counted
          in MVRFs present the corresponding mvpnMrouteTtlDroppedOctets object.

          Discontinuities in the PE. value of this counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the corresponding
          mvpnMrouteCounterDiscontinuityTime object.
         "
     ::= { mvpnStates 4 } mvpnMrouteEntry 21 }

  mvpnMrouteDroppedInPackets OBJECT-TYPE
     SYNTAX        MvpnMrouteEntry     Counter64
     MAX-ACCESS    not-accessible read-only
     STATUS     current
     DESCRIPTION
         "This entry corresponds to each
         "The number of multicast routing
          information components for IP datagrams packets which this router has received from a particular source
          sources represented by this entry and addressed to a particular
          IP this
          multicast group address.

          OIDs are limited address, which were dropped due to 128 sub-identifiers, but error(s).
          The value of this limit
          is not enforced by object includes the syntax number of octets
          counted in the corresponding mvpnMrouteTtlDroppedPackets
          object.

          Discontinuities in the value of this entry.  In practice,
          this does not present a problem, because IP address types
          allowed counter can
          occur at re-initialization of the management system,
          and at other times as indicated by conformance statements do not exceed this limit. the corresponding
          mvpnMrouteCounterDiscontinuityTime object.
         "
     INDEX  {
              mplsL3VpnVrfName,
              mvpnMrouteCmcastGroupAddrType,
              mvpnMrouteCmcastGroupAddr,
              mvpnMrouteCmcastGroupPrefixLength,
              mvpnMrouteCmcastSourceAddrType,
              mvpnMrouteCmcastSourceAddr,
              mvpnMrouteCmcastSourcePrefixLength
            }
     ::= { mvpnMrouteTable 1 mvpnMrouteEntry 22 }

  MvpnMrouteEntry ::= SEQUENCE {
     mvpnMrouteCmcastGroupAddrType       InetAddressType,
     mvpnMrouteCmcastGroupAddr           InetAddress,
     mvpnMrouteCmcastGroupPrefixLength   InetAddressPrefixLength,
     mvpnMrouteCmcastSourceAddrType      InetAddressType,
     mvpnMrouteCmcastSourceAddr          InetAddress,
     mvpnMrouteCmcastSourcePrefixLength  InetAddressPrefixLength,
     mvpnMrouteUpstreamNeighborAddrType  InetAddressType,
     mvpnMrouteUpstreamNeighborAddr      InetAddress,
     mvpnMrouteInIfIndex                 InterfaceIndexOrZero,
     mvpnMrouteTimeStamp                 TimeStamp,
     mvpnMrouteExpiryTime                TimeTicks,
     mvpnMrouteProtocol                  IANAipMRouteProtocol,
     mvpnMrouteRtProtocol                IANAipRouteProtocol,
     mvpnMrouteRtAddrType                InetAddressType,
     mvpnMrouteRtAddr                    InetAddress,
     mvpnMrouteRtPrefixLength            InetAddressPrefixLength,
     mvpnMrouteRtType                    INTEGER,
     mvpnMrouteOctets                    Counter64,
     mvpnMroutePkts                      Counter64,
     mvpnMrouteTtlDropOctets             Counter64,
     mvpnMrouteTtlDropPackets            Counter64,
     mvpnMrouteDifferentInIfOctets       Counter64,
     mvpnMrouteDifferentInIfPackets      Counter64,
     mvpnMrouteBps                       CounterBasedGauge64,

  mvpnMroutePmsiPointer               RowPointer,
     mvpnMrouteNumberOfLocalReplication  Unsigned32,
     mvpnMrouteNumberOfRemoteReplication Unsigned32
  }

  mvpnMrouteCmcastGroupAddrType OBJECT-TYPE
     SYNTAX     InetAddressType        RowPointer
     MAX-ACCESS not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "A value indicating the address family of the address
          contained in mvpnMrouteGroupAddr.  Legal values correspond pointer to a conceptual row representing
          the subset corresponding I-PMSI in mvpnPmsiTable or S-PMSI
          in mvpnSpmsiTable, that this C-multicast route is using.
         "
     ::= { mvpnMrouteEntry 23 }

  mvpnMrouteNumberOfLocalReplication OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "Number of address families replications for which multicast
          forwarding local receivers.
          For example, if an ingress PE needs to send traffic out of
          N PE-CE interfaces, then mvpnMrouteNumberOfLocalReplication
          is supported." N.
         "
     ::= { mvpnMrouteEntry 1 24 }

  mvpnMrouteCmcastGroupAddr

  mvpnMrouteNumberOfRemoteReplication OBJECT-TYPE
     SYNTAX     InetAddress        Unsigned32
     MAX-ACCESS not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "The IP multicast group address which, when combined with
          the corresponding value specified in
          mvpnMrouteGroupPrefixLength, identifies the groups
         "Number of local replications for
          which this entry contains multicast routing information.

          This address object is only significant up to
          mvpnMrouteGroupPrefixLength bits.  The remaining address
          bits are set remote PEs. For example,
          if the number of remote PEs that need to zero.  This receive traffic is especially important for this
          index field, which N,
          then mvpnMrouteNumberOfRemoteReplication is part of the index N in case of this entry.  Any
          non-zero bits would signify an entirely different entry.

          For addresses
          Ingress Replication, but may be less than N in case of type ipv4z RSVP-TE
          or ipv6z, the appended zone
          index is significant even though it lies beyond mLDP P2MP tunnels, depending on the prefix
          length.  The use actual number of these address types indicate that this
          forwarding state applies only within
          replications the given zone.  Zone
          index zero is not valid in this table." PE needs to do.
         "
     ::= { mvpnMrouteEntry 2 25 }

  mvpnMrouteCmcastGroupPrefixLength

  mvpnMrouteCounterDiscontinuityTime OBJECT-TYPE
     SYNTAX     InetAddressPrefixLength        TimeStamp
     MAX-ACCESS not-accessible    read-only
     STATUS        current
     DESCRIPTION
         "The length in bits of the mask which, when combined with
          the corresponding value of mvpnMrouteGroupAddr, identifies sysUpTime on the
          groups for most recent occasion
          at which any one or more of this entry contains multicast routing
          information.

          The InetAddressType is given by
          mvpnMrouteGroupAddrType.  For values 'ipv4' and
          'ipv4z', this object must be in application's
          counters, viz., counters with OID prefix
          'mvpnMrouteOctets' or 'mvpnMroutePkts' or
          'mvpnMrouteTtlDroppedOctets' or
          'mvpnMrouteTtlDroppedPackets' or
          'mvpnMrouteDroppedInOctets' or 'mvpnMrouteDroppedInPackets'
          suffered a discontinuity.
          If no such discontinuities have occurred since the range 4..32.  For values
          'ipv6' and 'ipv6z',
          last re-initialization of the local management
          subsystem, then this object must be in the range
          8..128. will have a zero value.
         "
     ::= { mvpnMrouteEntry 3 26 }

  mvpnMrouteCmcastSourceAddrType

  -- Table of next hops for multicast routes in an MVPN

  mvpnMrouteNextHopTable OBJECT-TYPE
     SYNTAX     InetAddressType     SEQUENCE OF MvpnMrouteNextHopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A value indicating conceptual table containing information on the address family
          next-hops for routing IP multicast datagrams.
          Each entry is one of the address
          contained in mvpnMrouteSourceAddr.

          A value a list of unknown(0) indicates next-hops for
          a non-source-specific entry,
          corresponding to all sources in the group.  Otherwise, the
          value MUST be the same as the value set of
          mvpnMrouteGroupAddrType. sources sending to a multicast group
          address.
         "
     ::= { mvpnMrouteEntry 4 mvpnObjects 8 }

  mvpnMrouteCmcastSourceAddr

  mvpnMrouteNextHopEntry OBJECT-TYPE
     SYNTAX     InetAddress     MvpnMrouteNextHopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The network address which, when combined with the
         "A conceptual row corresponding value to a next-hop to which
          IP multicast datagrams from a set of mvpnMrouteSourcePrefixLength,
          identifies the sources to
          an IP multicast group address are routed.

          Implementers need to be aware that if the total number of
          octets in mplsL3VpnVrfName, mvpnMrouteNextHopGroupAddr,
          mvpnMrouteNextHopSourceAddrs, and mvpnMrouteNextHopAddr
          exceeds 111, the OIDs of column instances in this row
          will have more than 128 sub-identifiers and cannot be
          accessed using SNMPv1, SNMPv2c, or SNMPv3.
         "
     INDEX      {
                  mplsL3VpnVrfName,
                  mvpnMrouteNextHopGroupAddrType,
                  mvpnMrouteNextHopGroupAddr,
                  mvpnMrouteNextHopGroupPrefixLength,
                  mvpnMrouteNextHopSourceAddrType,
                  mvpnMrouteNextHopSourceAddrs,
                  mvpnMrouteNextHopSourcePrefixLength,
                  mvpnMrouteNextHopIfIndex,
                  mvpnMrouteNextHopAddrType,
                  mvpnMrouteNextHopAddr
                }
     ::= { mvpnMrouteNextHopTable 1 }

  MvpnMrouteNextHopEntry ::= SEQUENCE {
     mvpnMrouteNextHopGroupAddrType            InetAddressType,
     mvpnMrouteNextHopGroupAddr                InetAddress,
     mvpnMrouteNextHopGroupPrefixLength        InetAddressPrefixLength,
     mvpnMrouteNextHopSourceAddrType           InetAddressType,
     mvpnMrouteNextHopSourceAddrs              InetAddress,
     mvpnMrouteNextHopSourcePrefixLength       InetAddressPrefixLength,
     mvpnMrouteNextHopIfIndex                  InterfaceIndex,
     mvpnMrouteNextHopAddrType                 InetAddressType,
     mvpnMrouteNextHopAddr                     InetAddress,
     mvpnMrouteNextHopState                    INTEGER,
     mvpnMrouteNextHopExpiryTime               TimeTicks,
     mvpnMrouteNextHopClosestMemberHops        Unsigned32,
     mvpnMrouteNextHopProtocol                 IANAipMRouteProtocol,
     mvpnMrouteNextHopOctets                   Counter64,
     mvpnMrouteNextHopPkts                     Counter64,
     mvpnMrouteNextHopCounterDiscontinuityTime TimeStamp
  }
  mvpnMrouteNextHopGroupAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The InetAddressType of the mvpnMrouteNextHopGroupAddr object
          that follows.
         "
     ::= { mvpnMrouteNextHopEntry 1 }

  mvpnMrouteNextHopGroupAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The IP multicast group address which, along with
          the corresponding mvpnMrouteNextHopGroupPrefixLength object,
          identifies destinations for which this entry contains
          multicast routing forwarding information.

          This address object is only significant up to
          mvpnMrouteSourcePrefixLength
          mvpnMrouteNextHopGroupPrefixLength bits.  The remaining
          address bits are MUST be set to zero.  This is especially important for this
          index field, which is part of the index of this entry.  Any
          non-zero bits would signify an entirely different entry.

          For addresses of type ipv4z 'ipv4z' or ipv6z, 'ipv6z', the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use of these address types indicate that this
          source address
          forwarding state applies only within the given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnMrouteEntry 5 mvpnMrouteNextHopEntry 2 }

  mvpnMrouteCmcastSourcePrefixLength

  mvpnMrouteNextHopGroupPrefixLength OBJECT-TYPE
     SYNTAX     InetAddressPrefixLength
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The length in bits of the mask which, when combined along with
          the corresponding value of mvpnMrouteSource, mvpnMrouteGroupAddr object,
          identifies
          the sources destinations for which this entry contains
          multicast routing information.

          The

          If the corresponding InetAddressType is given by
          mvpnMrouteSourceAddrType.  For the value 'unknown',
          this object must be zero.  For values 'ipv4' and or 'ipv4z',
          this object must be in the range 4..32.  For values
          If the corresponding InetAddressType is 'ipv6'
          and or 'ipv6z',
          this object must be in the range 8..128." 8..128.
         "
     ::= { mvpnMrouteEntry 6 mvpnMrouteNextHopEntry 3 }

  mvpnMrouteUpstreamNeighborAddrType

  mvpnMrouteNextHopSourceAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS read-only not-accessible
     STATUS     current
     DESCRIPTION
         "A value indicating the address family
         "The InetAddressType of the address
          contained in mvpnMrouteUpstreamNeighborAddr.

          An address type mvpnMrouteNextHopSourceAddrs object
          that follows.

          A value of unknown(0) indicates that the upstream
          neighbor is unknown, for example a non-source-specific entry,
          corresponding to all sources in BIDIR-PIM."
     REFERENCE "RFC 5015" the group.  Otherwise, the
          value MUST be the same as the value of
          mvpnMrouteNextHopGroupAddrType."
     ::= { mvpnMrouteEntry 7 mvpnMrouteNextHopEntry 4 }

  mvpnMrouteUpstreamNeighborAddr

  mvpnMrouteNextHopSourceAddrs OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The network address of which, along with the
          corresponding mvpnMrouteNextHopSourcePrefixLength object,
          identifies the upstream neighbor (for example, RPF
          neighbor) from which IP datagrams from these sources for which this entry specifies
          a next-hop.

          This address object is only significant up to
          mvpnMrouteNextHopSourcePrefixLength bits.  The remaining
          address bits MUST be set to zero.

          For addresses of type 'ipv4z' or 'ipv6z', the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use of these address types indicate that this multicast
          source address are received. applies only within the given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnMrouteEntry 8 mvpnMrouteNextHopEntry 5 }

  mvpnMrouteInIfIndex

  mvpnMrouteNextHopSourcePrefixLength OBJECT-TYPE
     SYNTAX     InterfaceIndexOrZero     InetAddressPrefixLength
     MAX-ACCESS read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The value length in bits of ifIndex for the interface on which IP
          datagrams sent by these mask which, along with
          the corresponding mvpnMrouteNextHopSourceAddrs object,
          identifies the sources to for which this multicast address
          are received.  A value of 0 indicates that datagrams are not
          subject to an incoming interface check, but may entry specifies
          a next-hop.

          If the corresponding InetAddressType is 'ipv4' or 'ipv4z',
          this object must be accepted
          on multiple interfaces (for example, in BIDIR-PIM). the range 4..32.

          If the corresponding InetAddressType is 'ipv6' or 'ipv6z',
          this object must be in the range 8..128.
          If the corresponding InetAddressType is 'unknown',
          this object must be zero.
         "
     REFERENCE
         "RFC 5015"
     ::= { mvpnMrouteEntry 9 mvpnMrouteNextHopEntry 6 }

  mvpnMrouteTimeStamp

  mvpnMrouteNextHopIfIndex OBJECT-TYPE
     SYNTAX     TimeStamp     InterfaceIndex
     MAX-ACCESS read-only not-accessible
     STATUS     current
     DESCRIPTION
         "The ifIndex value of sysUpTime at which the multicast routing
          information represented by outgoing interface
          for this entry was learned by next-hop.
         "
     ::= { mvpnMrouteNextHopEntry 7 }

  mvpnMrouteNextHopAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The InetAddressType of the
          router.

          If this information was present at mvpnMrouteNextHopAddr object
          that follows.
         "
     ::= { mvpnMrouteNextHopEntry 8 }

  mvpnMrouteNextHopAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The address of the next-hop specific to this entry.  For
          most recent re-
          initialization interfaces, this is identical to
          mvpnMrouteNextHopGroupAddr. Non-Broadcast Multi-Access
          (NBMA) interfaces, however, may have multiple next-hop
          addresses out of a single outgoing interface.
         "
     ::= { mvpnMrouteNextHopEntry 9 }

  mvpnMrouteNextHopState OBJECT-TYPE
     SYNTAX     INTEGER {
                          pruned(1),
                          forwarding(2)
                        }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An indication of whether the local management subsystem, then outgoing interface and next-
          hop represented by this
          object contains a zero value. entry is currently being used to
          forward IP datagrams.

          The enumerated states and the corresponding
          descriptions are as follows:

            pruned     : this entry is not currently being used.
            forwarding : this entry is currently being used.
         "
     ::= { mvpnMrouteEntry mvpnMrouteNextHopEntry 10 }

  mvpnMrouteExpiryTime

  mvpnMrouteNextHopExpiryTime OBJECT-TYPE
     SYNTAX     TimeTicks
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The minimum amount of time remaining before this entry will
          be aged out.  The value 0 indicates that the entry is not
          subject to aging. If mvpnMrouteNextHopState is pruned(1),
          this object represents the remaining time until for the prune
          expires.  If this timer expires,
          to expire after which the state reverts will return to forwarding(2).  Otherwise,
          If mvpnMrouteNextHopState is forwarding(2),
          this object represents indicates the time
          until after which this
          entry is will be removed from the table.

          The value of 0 indicates that the entry is not subject to
          aging.
         "
     ::= { mvpnMrouteEntry mvpnMrouteNextHopEntry 11 }

  mvpnMrouteProtocol

  mvpnMrouteNextHopClosestMemberHops OBJECT-TYPE
     SYNTAX     IANAipMRouteProtocol     Unsigned32 (0..256)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The minimum number of hops between this router and any
          member of this IP multicast routing protocol group reached via which this next-hop
          on the corresponding outgoing interface.  Any IP multicast
          forwarding entry was learned.
         "
     ::= { mvpnMrouteEntry 12 }

  mvpnMrouteRtProtocol OBJECT-TYPE
     SYNTAX     IANAipRouteProtocol
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The routing mechanism via which
          datagram for the route used to find the
          upstream group that has a TTL (IPv4) or parent interface for Hop Count
          (IPv6) less than mvpnMrouteNextHopClosestMemberHops will
          not be forwarded through this interface.

          A value of 0 means all multicast forwarding
          entry was learned. datagrams are forwarded out
          of the interface.  A value of 256 means that no multicast
          datagrams are forwarded out of the interface.

          This is an optimization applied by multicast routing
          protocols that explicitly track hop counts to downstream
          listeners.  Multicast protocols that are not aware of hop
          counts to downstream listeners set this object to 0.
         "
     ::= { mvpnMrouteEntry 13 mvpnMrouteNextHopEntry 12 }

  mvpnMrouteRtAddrType

  mvpnMrouteNextHopProtocol OBJECT-TYPE
     SYNTAX     InetAddressType     IANAipMRouteProtocol
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "A value indicating the address family of the address
          contained in mvpnMrouteRtAddr.
         "
         "The routing protocol via which this next-hop was learned."
     ::= { mvpnMrouteEntry 14 mvpnMrouteNextHopEntry 13 }

  mvpnMrouteRtAddr

  mvpnMrouteNextHopOctets OBJECT-TYPE
     SYNTAX     InetAddress     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The address portion of the route used to find the upstream
          or parent interface for this multicast forwarding entry.

          This address object is only significant up to
          mvpnMrouteRtPrefixLength bits.  The remaining address bits
          are set to zero.

          For addresses number of type ipv4z or ipv6z, the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use octets of these address types indicate multicast packets that have been
          forwarded using this
          forwarding state applies only within the given zone.  Zone
          index zero is not valid route.

          Discontinuities in the value of this table. counter can
          occur at re-initialization of the management system,
          and at other times as indicated by the corresponding
          mvpnMrouteNextHopCounterDiscontinuityTime object.
         "
     ::= { mvpnMrouteEntry 15 mvpnMrouteNextHopEntry 14 }

  mvpnMrouteRtPrefixLength

  mvpnMrouteNextHopPkts OBJECT-TYPE
     SYNTAX     InetAddressPrefixLength     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The length in bits number of packets which have been forwarded using this
          route.

          Discontinuities in the mask associated with the route
          used to find the upstream or parent interface for this
          multicast forwarding entry.

          The InetAddressType is given by mvpnMrouteRtAddressType.
          For values 'ipv4' and 'ipv4z', value of this object must be in counter can
          occur at re-initialization of the
          range 4..32.  For values 'ipv6' management system,
          and 'ipv6z', this object
          must be in at other times as indicated by the range 8..128. corresponding
          mvpnMrouteNextHopCounterDiscontinuityTime object.
         "
     ::= { mvpnMrouteEntry 16 mvpnMrouteNextHopEntry 15 }

  mvpnMrouteRtType

  mvpnMrouteNextHopCounterDiscontinuityTime OBJECT-TYPE
     SYNTAX     INTEGER {
                 unicast (1),  -- Unicast route used in multicast RIB
                 multicast (2) -- Multicast route
                }        TimeStamp
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
         "The reason the given route was placed in the (logical)
          multicast Routing Information Base (RIB).  A value of
          unicast means that the route would normally be placed only
          in the unicast RIB, but was placed in sysUpTime on the multicast RIB
          due (instead most recent occasion
          at which any one or in addition) to local configuration, such as
          when running PIM over RIP.  A value more of multicast means that
          the route was explicitly added to the multicast RIB by the
          routing protocol, this application's
          counters, viz., counters with OID prefix
          'mvpnMrouteNextHopOctets' or 'mvpnMrouteNextHopPackets'
          suffered a discontinuity.
          If no such as discontinuities have occurred since the Distance Vector Multicast
          Routing Protocol (DVMRP) or Multiprotocol BGP.
          last re-initialization of the local management
          subsystem, then this object will have a zero value.
         "
     ::= { mvpnMrouteEntry 17 mvpnMrouteNextHopEntry 16 }

  -- MVPN Notifications

  mvpnMvrfActionTaken NOTIFICATION-TYPE
     OBJECTS     {
                   mvpnGenMvrfCreationTime,
                   mvpnGenMvrfLastAction,
                   mvpnGenMvrfLastActionTime,
                   mvpnGenMvrfCreationTime,
                   mvpnGenCmcastRouteProtocol,
                   mvpnGenUmhSelection,
                   mvpnGenCustomerSiteType
                 }

  mvpnMrouteOctets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
     STATUS      current
     DESCRIPTION
         "The number of octets contained in IP datagrams that were
          received from these sources and addressed to this multicast
          group address, and which were forwarded by this router.

          Discontinuities
         "mvpnMvrfActionTaken notifies about a change
          in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can MVRF on the PE. The change itself will be detected given by observing
          the value of mvpnMrouteTimeStamp.
          mvpnGenMvrfLastAction.
         "
     ::= { mvpnMrouteEntry 18 mvpnNotifications 1 }

  mvpnMroutePkts OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets routed using this multicast route
          entry.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can be detected by observing
          the value of mvpnMrouteTimeStamp.
         "

  -- MVPN MIB Conformance Information

  mvpnGroups      OBJECT IDENTIFIER ::= { mvpnMrouteEntry 19 mvpnConformance 1 }

  mvpnMrouteTtlDropOctets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
  mvpnCompliances OBJECT IDENTIFIER ::= { mvpnConformance 2 }

  -- Compliance Statements

      mvpnModuleFullCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
         "The number of octets contained in IP datagrams
              "Compliance statement for agents that provide full support
               for the MCAST-VPN-MIB
              "
         MODULE  -- this
          router has received from these sources and addressed to this
          multicast module
         MANDATORY-GROUPS {
             mvpnScalarGroup,
             mvpnGenericGroup,
             mvpnPmsiGroup,
             mvpnAdvtStatsGroup,
             mvpnMrouteGroup,
             mvpnMrouteNextHopGroup,
             mvpnNotificationGroup
         }

         GROUP mvpnBgpGroup
             DESCRIPTION
                 "This group address, which were dropped because the TTL
          (IPv4) or Hop Limit (IPv6) was decremented to zero, or to a
          value less than ipMcastInterfaceTtl is mandatory for all next hops.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can be detected by observing
          the value of mvpnMrouteTimeStamp. systems that support
                  BGP-MVPN.
                 "

         ::= { mvpnMrouteEntry 20 mvpnCompliances 1 }

  mvpnMrouteTtlDropPackets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only

      mvpnModuleReadOnlyCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
         "The number of packets "Compliance requirement for implementations that
                      only provide read-only support for MCAST-VPN-MIB.
                      Such devices can then be monitored but cannot be
                      configured using this router has received from
          these sources and addressed to MIB module.
                     "
         MODULE  -- this multicast module
         MANDATORY-GROUPS {
             mvpnScalarGroup,
             mvpnGenericGroup,
             mvpnPmsiGroup,
             mvpnAdvtStatsGroup,
             mvpnMrouteGroup,
             mvpnMrouteNextHopGroup,
             mvpnNotificationGroup
         }

         GROUP mvpnBgpGroup
             DESCRIPTION
                 "This group address,
          which were dropped because the TTL (IPv4) or Hop Limit
          (IPv6) was decremented to zero, or to a value less than
          ipMcastInterfaceTtl is mandatory for all next hops.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can be detected by observing
          the value of mvpnMrouteTimeStamp. systems that support
                  BGP-MVPN.
                 "

         OBJECT       mvpnSPTunnelLimit
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpCmcastRouteWithdrawalTimer
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpSrcSharedTreeJoinTimer
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpMsgRateLimit
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpMaxSpmsiAdRoutes
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpMaxSpmsiAdRouteFreq
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpMaxSrcActiveAdRoutes
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnBgpMaxSrcActiveAdRouteFreq
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         ::= { mvpnMrouteEntry 21 mvpnCompliances 2 }

  mvpnMrouteDifferentInIfOctets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only

      mvpnModuleAdvtStatsCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
         "The number of octets contained in IP datagrams
              "Compliance statement for agents that this
          router has received from these sources and addressed to this
          multicast group address, which were dropped because they
          were received on an unexpected interface.

          For RPF checking protocols (such as PIM-SM), these packets
          arrived on interfaces other than mvpnMrouteInIfIndex, and
          were dropped because support
               monitoring of this failed RPF check.  (RPF paths
          are 'Reverse Path Forwarding' paths; the unicast routes statistics pertaining to
          the expected origin of multicast data flows).
          Other protocols may drop packets on an incoming interface
          check for different reasons (for example, BIDIR-PIM performs
          a DF check on receipt of packets).  All packets dropped as
               advertisements sent/received by a
          result of an incoming interface check are counted here.

          If this counter increases rapidly, PE.
              "
         MODULE  -- this indicates a problem.
          A significant quantity module
         MANDATORY-GROUPS {
             mvpnAdvtStatsGroup
         }

         ::= { mvpnCompliances 3 }

  -- units of multicast data is arriving at this
          router conformance

      mvpnScalarGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMvrfs,
                    mvpnV4Mvrfs,
                    mvpnV6Mvrfs,
                    mvpnMldpMvrfs,
                    mvpnPimV4Mvrfs,
                    mvpnPimV6Mvrfs,
                    mvpnBgpV4Mvrfs,
                    mvpnBgpV6Mvrfs,
                    mvpnSPTunnelLimit
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               global MVPN parameters.
              "
          ::= { mvpnGroups 1 }

      mvpnGenericGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnGenMvrfLastAction,
                    mvpnGenMvrfLastActionTime,
                    mvpnGenMvrfCreationTime,
                    mvpnGenCmcastRouteProtocol,
                    mvpnGenIpmsiInfo,
                    mvpnGenInterAsPmsiInfo,
                    mvpnGenUmhSelection,
                    mvpnGenCustomerSiteType
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor MVPNs on unexpected interfaces, and is not being forwarded.

          For guidance, if the rate of increase of this counter
          exceeds 1% of the rate of increase of mvpnMrouteOctets,
          then there a PE.
              "
          ::= { mvpnGroups 2 }

      mvpnBgpGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnBgpMode,
                    mvpnBgpVrfRouteImportExtendedCommunity,
                    mvpnBgpSrcASExtendedCommunity,
                    mvpnBgpCmcastRouteWithdrawalTimer,
                    mvpnBgpSrcSharedTreeJoinTimer,
                    mvpnBgpMsgRateLimit,
                    mvpnBgpMaxSpmsiAdRoutes,
                    mvpnBgpMaxSpmsiAdRouteFreq,
                    mvpnBgpMaxSrcActiveAdRoutes,
                    mvpnBgpMaxSrcActiveAdRouteFreq
                  }
          STATUS      current
          DESCRIPTION
              "These objects are multicast routing problems that require
          investigation.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as used to monitor BGP-MVPNs on
               a result of routes being
          removed PE and replaced, which can be detected by observing to monitor timers and thresholds related
               to the value of mvpnMrouteTimeStamp.
         "
     REFERENCE
         "RFC 4601
          RFC 5015 BPG-MVPNs.
              "

          ::= { mvpnMrouteEntry 22 mvpnGroups 3 }

      mvpnPmsiGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnPmsiRD,
                    mvpnPmsiTunnelType,
                    mvpnPmsiTunnelAttribute,
                    mvpnPmsiTunnelPimGroupAddrType,
                    mvpnPmsiTunnelPimGroupAddr,
                    mvpnPmsiEncapsulationType,
                    mvpnSpmsiPmsiPointer
                  }

  mvpnMrouteDifferentInIfPackets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
          STATUS      current
          DESCRIPTION
         "The number of packets which this router has received from
          these sources and addressed
              "These objects are used to this multicast group address,
          which were dropped because they were received on an
          unexpected interface.

          For RPF checking protocols (such as PIM-SM), these packets
          arrived on interfaces other than mvpnMrouteInIfIndex, monitor
               I-PMSIs and
          were dropped because of this failed RPF check.  (RPF paths S-PMSIs tunnel on a PE.
              "
          ::= { mvpnGroups 4 }

      mvpnAdvtStatsGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnAdvtSent,
                    mvpnAdvtReceived,
                    mvpnAdvtReceivedError,
                    mvpnAdvtReceivedMalformedTunnelType,
                    mvpnAdvtReceivedMalformedTunnelId,
                    mvpnAdvtLastSentTime,
                    mvpnAdvtLastReceivedTime,
                    mvpnAdvtCounterDiscontinuityTime
                  }
          STATUS      current
          DESCRIPTION
              "These objects are 'Reverse Path Forwarding' path; the unicast routes used to monitor
               the expected origin of multicast data flows).

          Other protocols may drop packets on an incoming interface
          check for different reasons (for example, BIDIR-PIM performs
          a DF check on receipt of packets).  All packets dropped as a
          result of an incoming interface check are counted here.

          If this counter increases rapidly, this indicates a problem.
          A significant quantity of multicast data is arriving at this
          router on unexpected interfaces, and is not being forwarded.

          For guidance, if the rate of increase of this counter
          exceeds 1% of the rate of increase of mvpnMroutePkts, then
          there are multicast routing problems that require
          investigation.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed statistics pertaining to I-PMSI and replaced, which can be detected S-PMSI
               advertisements sent/received by observing
          the value of mvpnMrouteTimeStamp.
         "
     REFERENCE
         "RFC 4601
          RFC 5015 a PE.
              "
          ::= { mvpnMrouteEntry 23 mvpnGroups 5 }

      mvpnMrouteGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMrouteUpstreamNeighborAddrType,
                    mvpnMrouteUpstreamNeighborAddr,
                    mvpnMrouteInIfIndex,
                    mvpnMrouteExpiryTime,
                    mvpnMrouteProtocol,
                    mvpnMrouteRtProtocol,
                    mvpnMrouteRtAddrType,
                    mvpnMrouteRtAddr,
                    mvpnMrouteRtPrefixLength,
                    mvpnMrouteRtType,
                    mvpnMrouteOctets,
                    mvpnMroutePkts,
                    mvpnMrouteTtlDroppedOctets,
                    mvpnMrouteTtlDroppedPackets,
                    mvpnMrouteDroppedInOctets,
                    mvpnMrouteDroppedInPackets,
                    mvpnMroutePmsiPointer,
                    mvpnMrouteNumberOfLocalReplication,
                    mvpnMrouteNumberOfRemoteReplication,
                    mvpnMrouteCounterDiscontinuityTime
                  }

  mvpnMrouteBps OBJECT-TYPE
     SYNTAX     CounterBasedGauge64
     UNITS      "bits per second"
     MAX-ACCESS read-only
          STATUS      current
          DESCRIPTION
         "Bits per second forwarded by this router using this
              "These objects are used to monitor multicast routing entry.

          This value is a sample; it is the number of bits forwarded
          during the last whole 1 second sampling period.  The value
          during the current 1 second sampling period is not made
          available until the period is completed.

          The quantity being sampled is the same as that measured by
          mvpnMrouteOctets.  The units and
               information corresponding to the sampling method are
          different. MVRFs on a PE.
              "
          ::= { mvpnMrouteEntry 24 mvpnGroups 6 }

      mvpnMrouteNextHopGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMrouteNextHopState,
                    mvpnMrouteNextHopExpiryTime,
                    mvpnMrouteNextHopClosestMemberHops,
                    mvpnMrouteNextHopProtocol,
                    mvpnMrouteNextHopOctets,
                    mvpnMrouteNextHopPkts,
                    mvpnMrouteNextHopCounterDiscontinuityTime
                  }

  mvpnMroutePmsiPointer OBJECT-TYPE
     SYNTAX        RowPointer
     MAX-ACCESS    read-only
          STATUS      current
          DESCRIPTION
         "The I-PMSI or S-PMSI this C-multicast route is using.
          This is important because an implementation may not have an
          interface corresponding
              "These objects are used to monitor the information on
               next-hops for routing datagrams to MVPNs on a provider tunnel,
          that can be used in mvpnMrouteNextHopEntry. PE.
              "
          ::= { mvpnMrouteEntry 25 mvpnGroups 7 }

      mvpnNotificationGroup NOTIFICATION-GROUP
          NOTIFICATIONS {
                       mvpnMvrfActionTaken
                        }

  mvpnMrouteNumberOfLocalReplication OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS    read-only
          STATUS  current
          DESCRIPTION
         "Number of replications
             "Objects required for local receivers.
          For example, if an ingress PE needs to send traffic out of
          N PE-CE interfaces, then mvpnMrouteNumberOfLocalReplication
          is N.
         " MVPN notifications."
          ::= { mvpnMrouteEntry 26 mvpnGroups 8 }

  mvpnMrouteNumberOfRemoteReplication OBJECT-TYPE
     SYNTAX        Unsigned32
     MAX-ACCESS

  END

4.  Security Considerations

   This MIB module contains some read-only
     STATUS        current
     DESCRIPTION
         "Number of local replications for remote PEs. For example,
          if the number of remote PEs objects that may be deemed
   senstive.  It also contains some read-write objects, whose setting
   will change the device's MVPN related behavior.  Appropriate security
   procedures related to SNMP in general but not specific to this MIB
   module need to receive traffic is N,
          then mvpnMrouteNumberOfRemoteReplication is N be implemented by concerned operators.

   There are a number of management objects defined in case this MIB module
   with a MAX-ACCESS clause of
          Ingress Replication, but read-write.  Such objects may be less than N
   considered sensitive or vulnerable in case some network environments.  The
   support for SET operations in a non-secure environment without proper
   protection opens devices to attack.  These are the tables and objects
   and their sensitivity/vulnerability:

   o  mvpnSPTunnelLimit

      The value of RSVP-TE
          or mLDP P2MP tunnels, depending on this object is used to control the actual maximum number of
          replications the
      selective provider tunnels that a PE needs do.
         "

     ::= { mvpnMrouteEntry 27 }

  mvpnMrouteNextHopTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF MvpnMrouteNextHopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The (conceptual) table containing information on the
          next-hops on outgoing interfaces allows for routing IP multicast
          datagrams.  Each entry is one of a list of next-hops on
          outgoing interfaces for particular sources sending MVPN.
      Access to a
          particular multicast group address."
     ::= { mvpnStates 5 }

  mvpnMrouteNextHopEntry OBJECT-TYPE
     SYNTAX     MvpnMrouteNextHopEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "An entry (conceptual row) in this object may be abused to impact the list peformance of next-hops on
          outgoing interfaces to which IP multicast datagrams
      the PE or prevent the PE from
          particular sources to an IP multicast group address are
          routed.

          OIDs are limited to 128 sub-identifiers, but having new selective provider
      tunnels.

   o  mvpnBgpCmcastRouteWithdrawalTimer

      The value of this limit object is not enforced by used to control the syntax of this entry.  In practice,
          this does not present a problem, because IP address types
          allowed by conformance statements do not exceed this limit.
         "
     INDEX      {
                  mplsL3VpnVrfName,
                  mvpnMrouteNextHopGroupAddrType,
                  mvpnMrouteNextHopGroupAddr,
                  mvpnMrouteNextHopGroupPrefixLength,
                  mvpnMrouteNextHopSourceAddrType,
                  mvpnMrouteNextHopSourceAddr,
                  mvpnMrouteNextHopSourcePrefixLength,
                  mvpnMrouteNextHopIfIndex,
                  mvpnMrouteNextHopAddrType,
                  mvpnMrouteNextHopAddr
                }
     ::= { mvpnMrouteNextHopTable 1 }

  MvpnMrouteNextHopEntry ::= SEQUENCE {
     mvpnMrouteNextHopGroupAddrType       InetAddressType,
     mvpnMrouteNextHopGroupAddr           InetAddress,
     mvpnMrouteNextHopGroupPrefixLength   InetAddressPrefixLength,
     mvpnMrouteNextHopSourceAddrType      InetAddressType,
     mvpnMrouteNextHopSourceAddr          InetAddress,
     mvpnMrouteNextHopSourcePrefixLength  InetAddressPrefixLength,
     mvpnMrouteNextHopIfIndex             InterfaceIndex,
     mvpnMrouteNextHopAddrType            InetAddressType,
     mvpnMrouteNextHopAddr                InetAddress,
     mvpnMrouteNextHopState               INTEGER,
     mvpnMrouteNextHopTimeStamp           TimeStamp,
     mvpnMrouteNextHopExpiryTime          TimeTicks,
     mvpnMrouteNextHopClosestMemberHops   Unsigned32,
     mvpnMrouteNextHopProtocol            IANAipMRouteProtocol,
     mvpnMrouteNextHopOctets              Counter64,
     mvpnMrouteNextHopPkts                Counter64
  }

  mvpnMrouteNextHopGroupAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A value indicating delay for the address family
      advertisement of the address
          contained in mvpnMrouteNextHopGroupAddr.  Legal values
          correspond withdrawals of C-multicast routes.  Access to
      this object may be abused to impact the subset peformance of address families for which
          multicast forwarding is supported.
         "
     ::= { mvpnMrouteNextHopEntry 1 }

  mvpnMrouteNextHopGroupAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The IP multicast group address which, when combined with
          the corresponding a PE.

   o  mvpnBgpSrcSharedTreeJoinTimer

      The value specified in
          mvpnMrouteNextHopGroupPrefixLength, identifies the groups
          for which of this entry contains multicast forwarding
          information.

          This address object is only significant up to
          mvpnMrouteNextHopGroupPrefixLength bits.  The remaining
          address bits are set used to zero.  This is especially important control the delay for this index field, which is part of the index
      advertisement of this
          entry.  Any non-zero bits would signify an entirely
          different entry.

          For addresses of type ipv4z or ipv6z, the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use of these address types indicate that this
          forwarding state applies only within the given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnMrouteNextHopEntry 2 }

  mvpnMrouteNextHopGroupPrefixLength OBJECT-TYPE
     SYNTAX     InetAddressPrefixLength
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The length in bits of the mask which, when combined with
          the corresponding value of mvpnMrouteGroup, identifies the
          groups for which this entry contains multicast routing
          information.

          The InetAddressType is given by
          mvpnMrouteNextHopGroupAddressType.  For values 'ipv4' and
          'ipv4z', this object must be in the range 4..32.  For values
          'ipv6' and 'ipv6z', Source/Shared Tree Join C-multicast routes.
      Access to this object must may be in the range
          8..128.
         "
     ::= { mvpnMrouteNextHopEntry 3 }

  mvpnMrouteNextHopSourceAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A value indicating the address family of the address
          contained in mvpnMrouteNextHopSourceAddr.

          A value of unknown(0) indicates a non-source-specific entry,
          corresponding abused to all sources in the group.  Otherwise, the
          value MUST be the same as impact the value propagation of
          mvpnMrouteNextHopGroupAddrType."
     ::= { mvpnMrouteNextHopEntry 4 }

  mvpnMrouteNextHopSourceAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The network address which, when combined with the
          corresponding
      C-multicast routing information.

   o  mvpnBgpMsgRateLimit

      The value of the mask specified in
          mvpnMrouteNextHopSourcePrefixLength, identifies the
          sources for which this entry specifies a next-hop on an
          outgoing interface.

          This address object is only significant up to
          mvpnMrouteNextHopSourcePrefixLength bits.  The remaining
          address bits are set used to zero.  This is especially important control the upper bound for this index field, which is part of
      the index of this
          entry.  Any non-zero bits would signify an entirely
          different entry.

          For addresses rate of type ipv4z or ipv6z, the appended zone
          index is significant even though it lies beyond the prefix
          length.  The use of these address types indicate that this
          source address applies only within the given zone.  Zone
          index zero is not valid in this table.
         "
     ::= { mvpnMrouteNextHopEntry 5 }

  mvpnMrouteNextHopSourcePrefixLength OBJECT-TYPE
     SYNTAX     InetAddressPrefixLength
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The length in bits of the mask which, when combined with
          the corresponding value specified in
          mvpnMrouteNextHopSource, identifies the sources for which
          this entry specifies a next-hop on an outgoing interface.
          The InetAddressType is given by
          mvpnMrouteNextHopSourceAddressType.  For the value
          'unknown', this object must be zero.  For values 'ipv4' and
          'ipv4z', this object must be in the range 4..32.  For values
          'ipv6' and 'ipv6z', this object must be in the range
          8..128.
         "
     ::= { mvpnMrouteNextHopEntry 6 }

  mvpnMrouteNextHopIfIndex OBJECT-TYPE
     SYNTAX     InterfaceIndex
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The ifIndex value of the interface for the outgoing
          interface for this next-hop.
         "
     ::= { mvpnMrouteNextHopEntry 7 }

  mvpnMrouteNextHopAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "A value indicating the address family of the address
          contained in mvpnMrouteNextHopAddr.
         "
     ::= { mvpnMrouteNextHopEntry 8 }

  mvpnMrouteNextHopAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
         "The address of the next-hop specific to this entry.  For
          most interfaces, this is identical to
          mvpnMrouteNextHopGroup.  Non-Broadcast Multi-Access
          (NBMA) interfaces, however, may
          have multiple next-hop addresses out a single outgoing
          interface.
         "
     ::= { mvpnMrouteNextHopEntry 9 }

  mvpnMrouteNextHopState OBJECT-TYPE
     SYNTAX     INTEGER { pruned(1), forwarding(2) }
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "An indication of whether the outgoing interface and next-
          hop represented by this entry is currently being used to
          forward IP datagrams.  The value 'forwarding' indicates it
          is currently being used; the value 'pruned' indicates it is
          not.
         "
     ::= { mvpnMrouteNextHopEntry 10 }

  mvpnMrouteNextHopTimeStamp OBJECT-TYPE
     SYNTAX     TimeStamp
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The value of sysUpTime at which the multicast routing
          information represented by this entry was learned by the
          router.

          If this information was present at the most recent re-
          initialization of the local management subsystem, then this
          object contains a zero value.
         "
     ::= { mvpnMrouteNextHopEntry 11 }

  mvpnMrouteNextHopExpiryTime OBJECT-TYPE
     SYNTAX     TimeTicks
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The minimum amount of time remaining before this entry will
          be aged out.  If mvpnMrouteNextHopState is pruned(1), the
          remaining time until the prune expires and the state reverts
          to forwarding(2).  Otherwise, the remaining time until this
          entry is removed from the table.  The time remaining may be
          copied from mvpnMrouteExpiryTime if the protocol in use
          for this entry does not specify next-hop timers.  The value
          0 indicates that the entry is not subject to aging.
         "
     ::= { mvpnMrouteNextHopEntry 12 }

  mvpnMrouteNextHopClosestMemberHops OBJECT-TYPE
     SYNTAX     Unsigned32 (0..256)
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The minimum number of hops between this router and any
          member of this IP multicast group reached via this next-hop
          on this outgoing interface.  Any IP multicast datagrams for
          the group that have a TTL (IPv4) or Hop Count (IPv6) less
          than this number of hops will not be forwarded to this
          next-hop.

          A value of 0 means all multicast datagrams are forwarded out
          the interface.  A value of 256 means that no multicast
          datagrams are forwarded out the interface.

          This is an optimization applied by multicast routing
          protocols that explicitly track hop counts to downstream
          listeners.  Multicast protocols that are not aware of hop
          counts to downstream listeners set this object to 0.
         "
     ::= { mvpnMrouteNextHopEntry 13 }

  mvpnMrouteNextHopProtocol OBJECT-TYPE
     SYNTAX     IANAipMRouteProtocol
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The routing mechanism via which this next-hop was learned."
     ::= { mvpnMrouteNextHopEntry 14 }

  mvpnMrouteNextHopOctets OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of octets of multicast packets that have been
          forwarded using this route.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can be detected by observing
          the value of mvpnMrouteNextHopTimeStamp."
     ::= { mvpnMrouteNextHopEntry 15 }

  mvpnMrouteNextHopPkts OBJECT-TYPE
     SYNTAX     Counter64
     MAX-ACCESS read-only
     STATUS     current
     DESCRIPTION
         "The number of packets which have been forwarded using this
          route.

          Discontinuities in this monotonically increasing value
          occur at re-initialization of the management system.
          Discontinuities can also occur as a result of routes being
          removed and replaced, which can be detected by observing
          the value of ipMcastRouteNextHopTimeStamp."
     ::= { mvpnMrouteNextHopEntry 16 }

  -- MVPN Notifications

  mvpnMvrfOperationChange NOTIFICATION-TYPE
     OBJECTS     {
                   mvpnGenMvrfLastOperation
                 }
     STATUS      current
     DESCRIPTION
         "A mvpnMvrfOperationChange notification signifies a change about
          a MVRF in the PE. The change event can be creation of
          the MVRF, deletion of the MVRF or an update on the I-PMSI
          or S-PMSI information of the MVRF. The change event
          is indicated by mvpnGenMvrfLastOperation embedded in
          the notification. The user can then query
          mvpnGenericTable, mvpnPmsiTable, and/or mvpnSpmsiTable to
          get the details of the change as necessary.

          Note: Since the creation of a MVRF is often followed by
          configuration of I-PMSI and/or S-PMSIs for the MVRF,
          more than one (three at most) notifications for a MVRF may
          be generated serially, and it is really not necessary to
          generate all three of them. An agent may choose to generate a
          notification for the last event only, that is for S-PMSI
          configuration.

          Similarly, deletion of I-PMSI and S-PMSI configuration on a
          MVRF happens before a MVRF is deleted and it is recommended
          that the agent send the notification for MVRF deletion
          event only.
         "
     ::= { mvpnNotifications 1 }

  mvpnMvrfGroupJoined NOTIFICATION-TYPE
     OBJECTS     {
                   mvpnMrouteTimeStamp
                 }
     STATUS      current
     DESCRIPTION
         "A mvpnMvrfGroupJoined notification signifies that
          this PE has joined to a new multicast group
          serviced in a particular MVPN.
          The change event is indicated by mvpnMrouteTimeStamp
          embedded in the notification.
         "
     ::= { mvpnNotifications 2 }

   mvpnMvrfGroupLeft NOTIFICATION-TYPE
     OBJECTS     {
                   mvpnMrouteTimeStamp
                 }
     STATUS      current
     DESCRIPTION
         "A mvpnMvrfGroupJoined notification signifies that
          this PE has left from a  multicast group
          serviced in a particular MVPN.
          The change event is indicated by mvpnMrouteTimeStamp
          embedded in the notification.
         "
     ::= { mvpnNotifications 3 }

  -- MVPN MIB Conformance Information

  mvpnGroups      OBJECT IDENTIFIER ::= { mvpnConformance 1 }
  mvpnCompliances OBJECT IDENTIFIER ::= { mvpnConformance 2 }

  -- Compliance Statements

      mvpnModuleFullCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
              "Compliance statement for agents that provide full support
               for the MCAST-VPN-MIB
              "
         MODULE  -- this module
         MANDATORY-GROUPS {
             mvpnScalarGroup,
             mvpnGenericGroup,
             mvpnPmsiGroup,
             mvpnSpmsiGroup,
             mvpnSpmsiAdvtGroup,
             mvpnMrouteGroup,
             mvpnMrouteNextHopGroup,
             mvpnNotificationGroup
         }

         GROUP mvpnIpmsiGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  BGP signaling for I-PMSI.
                 "

         GROUP mvpnInterAsIpmsiGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  Inter-AS Segmented I-PMSI.
                 "

         GROUP mvpnBgpGenericGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  BGP-MVPN.
                 "

         GROUP mvpnOptionalGroup
             DESCRIPTION
                 "This group is optional.
                 "

         ::= { mvpnCompliances 1 }

      mvpnModuleReadOnlyCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION "Compliance requirement for implementations that
                      only provide read-only support for MCAST-VPN-MIB.
                      Such devices can then be monitored but cannot be
                      configured using this MIB module.

                     "
         MODULE  -- this module
         MANDATORY-GROUPS {
             mvpnScalarGroup,
             mvpnGenericGroup,
             mvpnPmsiGroup,
             mvpnSpmsiGroup,
             mvpnSpmsiAdvtGroup,
             mvpnMrouteGroup,
             mvpnMrouteNextHopGroup,
             mvpnNotificationGroup
         }

         GROUP mvpnIpmsiGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  BGP signaling for I-PMSI.
                 "

         GROUP mvpnInterAsIpmsiGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  Inter-AS Segmented I-PMSI.
                 "

         GROUP mvpnBgpGenericGroup
             DESCRIPTION
                 "This group is mandatory for systems that support
                  BGP-MVPN.
                 "

         GROUP mvpnOptionalGroup
             DESCRIPTION
                 "This group is optional.
                 "

         OBJECT       mvpnGenCmcastRouteProtocol
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnGenIpmsiInfo
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnGenInterAsPmsiInfo
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."
         OBJECT       mvpnGenUmhSelection
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnGenCustomerSiteType
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnGenSPTunnelLimit
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnPmsiEncapsulationType
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnSpmsiThreshold
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         OBJECT       mvpnSpmsiPmsiPointer
         MIN-ACCESS   read-only
         DESCRIPTION "Write access is not required."

         ::= { mvpnCompliances 2 }

  -- units of conformance

      mvpnScalarGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMvrfs,
                    mvpnV4Mvrfs,
                    mvpnV6Mvrfs,
                    mvpnPimV4Mvrfs,
                    mvpnPimV6Mvrfs,
                    mvpnBgpV4Mvrfs,
                    mvpnBgpV6Mvrfs,
                    mvpnMldpMvrfs
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               global MVPN parameters.
              "
          ::= { mvpnGroups 1 }

      mvpnGenericGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnGenMvrfLastOperation,
                    mvpnGenMvrfLastOperationTime,
                    mvpnGenCmcastRouteProtocol,
                    mvpnGenIpmsiInfo,
                    mvpnGenInterAsPmsiInfo,
                    mvpnGenUmhSelection,
                    mvpnGenCustomerSiteType,
                    mvpnGenSPTunnelLimit
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               per-VRF MVPN parameters.
              "
          ::= { mvpnGroups 2 }

      mvpnPmsiGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnPmsiEncapsulationType
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               PMSI tunnel configurations.
              "
          ::= { mvpnGroups 3 }

      mvpnSpmsiGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnSpmsiThreshold,
                    mvpnSpmsiPmsiPointer
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               S-PMSI configurations.
              "
          ::= { mvpnGroups 4 }

      mvpnIpmsiGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnIpmsiAdvtTunnelAttribute,
                    mvpnIpmsiAdvtReceived,
                    mvpnIpmsiAdvtReceivedError,
                    mvpnIpmsiAdvtMalformedTunnelType,
                    mvpnIpmsiAdvtMalformedTunnelId,
                    mvpnIpmsiAdvtLastReceivedTime,
                    mvpnIpmsiAdvtCounterDiscontinuityTime

                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               Intra-AS I-PMSI attributes.
              "
          ::= { mvpnGroups 5 }

      mvpnInterAsIpmsiGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnInterAsIpmsiAdvtTunnelAttribute,
                    mvpnInterAsIpmsiAdvtReceived,
                    mvpnInterAsIpmsiAdvtReceivedError,
                    mvpnInterAsIpmsiAdvtMalformedTunnelType,
                    mvpnInterAsIpmsiAdvtMalformedTunnelId,
                    mvpnInterAsIpmsiAdvtLastReceivedTime,
                    mvpnInterAsIpmsiAdvtCounterDiscontinuityTime
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               Inter-AS I-PMSI attributes.
              "
          ::= { mvpnGroups 6 }

      mvpnSpmsiAdvtGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnSpmsiAdvtTunnelAttribute,
                    mvpnSpmsiAdvtExpTime,
                    mvpnSpmsiAdvtRefCnt,
                    mvpnSpmsiAdvtReceived,
                    mvpnSpmsiAdvtReceivedError,
                    mvpnSpmsiAdvtMalformedTunnelType,
                    mvpnSpmsiAdvtMalformedTunnelId,
                    mvpnSpmsiAdvtLastReceivedTime,
                    mvpnSpmsiAdvtCounterDiscontinuityTime
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               S-PMSI attributes.
              "
          ::= { mvpnGroups 7 }

      mvpnMrouteGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMrouteUpstreamNeighborAddrType,
                    mvpnMrouteUpstreamNeighborAddr,
                    mvpnMrouteInIfIndex,
                    mvpnMrouteTimeStamp,
                    mvpnMrouteExpiryTime,
                    mvpnMrouteProtocol,
                    mvpnMrouteRtProtocol,
                    mvpnMrouteRtAddrType,
                    mvpnMrouteRtAddr,
                    mvpnMrouteRtPrefixLength,
                    mvpnMrouteRtType,
                    mvpnMrouteOctets,
                    mvpnMroutePkts,
                    mvpnMrouteTtlDropOctets,
                    mvpnMrouteTtlDropPackets,
                    mvpnMrouteDifferentInIfOctets,
                    mvpnMrouteDifferentInIfPackets,
                    mvpnMrouteBps,
                    mvpnMroutePmsiPointer,
                    mvpnMrouteNumberOfLocalReplication,
                    mvpnMrouteNumberOfRemoteReplication
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used to monitor/manage
               VPN multicast forwarding states.
              "
          ::= { mvpnGroups 8 }

      mvpnMrouteNextHopGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnMrouteNextHopState,
                    mvpnMrouteNextHopTimeStamp,
                    mvpnMrouteNextHopExpiryTime,
                    mvpnMrouteNextHopClosestMemberHops,
                    mvpnMrouteNextHopProtocol,
                    mvpnMrouteNextHopOctets,
                    mvpnMrouteNextHopPkts
                  }
          STATUS      current
          DESCRIPTION
              "These objects are used BGP C-multicast routing information message exchange
      among PEs.  Access to monitor/manage
               next hop this object may be abused to impact the
      peformance of the PE or disrupt the C-multicast routing
      information message exchange using BGP.

   o  mvpnBgpMaxSpmsiAdRoutes

      The value of VPN multicast.
              "
          ::= { mvpnGroups 9 }

      mvpnBgpGenericGroup    OBJECT-GROUP
          OBJECTS {
                    mvpnBgpGenMode,
                    mvpnBgpGenVrfRouteImport,
                    mvpnBgpGenSrcAs,
                    mvpnBgpGenCmcastRouteWithdrawalTimer,
                    mvpnBgpGenSrcSharedTreeJoinTimer,
                    mvpnBgpGenMsgRateLimit,
                    mvpnBgpGenMaxSpmsiAdRoutes,
                    mvpnBgpGenMaxSpmsiAdRouteFreq,
                    mvpnBgpGenMaxSrcActiveAdRoutes,
                    mvpnBgpGenMaxSrcActiveAdRouteFreq
                  }
          STATUS      current
          DESCRIPTION
              "These objects are this object is used to monitor/manage BGP-MVPN."
          ::= { mvpnGroups 10 }

      mvpnOptionalGroup OBJECT-GROUP
          OBJECTS {
                    mvpnMroutePmsiPointer
                  }
          STATUS      current
          DESCRIPTION
              "Support control the upper bound for
      the number of these S-PMSI A-D routes.  Access to this object is not required."
          ::= { mvpnGroups 11 }

      mvpnNotificationGroup NOTIFICATION-GROUP
       NOTIFICATIONS {
                       mvpnMvrfOperationChange,
                       mvpnMvrfGroupJoined,
                       mvpnMvrfGroupLeft
                     }
      STATUS  current
      DESCRIPTION
             "Objects required for MVPN notifications."
          ::= { mvpnGroups 12 }

  END

4.  Security Considerations

   This MIB contains some read-only objects that may be deemed senstive
   by some though perhaps not all operators.  It also contains some
   read- write objects, whose setting will change
      abused to impact the device's behavior
   related peformance of the PE or prevent the PE from
      receiving S-PMSI A-D routes.

   o  mvpnBgpMaxSpmsiAdRouteFreq

      The value of this object is used to MVPN.  Appropriate security procedures related control the upper bound for
      the frequency of S-PMSI A-D route generation.  Access to SNMP in
   general but not specific this
      object may be abused to impact the peformance of the PE or prevent
      the PE from generating new S-PMSI A-D routes.

   o  mvpnBgpMaxSrcActiveAdRoutes

      The value of this MIB need object is used to be implemented by
   concerned operators.

   There are a control the upper bound for
      the number of management objects defined in Source Active A-D routes.  Access to this MIB module
   with a MAX-ACCESS clause object may
      be abused to impact the peformance of read-write and/or read-create.  Such
   objects the PE or prevent the PE
      from receiving Source Active A-D routes.

   o  mvpnBgpMaxSrcActiveAdRouteFreq

      The value of this object is used to control the upper bound for
      the frequency of Source Active A-D route generation.  Access to
      this object may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection opens devices abused to attack.  These
   are impact the tables and objects and their sensitivity/vulnerability:

   o  mvpnGenCmcastRouteProtocol, mvpnGenIpmsiInfo,
      mvpnGenInterAsPmsiInfo, mvpnGenUmhSelection,
      mvpnGenCustomerSiteType, mvpnGenSPTunnelLimit, mvpnBgpGenMode,
      mvpnBgpGenVrfRtImport, mvpnPmsiEncapsulationType,
      mvpnSpmsiThreshold, mvpnSpmsiPmsiPointer peformance of the PE or
      prevent the PE from generating new Source Active A-D routes.

   Some of the readable objects in this MIB module (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  [TBD]  The address-related objects in this MIB module may have impact on
      privacy and security.  These objects may reveal the locations of
      senders and recipients.

      *  mvpnPmsiTunnelPimGroupAddr

      *  mvpnSpmsiCmcastGroupAddr

      *  mvpnSpmsiCmcastSourceAddr

      *  mvpnAdvtPeerAddr

      *  mvpnMrouteCmcastGroupAddr

      *  mvpnMrouteCmcastSourceAddrs
      *  mvpnMrouteUpstreamNeighborAddr

      *  mvpnMrouteNextHopGroupAddr

      *  mvpnMrouteNextHopSourceAddrs

      *  mvpnMrouteNextHopAddr

   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.

5.  IANA Considerations

   The MIB module in this document uses the following IANA-assigned
   OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

   Descriptor        OBJECT IDENTIFIER value
   ----------        -----------------------
   mvpnMIB           { mib-2 YYYY }

   Editor's Note (to be removed prior to publication): the IANA is
   requested to assign a value for "YYYY" under the 'mib-2' subtree and
   to record the assignment in the SMI Numbers registry.  When the
   assignment has been made, the RFC Editor is asked to replace "YYYY"
   (here and in the MIB module) with the assigned value and to remove
   this note.

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

6.  Acknowledgement

   An earlier draft version of this document was coauthored by Zhaohui
   (Jeffrey) Zhang, Saud Asif, Andy Green, Sameer Gulrajani, and Pradeep
   G.  Jain, based on an earlier draft written by Susheela Vaidya,
   Thomas D.  Nadeau, and Harmen Van der Linde.

   This document also borrowed some text the design and descriptions of
   ipMcastRouteTable and ipMcastRouteNextHopTable from Cisco PIM-MVPN IPMCAST-
   MIB[RFC5132].

   Glenn Mansfield Keeni did the MIB
   [I-D.svaidya-mcast-vpn-mib].  We would like to thank Yakov Rekhter,
   Jeffrey Haas, Huajin Jeng, Durga Prasad Velamuri for their helpful Doctor review and provided valuable
   comments.

7.  References

7.1.  Normative References

   [RFC2003]  Perkins, C., "IP Encapsulation within IP", RFC 2003, DOI
              10.17487/RFC2003, October 1996, <https://www.rfc-
              editor.org/info/rfc2003>.

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

   [RFC2784]  Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
              Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
              DOI 10.17487/RFC2784, March 2000, <https://www.rfc-
              editor.org/info/rfc2784>.

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

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [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, <https://www.rfc-editor.org/info/
              rfc3414>.

   [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, <https://www.rfc-editor.org/info/
              rfc3826>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <https://www.rfc-editor.org/info/rfc4364>.

   [RFC4382]  Nadeau, T., Ed. and H. van der Linde, Ed., "MPLS/BGP Layer
              3 Virtual Private Network (VPN) Management Information
              Base", RFC 4382, DOI 10.17487/RFC4382, February 2006,
              <https://www.rfc-editor.org/info/rfc4382>.

   [RFC4659]  De Clercq, J., Ooms, D., Carugi, M., and F. Le Faucheur,
              "BGP-MPLS IP Virtual Private Network (VPN) Extension for
              IPv6 VPN", RFC 4659, DOI 10.17487/RFC4659, September 2006,
              <https://www.rfc-editor.org/info/rfc4659>.

   [RFC5132]  McWalter, D., Thaler, D., and A. Kessler, "IP Multicast
              MIB", RFC 5132, DOI 10.17487/RFC5132, December 2007,
              <https://www.rfc-editor.org/info/rfc5132>.

   [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,
              <https://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, <https://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,
              <https://www.rfc-editor.org/info/rfc6353>.

   [RFC6513]  Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
              BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
              2012, <https://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,
              <https://www.rfc-editor.org/info/rfc6514>.

   [RFC6625]  Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R.
              Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes",
              RFC 6625, DOI 10.17487/RFC6625, May 2012,
              <https://www.rfc-editor.org/info/rfc6625>.

   [RFC7761]  Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
              Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
              Multicast - Sparse Mode (PIM-SM): Protocol Specification
              (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
              2016, <https://www.rfc-editor.org/info/rfc7761>.

   [RTPROTO]  IANA, "IP Route Protocol MIB", 2016,
              <http://www.iana.org/assignments/ianaiprouteprotocol-mib>.

7.2.  Informative References

   [I-D.svaidya-mcast-vpn-mib]
              Vaidya, S., "Multicast in BGP/MPLS IP VPNs Management
              Information Base", draft-svaidya-mcast-vpn-mib-02 (work in
              progress), March 2005.

   [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, <https://www.rfc-editor.org/info/
              rfc3410>.

Authors' Addresses

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

   Email: zzhang@juniper.net
   Saud Asif
   AT&T
   C5-3D30 200 South Laurel Avenue
   Middletown, NJ 07748
   USA

   Email: sasif@att.com

   Andy Green
   BT Design 21CN Converged Core IP & Data
   01473 629360 Adastral Park, Martlesham Heath, Ipswich IP5 3RE
   UK

   Email: andy.da.green@bt.com

   Sameer Gulrajani
   Cisco Systems
   Tasman Drive San Jose, CA  95134
   USA

   Email: sameerg@cisco.com

   Pradeep G. Jain
   Alcatel-Lucent Inc
   701 E Middlefield road Mountain view, CA 94043
   USA

   Email: pradeep.jain@alcatel-lucent.com

Author's Address
   Hiroshi Tsunoda (editor)
   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