Network Working Group Z. Zhang, Ed. Internet-Draft Juniper Intended status: Standards Track S. Asif Expires: December 8, 2017 AT&T A. Green BT S. Gulranjani Cisco P. Jain Alcatel-Lucent H. Tsunoda, Ed. Tohoku Institute of Technology June 06, 2017 BGP/MPLS Layer 3 VPN Multicast Management Information Base draft-ietf-bess-mvpn-mib-04 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) IP Virtual Private Networks (VPNs) 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 December 8, 2017. Zhang, et al. Expires December 8, 2017 [Page 1] Internet-Draft L3VPN Multicast MIB June 2017 Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. The Internet-Standard Management Framework . . . . . . . . . 4 3. MCAST-VPN-MIB . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Summary of MIB Module . . . . . . . . . . . . . . . . . . 4 3.2. MIB Module Definitions . . . . . . . . . . . . . . . . . 7 4. Security Considerations . . . . . . . . . . . . . . . . . . . 36 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 37 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.1. Normative References . . . . . . . . . . . . . . . . . . 37 7.2. Informative References . . . . . . . . . . . . . . . . . 39 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 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). Throughout this document, we will use the term "Multicast VPN (MVPN)" [RFC6513] to refer to a BGP/MPLS IP VPN that supports multicast. Provider Edge routers (PEs) exchange the VPN customer multicast (C-multicast) routing information with each other. In [RFC6513], two basic methods for exchanging C-multicast routing information are defined (1) Protocol Independent Multicast (PIM) [RFC4601] and (2) BGP. In the rest of this document we will use the term "PIM-MVPN" to refer to PIM being used for exchanging C-multicast routing information, and Zhang, et al. Expires December 8, 2017 [Page 2] Internet-Draft L3VPN Multicast MIB June 2017 "BGP-MVPN" to refer to BGP being used for exchanging C-multicast routing information. This document describes managed objects to configure and/or monitor MVPN. The managed objects are common to both PIM-MVPN and BGP-MVPN. This document borrowed some text from Cisco PIM-MVPN MIB [I-D.svaidya-mcast-vpn-mib]. For PIM-MVPN this document attempts to provide coverage comparable to [I-D.svaidya-mcast-vpn-mib], but in a generic way that applies to both PIM-MVPN and BGP-MVPN. 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]. Comments should be made directly to the BESS WG at bess@ietf.org. 1.1. Terminology This document adopts the definitions, acronyms and mechanisms described in [RFC6513] and other documents that [RFC6513] refers to. 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. MVPN can be achieved 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). "Provider Multicast Service Interface (PMSI)" [RFC6513] is a conceptual interface instantiated by a provider tunnel (P-tunnel), a transport mechanism used to deliver multicast traffic. A PE uses to send customer multicast traffic to all or some PEs in the same VPN. There are two kinds of PMSI: "Inclusive PMSI (I-PMSI)" and "Selective PMSI (S-PMSI)" [RFC6513]. An I-PMSI is a PMSI that enables a PE attached to a particular MVPN to transmit a message to all PEs in the same VPN. An S-PMSI is a PMSI that enables a PE attached to a particular MVPN to transmit a message to some of the PEs in the same VPN. Interchangeably, the term Multicast Virtual Routing and Forwarding table (MVRF) and MVPN are used to refer to a particular Multicast VPN instantiation on a particular PE. As described in [RFC4382], each PE router maintains one default forwarding table and "VPN Routing and Forwarding tables", or "VRFs". Zhang, et al. Expires December 8, 2017 [Page 3] Internet-Draft L3VPN Multicast MIB June 2017 Throughout this document, we will use the term "multicast VRF (MVRF)" to refer a VRF that is configured to contain the multicast routing information. 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. 3.1. Summary of MIB Module The configuration and states specific to an MVPN include the following information elements: o C-multicast routing information exchange protocol (PIM or BGP) o I-PMSI, S-PMSI and corresponding P-tunnels o Mapping of C-multicast routing information to PMSI tunnels To represent these information elements, MCAST-VPN-MIB defines eight tables: mvpnGeneralTable, mvpnBgpGeneralTable, mvpnSpmsiConfigTable, mvpnPmsiConfigTable, mvpnIpmsiTable, mvpnInterAsIpmsiTable, mvpnSpmsiTable, mvpnMrouteTable. The following four tables are designed for configuring MVPNs on PEs. o mvpnGeneralTable o mvpnBgpGeneralTable o mvpnSpmsiConfigTable Zhang, et al. Expires December 8, 2017 [Page 4] Internet-Draft L3VPN Multicast MIB June 2017 o mvpnPmsiConfigTable The following diagram shows the relationship among those four tables use for configuration. Each box in the diagram represents a table, and the label of each box corresponds to a table name. An arrow indicates that one table has a pointer to a row in another table. The entry in mvpnGeneralTable and mvpnSpmsiConfigTable has a pointer to the row pertaining to the entry in the mvpnPmsiConfigTable. +--------------+ | mvpnBgp | | GeneralTable | +--------------+ +-------------------+ +-----------------+ | mvpnGeneral | | mvpnPmsiConfig | | mvpnSpmsiConfig | | Table | -> | Table | <- | Table | +--------------+ +-------------------+ +-----------------+ o mvpnGeneralTable This table represents MVPNs that are configured on a PE. Each entry in this table is created for each MVRF representing an instance of MVPN. The entry represetns general configuration/ states of the MVRF, including Inclusive PMSI (I-PMSI) configuration. The MVPN represented by the entry in this table must have the corresponding VRF in MPLS-L3VPN-STD-MIB [RFC4382]. o mvpnBgpGeneralTable This table augments the aformentioned mvpnGeneralTable. This table contains BGP-MVPN specific managed objects. o mvpnSpmsiConfigTable This table contains managed objects necessary for configure Selective PMSI (S-PMSI) associated with an MVRF on a PE. o mvpnPmsiConfigTable This table contains managed objects common to both I-PMSI and S-PMSI configurations. Both I-PMSI configuration (in the entry in mvpnGeneralTable) and S-PMSI configuration (in the entry in mvpnSpmsiConfigTable) refer to an entry in this table. The following four tables are designed for monitoring MVPNs on PEs. o mvpnIpmsiTable o mvpnInterAsIpmsiTable Zhang, et al. Expires December 8, 2017 [Page 5] Internet-Draft L3VPN Multicast MIB June 2017 o mvpnSpmsiTable o mvpnMrouteTable The following diagram shows the relationship among these four tables and the l2l3VpnMcastPmsiTunnelAttributeTable defined separately in L2L3-VPN-MCAST-MIB [I-D.ietf-bess-l2l3-vpn-mcast-mib]. The entry in every table has a pointer to the row pertaining to the entry in the l2l3VpnMcastPmsiTunnelAttributeTable. +--------------+ +-------------------+ +-----------------+ | mvpnIpmsi | -> | l2L3VpnMcastPmsi | <- | mvpnSpmsi | | Table | | TunnelAttribute | | Table | +--------------+ | Table | +-----------------+ -> +-------------------+ / ^ / | +--------------+ +-------------------+ | mvpnInterAs | | mvpnMrouteTable | | IpmsiTable | +-------------------+ +--------------+ o mvpnIpmsiTable This table contains managed objects for monitoring all Intra-AS I-PMSIs advertised and received by a PE. This table contains all advertised and received Intra-AS I-PMSIs. With PIM-MVPN, it is applicable only when BGP-Based Autodiscovery of MVPN Membership is used. o mvpnInterAsIpmsiTable This table contains all advertised and received Inter-AS I-PMSIs. With PIM-MVPN, it is applicable only when BGP-Based Autodiscovery of MVPN Membership is used. o mvpnSpmsiTable This table contains managed objects for monitoring all S-PMSIs advertised and received by a PE. o mvpnMrouteTable This table augments ipMcastMIB.ipMcast.ipMcastRouteTable [RFC5132], for some MVPN specific information. o l2l3VpnMcastPmsiTunnelAttributeTable Zhang, et al. Expires December 8, 2017 [Page 6] Internet-Draft L3VPN Multicast MIB June 2017 An entry of this table corresponds to a PMSI Tunnel attribute and is maintained by a PE router that advertises and receives the attribute. Th entry in this table is referred by entries in mvpnIpmsiTable, mvpnInterAsIpmsiTable, mvpnSpmsiTable, and mvpnMrouteTable. 3.2. MIB Module Definitions MCAST-VPN-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Gauge32, Unsigned32, mib-2 -- [RFC2578] FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] TruthValue, RowPointer, RowStatus, TimeStamp, TimeInterval FROM SNMPv2-TC -- [RFC2579] SnmpAdminString FROM SNMP-FRAMEWORK-MIB -- [RFC2571] InetAddress, InetAddressType FROM INET-ADDRESS-MIB -- [RFC2851] mplsL3VpnVrfName, MplsL3VpnRouteDistinguisher FROM MPLS-L3VPN-STD-MIB -- [RFC4382] ipMcastRouteEntry FROM IPMCAST-MIB -- [RFC5132] L2L3VpnMcastProviderTunnelType FROM L2L3-VPN-MCAST-TC-MIB; mvpnMIB MODULE-IDENTITY LAST-UPDATED "201706061200Z" -- 6th June 2017 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 Zhang, et al. Expires December 8, 2017 [Page 7] Internet-Draft L3VPN Multicast MIB June 2017 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 contains managed object definitions for multicast in BGP/MPLS IP VPNs defined by [RFC6513]. Copyright (C) The Internet Society (2017)." -- Revision history. REVISION "201706061200Z" -- 6th June, 2017 DESCRIPTION "Initial version, published as RFC XXXX." -- RFC Ed. replace XXXX with actual RFC number and remove this note ::= { mib-2 YYYY } Zhang, et al. Expires December 8, 2017 [Page 8] Internet-Draft L3VPN Multicast MIB June 2017 -- 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. mvpnNotifications OBJECT IDENTIFIER ::= { mvpnMIB 0 } -- tables, scalars mvpnObjects OBJECT IDENTIFIER ::= { mvpnMIB 1 } -- conformance information mvpnConformance OBJECT IDENTIFIER ::= { mvpnMIB 2 } -- mvpn Objects mvpnScalars OBJECT IDENTIFIER ::= { mvpnObjects 1 } mvpnGeneral 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 MVRFs that are present on this Provider Edge router (PE), whether for IPv4, IPv6, or 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 this PE." ::= { mvpnScalars 2 } mvpnV6Mvrfs OBJECT-TYPE SYNTAX Gauge32 Zhang, et al. Expires December 8, 2017 [Page 9] Internet-Draft L3VPN Multicast MIB June 2017 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of MVRFs for IPv6 C-Multicast that are present in this PE." ::= { mvpnScalars 3 } mvpnPimV4Mvrfs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of PIM-MVPN MVRFs for IPv4 C-Multicast that are present in this PE." ::= { mvpnScalars 4 } mvpnPimV6Mvrfs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of PIM-MVPN MVRFs for IPv6 C-Multicast that are present in this PE." ::= { mvpnScalars 5 } mvpnBgpV4Mvrfs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BGP-MVPN MVRFs for IPv4 C-Multicast that are present in this PE." ::= { mvpnScalars 6 } mvpnBgpV6Mvrfs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BGP-MVPN MVRFs for IPv6 C-Multicast that are present in this PE." ::= { mvpnScalars 7 } mvpnMldpMvrfs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION Zhang, et al. Expires December 8, 2017 [Page 10] Internet-Draft L3VPN Multicast MIB June 2017 "The number of BGP-MVPN MVRFs for mLDP C-Multicast that are present in this PE." ::= { mvpnScalars 8 } mvpnNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is TRUE, then the generation of all notifications defined in this MIB is enabled." DEFVAL { false } ::= { mvpnScalars 9 } -- General MVRF Information Table mvpnGeneralTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the general information about the MVRFs present in this PE." ::= { mvpnGeneral 1 } mvpnGeneralEntry OBJECT-TYPE SYNTAX MvpnGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created for each MVRF in the PE." INDEX { mplsL3VpnVrfName, mvpnGenAddressFamily } ::= { mvpnGeneralTable 1 } MvpnGeneralEntry ::= SEQUENCE { mvpnGenAddressFamily INTEGER, mvpnGenMvrfStatusChange INTEGER, mvpnGenMvrfStatusChangeTime TimeStamp, mvpnGenCmcastRouteProtocol INTEGER, mvpnGenIpmsiConfig RowPointer, mvpnGenInterAsPmsiConfig RowPointer, mvpnGenUmhSelection INTEGER, mvpnGenSiteType INTEGER, mvpnGenSptnlLimit Unsigned32, Zhang, et al. Expires December 8, 2017 [Page 11] Internet-Draft L3VPN Multicast MIB June 2017 mvpnGenRowStatus RowStatus } mvpnGenAddressFamily OBJECT-TYPE SYNTAX INTEGER { ipv4(1), ipv6(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Address Family that this entry is for" ::= { mvpnGeneralEntry 1 } mvpnGenMvrfStatusChange OBJECT-TYPE SYNTAX INTEGER { createdMvrf(1), deletedMvrf(2), modifiedMvrfIpmsiConfig(3), modifiedMvrfSpmsiConfig(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the last status change that happened for the given MVRF. createdMvrf(1): indicates that the MVRF was created in the PE. deletedMvrf(2): indicates that the MVRF was deleted from the PE. A row in this table will never have mvpnGenMvrfStatusChange equal to deletedMvrf(2), because in that case the row itself will be deleted from the table. This value for mvpnGenMvrfStatusChange is defined mainly for use in mvpnMvrfStatusChange notification. modifiedMvrfIpmsiConfig(3): indicates that the I-PMSI for the MVRF was configured, deleted or changed. modifiedMvrfSpmsiConfig(4): indicates that the S-PMSI for the MVRF was configured, deleted or changed. " DEFVAL { createdMvrf } Zhang, et al. Expires December 8, 2017 [Page 12] Internet-Draft L3VPN Multicast MIB June 2017 ::= { mvpnGeneralEntry 2 } mvpnGenMvrfStatusChangeTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The time at which the last status change for the MVRF in question took place. The last operational change is specified by mvpnGenOperStatusChange. " ::= { mvpnGeneralEntry 3 } mvpnGenCmcastRouteProtocol OBJECT-TYPE SYNTAX INTEGER { pim (1), bgp (2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The protocol used to signal C-multicast states across the provider core. pim(1): PIM (PIM-MVPN). bgp(2): BGP (BGP-MVPN). " ::= { mvpnGeneralEntry 4 } mvpnGenIpmsiConfig OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This points to a row in mvpnPmsiConfigTable, for I-PMSI configuration. " ::= { mvpnGeneralEntry 5 } mvpnGenInterAsPmsiConfig OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This points to a row in mvpnPmsiConfigTable, for inter-as I-PMSI configuration, in case of segmented inter-as provider tunnels. " ::= { mvpnGeneralEntry 6 } Zhang, et al. Expires December 8, 2017 [Page 13] Internet-Draft L3VPN Multicast MIB June 2017 mvpnGenUmhSelection OBJECT-TYPE SYNTAX INTEGER { highestPeAddress (1), cRootGroupHashing (2), ucastUmhRoute (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The UMH selection method for this mvpn, as specified in section 5.1.3 of [RFC6513]: highestPeAddress (1): PE with the highest address cRootGroupHashing (2): hashing based on (c-root, c-group) uncastUmhRoute (3): per ucast route towards c-root " ::= { mvpnGeneralEntry 7 } mvpnGenSiteType OBJECT-TYPE SYNTAX INTEGER { senderReceiver (1), receiverOnly (2), senderOnly (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Whether this site is a receiver-only site or not. senderReceiver (1): both sender and receiver site. receiverOnly (2): receiver-only site. senderOnly (3): sender-only site. " ::= { mvpnGeneralEntry 8 } mvpnGenSptnlLimit OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The max number of selective provider tunnels this PE allows for this mvpn." ::= { mvpnGeneralEntry 9 } mvpnGenRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This is used to create or delete a row in this table." Zhang, et al. Expires December 8, 2017 [Page 14] Internet-Draft L3VPN Multicast MIB June 2017 ::= { mvpnGeneralEntry 10 } -- General BGP-MVPN table mvpnBgpGeneralTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnBgpGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table augments the mvpnGeneralTable and is for BGP-MVPN specific information. " ::= { mvpnGeneral 2 } mvpnBgpGeneralEntry OBJECT-TYPE SYNTAX MvpnBgpGeneralEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The mvpnBgpGeneralEntry matches and augments an mvpnGeneralEntry for a BGP-MVPN instance, with BGP-MVPN specific informatoin. " AUGMENTS { mvpnGeneralEntry } ::= { mvpnBgpGeneralTable 1 } MvpnBgpGeneralEntry ::= SEQUENCE { mvpnBgpGenMode INTEGER, mvpnBgpGenVrfRtImport MplsL3VpnRouteDistinguisher, mvpnBgpGenSrcAs Unsigned32 } mvpnBgpGenMode OBJECT-TYPE SYNTAX INTEGER { rptSpt (1), sptOnly (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "For two different BGP-MVPN modes: rptSpt(1): inter-site shared tree mode sptOnly(2): inter-site source-only tree mode. " ::= { mvpnBgpGeneralEntry 1} mvpnBgpGenVrfRtImport OBJECT-TYPE SYNTAX MplsL3VpnRouteDistinguisher Zhang, et al. Expires December 8, 2017 [Page 15] Internet-Draft L3VPN Multicast MIB June 2017 MAX-ACCESS read-write STATUS current DESCRIPTION "The VRF Route Import Extended Community that this PE adds to unicast vpn routes that it advertises for this mvpn. " REFERENCE "RFC4364, Section 4.2 RFC4382, Section 7 " ::= { mvpnBgpGeneralEntry 2} mvpnBgpGenSrcAs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The Source AS number in Source AS Extended Community that this PE adds to the unicast vpn routes that it advertises for this mvpn. " ::= { mvpnBgpGeneralEntry 3} -- PMSI Configuration Table mvpnPmsiConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnPmsiConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the configured PMSIs." ::= { mvpnConfig 1 } mvpnPmsiConfigEntry OBJECT-TYPE SYNTAX MvpnPmsiConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created for each PMSI configured on this router. It can be referred to by either I-PMSI configuration (in mvpnGeneralEntry) or S-PMSI configuration (in mvpnSpmsiConfigEntry) " INDEX { mvpnPmsiConfigTunnelType, mvpnPmsiConfigTunnelAuxInfo, mvpnPmsiConfigTunnelPimGroupAddressType, mvpnPmsiConfigTunnelPimGroupAddress, Zhang, et al. Expires December 8, 2017 [Page 16] Internet-Draft L3VPN Multicast MIB June 2017 mvpnPmsiConfigTunnelOrTemplateName } ::= { mvpnPmsiConfigTable 1 } MvpnPmsiConfigEntry ::= SEQUENCE { mvpnPmsiConfigTunnelType L2L3VpnMcastProviderTunnelType, mvpnPmsiConfigTunnelAuxInfo Unsigned32, mvpnPmsiConfigTunnelPimGroupAddressType InetAddressType, mvpnPmsiConfigTunnelPimGroupAddress InetAddress, mvpnPmsiConfigTunnelOrTemplateName SnmpAdminString, mvpnPmsiConfigEncapsType INTEGER, mvpnPmsiConfigRowStatus RowStatus } mvpnPmsiConfigTunnelType OBJECT-TYPE SYNTAX L2L3VpnMcastProviderTunnelType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Type of tunnel used to instantiate the PMSI." ::= { mvpnPmsiConfigEntry 1 } mvpnPmsiConfigTunnelAuxInfo OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional tunnel information depending on the value of mvpnPmsiConfigTunnelType object. pimSsm(3), pimAsm(4), pimBidir(5): In case of S-PMSI, number of groups starting at mvpnPmsiConfigTunnelPimGroupAddress. This allows a range of PIM provider tunnel group addresses to be specified in S-PMSI case. In I-PMSI case, it must be 1. rsvpP2mp(1): 1 for statically specified rsvp-p2mp tunnel 2 for dynamically created rsvp-p2mp tunnel ingressReplication(6): 1 for using any existing p2p/mp2p LSP 2 for dynamically creating new p2p LSP Zhang, et al. Expires December 8, 2017 [Page 17] Internet-Draft L3VPN Multicast MIB June 2017 " ::= { mvpnPmsiConfigEntry 2 } mvpnPmsiConfigTunnelPimGroupAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "In case of PIM provider tunnel, the type of tunnel address." ::= { mvpnPmsiConfigEntry 3 } mvpnPmsiConfigTunnelPimGroupAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "In case of PIM provider tunnel, the provider tunnel address." ::= { mvpnPmsiConfigEntry 4 } mvpnPmsiConfigTunnelOrTemplateName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS not-accessible STATUS current DESCRIPTION "The tunnel name or template name used to create tunnels. The value of this object depends on the values of mvpnPmsiConfigTunnelType and mvpnPmsiConfigTunnelAuxInfo objects: dynamically created rsvp-p2mp tunnel: template name statically specified rsvp-p2mp tunnel: tunnel name ingress-replication using dynamically created LSPs: template name other: null " ::= { mvpnPmsiConfigEntry 5 } mvpnPmsiConfigEncapsType OBJECT-TYPE SYNTAX INTEGER { greIp (1), ipIp (2), mpls (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The encapsulation type to be used, in case of PIM tunnel or Zhang, et al. Expires December 8, 2017 [Page 18] Internet-Draft L3VPN Multicast MIB June 2017 ingress-replication. " ::= { mvpnPmsiConfigEntry 6 } mvpnPmsiConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used to create/modify/delete a row in this table." ::= { mvpnPmsiConfigEntry 7 } -- S-PMSI configuration table mvpnSpmsiConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnSpmsiConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies S-PMSI configuration." ::= { mvpnConfig 2 } mvpnSpmsiConfigEntry OBJECT-TYPE SYNTAX MvpnSpmsiConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry is created for each S-PMSI configuration." INDEX { mplsL3VpnVrfName, mvpnSpmsiConfigCmcastAddressType, mvpnSpmsiConfigCmcastGroupAddress, mvpnSpmsiConfigCmcastGroupPrefixLen, mvpnSpmsiConfigCmcastSourceAddress, mvpnSpmsiConfigCmcastSourcePrefixLen } ::= { mvpnSpmsiConfigTable 1 } MvpnSpmsiConfigEntry ::= SEQUENCE { mvpnSpmsiConfigCmcastAddressType InetAddressType, mvpnSpmsiConfigCmcastGroupAddress InetAddress, mvpnSpmsiConfigCmcastGroupPrefixLen Unsigned32, mvpnSpmsiConfigCmcastSourceAddress InetAddress, mvpnSpmsiConfigCmcastSourcePrefixLen Unsigned32, mvpnSpmsiConfigThreshold Unsigned32, mvpnSpmsiConfigPmsiPointer RowPointer, mvpnSpmsiConfigRowStatus RowStatus } Zhang, et al. Expires December 8, 2017 [Page 19] Internet-Draft L3VPN Multicast MIB June 2017 mvpnSpmsiConfigCmcastAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Type of C-multicast address" ::= { mvpnSpmsiConfigEntry 1 } mvpnSpmsiConfigCmcastGroupAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "C-multicast group address" ::= { mvpnSpmsiConfigEntry 2 } mvpnSpmsiConfigCmcastGroupPrefixLen OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "C-multicast group address prefix length. 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. " ::= { mvpnSpmsiConfigEntry 3 } mvpnSpmsiConfigCmcastSourceAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "C-multicast source address" ::= { mvpnSpmsiConfigEntry 4 } mvpnSpmsiConfigCmcastSourcePrefixLen OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "C-multicast source address prefix length. 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. " ::= { mvpnSpmsiConfigEntry 5 } Zhang, et al. Expires December 8, 2017 [Page 20] Internet-Draft L3VPN Multicast MIB June 2017 mvpnSpmsiConfigThreshold OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The bandwidth threshold value which when exceeded for a multicast routing entry in the given MVRF, triggers usage of S-PMSI. " ::= { mvpnSpmsiConfigEntry 6 } mvpnSpmsiConfigPmsiPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This points to a row in mvpnPmsiConfigTable, to specify tunnel attributes. " ::= { mvpnSpmsiConfigEntry 7 } mvpnSpmsiConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used to create/modify/delete a row in this table." ::= { mvpnSpmsiConfigEntry 8 } -- Table of intra-as I-PMSIs advertised/received mvpnIpmsiTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnIpmsiEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is for all advertised/received I-PMSI advertisements. " ::= { mvpnStates 1 } mvpnIpmsiEntry OBJECT-TYPE SYNTAX MvpnIpmsiEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table corresponds to an I-PMSI Zhang, et al. Expires December 8, 2017 [Page 21] Internet-Draft L3VPN Multicast MIB June 2017 advertisement that is advertised/received on this router. This represents all the sender PEs in the MVPN, with the provider tunnel they use to send traffic. " INDEX { mplsL3VpnVrfName, mvpnIpmsiAfi, mvpnIpmsiRD, mvpnIpmsiOrigAddrType, mvpnIpmsiOrigAddress } ::= { mvpnIpmsiTable 1 } MvpnIpmsiEntry ::= SEQUENCE { mvpnIpmsiAfi INTEGER, mvpnIpmsiRD MplsL3VpnRouteDistinguisher, mvpnIpmsiOrigAddrType InetAddressType, mvpnIpmsiOrigAddress InetAddress, mvpnIpmsiUpTime TimeInterval, mvpnIpmsiAttribute RowPointer } mvpnIpmsiAfi OBJECT-TYPE SYNTAX INTEGER { ipv4(1), ipv6(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address family this I-PMSI is for." ::= { mvpnIpmsiEntry 1 } mvpnIpmsiRD OBJECT-TYPE SYNTAX MplsL3VpnRouteDistinguisher MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Route Distinguisher in this I-PMSI." ::= { mvpnIpmsiEntry 2 } mvpnIpmsiOrigAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Internet address type of mvpnIpmsiOrigAddress." ::= { mvpnIpmsiEntry 3 } Zhang, et al. Expires December 8, 2017 [Page 22] Internet-Draft L3VPN Multicast MIB June 2017 mvpnIpmsiOrigAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP address of the PE that originated the I-PMSI." ::= { mvpnIpmsiEntry 4 } mvpnIpmsiUpTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The time since this I-PMSI was first advertised/received by the PE. " ::= { mvpnIpmsiEntry 5 } mvpnIpmsiAttribute OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Points to a row in the l2L3VpnMcastPmsiTunnelAttributeTable." ::= { mvpnIpmsiEntry 6 } -- Table of inter-as I-PMSIs advertised/received mvpnInterAsIpmsiTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnInterAsIpmsiEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is for all advertised/received inter-as I-PMSI advertisements." ::= { mvpnStates 2 } mvpnInterAsIpmsiEntry OBJECT-TYPE SYNTAX MvpnInterAsIpmsiEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table corresponds to an inter-as I-PMSI advertisement that is advertised/received on this router. This represents all the ASes in the MVPN, with the provider tunnel used to send traffic to. " INDEX { Zhang, et al. Expires December 8, 2017 [Page 23] Internet-Draft L3VPN Multicast MIB June 2017 mplsL3VpnVrfName, mvpnInterAsIpmsiAfi, mvpnInterAsIpmsiRD, mvpnInterAsIpmsiSrcAs } ::= { mvpnInterAsIpmsiTable 1 } MvpnInterAsIpmsiEntry ::= SEQUENCE { mvpnInterAsIpmsiAfi INTEGER, mvpnInterAsIpmsiRD MplsL3VpnRouteDistinguisher, mvpnInterAsIpmsiSrcAs Unsigned32, mvpnInterAsIpmsiAttribute RowPointer } mvpnInterAsIpmsiAfi OBJECT-TYPE SYNTAX INTEGER { ipv4(1), ipv6(2) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address family this I-PMSI is for." ::= { mvpnInterAsIpmsiEntry 1 } mvpnInterAsIpmsiRD OBJECT-TYPE SYNTAX MplsL3VpnRouteDistinguisher MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Route Distinguisher in this inter-as I-PMSI." ::= { mvpnInterAsIpmsiEntry 2 } mvpnInterAsIpmsiSrcAs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The source-as in this inter-as I-PMSI." ::= { mvpnInterAsIpmsiEntry 3 } mvpnInterAsIpmsiAttribute OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Points to a row in the l2L3VpnMcastPmsiTunnelAttributeTable." ::= { mvpnInterAsIpmsiEntry 4 } Zhang, et al. Expires December 8, 2017 [Page 24] Internet-Draft L3VPN Multicast MIB June 2017 -- Table of S-PMSIs advertised/received mvpnSpmsiTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnSpmsiEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table has information about the S-PMSIs sent/received by a PE. " ::= { mvpnStates 3 } mvpnSpmsiEntry OBJECT-TYPE SYNTAX MvpnSpmsiEntry 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. " INDEX { mplsL3VpnVrfName, mvpnSpmsiCmcastAddrType, mvpnSpmsiCmcastGroup, mvpnSpmsiCmcastGroupPrefixLen, mvpnSpmsiCmcastSource, mvpnSpmsiCmcastSourcePrefixLen, mvpnSpmsiOrigAddrType, mvpnSpmsiOrigAddress } ::= { mvpnSpmsiTable 1 } MvpnSpmsiEntry ::= SEQUENCE { mvpnSpmsiCmcastAddrType InetAddressType, mvpnSpmsiCmcastGroup InetAddress, mvpnSpmsiCmcastGroupPrefixLen Unsigned32, mvpnSpmsiCmcastSource InetAddress, mvpnSpmsiCmcastSourcePrefixLen Unsigned32, mvpnSpmsiOrigAddrType InetAddressType, mvpnSpmsiOrigAddress InetAddress, mvpnSpmsiTunnelAttribute RowPointer, mvpnSpmsiUpTime TimeInterval, mvpnSpmsiExpTime TimeInterval, mvpnSpmsiRefCnt Unsigned32 } mvpnSpmsiCmcastAddrType OBJECT-TYPE SYNTAX InetAddressType Zhang, et al. Expires December 8, 2017 [Page 25] Internet-Draft L3VPN Multicast MIB June 2017 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Internet address type of mvpnSpmsiCmcastGroup/Source." ::= { mvpnSpmsiEntry 1 } mvpnSpmsiCmcastGroup OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "S-PMSI C-multicast group address. If it is 0 (or ::0), this is a wildcard group, and mvpnSpmsiCmcastGroupPrefixLen must be 32 (or 128). " ::= { mvpnSpmsiEntry 2 } mvpnSpmsiCmcastGroupPrefixLen OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "S-PMSI C-multicast group address prefix length." ::= { mvpnSpmsiEntry 3 } mvpnSpmsiCmcastSource OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "S-PMSI C-multicast source address If it is 0 (or ::0), this is a wildcard source, and mvpnSpmsiCmcastSourcePrefixLen must be 32 (or 128). " ::= { mvpnSpmsiEntry 4 } mvpnSpmsiCmcastSourcePrefixLen OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "S-PMSI C-multicast source address prefix length." ::= { mvpnSpmsiEntry 5 } mvpnSpmsiOrigAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current Zhang, et al. Expires December 8, 2017 [Page 26] Internet-Draft L3VPN Multicast MIB June 2017 DESCRIPTION "The Internet address type of mvpnSpmsiOrigAddress." ::= { mvpnSpmsiEntry 6 } mvpnSpmsiOrigAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP address of the PE that originated the S-PMSI." ::= { mvpnSpmsiEntry 7 } mvpnSpmsiTunnelAttribute OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "A row pointer to the l2L3VpnMcastPmsiTunnelAttributeTable" ::= { mvpnSpmsiEntry 8 } mvpnSpmsiUpTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The time since this S-PMSI was first advertised/received by the PE. " ::= { mvpnSpmsiEntry 9 } mvpnSpmsiExpTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "For UDP-based S-PMSI signaling for PIM-MVPN, the amount of time remaining before this received S-PMSI Join Message expires, or the next S-PMSI Join Message refresh is to be advertised again from the PE. Otherwise, it is 0. " ::= { mvpnSpmsiEntry 10 } mvpnSpmsiRefCnt OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current Zhang, et al. Expires December 8, 2017 [Page 27] Internet-Draft L3VPN Multicast MIB June 2017 DESCRIPTION "The number of c-multicast routes that are mapped to this S-PMSI. " ::= { mvpnSpmsiEntry 11 } -- Table of multicast routes in an MVPN mvpnMrouteTable OBJECT-TYPE SYNTAX SEQUENCE OF MvpnMrouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table augments ipMcastRouteTable, to provide some MVPN specific information. " ::= { mvpnStates 4 } mvpnMrouteEntry OBJECT-TYPE SYNTAX MvpnMrouteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The mvpnMrouteEntry matches and augments an ipMcastRouteEntry, with MVPN specific information, such as PMSI used. " AUGMENTS { ipMcastRouteEntry } ::= { mvpnMrouteTable 1 } MvpnMrouteEntry ::= SEQUENCE { mvpnMroutePmsiPointer RowPointer, mvpnMrouteNumberOfLocalReplication Unsigned32, mvpnMrouteNumberOfRemoteReplication Unsigned32 } 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 to a provider tunnel, that can be used in ipMcastRouteNextHopEntry. " ::= { mvpnMrouteEntry 1 } mvpnMrouteNumberOfLocalReplication OBJECT-TYPE Zhang, et al. Expires December 8, 2017 [Page 28] Internet-Draft L3VPN Multicast MIB June 2017 SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of replications for local receivers. For example, if an ingress PE needs to send traffic out of N PE-CE interfaces, then mvpnMrouteNumberOfLocalReplication is N. " ::= { mvpnMrouteEntry 2 } mvpnMrouteNumberOfRemoteReplication OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of local replications for remote PEs. For example, if the number of remote PEs that need to receive traffic is N, then mvpnMrouteNumberOfRemoteReplication is N in case of Ingress Replication, but may be less than N in case of RSVP-TE or mLDP P2MP tunnels, depending on the actual number of replications the PE needs do. " ::= { mvpnMrouteEntry 3 } -- MVPN Notifications mvpnMvrfChange NOTIFICATION-TYPE OBJECTS { mvpnGenMvrfStatusChange } STATUS current DESCRIPTION "A mvpnMvrfChange 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 configuration of the MVRF. The change event is indicated by mvpnGenMvrfStatusChange embedded in the notification. The user can then query mvpnGeneralTable, and/or mvpnSpmsiConfigTable 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 Zhang, et al. Expires December 8, 2017 [Page 29] Internet-Draft L3VPN Multicast MIB June 2017 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 } -- 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, mvpnGeneralGroup, mvpnPmsiConfigGroup, mvpnSpmsiConfigGroup, mvpnSpmsiGroup, mvpnMrouteGroup, 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 mvpnBgpGeneralGroup DESCRIPTION "This group is mandatory for systems that support Zhang, et al. Expires December 8, 2017 [Page 30] Internet-Draft L3VPN Multicast MIB June 2017 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, mvpnGeneralGroup, mvpnPmsiConfigGroup, mvpnSpmsiConfigGroup, mvpnSpmsiGroup, mvpnMrouteGroup, 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 mvpnBgpGeneralGroup DESCRIPTION "This group is mandatory for systems that support BGP-MVPN. " GROUP mvpnOptionalGroup DESCRIPTION Zhang, et al. Expires December 8, 2017 [Page 31] Internet-Draft L3VPN Multicast MIB June 2017 "This group is optional. " OBJECT mvpnNotificationEnable MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenCmcastRouteProtocol MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenIpmsiConfig MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenInterAsPmsiConfig MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenUmhSelection MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenSiteType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenSptnlLimit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnPmsiConfigEncapsType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnSpmsiConfigThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnSpmsiConfigPmsiPointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnGenRowStatus SYNTAX RowStatus { active(1) } MIN-ACCESS read-only DESCRIPTION "Write access is not required." Zhang, et al. Expires December 8, 2017 [Page 32] Internet-Draft L3VPN Multicast MIB June 2017 OBJECT mvpnPmsiConfigRowStatus SYNTAX RowStatus { active(1) } MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mvpnSpmsiConfigRowStatus SYNTAX RowStatus { active(1) } 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, mvpnNotificationEnable } STATUS current DESCRIPTION "These objects are used to monitor/manage global MVPN parameters. " ::= { mvpnGroups 1 } mvpnGeneralGroup OBJECT-GROUP OBJECTS { mvpnGenMvrfStatusChange, mvpnGenMvrfStatusChangeTime, mvpnGenCmcastRouteProtocol, mvpnGenIpmsiConfig, mvpnGenInterAsPmsiConfig, mvpnGenUmhSelection, mvpnGenSiteType, mvpnGenSptnlLimit, mvpnGenRowStatus } STATUS current DESCRIPTION Zhang, et al. Expires December 8, 2017 [Page 33] Internet-Draft L3VPN Multicast MIB June 2017 "These objects are used to monitor/manage per-VRF MVPN parameters. " ::= { mvpnGroups 2 } mvpnPmsiConfigGroup OBJECT-GROUP OBJECTS { mvpnPmsiConfigEncapsType, mvpnPmsiConfigRowStatus } STATUS current DESCRIPTION "These objects are used to monitor/manage PMSI tunnel configurations. " ::= { mvpnGroups 3 } mvpnSpmsiConfigGroup OBJECT-GROUP OBJECTS { mvpnSpmsiConfigThreshold, mvpnSpmsiConfigPmsiPointer, mvpnSpmsiConfigRowStatus } STATUS current DESCRIPTION "These objects are used to monitor/manage S-PMSI configurations. " ::= { mvpnGroups 4 } mvpnIpmsiGroup OBJECT-GROUP OBJECTS { mvpnIpmsiUpTime, mvpnIpmsiAttribute } STATUS current DESCRIPTION "These objects are used to monitor/manage Intra-AS I-PMSI attributes. " ::= { mvpnGroups 5 } mvpnInterAsIpmsiGroup OBJECT-GROUP OBJECTS { mvpnInterAsIpmsiAttribute } STATUS current DESCRIPTION Zhang, et al. Expires December 8, 2017 [Page 34] Internet-Draft L3VPN Multicast MIB June 2017 "These objects are used to monitor/manage Inter-AS I-PMSI attributes. " ::= { mvpnGroups 6 } mvpnSpmsiGroup OBJECT-GROUP OBJECTS { mvpnSpmsiTunnelAttribute, mvpnSpmsiUpTime, mvpnSpmsiExpTime, mvpnSpmsiRefCnt } STATUS current DESCRIPTION "These objects are used to monitor/manage S-PMSI attributes. " ::= { mvpnGroups 7 } mvpnMrouteGroup OBJECT-GROUP OBJECTS { mvpnMrouteNumberOfLocalReplication, mvpnMrouteNumberOfRemoteReplication } STATUS current DESCRIPTION "These objects are used to monitor/manage VPN multicast forwarding states. " ::= { mvpnGroups 8 } mvpnBgpGeneralGroup OBJECT-GROUP OBJECTS { mvpnBgpGenMode, mvpnBgpGenVrfRtImport, mvpnBgpGenSrcAs } STATUS current DESCRIPTION "These objects are used to monitor/manage BGP-MVPN." ::= { mvpnGroups 9 } mvpnOptionalGroup OBJECT-GROUP OBJECTS { mvpnMroutePmsiPointer } STATUS current DESCRIPTION Zhang, et al. Expires December 8, 2017 [Page 35] Internet-Draft L3VPN Multicast MIB June 2017 "Support of these object is not required." ::= { mvpnGroups 10 } mvpnNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mvpnMvrfChange } STATUS current DESCRIPTION "Objects required for MVPN notifications." ::= { mvpnGroups 11 } 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 the device's behavior related to MVPN. Appropriate security procedures related to SNMP in general but not specific to this MIB need to be implemented by concerned operators. There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects 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 to attack. These are the tables and objects and their sensitivity/vulnerability: o mvpnNotificationEnable, mvpnGenCmcastRouteProtocol, mvpnGenIpmsiConfig, mvpnGenInterAsPmsiConfig, mvpnGenUmhSelection, mvpnGenSiteType, mvpnGenSptnlLimit, mvpnBgpGenMode, mvpnBgpGenVrfRtImport, mvpnPmsiConfigEncapsType, mvpnSpmsiConfigThreshold, mvpnSpmsiConfigPmsiPointer o mvpnGenRowStatus, mvpnPmsiConfigRowStatus, mvpnSpmsiConfigRowStatus 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] Zhang, et al. Expires December 8, 2017 [Page 36] Internet-Draft L3VPN Multicast MIB June 2017 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 IANA is requested to root MIB objects in the MIB module contained in this document under the mib-2 subtree. 6. Acknowledgement Some of the text has been taken almost verbatim from [I-D.svaidya-mcast-vpn-mib]. We would like to thank Yakov Rekhter, Jeffrey Haas, Huajin Jeng, Durga Prasad Velamuri for their helpful comments. 7. References 7.1. Normative References [I-D.ietf-bess-l2l3-vpn-mcast-mib] Zhang, Z. and H. Tsunoda, "L2L3 VPN Multicast MIB", draft- ietf-bess-l2l3-vpn-mcast-mib-08 (work in progress), May 2017. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ RFC2119, March 1997, . Zhang, et al. Expires December 8, 2017 [Page 37] Internet-Draft L3VPN Multicast MIB June 2017 [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, . [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, . [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, . [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, . [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, . [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, . [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", RFC 4601, DOI 10.17487/ RFC4601, August 2006, . [RFC5132] McWalter, D., Thaler, D., and A. Kessler, "IP Multicast MIB", RFC 5132, DOI 10.17487/RFC5132, December 2007, . [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, . Zhang, et al. Expires December 8, 2017 [Page 38] Internet-Draft L3VPN Multicast MIB June 2017 [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, . [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, . [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 2012, . [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, . [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, . 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, . Authors' Addresses Zhaohui (Jeffrey) Zhang (editor) Juniper Networks, Inc. 10 Technology Park Drive Westford, MA 01886 USA Email: zzhang@juniper.net Zhang, et al. Expires December 8, 2017 [Page 39] Internet-Draft L3VPN Multicast MIB June 2017 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 (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 Zhang, et al. Expires December 8, 2017 [Page 40]