Internet DRAFT - draft-jain-l2vpn-mcast-vpls-mib

draft-jain-l2vpn-mcast-vpls-mib





L2 VPN Working Group                                             P. Jain
Internet-Draft                                                  K. Singh
Intended status: BCP                                    R. Boovaraghavan
Expires: December 7, 2012                           Alcatel-Lucent, Inc.
                                                                J. Zhang
                                                  Juniper Networks, Inc.
                                                           June 05, 2012


    VPLS with Point-To-Multipoint  LSPs Management Information Base
                   draft-jain-l2vpn-mcast-vpls-mib-00

Abstract

   This memo defines an experimental portion of the Management
   Information Base for use with network management protocols in the
   Internet community.

   In particular, it describes managed objects to configure and/or
   monitor multicast in VPLS using Point-to-Multipoint LSPs or VPLS-
   MCAST [I-D.ietf-l2vpn-vpls-mcast].

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 7, 2012.

Copyright Notice

   Copyright (c) 2012 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



Jain, et al.            Expires December 7, 2012                [Page 1]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   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 . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The Internet-Standard Management Framework . . . . . . . . . .  3
   3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   5.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  4
     5.1.  Summary of MIB Module  . . . . . . . . . . . . . . . . . .  4
   6.  Relationship to Other MIB Modules  . . . . . . . . . . . . . .  6
   7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  6
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 23
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 23
   10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 23
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 24
     12.2. Informative References . . . . . . . . . . . . . . . . . . 25




























Jain, et al.            Expires December 7, 2012                [Page 2]

Internet-Draft               VPLS-MCAST MIB                    June 2012


1.  Introduction

   VPLS using Point-to-Multipoint LSPs or [VPLS-MCAST] describes
   procedures for VPLS multicast that utilize multicast trees in the
   sevice provider (SP) network.  The multicase tree is typically formed
   using point-to-multipoint LSPs and is used to flood broadcast,
   multicast, and unknown unicast traffic across a VPLS core network to
   all the PE routers.

   This memo describes managed objects to configure and/or monitor
   multicast in VPLS using Point-to-Multipoint LSPs or VPLS-MCAST
   [I-D.ietf-l2vpn-vpls-mcast].

   In the current version of this memo does not address MIB Objects for
   Inter-AS VPLS Multicast.  Objects related to this would be adressed
   in subscequent updates of this proposal.

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

   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 RFC 2119 [RFC2119].

4.  Terminology

   Terminology used in this document:

   VPLS : Virtual Provider LAN Service.

   P2MP : Point-to-Multipoint.

   MLDP : Multicast Label Distribution Protocol.




Jain, et al.            Expires December 7, 2012                [Page 3]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   SNMP : Simple Network Management Protocol.

   MIB : Management Information Base.

   PE Router: Provider Edge Router.

   P Router : Provider Core Router.

   I-PMSI : Inclusive-Provider Multicast Service Interface.

   S-PMSI : Selective-Provider Multicast Service Interface.

   MVPN : Multicast Virtual Private Networks.

5.  Structure of the MIB Module

   The MIB Structure for defining VPLS using Point-to-Multipoint LSPs or
   [VPLS-MCAST] would be based off the existing VPLS-MIB [I-D.ietf-
   l2vpn-vpls-mib] defination.

   Following is the relation of the VPLS-MCAST MIB with existing VPLS-
   MIB


                                   +--------+   +-----------------+
                       PW Mapping  |        |   |                 |
                            -----> | PW-MIB |-->|PW-ENET/MPLS-MIB |
             __________    /       |        |   |                 |
            |          |  /        +--------+   +-----------------+
            | VPLS MIB | /                       +------------+
            |          |---------------------->  |            |
            +----------- MAC addr. mapping using | BRIDGE-MIB |
                  |       [SNMP-CONTEXT-MAP-MIB] |            |
                  |                              +------------+
                  |
            +-----------+
            |           |
            | VPLS-MCAST|
            |    MIB    |
            +-----------+



5.1.  Summary of MIB Module

   The configuration and states specific to an VPLS-MCAST include the
   following:




Jain, et al.            Expires December 7, 2012                [Page 4]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   - C-multicast routing exchange protocol BGP

   - I-PMSI, S-PMSI and corresponding provider tunnels

   - Mapping of c-multicast states to PMSI/tunnels

   To represent them, the following tables defined.


       VplsMcastGeneral ---->   VplsPmsiConfig        <----- VplsSpmsiConfig


       VplsIpmsi        ----> VplsPmsiTunnelAttribute <----- VplsSpmsi
                                 |
                                 +-VplsIpmsiBgpADAttribute
                                 +-VplsIpmsiBgpVplsAttribute



   - vplsMcastGeneralTable

   An entry in this table contains general informaion about VPLS-PMSI
   created on the device.

   - vplsPmsiConfigTable

   An entry in this table is created for each PMSI configured on this
   router.  It can be referred to by base VPLS configuration (in
   vplsConfigEntry) or S-PMSI configuration (in vplsSpmsiConfigEntry).

   - vplsIpmsiBgpADTable

   This table specifies all advertised and received I-PMSI
   advertisements.  An entry is created in this table for each IPMSI
   attribute advertised/ received in BGP-AD

   - vplsIpmsiBgpVplsTable

   An entry is created in this table for each IPMSI attribute
   advertised/ received in BGP-VPLS

   - vplsPmsiTunnelAttributeTable

   This table is specified for advertised/received PMSI attributes to be
   referred to by I-PMSI or S-PMSI table entries.

   - vplsSpmsiConfigTable




Jain, et al.            Expires December 7, 2012                [Page 5]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   This table specifies S-PMSI configuration for each VPLS entry

   - vplsSpmsiTable

   This table contains information about the VPLS S-PMSIs advertised/
   received for a given VPLS instance

6.  Relationship to Other MIB Modules

   This section provides an overview of the relationship between the
   VPLS-MCAST MIB module and other VPLS MIB modules.

   The arrows in the following diagram show a 'depends on' relationship.
   A relationship "MIB module A depends on MIB module B" means that MIB
   module A uses an object, object identifier, or textual convention
   defined in MIB module B, or that MIB module A contains a pointer
   (index or RowPointer) to an object in MIB module B.



           VPLS-GENERIC-DRAFT-01-MIB    VPLS-BGP-DRAFT-01-MIB
                     |                          |
                     +--------------------------+
                                  |
                                  V
                            VPLS-MCAST-MIB


7.  Definitions



    VPLS-MCAST-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        experimental, Unsigned32
           FROM SNMPv2-SMI

        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
           FROM SNMPv2-CONF

        TruthValue, RowPointer, RowStatus, TimeStamp, TimeInterval
           FROM SNMPv2-TC

        SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB




Jain, et al.            Expires December 7, 2012                [Page 6]

Internet-Draft               VPLS-MCAST MIB                    June 2012


        InetAddress, InetAddressType
           FROM INET-ADDRESS-MIB

         MplsLabel
           FROM MPLS-TC-STD-MIB

        vplsConfigIndex,
        vplsBgpADConfigRouteDistinguisher,
        vplsBgpADConfigPrefix,
        vplsBgpADConfigVplsId
           FROM VPLS-GENERIC-DRAFT-01-MIB

        vplsBgpVEName
           FROM VPLS-BGP-DRAFT-01-MIB;


    vplsMcastMIB MODULE-IDENTITY
        LAST-UPDATED "201203141200Z"  -- 14 March 2012 12:00:00 GMT
        ORGANIZATION "IETF Layer-2 Virtual Private
                      Networks Working Group."
        CONTACT-INFO

                 "
                 Comments and discussion to l2vpn@ietf.org
                 Pradeep Jain
                 Alcatel-Lucent, Inc.
                 701 E Middlefield Rd
                 Mountain View, CA  94040
                 USA
                 Email: pradeep.jain@alcatel-lucent.com

                 Kanwar Singh
                 Alcatel-Lucent, Inc.
                 701 E Middlefield Rd
                 Mountain View, CA  94040
                 USA
                 Email: kanwar.singh@alcatel-lucent.com

                 Ranganathan Boovaraghavan
                 Alcatel-Lucent, Inc.
                 701 E Middlefield Rd
                 Mountain View, CA  94040
                 USA
                 Email: ranganathan.boovaraghavan@alcatel-lucent.com

                 Jeffrey (Zhaohui) Zhang
                 Juniper Networks, Inc.
                 10 Technology Park Drive



Jain, et al.            Expires December 7, 2012                [Page 7]

Internet-Draft               VPLS-MCAST MIB                    June 2012


                 Westford, MA 01886
                 USA
                 Email: zzhang@juniper.net


               "

        DESCRIPTION
                 "This MIB contains managed object definitions for
                  multicast in Layer 2 VPLS defined by [L2VPN].
                  Copyright (C) The Internet Society (2012)."

        -- Revision history.
        REVISION "201203141200Z"  -- 14 March 2012 12:00:00 GMT
        DESCRIPTION
               "Initial version of the draft."
        ::= { experimental 99 } -- number to be assigned


        -- Top level components of this MIB.
        -- Traps
         vplsMcastNotifications OBJECT IDENTIFIER ::= { vplsMcastMIB 0 }

        -- tables, scalars
         vplsMcastObjects       OBJECT IDENTIFIER ::= { vplsMcastMIB 1 }

        -- conformance
         vplsMcastConformance   OBJECT IDENTIFIER ::= { vplsMcastMIB 2 }

         vplsMcastScalars  OBJECT IDENTIFIER ::= { vplsMcastObjects 1 }
         vplsMcastGeneral  OBJECT IDENTIFIER ::= { vplsMcastObjects 2 }
         vplsMcastConfig   OBJECT IDENTIFIER ::= { vplsMcastObjects 3 }
         vplsMcastStates   OBJECT IDENTIFIER ::= { vplsMcastObjects 4 }


      -- Scalar Objects

    vplsMcastNotificationEnable 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 }
        ::= { vplsMcastScalars 1 }

    vplsMcastGeneralTable  OBJECT-TYPE



Jain, et al.            Expires December 7, 2012                [Page 8]

Internet-Draft               VPLS-MCAST MIB                    June 2012


       SYNTAX        SEQUENCE OF VplsMcastGeneralEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table specifies the general information about the VPLS-PMSI
            present in this device."
       ::= { vplsMcastGeneral 1 }

    vplsMcastGeneralEntry OBJECT-TYPE
       SYNTAX        VplsMcastGeneralEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry in this table is created for every VPLS Instance in the
            device."
       INDEX       { vplsConfigIndex }
       ::= { vplsMcastGeneralTable 1 }

    VplsMcastGeneralEntry ::= SEQUENCE {
       vplsMcastGenOperStatusChange         INTEGER,
       vplsMcastGenOperChangeTime           TimeStamp,
       vplsMcastGenIpmsiConfig              RowPointer,
       vplsMcastGenInterasPmsiConfig        RowPointer,
       vplsMcastGenSiteType                 INTEGER,
       vplsMcastGenExcludeUnknownUnicast    TruthValue,
       vplsMcastGenRowStatus                RowStatus
    }

    vplsMcastGenOperStatusChange OBJECT-TYPE
       SYNTAX      INTEGER { createdVplsPmsi(1),
                             deletedVplsPmsi(2),
                             modifiedVplsIpmsiConfig(3),
                             modifiedVplsSpmsiConfig(4)
                            }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object describes the last operational change that
            happened for the given VPLS-PMSI.

            createdVplsPmsi - indicates that VPLS PMSI was created in the
            device.

            deletedVplsPmsi - indicates that the VPLS PMSI was deleted from the
            device. A row in this table will never have
            vplsMcastGenOperStatusChange equal to deletedVplsPmsi(2),
            because in that case the row itself will be deleted from the
            table. This value for vplsMcastGenOperStatusChange is defined



Jain, et al.            Expires December 7, 2012                [Page 9]

Internet-Draft               VPLS-MCAST MIB                    June 2012


            mainly for use in vplsMcastPmsiChange notification.

            modifiedVplsIpmsiConfig - indicates that the I-PMSI
            for the VPLS was configured, deleted or changed.

            modifiedVplsSpmsiConfig - indicates that the S-PMSI
            for the VPLS was configured, deleted or changed."
       DEFVAL { createdVplsPmsi }
       ::= { vplsMcastGeneralEntry 1 }

    vplsMcastGenOperChangeTime OBJECT-TYPE
       SYNTAX        TimeStamp
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The time at which the last operational change for the VPLS-PMSI in
            question took place. The last operational change is specified
            by vplsMcastGenOperStatusChange."
       ::= { vplsMcastGeneralEntry 2 }

    vplsMcastGenIpmsiConfig OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This points to a row in vplsMcastPmsiConfigTable,
            for I-PMSI configuration."
       ::= { vplsMcastGeneralEntry 3 }

    vplsMcastGenInterasPmsiConfig OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This points to a row in vplsMcastPmsiConfigTable,
            for inter-as I-PMSI configuration in case of segmented
            inter-as provider tunnels."
       ::= { vplsMcastGeneralEntry 4 }

    vplsMcastGenSiteType OBJECT-TYPE
         SYNTAX            INTEGER {
                              senderReceiver (1),
                              receiverOnly   (2),
                              senderOnly     (3)
                            }
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION



Jain, et al.            Expires December 7, 2012               [Page 10]

Internet-Draft               VPLS-MCAST MIB                    June 2012


            "Whether this site is a receiver-only site or not.
             sender-receiver (1):   both sender and receiver site.
             receiver-only   (2):   receiver-only site.
             sender-only     (3):   sender only site."
         ::= { vplsMcastGeneralEntry 5 }

    vplsMcastGenExcludeUnknownUnicast OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "If this object is TRUE, then Unknown Unicast will not
             be mapped to the provider tunnel.
             If this object is FALSE, then Uknown Unicast will be
             mapped to the provider tunnel."
        DEFVAL { false }
        ::= { vplsMcastGeneralEntry 6 }

    vplsMcastGenRowStatus OBJECT-TYPE
       SYNTAX        RowStatus
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "This is used to create or delete a row in this table."
       ::= { vplsMcastGeneralEntry 7 }

    -- VPLS PMSI Configuration Table

    vplsPmsiConfigTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF VplsPmsiConfigEntry
        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 base VPLS
              configuration (in vplsConfigEntry) or S-PMSI configuration
              (in vplsSpmsiConfigEntry)"
        ::= { vplsMcastConfig 1 }

    vplsPmsiConfigEntry OBJECT-TYPE
        SYNTAX        VplsPmsiConfigEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
              "An entry in this table is created for each PMSI configured
               on this router under VPLS Service"
        INDEX       { vplsConfigIndex }
        ::= { vplsPmsiConfigTable 1 }



Jain, et al.            Expires December 7, 2012               [Page 11]

Internet-Draft               VPLS-MCAST MIB                    June 2012


    VplsPmsiConfigEntry ::= SEQUENCE {
        vplsPmsiCfgTunnelType                 INTEGER,
        vplsPmsiCfgTunnelAuxInfo              Unsigned32,
        vplsPmsiCfgTunnelOrTemplateName       SnmpAdminString,
        vplsPmsiCfgRowStatus                  RowStatus
    }


    vplsPmsiCfgTunnelType OBJECT-TYPE
        SYNTAX        INTEGER { rsvpP2mp (1),
                                ldpP2mp (2),
                                ingressReplication (3)
                              }
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
             "Type of tunnel used to instantiate the PMSI."
        ::= { vplsPmsiConfigEntry 1 }

    vplsPmsiCfgTunnelAuxInfo OBJECT-TYPE
        SYNTAX        Unsigned32
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
             "Additional tunnel information depending on the type.
                    rsvp-p2mp:   1 for statically specified rsvp-p2mp tunnel
                                 2 for dynamically created rsvp-p2mp tunnel
                    ingress-replication:
                                 1 for using any existing p2p/mp2p lsp
                                 2 for dynamically creating new p2p lsp"
         ::= { vplsPmsiConfigEntry 2 }

    vplsPmsiCfgTunnelOrTemplateName OBJECT-TYPE
        SYNTAX        SnmpAdminString
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "The tunnel name or template name used to create tunnels.
             Depending on vplsPmsiCfgTunnelType and
             vplsPmsiCfgTunnelAuxInfo:

             dynamically created rsvp-p2mp tunnel:       template name
             statically specified rsvp-p2mp tunnel:      tunnel name
             ingress-replication using
             dynamically created lsps:                 template name
             other:                                      null"
        ::= { vplsPmsiConfigEntry 3 }




Jain, et al.            Expires December 7, 2012               [Page 12]

Internet-Draft               VPLS-MCAST MIB                    June 2012


    vplsPmsiCfgRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
             "Used to create/modify/delete a row in this table."
        ::= { vplsPmsiConfigEntry 4 }

    -- Table of IPMSI BGP-AD Advertised/Received.

    vplsPmsiBgpADTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF VplsPmsiBgpADEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table specifies all advertised and received IPmsi advertisements."
       ::= { vplsMcastStates 1 }

    vplsPmsiBgpADEntry OBJECT-TYPE
         SYNTAX         VplsPmsiBgpADEntry
          MAX-ACCESS    not-accessible
          STATUS        current
          DESCRIPTION
                "An entry is created in this table for each IPMSI attribute advertised/received in BGP-AD"
          INDEX       { vplsConfigIndex,
                     vplsBgpADConfigRouteDistinguisher,
                     vplsBgpADConfigPrefix,
                     vplsBgpADConfigVplsId }
        ::= { vplsPmsiBgpADTable 1 }

    VplsPmsiBgpADEntry ::= SEQUENCE {
         vplsPmsiBgpADAttribute                  RowPointer
    }

    vplsPmsiBgpADAttribute       OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "Points to a row in the vplsIpmsiTunnelAttributeTable."
       ::= { vplsPmsiBgpADEntry 1 }


    -- Table of IPMSI BGP-VPLS Advertised/Received.

    vplsPmsiBgpVplsTable   OBJECT-TYPE
        SYNTAX          SEQUENCE OF VplsPmsiBgpVplsEntry
        MAX-ACCESS      not-accessible



Jain, et al.            Expires December 7, 2012               [Page 13]

Internet-Draft               VPLS-MCAST MIB                    June 2012


        STATUS          current
        DESCRIPTION
            "This table specifies the all advertised and received IPmsi advertisements."
         ::= { vplsMcastStates 2 }

    vplsPmsiBgpVplsEntry OBJECT-TYPE
        SYNTAX        VplsPmsiBgpVplsEntry
        MAX-ACCESS    not-accessible
         STATUS       current
         DESCRIPTION
               "An entry is created in this table for each IPMSI attribute advertised/received in BGP-VPLS"
         INDEX     { vplsConfigIndex,
                     vplsBgpVEName}
       ::= { vplsPmsiBgpVplsTable 1 }

    VplsPmsiBgpVplsEntry ::= SEQUENCE {
        vplsPmsiBgpVplsAttribute          RowPointer
    }

    vplsPmsiBgpVplsAttribute       OBJECT-TYPE
         SYNTAX        RowPointer
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
          "Points to a row in the vplsPmsiTunnelAttributeTable."
         ::= { vplsPmsiBgpVplsEntry 1 }


    -- Table of VPLS PMSI attributes

    vplsPmsiTunnelAttributeTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF VplsPmsiTunnelAttributeEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table is for advertised/received PMSI attributes,
            to be referred to by I-PMSI or S-PMSI table entries"
       ::= { vplsMcastStates 3 }

    vplsPmsiTunnelAttributeEntry OBJECT-TYPE
       SYNTAX        VplsPmsiTunnelAttributeEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry in this table corresponds to an PMSI attribute
            that is advertised/received on this router.
            For BGP-based signaling (for I-PMSI via auto-discovery
            procedure, or for S-PMSI via S-PMSI A-D routes),



Jain, et al.            Expires December 7, 2012               [Page 14]

Internet-Draft               VPLS-MCAST MIB                    June 2012


            they are just as signaled by BGP."
       INDEX {
               vplsPmsiTunnelAttributeType,
               vplsPmsiTunnelAttributeLabel,
               vplsPmsiTunnelAttributeFlags,
               vplsPmsiTunnelAttributeId
              }
       ::= { vplsPmsiTunnelAttributeTable 1 }

    VplsPmsiTunnelAttributeEntry ::= SEQUENCE {
       vplsPmsiTunnelAttributeType      Unsigned32,
       vplsPmsiTunnelAttributeLabel     MplsLabel,
       vplsPmsiTunnelAttributeFlags     OCTET STRING,
       vplsPmsiTunnelAttributeId        OCTET STRING,
       vplsPmsiTunnelPointer            RowPointer,
       vplsPmsiTunnelIf                 RowPointer
       }

    vplsPmsiTunnelAttributeType OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "The tunnel type identifies the type of tunneling technology
            used to establish the PMSI tunnel. This document discusses the
            following tunnel types:
              0 - No tunnel information present
              1 - RSVP-TE P2MP LSP
              2 - mLDP P2MP LSP
            "
       ::= { vplsPmsiTunnelAttributeEntry 1 }

    vplsPmsiTunnelAttributeLabel OBJECT-TYPE
       SYNTAX        MplsLabel
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "If the MPLS Label field is non-zero, then it contains an MPLS
            label encoded as 3 octets, where the high-order 20 bits contain the label
            value. Absence of MPLS Label is indicated by setting the MPLS Label
            field to zero."
       ::= { vplsPmsiTunnelAttributeEntry 2 }

    vplsPmsiTunnelAttributeFlags OBJECT-TYPE
       SYNTAX        OCTET STRING (SIZE (1))
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION



Jain, et al.            Expires December 7, 2012               [Page 15]

Internet-Draft               VPLS-MCAST MIB                    June 2012


           "The Flags field has the following format:
                          0 1 2 3 4 5 6 7
                         +-+-+-+-+-+-+-+-+
                         |  reserved   |L|
                         +-+-+-+-+-+-+-+-+
            This document defines the following flags:
              + Leaf Information Required (L)"
       ::= { vplsPmsiTunnelAttributeEntry 3 }

    vplsPmsiTunnelAttributeId OBJECT-TYPE
       SYNTAX        OCTET STRING ( SIZE (4|8|12) )
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "When the type is set to 'No tunnel information present', the PMSI
            Tunnel attribute carries no tunnel information (no Tunnel
            Identifier). This type is to be used only in the following case: to
            enable explicit tracking for a particular customer multicast flow (by
            setting the Leaf Information Required flag to 1), but without binding
            this flow to a particular provider tunnel (by omitting any tunnel
            information).

            When the type is set to RSVP-TE P2MP LSP, the Tunnel Identifier is
            (Extended Tunnel ID, Reserved, Tunnel ID, P2MP ID) as carried in the
            RSVP-TE P2MP LSP SESSION Object [RFC4875].

            When the type is set to mLDP P2MP LSP, the Tunnel Identifier is a
            P2MP FEC Element [mLDP]."
       ::= { vplsPmsiTunnelAttributeEntry 4 }

    vplsPmsiTunnelPointer OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "If the tunnel exists in some MIB table, this is the row pointer
            to it."
       ::= { vplsPmsiTunnelAttributeEntry 5 }

    vplsPmsiTunnelIf OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "If the tunnel has a corresponding interface, this is the
            row pointer to the ifName table."
       ::= { vplsPmsiTunnelAttributeEntry 6 }




Jain, et al.            Expires December 7, 2012               [Page 16]

Internet-Draft               VPLS-MCAST MIB                    June 2012


    -- S-PMSI configuration table

    vplsSpmsiConfigTable  OBJECT-TYPE
       SYNTAX        SEQUENCE OF VplsSpmsiConfigEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "This table specifies S-PMSI configuration."
       ::= { vplsMcastConfig 2 }

    vplsSpmsiConfigEntry OBJECT-TYPE
       SYNTAX        VplsSpmsiConfigEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry is created for each S-PMSI configuration."
       INDEX       {  vplsConfigIndex,
                      vplsSpmsiCfgCmcastAddressType,
                      vplsSpmsiCfgCmcastGroupAddress,
                      vplsSpmsiCfgCmcastGroupPrefixLen,
                      vplsSpmsiCfgCmcastSrcAddress,
                      vplsSpmsiCfgCmcastSrcPrefixLen }
       ::= { vplsSpmsiConfigTable 1 }

    VplsSpmsiConfigEntry ::= SEQUENCE {
       vplsSpmsiCfgCmcastAddressType     InetAddressType,
       vplsSpmsiCfgCmcastGroupAddress    InetAddress,
       vplsSpmsiCfgCmcastGroupPrefixLen  Unsigned32,
       vplsSpmsiCfgCmcastSrcAddress      InetAddress,
       vplsSpmsiCfgCmcastSrcPrefixLen    Unsigned32,
       vplsSpmsiCfgThreshold             Unsigned32,
       vplsSpmsiCfgPmsiPointer           RowPointer,
       vplsSpmsiCfgRowStatus             RowStatus
    }

    vplsSpmsiCfgCmcastAddressType OBJECT-TYPE
       SYNTAX        InetAddressType
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "Type of C-multicast address"
       ::= { vplsSpmsiConfigEntry 1 }

    vplsSpmsiCfgCmcastGroupAddress OBJECT-TYPE
       SYNTAX        InetAddress
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION



Jain, et al.            Expires December 7, 2012               [Page 17]

Internet-Draft               VPLS-MCAST MIB                    June 2012


           "C-multicast group address"
       ::= { vplsSpmsiConfigEntry 2 }

    vplsSpmsiCfgCmcastGroupPrefixLen 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."
       ::= { vplsSpmsiConfigEntry 3 }

    vplsSpmsiCfgCmcastSrcAddress OBJECT-TYPE
       SYNTAX        InetAddress
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "C-multicast source address"
       ::= { vplsSpmsiConfigEntry 4 }

    vplsSpmsiCfgCmcastSrcPrefixLen 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."
       ::= { vplsSpmsiConfigEntry 5 }

    vplsSpmsiCfgThreshold 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 VPLS, triggers usage
            of S-PMSI."
       ::= { vplsSpmsiConfigEntry 6 }

    vplsSpmsiCfgPmsiPointer OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-create
       STATUS        current



Jain, et al.            Expires December 7, 2012               [Page 18]

Internet-Draft               VPLS-MCAST MIB                    June 2012


       DESCRIPTION
           "This points to a row in vplsPmsiConfigTable,
            to specify tunnel attributes."
       ::= { vplsSpmsiConfigEntry 7 }

    vplsSpmsiCfgRowStatus OBJECT-TYPE
       SYNTAX        RowStatus
       MAX-ACCESS    read-create
       STATUS        current
       DESCRIPTION
           "Used to create/modify/delete a row in this table."
      ::= { vplsSpmsiConfigEntry 8 }



      -- Table of S-PMSIs advertised/received

    vplsSpmsiTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF VplsSpmsiEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
              "This table has information about the S-PMSIs sent/received
               by a device."
       ::= { vplsMcastStates 4 }

    vplsSpmsiEntry OBJECT-TYPE
       SYNTAX        VplsSpmsiEntry
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "An entry in this table is created or updated for every S-PMSI
            advertised/received in a particular VPLS."
       INDEX  { vplsConfigIndex,
                vplsSpmsiCmcastAddrType,
                vplsSpmsiCmcastGroup,
                vplsSpmsiCmcastGroupPrefixLen,
                vplsSpmsiCmcastSource,
                vplsSpmsiCmcastSourcePrefixLen,
                vplsSpmsiOrigAddrType,
                vplsSpmsiOrigAddress}
       ::= { vplsSpmsiTable 1 }

    VplsSpmsiEntry ::= SEQUENCE {
       vplsSpmsiCmcastAddrType        InetAddressType,
       vplsSpmsiCmcastGroup           InetAddress,
       vplsSpmsiCmcastGroupPrefixLen  Unsigned32,
       vplsSpmsiCmcastSource          InetAddress,



Jain, et al.            Expires December 7, 2012               [Page 19]

Internet-Draft               VPLS-MCAST MIB                    June 2012


       vplsSpmsiCmcastSourcePrefixLen InetAddress,
       vplsSpmsiOrigAddrType          InetAddressType,
       vplsSpmsiOrigAddress           InetAddress,
       vplsSpmsiTunnelAttribute       RowPointer,
       vplsSpmsiUpTime                TimeInterval,
       vplsSpmsiExpTime               TimeInterval,
       vplsSpmsiRefCnt                Unsigned32
       }

    vplsSpmsiCmcastAddrType OBJECT-TYPE
       SYNTAX        InetAddressType
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "The Internet address type of vplsSpmsiCmcastGroup/Source."
       ::= { vplsSpmsiEntry 1 }

    vplsSpmsiCmcastGroup OBJECT-TYPE
       SYNTAX        InetAddress (SIZE (4|16|20))
       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 vplsSpmsiCmcastGroupPrefixLen must be 32 (or 128)."
       ::= { vplsSpmsiEntry 2 }

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

    vplsSpmsiCmcastSource OBJECT-TYPE
       SYNTAX        InetAddress (SIZE (4|16|20))
       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 vplsSpmsiCmcastSourcePrefixLen must be 32 (or 128)."
       ::= { vplsSpmsiEntry 4 }

    vplsSpmsiCmcastSourcePrefixLen OBJECT-TYPE
       SYNTAX        InetAddress (SIZE (4|16|20))
       MAX-ACCESS    not-accessible



Jain, et al.            Expires December 7, 2012               [Page 20]

Internet-Draft               VPLS-MCAST MIB                    June 2012


       STATUS        current
       DESCRIPTION
           "S-PMSI C-multicast source address prefix length."
       ::= { vplsSpmsiEntry 5 }

    vplsSpmsiOrigAddrType OBJECT-TYPE
       SYNTAX        InetAddressType
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "The Internet address type of vplsSpmsiOrigAddress."
       ::= { vplsSpmsiEntry 6 }

    vplsSpmsiOrigAddress OBJECT-TYPE
       SYNTAX        InetAddress
       MAX-ACCESS    not-accessible
       STATUS        current
       DESCRIPTION
           "The BGP address of the device that originated the S-PMSI."
       ::= { vplsSpmsiEntry 7 }

    vplsSpmsiTunnelAttribute OBJECT-TYPE
       SYNTAX        RowPointer
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "A row pointer to the vplsPmsiTunnelAttributeTable"
       ::= { vplsSpmsiEntry 8 }

    vplsSpmsiUpTime OBJECT-TYPE
       SYNTAX        TimeInterval
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The time since this S-PMSI
            was first advertised/received by the device."
       ::= { vplsSpmsiEntry 9 }

    vplsSpmsiExpTime OBJECT-TYPE
       SYNTAX        TimeInterval
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
            "For UDP-based S-PMSI signaling for VPLS,
            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 device."



Jain, et al.            Expires December 7, 2012               [Page 21]

Internet-Draft               VPLS-MCAST MIB                    June 2012


       ::= { vplsSpmsiEntry 10 }

    vplsSpmsiRefCnt OBJECT-TYPE
       SYNTAX        Unsigned32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The number of c-multicast routes that are mapped to
            this S-PMSI."
     ::= { vplsSpmsiEntry 11 }


    -- Module compliance.
    vplsMcastCompliances
       OBJECT IDENTIFIER ::= { vplsMcastConformance 1 }

    vplsMcastModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
               "Compliance requirement for implementations that
                provide full support for VPLS-LDP-DRAFT-01-MIB.
                Such devices can then be monitored and configured using
                this MIB module."

        MODULE -- this module

        MANDATORY-GROUPS {
               vplsMcastGroup,
               vplsMcastNotificationGroup
        }

        ::= { vplsMcastCompliances 1 }


    -- Units of conformance.

    vplsMcastGroups
        OBJECT IDENTIFIER ::= { vplsMcastConformance 2 }

    vplsMcastGroup OBJECT-GROUP
        OBJECTS {
            vplsMcastGenOperStatusChange,
            vplsMcastGenOperChangeTime,
            vplsMcastGenIpmsiConfig,
            vplsMcastGenInterasPmsiConfig,
            vplsMcastGenCfgSiteType,
            vplsMcastGenCfgExcludeUnknownUnicast,
            vplsMcastGenRowStatus,



Jain, et al.            Expires December 7, 2012               [Page 22]

Internet-Draft               VPLS-MCAST MIB                    June 2012


            vplsPmsiCfgTunnelType,
            vplsPmsiCfgTunnelAuxInfo,
            vplsPmsiCfgTunnelOrTemplateName,
            vplsPmsiCfgRowStatus,
            vplsPmsiBgpADAttribute,
            vplsPmsiBgpVplsAttribute,
            vplsPmsiTunnelPointer,
            vplsPmsiTunnelIf,
            vplsSpmsiCfgThreshold,
            vplsSpmsiCfgPmsiPointer,
            vplsSpmsiCfgRowStatus,
            vplsSpmsiTunnelAttribute,
            vplsSpmsiUpTime,
            vplsSpmsiExpTime,
            vplsSpmsiRefCnt
        }
        STATUS  current
        DESCRIPTION
              "TODO"
        ::= { vplsMcastGroups 1 }

    vplsMcastNotificationGroup OBJECT-GROUP
        OBJECTS { vplsMcastNotificationEnable
        }
        STATUS  current
        DESCRIPTION
              "TODO"
        ::= { vplsMcastGroups 2 }


    END


8.  Security Considerations

   TODO

9.  IANA Considerations

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

   .

10.  Contributors

   TODO.




Jain, et al.            Expires December 7, 2012               [Page 23]

Internet-Draft               VPLS-MCAST MIB                    June 2012


11.  Acknowledgements

   [TODO].

12.  References

12.1.  Normative References

   [RFC2629]                    Rose, M., "Writing I-Ds and RFCs using
                                XML", RFC 2629, June 1999.

   [RFC2863]                    McCloghrie, K. and F. Kastenholz, "The
                                Interfaces Group MIB", RFC 2863,
                                June 2000.

   [RFC3418]                    Presuhn, R., "Management Information
                                Base (MIB) for the Simple Network
                                Management Protocol (SNMP)", STD 62,
                                RFC 3418, December 2002.

   [RFC4181]                    Heard, C., "Guidelines for Authors and
                                Reviewers of MIB Documents", BCP 111,
                                RFC 4181, September 2005.

   [RFC2119]                    Bradner, S., "Key words for use in RFCs
                                to Indicate Requirement Levels", BCP 14,
                                RFC 2119, March 1997.

   [RFC2578]                    McCloghrie, K., Ed., Perkins, D., Ed.,
                                and J. Schoenwaelder, Ed., "Structure of
                                Management Information Version 2
                                (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC2579]                    McCloghrie, K., Ed., Perkins, D., Ed.,
                                and J. Schoenwaelder, Ed., "Textual
                                Conventions for SMIv2", STD 58,
                                RFC 2579, April 1999.

   [RFC2580]                    McCloghrie, K., Perkins, D., and J.
                                Schoenwaelder, "Conformance Statements
                                for SMIv2", STD 58, RFC 2580,
                                April 1999.

   [I-D.ietf-l2vpn-vpls-mcast]  Aggarwal, R., Rekhter, Y., Kamite, Y.,
                                and L. Fang, "Multicast in VPLS",
                                draft-ietf-l2vpn-vpls-mcast-10 (work in
                                progress), February 2012.




Jain, et al.            Expires December 7, 2012               [Page 24]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   [I-D.ietf-l2vpn-vpls-mib]    Koushik, K., Mediratta, R., and T.
                                Nadeau, "Virtual Private Lan Services
                                (VPLS) Management Information Base",
                                draft-ietf-l2vpn-vpls-mib-06 (work in
                                progress), October 2011.

12.2.  Informative References

   [RFC3410]                    Case, J., Mundy, R., Partain, D., and B.
                                Stewart, "Introduction and Applicability
                                Statements for Internet-Standard
                                Management Framework", RFC 3410,
                                December 2002.

   [RFC4761]                    Kompella, K. and Y. Rekhter, "Virtual
                                Private LAN Service (VPLS) Using BGP for
                                Auto-Discovery and Signaling", RFC 4761,
                                January 2007.

   [RFC4762]                    Lasserre, M. and V. Kompella, "Virtual
                                Private LAN Service (VPLS) Using Label
                                Distribution Protocol (LDP) Signaling",
                                RFC 4762, January 2007.

   [RFC3468]                    Andersson, L. and G. Swallow, "The
                                Multiprotocol Label Switching (MPLS)
                                Working Group decision on MPLS signaling
                                protocols", RFC 3468, February 2003.

   [RFC4875]                    Aggarwal, R., Papadimitriou, D., and S.
                                Yasukawa, "Extensions to Resource
                                Reservation Protocol - Traffic
                                Engineering (RSVP-TE) for Point-to-
                                Multipoint TE Label Switched Paths
                                (LSPs)", RFC 4875, May 2007.

Authors' Addresses

   Pradeep Jain
   Alcatel-Lucent, Inc.
   701 E Middlefield Rd
   Mountain View, CA  94040
   USA

   EMail: pradeep.jain@alcatel-lucent.com






Jain, et al.            Expires December 7, 2012               [Page 25]

Internet-Draft               VPLS-MCAST MIB                    June 2012


   Kanwar Singh
   Alcatel-Lucent, Inc.
   701 E Middlefield Rd
   Mountain View, CA  94040
   USA

   EMail: kanwar.singh@alcatel-lucent.com


   Ranganathan Boovaraghavan
   Alcatel-Lucent, Inc.
   701 E Middlefield Rd
   Mountain View, CA  94040
   USA

   EMail: ranganathan.boovaraghavan@alcatel-lucent.com


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

   EMail: zzhang@juniper.net


























Jain, et al.            Expires December 7, 2012               [Page 26]