VPLS-BGP-MIB DEFINITIONS ::= BEGIN


   IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE,
   Unsigned32, transmission
      FROM SNMPv2-SMI                    -- RFC 2578

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

   RowStatus, StorageType
      FROM SNMPv2-TC                     -- RFC 2579

   SnmpAdminString
      FROM SNMP-FRAMEWORK-MIB            -- RFC 3411

   pwIndex
      FROM PW-STD-MIB                    -- RFC 5601

   vplsConfigIndex
      FROM VPLS-GENERIC-MIB
   ;

   vplsBgpMIB MODULE-IDENTITY
      LAST-UPDATED "201405191200Z"  -- 19 May 2014 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/wg/l2vpn/charter/)
           "

      DESCRIPTION
          "Copyright (c) 2014 IETF Trust and the persons
           identified as authors of the code.  All rights reserved.

           Redistribution and use in source and binary forms, with
           or without modification, is permitted pursuant to, and
           subject to the license terms contained in, the Simplified
           BSD License set forth in Section 4.c of the IETF Trust's
           Legal Provisions Relating to IETF Documents
           (http://trustee.ietf.org/license-info).

           The initial version of this MIB module was published in
           RFC 7257; for full legal notices see the RFC itself.

           This MIB module contains managed object definitions for
           BGP signaled Virtual Private LAN Service as in
           RFC 4761.

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

      -- Revision history.
      REVISION
          "201405191200Z"  -- 19 May 2014 12:00:00 GMT

      DESCRIPTION "Initial version published as part of RFC 7257."
            ::= { transmission 276 }

   -- Top-level components of this MIB.

   -- Tables, Scalars
   vplsBgpObjects       OBJECT IDENTIFIER
                                 ::= { vplsBgpMIB 1 }
   -- Conformance
   vplsBgpConformance   OBJECT IDENTIFIER
                                 ::= { vplsBgpMIB 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 Service (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.  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
           created that is configured to use BGP signaling.

           All of the writable object values can be
           changed when vplsConfigRowStatus is in the active(1)
           state.
            "
          INDEX           { vplsConfigIndex }
          ::= { vplsBgpConfigTable 1 }

     VplsBgpConfigEntry ::=

        SEQUENCE {
         vplsBgpConfigVERangeSize         Unsigned32
        }

     vplsBgpConfigVERangeSize   OBJECT-TYPE
        SYNTAX        Unsigned32 (0..65535)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
            "Specifies the size of the range of VPLS Edge
             Identifier (VE ID) 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.

             The VE ID takes 2 octets in VPLS BGP NLRI according
             to RFC 4761.  Hence we have limited the range of
             this object to 65535."
        DEFVAL           { 0 }





        ::= { vplsBgpConfigEntry 1 }

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

     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.

             Entries in this table may be created or deleted
             through SNMP, as side effects of console or other
             non-SNMP management commands, or upon learning via
             autodiscovery.

             It is optional for the agent to allow entries to be
             created that point to nonexistent entries in
             vplsConfigTable."
         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
        STATUS        current
        DESCRIPTION
            "A secondary index identifying a VE within an
             instance of a VPLS service.






             The VE ID takes 2 octets in VPLS BGP NLRI according
             to RFC 4761.  Hence, we have limited the range of
             this object to 65535."
        ::= { vplsBgpVEEntry 1 }

     vplsBgpVEName OBJECT-TYPE
        SYNTAX        SnmpAdminString
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION
            "Descriptive name for the site or user-facing PE
             (U-PE) associated 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
             Provider Edge (PE) if the site is multihomed
             and VE ID is reused."
        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.

             All other objects in this row must be set to valid
             values before this object can be set to active(1).

             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

      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 pseudowires.  A service can have more
                than one pseudowire association.  Pseudowires are
                defined in the pwTable."
          ::= { vplsBgpObjects 3 }

      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 pseudowires
                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 signaling is used to configure VPLS service.

                Each entry in this table provides BGP-specific
                information for the VPLS represented by
                vplsConfigIndex."
          INDEX  { vplsConfigIndex, pwIndex }
          ::= { 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 with which this pseudowire
                 is associated.

                 The VE ID takes 2 octets in VPLS BGP NLRI according
                 to RFC 4761.  Hence, we have limited the range of
                 this object to 65535."
          ::= { vplsBgpPwBindEntry 1 }

      vplsBgpPwBindRemoteVEId   OBJECT-TYPE
           SYNTAX          Unsigned32 (1..65535)
           MAX-ACCESS      read-only
           STATUS          current
           DESCRIPTION
                "Identifies the remote VE with which this pseudowire
                 is associated.

                 The VE ID takes 2 octets in VPLS BGP NLRI according
                 to RFC 4761.  Hence, we have limited the range of
                 this object to 65535."
          ::= { vplsBgpPwBindEntry 2 }

   -- Conformance Section

   -- Compliance requirement for fully compliant implementations

   vplsBgpCompliances
     OBJECT IDENTIFIER ::= { vplsBgpConformance 1 }

   vplsBgpModuleFullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
           "Compliance requirement for implementations that
            provide full support for VPLS-BGP-MIB.

            Such devices can then be monitored and configured using
            this MIB module."

      MODULE -- this module

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

   -- Compliance requirement for read-only implementations.





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

      MODULE -- this module

          MANDATORY-GROUPS {
               vplsBgpConfigGroup,
               vplsBgpVEGroup,
               vplsBgpPwBindGroup
           }

           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 {
            vplsBgpConfigVERangeSize
        }





        STATUS          current
        DESCRIPTION
             "The group of objects supporting configuration
              of L2VPN VPLS services using BGP."
        ::= { vplsBgpGroups 1 }

    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
              pseudowires for L2VPN VPLS services using BGP."
        ::= { vplsBgpGroups 3 }

   END





















