Internet Draft                                Thomas D. Nadeau (Ed.)
Expires: June 2007                            A S Kiran Koushik (Ed.)
                                              Cisco Systems, Inc.


       Virtual Private Lan Services (VPLS) Management Information Base

                     draft-nadeau-l2vpn-vpls-mib-03.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as
   Internet-Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

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
    for modeling of Virtual Private LAN services. It needs to be used
    in conjunction with Pswudo Wire (PW) Management Information Base
    [PWE3-PW-MIB].

 Table of Contents

 Abstract............................................................1
 1    Introduction...................................................2
 1.1  Changes from version 00 to 01..................................2
 1.2  Changes from version 01 to 02..................................2
 1.3  Changes from version 02 to 03..................................2
 2    Terminology....................................................3
 3    The Internet-Standard Management Framework.....................3


L2 VPN Working Group            Expires June 2007            [Page 1]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



 4    VPLS MIB modules Architecture..................................4
 4.1  VPLS-GENERIC-DRAFT-01-MIB Module Usage.........................4
 4.2  VPLS-LDP-DRAFT-01-MIB Module Usage.............................4
 4.3  VPLS-BGP-DRAFT-01-MIB Module Usage.............................4
 4.4  Relations to other MIB modules.................................4
 5    Example of the VPLS MIB modules usage .........................5
 6    Object definitions.............................................6
 6.1  VPLS-GENERIC-DRAFT-01-MIB......................................6
 6.2  VPLS-LDP-DRAFT-01-MIB Object definitions......................19
 6.3  VPLS-BGP-DRAFT-01-MIB Object definitions......................27
 7    Security considerations.......................................36
 8    IANA Considerations...........................................36
 9    References....................................................37
 9.1  Normative References..........................................37
 9.2  Informative References........................................38
 10   Acknowledgement ..............................................38
 11   Author's Addresses............................................38
 12   Intellectual Property Notice..................................38
 13   Full Copyright Statement......................................39

1  Introduction

    This memo defines a portion of the Management Information Base
    (MIB) for use with network management protocols in the Internet
    community. In particular, it defines a MIB module that can be
    used to manage VPLS(Virtual Private LAN  Services for transmission
    over a packet Switched Network (PSN) using LDP [L2VPN-VPLS-LDP] or
    BGP[L2VPN-VPLS-BGP] signalling. This MIB module provides generic
    management of VPLS services as defined by the IETF L2VPN Working
    Group.

    Comments should be made directly to the L2VPN mailing list at
    l2vpn@ietf.org.

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

Conventions used in this document

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

1.1.  Changes from version 00 to 01




L2 VPN Working Group            Expires June 2007            [Page 2]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




    [NOTE to RFC Editor: this section is to be removed before
    publication.]

    1.1.1. Split the MIB modules into VPLS-GENERIC-DRAFT-01-MIB,
           VPLS-LDP-DRAFT-01-MIB, VPLS-BGP-DRAFT-01-MIB.
           The generic MIB Module will contain information common
           to both LDP and BGP signalled VPLS.
    1.1.2. Moved certain objects from vplsConfigTable to
           vplsStatusTable.
    1.1.3. Added new objects to the vplsLdpPwBindTable.
    1.1.4. Retained MAC related objects since there is specific
           reference in [L2VPN-VPLS-LDP] and [L2VPN-VPLS-BGP].

1.2.  Changes from version 01 to 02


    [NOTE to RFC Editor: this section is to be removed before
    publication.]

    1.2.1. Added new objects to the vplsConfigTable.
    1.2.2. Editorial changes.

1.3.  Changes from version 02 to 03

    [NOTE to RFC Editor: this section is to be removed before
    publication.]

    1.3.1. Added the VPLS-BGP-DRAFT-01-MIB module.

2  Terminology

    This document adopts the definitions, acronyms and mechanisms
    described in [RFC3985]. Unless otherwise stated, the mechanisms of
    [RFC3985] apply and will not be re-described here.

3  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



L2 VPN Working Group            Expires June 2007            [Page 3]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



    is described in STD 58,RFC 2578 [RFC2578], STD 58, RFC 2579
    [RFC2579] and STD 58, RFC 2580 [RFC2580].

4.  VPLS MIB Module Architecture

    The MIB structure for defining a VPLS service is composed from four
    types of MIB modules.

    The first type is the VPLS-GENERIC-DRAFT-01-MIB module, which
    configures general parameters of the VPLS service that are common
    to all types of emulated services.

    The second type is the VPLS-LDP-DRAFT-01-MIB module, which
    configures VPLS-LDP[L2VPN-VPLS-LDP] specific parameters of the
    VPLS service.

    The third type is the VPLS-BGP-DRAFT-01-MIB module, which configures
    VPLS-BGP[L2VPN-VPLS-BGP] specific parameters of the
    VPLS service.

    The fourth type of modules are service-specific modules, which are
    defined in other documents.



                                 --------     -----------------
                    PW Mapping  |        |   |                 |
                         -----> | PW-MIB |-->|PW-ENET/MPLS-MIB |
          __________    /       |        |   |                 |
         |          |  /         --------     -----------------
         | VPLS MIB | /          ------------
         |          |---------->|            |
          ----------- MAC addr. | BRIDGE-MIB |
                    mapping(TBD)|            |
                                 ------------

4.1. VPLS-GENERIC-DRAFT-01-MIB Module Usage
      An entry in the vplsConfigTable MUST exist for a VPLS service.
     This table holds generic parameters which apply to a VPLS service
     which can be signalled via LDP or BGP.

    A conceptual row can be created in the vplsConfigTable in one of
    the following ways:

    1) The operator creates a row in the vplsConfigTable when
        configuring the node for a new service. This mode MUST be
        supported by the agent, and MUST be used when creating a
        manually assigned VPLS service.



L2 VPN Working Group            Expires June 2007            [Page 4]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




    2) The agent MAY create a row in the vplsConfigTable automatically
        due to some auto discovery application, or based on
        configuration that is done through non-SNMP applications.
       This mode is OPTIONAL.

      An entry in the vplsPwBindTable MUST exist for a VPLS service.
     This binding table links one VPLS service with one or many
     pseudo wires (defined in [PWE3-PW-MIB]). The pseudo wire may
     be used as a spoke or a mesh based on the parameters defined
     in this table.

     The agent than creates the rows in the (locally supported)
      performance tables and reverse mapping tables in
      VPLS-GENERIC-DRAFT-01-MIB module.

4.2. VPLS-LDP-DRAFT-01-MIB Module Usage

     An entry in the vplsLdpConfigTable MUST be created by the agent
     for a VPLS service signalled using LDP.

4.3. VPLS-BGP-DRAFT-01-MIB Module Usage

     An entry in the vplsBgpConfigTable MUST be created by the agent
     for a VPLS service signalled using LDP.


4.4. Relations to other MIB modules


     - The vplsPwBindTable links the VPLS entry to various entries in
        the [PWE3-PW-MIB]

     - The association of MAC addresses to VPLS entries is TBD.
        Presentlyinvestigating BRIDGE-MIB to accomodate the same.

     - Unless all the necessary entries in the applicable tables have
       been created and all the parameters have been consistently
       configured in those tables, signaling cannot be performed
       from the local node, and the ??? should report 'notPresent'.

     - Statistics can be gathered from the [PWE3-PW-MIB] - TBD

5  Example of the VPLS MIB modules usage

    In this section we provide an example of using the MIB objects
    described in section 7 to set up a VPLS service over MPLS. While
    this example is not meant to illustrate every permutation of the



L2 VPN Working Group            Expires June 2007            [Page 5]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



    MIB, it is intended as an aid to understanding some of the key
    concepts. It is meant to be read after going through the MIB
    itself.

    In the VPLS-GENERIC-DRAFT-01-MIB module:

    In vplsConfigTable:
    {
         vplsConfigIndex                         10,
         vplsConfigName                          "VPLS-A"
         vplsConfigAdminStatus                   1(up),
         vplsConfigMacLearning                   1(true),
         vplsConfigDiscardUnknownDest            2(false),
         vplsConfigMacAging                      1(true),
         vplsConfigVpnId                         "100:10"
         vplsConfigRowStatus                     1(active)
   }

   In vplsStatusTable:
   {
        vplsStatusOperStatus                    1(up),
   }

   In the VPLS-LDP-DRAFT-01-MIB module:

   In vplsLdpConfigTable:
   {
         vplsLdpConfigMacAddrWithdraw            1(true),


   }

   In vplsLdpPwBindTable:
   {
         vplsLdpPwBindType                 1(mesh),
         vplsLdpPwBindMacAddressLimit      100
   }

6  Object definitions

6.1 VPLS-GENERIC-DRAFT-01-MIB

    This MIB module makes references to the following documents.
    [RFC2578], [RFC2579], [RFC2580], [RFC2571], [RFC3411],
    [RFC2863], [RFC4001], [RFC4265] and [RFC3813].

      VPLS-GENERIC-DRAFT-01-MIB DEFINITIONS ::= BEGIN




L2 VPN Working Group            Expires June 2007            [Page 6]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



      IMPORTS
      NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, Counter32, transmission
         FROM SNMPv2-SMI                    -- RFC2578

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

      TruthValue, RowStatus, StorageType
         FROM SNMPv2-TC                     -- RFC2579

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB            -- RFC3411

       PwIndexType
               FROM PW-TC-STD-MIB

        VPNIdOrZero
               FROM VPN-TC-STD-MIB           -- RFC4265
;


   vplsGenericDraft01MIB MODULE-IDENTITY
      LAST-UPDATED "200608301200Z"  -- 30 Aug 2006 12:00:00 GMT
      ORGANIZATION "Layer 2 Virtual Private Networks (L2VPN)
                                 Working  Group"
      CONTACT-INFO
          "
           Thomas D. Nadeau
           Email:  tnadeau@cisco.com

           The L2VPN Working Group (email distribution l2vpn@ietf.org,
           http://www.ietf.org/html.charters/l2vpn-charter.html)
           "

      DESCRIPTION
          "Copyright (C) The Internet Society (2007). The initial
           version of this MIB module was published in RFC XXXX.
   -- RFC Editor: Please replace XXXX with RFC number & remove
   --                    this note.

           For full legal notices see the RFC itself or see:
           http://www.ietf.org/copyrights/ianamib.html

           This MIB module contains generic managed object definitions
           for Virtual Private LAN Services as in [L2VPN-VPLS-LDP] and
           [L2VPN-VPLS-BGP]




L2 VPN Working Group            Expires June 2007            [Page 7]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           This MIB module enables the use of any underlying Pseudo Wire
           network."

      -- Revision history.
      REVISION
          "200608301200Z"  -- 30 August 2006 12:00:00 GMT
      DESCRIPTION
          "Changes from previous version:
           1) Moved LDP Specific information to VPLS-LDP-DRAFT-01-MIB
           2) Created the vplsStatusTable to store status information.
           3)
          "
      REVISION
          "200606041200Z"  -- 4 June 2006 12:00:00 GMT


      DESCRIPTION "Initial version published as part of RFC YYYY."
   -- RFC Editor: please replace YYYY with IANA assigned value, and
   -- delete this note.

         ::= { transmission XXXX }
   -- RFC Editor: please replace XXXX with IANA assigne value, and
   -- delete this note.

   -- Top-level components of this MIB.

   -- Notifications
   vplsNotifications OBJECT IDENTIFIER
                                 ::= { vplsGenericDraft01MIB 0 }
   -- Tables, Scalars
   vplsObjects       OBJECT IDENTIFIER
                                 ::= { vplsGenericDraft01MIB 1 }
   -- Conformance
   vplsConformance   OBJECT IDENTIFIER
                                 ::= { vplsGenericDraft01MIB 2 }

   -- PW Virtual Connection Table

   vplsConfigIndexNext OBJECT-TYPE
      SYNTAX            Unsigned32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
          "This object contains an appropriate value to be used
           for vplsConfigIndex when creating entries in the
           vplsConfigTable. The value 0 indicates that no
           unassigned entries are available.  To obtain the
           value of vplsConfigIndex for a new entry in the



L2 VPN Working Group            Expires June 2007            [Page 8]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           vplsConfigTable, the manager issues a management
           protocol retrieval operation to obtain the current
           value of vplsConfigIndex.  After each retrieval
           operation, the agent should modify the value to
           reflect the next unassigned index.  After a manager
           retrieves a value the agent will determine through
           its local policy when this index value will be made
           available for reuse."
      ::= { vplsObjects 1 }

      vplsConfigTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table specifies information for configuring
                and monitoring Virtual Private Lan Services(VPLS).
                "
          ::= { vplsObjects 2 }

      vplsConfigEntry OBJECT-TYPE
          SYNTAX          VplsConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
           "A row in this table represents a Virtual Private Lan
            Service(VPLS) in a packet network. It is indexed by
            vplsConfigIndex, which uniquely identifies a single VPLS.

            A row is created by the operator or by the agent if a
            VPLS service is created by non-SNMP application or
            due to autodiscovery process.

            None of the read-create objects values can be
            changed when vplsConfigRowStatus is in the active(1)
            state. Changes are allowed when the vplsConfigRowStatus
            is in notInService(2) or notReady(3) states only.
            If the operator need to change one of the values
            for an active row the vplsConfigRowStatus should be
            first changed to notInService(2), the objects may
            be changed now, and later to active(1) in order to
            re-initiate the signaling process with the new
            values in effect.
            "
          INDEX           { vplsConfigIndex }
          ::= { vplsConfigTable 1 }

     VplsConfigEntry ::=



L2 VPN Working Group            Expires June 2007            [Page 9]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



        SEQUENCE {
         vplsConfigIndex                                Unsigned32,
         vplsConfigName                                 SnmpAdminString,
         vplsConfigDescr                                SnmpAdminString,
         vplsConfigAdminStatus                          INTEGER,
         vplsConfigMacLearning                          TruthValue,
         vplsConfigDiscardUnknownDest                   TruthValue,
         vplsConfigMacAging                             TruthValue,
         vplsConfigFwdFullHighWatermark                 Unsigned32,
         vplsConfigFwdFullLowWatermark                  Unsigned32,
         vplsConfigRowStatus                            RowStatus,
         vplsConfigMtu                                  Unsigned32,
         vplsConfigVpnId                                VPNIdOrZero,
         vplsConfigServiceType                          INTEGER,
         vplsConfigStorageType                          StorageType
          }

      vplsConfigIndex  OBJECT-TYPE
          SYNTAX          Unsigned32 (1.. 2147483647)


          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "Unique index for the conceptual row identifying
                a VPLS service."
          ::= { vplsConfigEntry 1 }

      vplsConfigName  OBJECT-TYPE
          SYNTAX          SnmpAdminString
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "A textual name of the VPLS.
                If there is no local name, or this object is
                otherwise not applicable, then this object MUST
                contain a zero-length octet string."
          DEFVAL           { "" }
          ::= { vplsConfigEntry 2 }

      vplsConfigDescr  OBJECT-TYPE
          SYNTAX          SnmpAdminString
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "A textual string containing information about the
               VPLS service. If there is no information for this VPLS
               service, then this object MUST contain a zero-length



L2 VPN Working Group            Expires June 2007           [Page 10]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



               octet string."
          DEFVAL           { "" }
          ::= { vplsConfigEntry 3 }

      vplsConfigAdminStatus OBJECT-TYPE
          SYNTAX          INTEGER {
                              up(1),
                              down(2),
                              testing(3)   -- in some test mode

                          }
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "The desired administrative state of the VPLS
                service. If the administrative status of the
                Vpls service is changed to enable then this
                service is able to utilize the pseudo wire to
                perform the tasks of a VPLS service.
                The testing(3) state indicates that no operational
                packets can be passed. "


          DEFVAL           { down }
          ::= { vplsConfigEntry 4 }

      vplsConfigMacLearning OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "This object specifies if MAC Learning is enabled
                in this service. If this object is true then Mac
                Learning is enabled. If false, then Mac Learning is
                disabled."
          DEFVAL          { true }
          ::= { vplsConfigEntry 6 }

      vplsConfigDiscardUnknownDest OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "If the value of this object is 'true', then frames
                received with an unknown destination MAC are discarded
                in this VPLS. If 'false', then the packets are
                processed."
          DEFVAL          { false }



L2 VPN Working Group            Expires June 2007           [Page 11]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



          ::= { vplsConfigEntry 7 }

      vplsConfigMacAging OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "If the value of this object is 'true'
                then the MAC ageing process is enabled in
                this VPLS. If 'false', then the MAC ageing process
                is disabled"
          DEFVAL          { true }
          ::= { vplsConfigEntry 8 }

      vplsConfigFwdFullHighWatermark OBJECT-TYPE
          SYNTAX          Unsigned32 (0..100)
          UNITS           "percentage"
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION


               "This object specifies the utilization of the
                forwarding database for this VPLS instance at
                which the vplsFwdFullAlarmRaised notification
                will be sent."
          DEFVAL          { 95 }
          ::= { vplsConfigEntry 10 }

      vplsConfigFwdFullLowWatermark OBJECT-TYPE
          SYNTAX          Unsigned32 (0..100)
          UNITS           "percentage"
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "This object specifies the utilization of the
                forwarding database for this VPLS instance
                at which the vplsFwdFullAlarmCleared
                notification will be sent."
          DEFVAL          { 90 }
          ::= { vplsConfigEntry 11 }

      vplsConfigRowStatus OBJECT-TYPE
          SYNTAX          RowStatus
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "For creating, modifying, and deleting this row.



L2 VPN Working Group            Expires June 2007           [Page 12]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



                None of the read-create objects in the
                conceptual rows may be changed when this
                object is in the active(1) state."
          ::= { vplsConfigEntry 12 }

      vplsConfigMtu OBJECT-TYPE
          SYNTAX          Unsigned32 (64..1518)
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "The value of this object specifies the MTU of this
                vpls instance."
          DEFVAL          { 1518 }
          ::= { vplsConfigEntry 13 }

      vplsConfigVpnId OBJECT-TYPE
          SYNTAX          VPNIdOrZero
          MAX-ACCESS      read-only
          STATUS          current
          DESCRIPTION
               "This objects indicates the IEEE 802-1990
                VPN ID of the associated VPLS service."
-- Ed note: Should we import the VPNIdOrZero TC or
--              define a new TC?
          ::= { vplsConfigEntry 14 }

      vplsConfigServiceType OBJECT-TYPE
          SYNTAX          INTEGER {
                           vlan     (1),
                           ethernet (2)
                          }
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "The value of this object specifies the type of
                service emulated by this vpls instance."
          DEFVAL          { vlan }
          ::= { vplsConfigEntry 15 }

  vplsConfigStorageType OBJECT-TYPE
          SYNTAX        StorageType
          MAX-ACCESS    read-create
          STATUS        current
          DESCRIPTION
               "This variable indicates the storage type for this row."
          DEFVAL { volatile }
          ::= { vplsConfigEntry 16 }




L2 VPN Working Group            Expires June 2007           [Page 13]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



-- VPLS Status table

      vplsStatusTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsStatusEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION


               "This table provides information for monitoring
                Virtual Private Lan Services(VPLS).
                "
          ::= { vplsObjects 3 }

      vplsStatusEntry OBJECT-TYPE
          SYNTAX          VplsStatusEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
           "A row in this table represents a Virtual Private Lan
            Service(VPLS) in a packet network. It is indexed by
            vplsConfigIndex, which uniquely identifies a single VPLS.

            A row in this table is automatically created by the agent
            when a VPLS service is configured.
            "
          INDEX           { vplsConfigIndex }
          ::= { vplsStatusTable 1 }

     VplsStatusEntry ::=
        SEQUENCE {
         vplsStatusOperStatus                        INTEGER,
         vplsStatusPeerCount                         Counter32
          }

      vplsStatusOperStatus OBJECT-TYPE
          SYNTAX          INTEGER {
                              other(0),
                              up(1),
                              down(2)
                          }
          MAX-ACCESS      read-only
          STATUS          current
          DESCRIPTION
               "The current operational state of this VPLS Service."
          ::= { vplsStatusEntry 1 }

      vplsStatusPeerCount OBJECT-TYPE



L2 VPN Working Group            Expires June 2007           [Page 14]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



          SYNTAX          Counter32
          MAX-ACCESS      read-only
          STATUS          current
          DESCRIPTION
               "This objects specifies the number of peers
                present in this vpls instance."
          ::= { vplsStatusEntry 2 }


      -- VPLS PW Binding Table

      vplsPwBindTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table provides an association between a
                VPLS service and the corresponding Pseudo
                Wires. A service can have more than one Pseudo
                Wire association. Pseudo Wires are defined in
                the pwTable"
          ::= { vplsObjects 4 }

      vplsPwBindEntry OBJECT-TYPE
          SYNTAX          VplsPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "Each row represents an association between a
                VPLS instance and one or more Pseudo Wires
                defined in the pwTable. Each index is unique
                in describing an entry in this table. However
                both indexes are required to define the one
                to many association of service to
                pseudowire."
          INDEX  { vplsConfigIndex, vplsPwBindIndex }
          ::= { vplsPwBindTable 1 }

      VplsPwBindEntry ::=
          SEQUENCE {
              vplsPwBindIndex                     PwIndexType,
              vplsPwBindConfigType              INTEGER,
              vplsPwBindType                  INTEGER,
              vplsPwBindRowStatus             RowStatus,
              vplsPwBindStorageType             StorageType
          }

      vplsPwBindIndex        OBJECT-TYPE



L2 VPN Working Group            Expires June 2007           [Page 15]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           SYNTAX        PwIndexType
           MAX-ACCESS    not-accessible
           STATUS        current
           DESCRIPTION
              "Secondary Index for the conceptual row identifying
               a pseudowire within the PwEntry which MUST
               match an entry from the PW-STD-MIB's PwTable
               which represents an already-provisioned
               pseuwowire that is then associated with this
               VPLS instance."
          ::= { vplsPwBindEntry 1 }

      vplsPwBindConfigType   OBJECT-TYPE
           SYNTAX          INTEGER {
                                   manual        (1),
                                   autodiscovery (2)
                           }
           MAX-ACCESS      read-create
           STATUS          current
           DESCRIPTION
                "The value of this object indicates
                 whether the Pseudo Wire binding was created
                 manually or via autodiscovery.

                 The value of this object must be
                 specifed when the row is created and cannot
                 be changed while the row status is active(1)"
          ::= { vplsPwBindEntry 2 }

      vplsPwBindType   OBJECT-TYPE
           SYNTAX          INTEGER {
                                   mesh  (1),
                                   spoke (2)
                           }
           MAX-ACCESS      read-create
           STATUS          current
           DESCRIPTION
                "The value of this object indicates
                 whether the Pseudo Wire binding is of
                 type mesh or spoke.

                 The value of this object must be
                 specifed when the row is created and cannot
                 be changed while the row status is active(1)"
          ::= { vplsPwBindEntry 3 }

      vplsPwBindRowStatus  OBJECT-TYPE
           SYNTAX          RowStatus



L2 VPN Working Group            Expires June 2007           [Page 16]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           MAX-ACCESS      read-create
           STATUS          current
           DESCRIPTION
                "For creating, modifying, and deleting this row.
                 None of the read-create objects in the
                 conceptual rows may be changed when this
                 object is in the active(1) state"
          ::= { vplsPwBindEntry 4 }

      vplsPwBindStorageType OBJECT-TYPE
           SYNTAX        StorageType
           MAX-ACCESS    read-create
           STATUS        current
           DESCRIPTION
                "This variable indicates the storage type for this row."
           DEFVAL { volatile }
           ::= { vplsPwBindEntry 5 }

   vplsStatusNotifEnable  OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
           "If this object is set to true(1), then it enables
            the emission of vplsStatusChanged
            notification; otherwise this notification is not
            emitted."
      REFERENCE
           "See also [RFC3413] for explanation that
            notifications are under the ultimate control of the
            MIB module in this document."
      DEFVAL { false }
      ::= { vplsObjects 5 }

   vplsNotificationMaxRate OBJECT-TYPE
      SYNTAX       Unsigned32
      MAX-ACCESS   read-write
      STATUS       current
      DESCRIPTION
           "This object indicates the maximum number of
            notifications issued per second. If events occur
            more rapidly, the implementation may simply fail to
            emit these notifications during that period, or may
            queue them until an appropriate time. A value of 0
            means no throttling is applied and events may be
            notified at the rate at which they occur."
      DEFVAL       { 0 }
      ::= { vplsObjects 6 }



L2 VPN Working Group            Expires June 2007           [Page 17]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




      -- VPLS Service Notifications

      vplsStatusChanged NOTIFICATION-TYPE
          OBJECTS {
              vplsConfigVpnId,
              vplsConfigAdminStatus,
              vplsStatusOperStatus
          }
          STATUS          current
          DESCRIPTION
               "The vplsStatusChanged notification is generated
                when there is a change in the administrative or
                operating status of a VPLS service."
          ::= { vplsNotifications 1 }

      vplsFwdFullAlarmRaised NOTIFICATION-TYPE
          OBJECTS {
              vplsConfigVpnId,
              vplsConfigFwdFullHighWatermark,
              vplsConfigFwdFullLowWatermark
          }
          STATUS          current
          DESCRIPTION
               "The vplsFwdFullAlarmRaised notification is
                generated when the utilization of the Forwarding
                database is above the value specified by
                vplsConfigFwdFullHighWatermark."
          ::= { vplsNotifications 2 }

      vplsFwdFullAlarmCleared NOTIFICATION-TYPE
          OBJECTS {
              vplsConfigVpnId,
              vplsConfigFwdFullHighWatermark,
              vplsConfigFwdFullLowWatermark
          }
          STATUS          current
          DESCRIPTION
               "The vplsFwdFullAlarmCleared notification is
                generated when the utilization of the Forwarding
                database is below the value specified by
                vplsConfigFwdFullLowWatermark."
          ::= { vplsNotifications 3 }

   -- Compliance requirement for read-only implementations.

   vplsCompliances
     OBJECT IDENTIFIER ::= { vplsConformance 1 }



L2 VPN Working Group            Expires June 2007           [Page 18]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




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

          MANDATORY-GROUPS {
               vplsGroup,
               vplsPwBindGroup,
               vplsNotificationGroup
           }

      ::= { vplsCompliances 1 }


   vplsModuleReadOnlyCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance requirement for implementations that only
            provide read-only support for VPLS-GENERIC-DRAFT-01-MIB.
            Such devices can then be monitored but cannot be
            configured using this MIB modules."

      MODULE -- this module

          MANDATORY-GROUPS {
               vplsGroup,
               vplsPwBindGroup,
               vplsNotificationGroup
           }

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


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

           OBJECT          vplsConfigAdminStatus
           MIN-ACCESS      read-only



L2 VPN Working Group            Expires June 2007           [Page 19]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           DESCRIPTION
               "Write access is not required."

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

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

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

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

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

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

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

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

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




L2 VPN Working Group            Expires June 2007           [Page 20]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



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

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

      ::= { vplsCompliances 2 }

-- Units of conformance.

      vplsGroups
        OBJECT IDENTIFIER ::= { vplsConformance 2 }


      vplsGroup OBJECT-GROUP
          OBJECTS {
              vplsConfigName,
              vplsConfigDescr,
              vplsConfigAdminStatus,
              vplsConfigMacLearning,
              vplsConfigDiscardUnknownDest,
              vplsConfigMacAging,
              vplsConfigVpnId,
              vplsConfigFwdFullHighWatermark,
              vplsConfigFwdFullLowWatermark,
              vplsConfigRowStatus,
              vplsConfigIndexNext,
              vplsConfigMtu,
              vplsConfigServiceType,
              vplsConfigStorageType,

              vplsStatusOperStatus,
              vplsStatusPeerCount,

              vplsStatusNotifEnable,
              vplsNotificationMaxRate
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting
                management of L2VPN VPLS services"
          ::= { vplsGroups 1 }

      vplsPwBindGroup OBJECT-GROUP



L2 VPN Working Group            Expires June 2007           [Page 21]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



          OBJECTS {
              vplsPwBindConfigType,
              vplsPwBindType,
              vplsPwBindRowStatus,
              vplsPwBindStorageType
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting
                management of
                Pseudo Wire (PW) Binding to VPLS."
          ::= { vplsGroups 2 }

      vplsNotificationGroup NOTIFICATION-GROUP
          NOTIFICATIONS   {
              vplsStatusChanged,
              vplsFwdFullAlarmRaised,
              vplsFwdFullAlarmCleared
          }
          STATUS          current
          DESCRIPTION
               "The group of notifications supporting
                the  Notifications generated for
                VPLS Services"
          ::= { vplsGroups 3 }


       END

6.2  VPLS-LDP-DRAFT-01-MIB Object definitions

    This MIB module makes references to the following documents.
    [RFC2578], [RFC2579], [RFC2580], [RFC2571], [RFC3411],
    [RFC2863], [RFC4001], [RFC4265] and [RFC3813].

      VPLS-LDP-DRAFT-01-MIB DEFINITIONS ::= BEGIN

      IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, transmission
         FROM SNMPv2-SMI                    -- RFC2578

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

      TruthValue
         FROM SNMPv2-TC                     -- RFC2579




L2 VPN Working Group            Expires June 2007           [Page 22]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



      vplsConfigIndex, vplsPwBindIndex
               FROM VPLS-GENERIC-DRAFT-01-MIB
;

   vplsLdpDraft01MIB MODULE-IDENTITY
      LAST-UPDATED "200608301200Z"  -- 20 August 2006 12:00:00 GMT
      ORGANIZATION "Layer 2 Virtual Private Networks (L2VPN)
                                 Working  Group"
      CONTACT-INFO
          "
           Thomas D. Nadeau
           Email:  tnadeau@cisco.com

           The L2VPN Working Group (email distribution l2vpn@ietf.org,
           http://www.ietf.org/html.charters/l2vpn-charter.html)
           "


      DESCRIPTION
          "Copyright (C) The Internet Society (2007). The initial
           version of this MIB module was published in RFC XXXX.
   -- RFC Editor: Please replace XXXX with RFC number & remove
   --                    this note.

           For full legal notices see the RFC itself or see:
           http://www.ietf.org/copyrights/ianamib.html

           This MIB module contains managed object definitions for
           LDP signalled Virtual Private LAN Services as in
           [L2VPN-VPLS-LDP]

           This MIB module enables the use of any underlying Pseudo Wire
           network. "

      -- Revision history.

      REVISION
          "200608301200Z"  -- 30 Aug 2006 12:00:00 GMT
      DESCRIPTION "Initial version published as part of RFC YYYY."
   -- RFC Editor: please replace YYYY with IANA assigned value, and
   -- delete this note.

         ::= { transmission XXXX }
   -- RFC Editor: please replace XXXX with IANA assigne value, and
   -- delete this note.

   -- Top-level components of this MIB.




L2 VPN Working Group            Expires June 2007           [Page 23]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



   -- Tables, Scalars
   vplsLdpObjects       OBJECT IDENTIFIER
                                 ::= { vplsLdpDraft01MIB 1 }
   -- Conformance
   vplsLdpConformance   OBJECT IDENTIFIER
                                 ::= { vplsLdpDraft01MIB 2 }

      vplsLdpConfigTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsLdpConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table specifies information for configuring
                and monitoring LDP specific parameters for
                Virtual Private Lan Services(VPLS)."
          ::= { vplsLdpObjects 1 }

      vplsLdpConfigEntry OBJECT-TYPE
          SYNTAX          VplsLdpConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
           "A row in this table represents LDP specific information
            for Virtual Private Lan Service(VPLS) in a packet network.
            It is indexed by vplsConfigIndex, which uniquely
            identifies a single VPLS.

            A row is automatically created when a VPLS service is
            configured using LDP signalling.

            None of the read-create objects values can be
            changed when vplsRowStatus is in the active(1)
            state. Changes are allowed when the vplsRowStatus
            is in notInService(2) or notReady(3) states only.
            If the operator need to change one of the values
            for an active row the vplsConfigRowStatus should be
            first changed to notInService(2), the objects may
            be changed now, and later to active(1) in order to
            re-initiate the signaling process with the new
            values in effect.
            "
          INDEX           { vplsConfigIndex }
          ::= { vplsLdpConfigTable 1 }

     VplsLdpConfigEntry ::=
        SEQUENCE {
         vplsLdpConfigMacAddrWithdraw                   TruthValue
          }



L2 VPN Working Group            Expires June 2007           [Page 24]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




      vplsLdpConfigMacAddrWithdraw OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "This object specifies if MAC address withdrawal
                is enabled in this service. If this object is true then
                Mac address withdrawl Learning is enabled. If false,
                then Mac Learning is disabled."
          DEFVAL          { true }
          ::= { vplsLdpConfigEntry 1 }

      -- VPLS LDP PW Binding Table

      vplsLdpPwBindTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsLdpPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table provides LDP specific information for
                an association between a VPLS service and the
                corresponding Pseudo Wires. A service can have more
                than one Pseudo Wire association. Pseudo Wires are
                defined in the pwTable."
          ::= { vplsLdpObjects 2 }

      vplsLdpPwBindEntry OBJECT-TYPE
          SYNTAX          VplsLdpPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "Each row represents an association between a
                VPLS instance and one or more Pseudo Wires
                defined in the pwTable. Each index is unique
                in describing an entry in this table. However
                both indexes are required to define the one
                to many association of service to pseudowire.

                An entry in this table in instantiated only when
                LDP signalling is used to configure VPLS service.

                Each entry in this table provides LDP specific
                information for the VPlS represented by
                vplsConfigIndex."
          INDEX  { vplsConfigIndex, vplsPwBindIndex }
          ::= { vplsLdpPwBindTable 1 }




L2 VPN Working Group            Expires June 2007           [Page 25]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



      VplsLdpPwBindEntry ::=
          SEQUENCE {
              vplsLdpPwBindMacAddressLimit       Unsigned32
          }

      vplsLdpPwBindMacAddressLimit OBJECT-TYPE
          SYNTAX          Unsigned32 (0.. 4294967295)
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "The value of this object specifies the maximum number
                of learned and static entries allowed in the
                Forwarding database for this PW Binding. The value 0
                means there is no limit for this PW Binding."
          DEFVAL          { 0 }
          ::= { vplsLdpPwBindEntry 1 }

   -- Compliance requirement for read-only implementations.

   vplsLdpCompliances
     OBJECT IDENTIFIER ::= { vplsLdpConformance 1 }

   vplsLdpModuleFullCompliance 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 {
               vplsLdpGroup
           }

      ::= { vplsLdpCompliances 1 }


   vplsLdpModuleReadOnlyCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance requirement for implementations that only
            provide read-only support for VPLS-LDP-DRAFT-01-MIB.
            Such devices can then be monitored but cannot be
            configured using this MIB modules."

      MODULE -- this module



L2 VPN Working Group            Expires June 2007           [Page 26]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




          MANDATORY-GROUPS {
               vplsLdpGroup
           }

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

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

        ::= { vplsLdpCompliances 2 }

-- Units of conformance.

      vplsLdpGroups
        OBJECT IDENTIFIER ::= { vplsLdpConformance 2 }

      vplsLdpGroup OBJECT-GROUP
          OBJECTS {
              vplsLdpConfigMacAddrWithdraw,
              vplsLdpPwBindMacAddressLimit
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting
                management of L2VPN VPLS services using LDP."
          ::= { vplsLdpGroups 1 }

     END

6.3 VPLS-BGP-DRAFT-01-MIB Object definitions

      VPLS-BGP-DRAFT-01-MIB DEFINITIONS ::= BEGIN

      IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
       Unsigned32, transmission
         FROM SNMPv2-SMI                    -- RFC2578

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

      RowStatus, StorageType,  TEXTUAL-CONVENTION



L2 VPN Working Group            Expires June 2007           [Page 27]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



         FROM SNMPv2-TC                     -- RFC2579

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB            -- RFC3411

      vplsConfigIndex, vplsPwBindIndex
               FROM VPLS-GENERIC-DRAFT-01-MIB
;

   vplsBgpDraft01MIB MODULE-IDENTITY
      LAST-UPDATED "200612061200Z"  -- 06 Dec 2006 12:00:00 GMT
      ORGANIZATION "Layer 2 Virtual Private Networks (L2VPN)
                                 Working  Group"
      CONTACT-INFO
          "
           V. J. Shah
           Email: vshah@juniper.net

           The L2VPN Working Group (email distribution l2vpn@ietf.org,
           http://www.ietf.org/html.charters/l2vpn-charter.html)
           "
      DESCRIPTION
          "Copyright (C) The Internet Society (2007). The initial
           version of this MIB module was published in RFC XXXX.
   -- RFC Editor: Please replace XXXX with RFC number & remove
   --                    this note.

           For full legal notices see the RFC itself or see:
           http://www.ietf.org/copyrights/ianamib.html

           This MIB module contains managed object definitions for
           BGP signalled Virtual Private LAN Services as in
           [L2VPN-VPLS-BGP]

           This MIB module enables the use of any underlying Pseudo Wire
           network. "

      -- Revision history.
      REVISION
          "200612061200Z"  -- 06 Dec 2006 12:00:00 GMT
      DESCRIPTION "Initial version published as part of RFC YYYY."
   -- RFC Editor: please replace YYYY with IANA assigned value, and
   -- delete this note.
         ::= { transmission XXXX }
   -- RFC Editor: please replace XXXX with IANA assigne value, and
   -- delete this note.

   -- VPLS BGP specific Textual Conventions.



L2 VPN Working Group            Expires June 2007           [Page 28]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



   VplsBgpRouteDistinguisher ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
          "Syntax for a route distinguisher. For a complete
           definition of a route distinguisher, see [RFC4364].
           For more details on use of a route distinguisher
           for a VPLS service, see [L2VPN-VPLS-BGP]"
      REFERENCE
          "[RFC4364]"
      SYNTAX  OCTET STRING(SIZE (0..256))

   VplsBgpRouteTarget ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
          "Syntax for a route target. For a complete
           definition of a route target, see [RFC4364]."
      REFERENCE
          "[RFC4364]"
      SYNTAX  OCTET STRING(SIZE (0..256))

   -- Top-level components of this MIB.

   -- Tables, Scalars
   vplsBgpObjects       OBJECT IDENTIFIER
                                 ::= { vplsBgpDraft01MIB 1 }
   -- Conformance
   vplsBgpConformance   OBJECT IDENTIFIER
                                 ::= { vplsBgpDraft01MIB 2 }

      -- Vpls Bgp Config Table

      vplsBgpConfigTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsBgpConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table specifies information for configuring
                and monitoring BGP specific parameters for
                Virtual Private Lan Services(VPLS)."
          ::= { vplsBgpObjects 1 }

      vplsBgpConfigEntry OBJECT-TYPE
          SYNTAX          VplsBgpConfigEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
           "A row in this table represents BGP specific information
            for Virtual Private Lan Service(VPLS) in a packet network.



L2 VPN Working Group            Expires June 2007           [Page 29]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



            It is indexed by vplsConfigIndex, which uniquely
            identifies a single instance of a VPLS service.

            A row is automatically created when a VPLS service is
            configured using BGP signalling.

            None of the read-create objects values can be
            changed when vplsRowStatus is in the active(1)
            state. Changes are allowed when the vplsRowStatus
            is in notInService(2) or notReady(3) states only.
            If the operator need to change one of the values
            for an active row the vplsConfigRowStatus should be
            first changed to notInService(2), the objects may
            be changed now, and later to active(1) in order to
            re-initiate the signaling process with the new
            values in effect.
            "
          INDEX           { vplsConfigIndex }
          ::= { vplsBgpConfigTable 1 }

     VplsBgpConfigEntry ::=
        SEQUENCE {
         vplsBgpConfigRouteDistinguisher  VplsBgpRouteDistinguisher,
         vplsBgpConfigRouteTarget         VplsBgpRouteTarget,
         vplsBgpConfigVERangeSize         Unsigned32
        }

     vplsBgpConfigRouteDistinguisher OBJECT-TYPE
        SYNTAX        VplsBgpRouteDistinguisher
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "The route distinguisher for this VPLS. See [RFC4364]
             for a complete definition of a route distinguisher.
             For more details on use of a route distinguisher
             for a VPLS service, see [L2VPN-VPLS-BGP]"
        DEFVAL { "" }
        ::= { vplsBgpConfigEntry 1 }

     vplsBgpConfigRouteTarget OBJECT-TYPE
        SYNTAX        VplsBgpRouteTarget
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "The route target associated with the VPLS service.
             For more details on use of route targets
             for a VPLS service, see [L2VPN-VPLS-BGP]"
        DEFVAL { "" }



L2 VPN Working Group            Expires June 2007           [Page 30]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



        ::= { vplsBgpConfigEntry 2 }

     vplsBgpConfigVERangeSize   OBJECT-TYPE
        SYNTAX        Unsigned32 (0..65535)
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "Specifies the size of the range of VE ids in this
             VPLS service. This number controls the size of the
             label block advertised for this VE by the PE.
             A value of 0 indicates that the range is not
             configured and the PE derives the range value
             from received advertisements from other PEs."
        DEFVAL           { 0 }
        ::= { vplsBgpConfigEntry 3 }

     -- Vpls Edge Device (VE) Identifier Table

     vplsBgpVETable OBJECT-TYPE
         SYNTAX        SEQUENCE OF VplsBgpVEEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
             "This table associates VPLS Edge devices to a VPLS service"
         ::= { vplsBgpObjects 3 }

     vplsBgpVEEntry OBJECT-TYPE
         SYNTAX        VplsBgpVEEntry
         MAX-ACCESS    not-accessible
         STATUS        current
         DESCRIPTION
            "An entry in this table is created for each VE Id
             configured on a PE for a particular VPLS service
             instance."
         INDEX  { vplsConfigIndex, vplsBgpVEId }
         ::= { vplsBgpVETable 1 }

     VplsBgpVEEntry ::= SEQUENCE {
          vplsBgpVEId          Unsigned32,
          vplsBgpVEName        SnmpAdminString,
          vplsBgpVEPreference  Unsigned32,
          vplsBgpVERowStatus   RowStatus,
          vplsBgpVEStorageType StorageType
        }

     vplsBgpVEId OBJECT-TYPE
        SYNTAX        Unsigned32 (1..65535)
        MAX-ACCESS    not-accessible



L2 VPN Working Group            Expires June 2007           [Page 31]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



        STATUS        current
        DESCRIPTION
            "A secondary index identifying a VE within an
             instance of a VPLS service."
        ::= { vplsBgpVEEntry 1 }

     vplsBgpVEName OBJECT-TYPE
        SYNTAX        SnmpAdminString
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "Descriptive name for the site or u-PE assciated with
             this VE Id."
        DEFVAL { "" }
        ::= { vplsBgpVEEntry 2 }

     vplsBgpVEPreference OBJECT-TYPE
        SYNTAX        Unsigned32 (0..65535)
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "Specifies the preference of the VE Id on this PE
             if the site is multi-homed and VE Id is re-used."
        DEFVAL           { 0 }
        ::= { vplsBgpVEEntry 3 }

     vplsBgpVERowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table.  When a row in this
             table is in active(1) state, no objects in that row
             can be modified except vplsBgpSiteRowStatus."
        ::= { vplsBgpVEEntry 5 }

     vplsBgpVEStorageType OBJECT-TYPE
          SYNTAX        StorageType
          MAX-ACCESS    read-create
          STATUS        current
          DESCRIPTION
               "This variable indicates the storage type for this row."
          DEFVAL { volatile }
          ::= { vplsBgpVEEntry 6 }

      -- VPLS BGP PW Binding Table




L2 VPN Working Group            Expires June 2007           [Page 32]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



      vplsBgpPwBindTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF VplsBgpPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "This table provides BGP specific information for
                an association between a VPLS service and the
                corresponding Pseudo Wires. A service can have more
                than one Pseudo Wire association. Pseudo Wires are
                defined in the pwTable."
          ::= { vplsBgpObjects 4 }

      vplsBgpPwBindEntry OBJECT-TYPE
          SYNTAX          VplsBgpPwBindEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "Each row represents an association between a
                VPLS instance and one or more Pseudo Wires
                defined in the pwTable. Each index is unique
                in describing an entry in this table. However
                both indexes are required to define the one
                to many association of service to pseudowire.

                An entry in this table in instantiated only when
                BGP signalling is used to configure VPLS service.

                Each entry in this table provides BGP specific
                information for the VPlS represented by
                vplsConfigIndex."
          INDEX  { vplsConfigIndex, vplsPwBindIndex }
          ::= { vplsBgpPwBindTable 1 }

      VplsBgpPwBindEntry ::=
          SEQUENCE {
              vplsBgpPwBindLocalVEId        Unsigned32,
              vplsBgpPwBindRemoteVEId       Unsigned32
          }

      vplsBgpPwBindLocalVEId   OBJECT-TYPE
           SYNTAX          Unsigned32 (1..65535)
           MAX-ACCESS      read-only
           STATUS          current
           DESCRIPTION
                "Identifies the local VE that this Pseudo Wire
                 is associated with."
          ::= { vplsBgpPwBindEntry 1 }

      vplsBgpPwBindRemoteVEId   OBJECT-TYPE



L2 VPN Working Group            Expires June 2007           [Page 33]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



           SYNTAX          Unsigned32 (1..65535)
           MAX-ACCESS      read-only
           STATUS          current
           DESCRIPTION
                "Identifies the remote VE that this Pseudo Wire
                 is associated with."
          ::= { vplsBgpPwBindEntry 2 }

   -- Compliance requirement for read-only implementations.

   vplsBgpCompliances
     OBJECT IDENTIFIER ::= { vplsBgpConformance 1 }

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

      MODULE -- this module

          MANDATORY-GROUPS {
               vplsBgpConfigGroup,
               vplsBgpVEGroup,
               vplsBgpPwBindGroup
           }
      ::= { vplsBgpCompliances 1 }


   vplsBgpModuleReadOnlyCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance requirement for implementations that only
            provide read-only support for VPLS-BGP-DRAFT-01-MIB.
            Such devices can then be monitored but cannot be
            configured using this MIB modules."

      MODULE -- this module

          MANDATORY-GROUPS {
               vplsBgpConfigGroup,
               vplsBgpVEGroup,
               vplsBgpPwBindGroup
           }

           OBJECT          vplsBgpConfigRouteDistinguisher



L2 VPN Working Group            Expires June 2007           [Page 34]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



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

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

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

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

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

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

      ::= { vplsBgpCompliances 2 }

-- Units of conformance.

      vplsBgpGroups
        OBJECT IDENTIFIER ::= { vplsBgpConformance 2 }

      vplsBgpConfigGroup OBJECT-GROUP
          OBJECTS {
              vplsBgpConfigRouteDistinguisher,
              vplsBgpConfigRouteTarget,
              vplsBgpConfigVERangeSize
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting configuration
                of L2VPN VPLS services using BGP"
          ::= { vplsBgpGroups 1 }




L2 VPN Working Group            Expires June 2007           [Page 35]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



      vplsBgpVEGroup OBJECT-GROUP
          OBJECTS {
              vplsBgpVEName,
              vplsBgpVEPreference,
              vplsBgpVERowStatus,
              vplsBgpVEStorageType
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting management of VPLS
                Edge devices for L2VPN VPLS services using BGP"
          ::= { vplsBgpGroups 2 }

      vplsBgpPwBindGroup OBJECT-GROUP
          OBJECTS {
              vplsBgpPwBindLocalVEId,
              vplsBgpPwBindRemoteVEId
          }
          STATUS          current
          DESCRIPTION
               "The group of objects supporting management of
                Pseudo Wires for L2VPN VPLS services using BGP"
          ::= { vplsBgpGroups 3 }

     END

7. Security Considerations

   It is clear that the MIB modules described in this document in
   association with the PW-STD-MIB [PW-STD-MIB] are potentially
   useful for monitoring of GMPLS LSRs. These MIB modules can also be
   used for configuration of certain objects, and anything that can be
   configured can be incorrectly configured, with potentially disastrous
   results.

   There are a number of management objects defined in these MIB modules
   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 can have a negative effect on
   network operations. These are the tables and objects and their
   sensitivity/vulnerability:

8. IANA Considerations

-- (Note to RFC-Editor:)
-- We request that you assign contiguous RFC numbers to the
--   IANA is requested to root MIB objects in the MIB module



L2 VPN Working Group            Expires June 2007           [Page 36]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006



--   contained in this document under the transmission subtree.
--


9.      References

9.1 Normative References

   [PWE3-PW-MIB]     Pseudo Wire (PW) Management Information Base.
                     David Zelig, Thomas D. Nadeau,
   [L2VPN-VPLS-LDP]  Virtual Private LAN Services over MPLS,
                     Marc Lasserre, Vach Kompella,
   [L2VPN-VPLS-BGP] Virtual Private LAN Service (VPLS) Using BGP
                    for Auto-discovery and Signaling,
                    K. Kompella, Y. Rekhter,
   [RFC2578]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                J., Rose, M., and S. Waldbusser, "Structure of
                Management Information Version 2 (SMIv2)", STD 58, RFC
                2578, April 1999.

   [RFC2579]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                J., Rose, M., and S. Waldbusser, "Textual Conventions
                for SMIv2", STD 58, RFC 2579, April 1999.

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

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

10.   Acknowledgement

      We wish to thank Marcelo Mourier and Reva Bailey for their
      valuable feedback. Some portion of the work has been referenced
      from their original Timetra Enterprise MIB work.

11.   Authors' Addresses

      Thomas D. Nadeau
      Cisco Systems, Inc.
      1414 Massachusetts Ave.
      Boxborough, MA 01719
      Email: tnadeau@cisco.com



L2 VPN Working Group            Expires June 2007           [Page 37]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




      A S Kiran Koushik
      Cisco Systems Inc.
      Email: kkoushik@cisco.com

      Rohit Mediratta
      Alcatel
      Email: rohit.mediratta@alcatel.com

      Praveen Muley
      Alcatel
      Email: praveen.muley@alcatel.com

      Reva Bailey
      Alcatel
      Email: reva.bailey@alcatel.com

      VJ Shah
      Juniper Networks
      Email: vshah@juniper.net

      Li Wentao
      ZTE Inc.
      CHINA
      Email: li.wentao@zte.com.cn

      Kong Yong
      ZTE Inc.
      CHINA
      Email: kong.yong@zte.com.cn

      Luo Jian
      ZTE Inc.
      CHINA
      Email: luo.jian@zte.com.cn

      Feng Jun
      ZTE Inc.
      CHINA
      Email: Feng.jun99@zte.com.cn

      Takeshi Usui
      KDDI Corpration
      Japan
      Email:ta-usui@kddi.com


12. Intellectual Property Notice



L2 VPN Working Group            Expires June 2007           [Page 38]


        draft-nadeau-l2vpn-vpls-mib-03 L2-VPN-MIB        Dec 22, 2006




   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights. Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard. Please address the information to the IETF at ietf-
   ipr@ietf.org.

Disclaimer of Validity

   This document and the information contained herein are provided
   on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
   IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
   WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
   WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
   ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
   FOR A PARTICULAR PURPOSE.

13. Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   Copyright (C) The Internet Society (2007). This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


L2 VPN Working Group            Expires June 2007           [Page 39]