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

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

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

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

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB            -- RFC3411

      jnxExperiment
	FROM JUNIPER-SMI

    --  PwIndexType
    --    FROM PW-TC-STD-MIB

      VPNIdOrZero
        FROM VPN-TC-STD-MIB;                -- RFC4265
        
   jnxVplsGenericDraft01MIB MODULE-IDENTITY
      LAST-UPDATED "201103261200Z"  -- 26 March 2011 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 IETF Trust (2010). 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 [RFC4762] and
           [RFC4761]

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

      -- Revision history.
      REVISION
          "201103261200Z"  -- 26 March 2011 12:00:00 GMT
      DESCRIPTION
          "Removed inline definition of VPNIdOrZero in favor
           of importing the definition from VPN-TC-STD-MIB.
          "
      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.

         ::= { jnxExperiment 8 }

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

   -- Top-level components of this MIB.

    PwIndexType ::= TEXTUAL-CONVENTION
    STATUS	      current
    DESCRIPTION
	"Pseudowire Index. A unique value, greater than zero,
	 for each locally-defined PW for indexing
	 several MIB tables associated with the particular PW.
	 It is recommended that values are assigned contiguously
	 starting from 1. The value for each PW MUST remain
	 constant at least from one re-initialization
	 to the next re-initialization.
	"
    SYNTAX  Unsigned32	(1..4294967295)

    -- Vpls BGP Autodiscovery specific Textual Convention

    JnxVplsBgpRouteDistinguisher ::= 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 [RFC4761]"
      REFERENCE
          "[RFC4364]"
      SYNTAX  OCTET STRING(SIZE (0..256))

    JnxVplsBgpRouteTarget ::= 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))    

    JnxVplsBgpRouteTargetType ::= TEXTUAL-CONVENTION
      STATUS        current
      DESCRIPTION
       "Used to define the type of a route target usage.
        Route targets can be specified to be imported,
        exported, or both.  For a complete definition of a
        route target, see [RFC4364]."
      REFERENCE
        "[RFC4364]"
      SYNTAX INTEGER { import(1), export(2), both(3) }

   -- Notifications
   jnxVplsNotifications OBJECT IDENTIFIER
                                 ::= { jnxVplsGenericDraft01MIB 0 }
   -- Tables, Scalars
   jnxVplsObjects       OBJECT IDENTIFIER
                                 ::= { jnxVplsGenericDraft01MIB 1 }
   -- Conformance
   jnxVplsConformance   OBJECT IDENTIFIER
                                 ::= { jnxVplsGenericDraft01MIB 2 }

   -- PW Virtual Connection Table

   jnxVplsConfigIndexNext OBJECT-TYPE
      SYNTAX            Unsigned32
      MAX-ACCESS        read-only
      STATUS            current
      DESCRIPTION
          "This object contains an appropriate value to be used
           for jnxVplsConfigIndex when creating entries in the
           jnxVplsConfigTable. The value 0 indicates that no
           unassigned entries are available.  To obtain the
           value of jnxVplsConfigIndex for a new entry in the
           jnxVplsConfigTable, the manager issues a management
           protocol retrieval operation to obtain the current
           value of jnxVplsConfigIndex.  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."
      ::= { jnxVplsObjects 1 }

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

      jnxVplsConfigEntry OBJECT-TYPE
          SYNTAX          JnxVplsConfigEntry
          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
            jnxVplsConfigIndex, 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 jnxVplsConfigRowStatus is in the active(1)
            state. Changes are allowed when the jnxVplsConfigRowStatus
            is in notInService(2) or notReady(3) states only.
            If the operator need to change one of the values
            for an active row the jnxVplsConfigRowStatus 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           { jnxVplsConfigIndex }
          ::= { jnxVplsConfigTable 1 }

     JnxVplsConfigEntry ::=
        SEQUENCE {
         jnxVplsConfigIndex                                Unsigned32,
         jnxVplsConfigName                                 SnmpAdminString,
         jnxVplsConfigDescr                                SnmpAdminString,
         jnxVplsConfigAdminStatus                          INTEGER,
         jnxVplsConfigMacLearning                          TruthValue,
         jnxVplsConfigDiscardUnknownDest                   TruthValue,
         jnxVplsConfigMacAging                             TruthValue,
         jnxVplsConfigFwdFullHighWatermark                 Unsigned32,
         jnxVplsConfigFwdFullLowWatermark                  Unsigned32,

         jnxVplsConfigRowStatus                            RowStatus,
         jnxVplsConfigMtu                                  Unsigned32,
         jnxVplsConfigVpnId                                VPNIdOrZero,
         jnxVplsConfigServiceType                          INTEGER,
         jnxVplsConfigStorageType                          StorageType
          }

      jnxVplsConfigIndex  OBJECT-TYPE
          SYNTAX          Unsigned32 (1.. 2147483647)
--          MAX-ACCESS      not-accessible
          MAX-ACCESS      read-only 
          STATUS          current
          DESCRIPTION
               "Unique index for the conceptual row identifying
                a VPLS service."
          ::= { jnxVplsConfigEntry 1 }

      jnxVplsConfigName  OBJECT-TYPE
          SYNTAX          SnmpAdminString
          MAX-ACCESS      read-only
          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           { "" }
          ::= { jnxVplsConfigEntry 2 }

      jnxVplsConfigDescr  OBJECT-TYPE
          SYNTAX          SnmpAdminString
          MAX-ACCESS      read-only
          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
               octet string."
          DEFVAL           { "" }
          ::= { jnxVplsConfigEntry 3 }

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

                          }
          MAX-ACCESS      read-only
          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 }
          ::= { jnxVplsConfigEntry 4 }

      jnxVplsConfigMacLearning OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-only
          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 }
          ::= { jnxVplsConfigEntry 6 }

      jnxVplsConfigDiscardUnknownDest OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-only
          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 }
          ::= { jnxVplsConfigEntry 7 }

      jnxVplsConfigMacAging OBJECT-TYPE
          SYNTAX          TruthValue
          MAX-ACCESS      read-only
          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 }
          ::= { jnxVplsConfigEntry 8 }

      jnxVplsConfigFwdFullHighWatermark OBJECT-TYPE
          SYNTAX          Unsigned32 (0..100)
          UNITS           "percentage"
          MAX-ACCESS      read-only
          STATUS          current
          DESCRIPTION
               "This object specifies the utilization of the
                forwarding database for this VPLS instance at
                which the jnxVplsFwdFullAlarmRaised notification
                will be sent."
          DEFVAL          { 95 }
          ::= { jnxVplsConfigEntry 10 }

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

      jnxVplsConfigRowStatus OBJECT-TYPE
          SYNTAX          RowStatus
          MAX-ACCESS      read-only
          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."
          ::= { jnxVplsConfigEntry 12 }

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

      jnxVplsConfigVpnId 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."
          ::= { jnxVplsConfigEntry 14 }

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

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

-- VPLS Status table

      jnxVplsStatusTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF JnxVplsStatusEntry
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
                "This table provides information for monitoring
                Virtual Private Lan Services(VPLS).
                "
          ::= { jnxVplsObjects 3 }

      jnxVplsStatusEntry OBJECT-TYPE
          SYNTAX          JnxVplsStatusEntry
          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
            jnxVplsConfigIndex, which uniquely identifies a single VPLS.

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

     JnxVplsStatusEntry ::=
        SEQUENCE {
         jnxVplsStatusOperStatus                        INTEGER,
         jnxVplsStatusPeerCount                         Counter32
          }

      jnxVplsStatusOperStatus 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."
          ::= { jnxVplsStatusEntry 1 }

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

      -- VPLS PW Binding Table

      jnxVplsPwBindTable OBJECT-TYPE
          SYNTAX          SEQUENCE OF JnxVplsPwBindEntry
          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"
          ::= { jnxVplsObjects 4 }

      jnxVplsPwBindEntry OBJECT-TYPE
          SYNTAX          JnxVplsPwBindEntry
          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  { jnxVplsConfigIndex, jnxVplsPwBindIndex }
          ::= { jnxVplsPwBindTable 1 }

      JnxVplsPwBindEntry ::=
          SEQUENCE {
              jnxVplsPwBindConfigType              INTEGER,
              jnxVplsPwBindType                  INTEGER,
              jnxVplsPwBindRowStatus             RowStatus,
              jnxVplsPwBindStorageType             StorageType,
	      jnxVplsPwBindIndex		      PwIndexType
          }

      jnxVplsPwBindConfigType   OBJECT-TYPE
           SYNTAX          INTEGER {
                                   manual        (1),
                                   autodiscovery (2)
                           }
           MAX-ACCESS      read-only
           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)"
          ::= { jnxVplsPwBindEntry 1 }

      jnxVplsPwBindType   OBJECT-TYPE
           SYNTAX          INTEGER {
                                   mesh  (1),
                                   spoke (2)
                           }
           MAX-ACCESS      read-only
           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)"
          ::= { jnxVplsPwBindEntry 2 }

      jnxVplsPwBindRowStatus  OBJECT-TYPE
           SYNTAX          RowStatus
           MAX-ACCESS      read-only
           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"
          ::= { jnxVplsPwBindEntry 3 }

      jnxVplsPwBindStorageType OBJECT-TYPE   
           SYNTAX        StorageType  
           MAX-ACCESS    read-only 
           STATUS        current  
           DESCRIPTION  
               "This variable indicates the storage type for this row."  
           DEFVAL { volatile }
           ::= { jnxVplsPwBindEntry 4 }  

-- Joe Added xxx
      jnxVplsPwBindIndex	 OBJECT-TYPE   
           SYNTAX        PwIndexType  
--           MAX-ACCESS    not-accessible 
           MAX-ACCESS    read-only 
           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
	        pseudowire that is then associated with this
		VPLS instance.
		"  
           ::= { jnxVplsPwBindEntry 5 }  

-- jnxVplsBgpADConfigTable 

      jnxVplsBgpADConfigTable OBJECT-TYPE 
            SYNTAX          SEQUENCE OF JnxVplsBgpADConfigEntry 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
            "This table specifies information for configuring 
             BGP Auto-discovery parameters for a given Vpls service. 
            " 
            ::= { jnxVplsObjects 5 } 

      jnxVplsBgpADConfigEntry OBJECT-TYPE 
            SYNTAX          JnxVplsBgpADConfigEntry 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
            "A row in this table represents BGP based autodiscovery 
             is in use for this instance of Vpls. 
             A row in this table is indexed by jnxVplsConfigIndex, which 
             uniquely identifies a single VPLS.  
             None of the read-create objects can be changed when  
             jnxVplsBGPADConfigRowStatus is in active(1) state. Changes 
             are allowed when the jnxVplsBGPADConfigRowStatus is in  
             notInService(2) or notReady(3) states only.  
             If the operator need to change one of the values 
             for an active row the jnxVplsConfigRowStatus 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      { jnxVplsConfigIndex } 
            ::= { jnxVplsBgpADConfigTable 1 } 

      JnxVplsBgpADConfigEntry ::= 
         SEQUENCE { 
          jnxVplsBgpADConfigRouteDistinguisher   JnxVplsBgpRouteDistinguisher, 
          jnxVplsBgpADConfigPrefix               Unsigned32, 
          jnxVplsBgpADConfigVplsId               JnxVplsBgpRouteDistinguisher, 
          jnxVplsBgpADConfigRowStatus            RowStatus 
         } 

      jnxVplsBgpADConfigRouteDistinguisher OBJECT-TYPE 
            SYNTAX          JnxVplsBgpRouteDistinguisher 
            MAX-ACCESS      read-only 
            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 [RFC4761] 
            " 
            ::= { jnxVplsBgpADConfigEntry 1 } 

            jnxVplsBgpADConfigPrefix      OBJECT-TYPE 
            SYNTAX          Unsigned32 
            MAX-ACCESS      read-only 
            STATUS          current 
            DESCRIPTION 
            " In case of auto-discovery the default prefix advertised 
            is the ip address of the loopback. In case the user wants 
            to override the loopback address, jnxVplsBgpADConfigPrefix  
            should be set. When this value if non-zero it is used 
            as the advertised IP address in the NLRI. 
            " 
            DEFVAL { 0 } 
            ::= { jnxVplsBgpADConfigEntry 2 } 

      jnxVplsBgpADConfigVplsId          OBJECT-TYPE 
            SYNTAX          JnxVplsBgpRouteDistinguisher 
            MAX-ACCESS      read-only 
            STATUS          current 
            DESCRIPTION 
            " VplsId is a unique identifier for all VSIs belonging to 
            the same VPLS. It is advertised as an extended community 
            "
            ::= { jnxVplsBgpADConfigEntry 3 } 

      jnxVplsBgpADConfigRowStatus OBJECT-TYPE 
            SYNTAX          RowStatus 
            MAX-ACCESS      read-only 
            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. 
            " 
            ::= { jnxVplsBgpADConfigEntry 4 } 


    -- jnxVplsBgpRteTargetTable 

      jnxVplsBgpRteTargetTable   OBJECT-TYPE 
            SYNTAX          SEQUENCE OF JnxVplsBgpRteTargetEntry 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
            " This table specifies the list of Route Targets 
              imported or exported by BGP during auto-discovery of VPLS. 
            "    
            ::= { jnxVplsObjects 6 } 

      jnxVplsBgpRteTargetEntry   OBJECT-TYPE 
            SYNTAX          JnxVplsBgpRteTargetEntry 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
              "An entry in this table specifies the value of the 
               Route Target being used by BGP. Depending on the value
               of jnxVplsBgpRteTargetType an RT might be exported or 
               imported or both. Every VPLS which 
              uses auto-discovery for finding peer nodes can import and
              export multiple Route Targets. This representation allows 
              support for hierarchical VPLS. 
            " 
            INDEX     { jnxVplsConfigIndex, jnxVplsBgpRteTargetIndex } 
            ::= { jnxVplsBgpRteTargetTable 1 } 

      JnxVplsBgpRteTargetEntry ::=  
         SEQUENCE { 
          jnxVplsBgpRteTargetIndex          Unsigned32, 
          jnxVplsBgpRteTargetRTType         JnxVplsBgpRouteTargetType, 
          jnxVplsBgpRteTargetRT             JnxVplsBgpRouteTarget, 
          jnxVplsBgpRteTargetRTRowStatus    RowStatus 
         } 

      jnxVplsBgpRteTargetIndex   OBJECT-TYPE 
            SYNTAX          Unsigned32 
            MAX-ACCESS      not-accessible 
            STATUS          current 
            DESCRIPTION 
            "This index along with jnxVplsConfigIndex,identifies one entry 
             in the jnxVplsBgpRteTargetTable. By keeping jnxVplsConfigIndex 
             constant and using new value of jnxVplsBgpRteTargetIndex user 
              can configure multiple Route Targets for the same Vpls. 
            " 
            ::= { jnxVplsBgpRteTargetEntry 1 } 

      jnxVplsBgpRteTargetRTType  OBJECT-TYPE 
            SYNTAX          JnxVplsBgpRouteTargetType 
            MAX-ACCESS      read-only 
            STATUS          current 
            DESCRIPTION 
            " Used to define the type of a route target usage. 
              Route targets can be specified to be imported, 
              exported, or both.  For a complete definition of a 
              route target, see [RFC4364]. 
            " 
            ::= { jnxVplsBgpRteTargetEntry 2 } 

      jnxVplsBgpRteTargetRT     OBJECT-TYPE 
            SYNTAX          JnxVplsBgpRouteTarget 
            MAX-ACCESS      read-only 
            STATUS          current 
            DESCRIPTION 
            " The route target associated with the VPLS service. 
              For more details on use of route targets 
              for a VPLS service, see [RFC4761] 
            " 
            ::= { jnxVplsBgpRteTargetEntry 3 } 

      jnxVplsBgpRteTargetRTRowStatus     OBJECT-TYPE 
            SYNTAX          RowStatus 
            MAX-ACCESS      read-only 
            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 
            " 
            ::= { jnxVplsBgpRteTargetEntry 4 } 

      jnxVplsStatusNotifEnable  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 jnxVplsStatusChanged 
             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 }
            ::= { jnxVplsObjects 7 }

       jnxVplsNotificationMaxRate 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 }
          ::= { jnxVplsObjects 8 }

      -- VPLS Service Notifications

      jnxVplsStatusChanged NOTIFICATION-TYPE
          OBJECTS {
              jnxVplsConfigVpnId,
              jnxVplsConfigAdminStatus,
              jnxVplsStatusOperStatus
          }
          STATUS          current
          DESCRIPTION
               "The jnxVplsStatusChanged notification is generated
                when there is a change in the administrative or
                operating status of a VPLS service."
          ::= { jnxVplsNotifications 1 }

      jnxVplsFwdFullAlarmRaised NOTIFICATION-TYPE
          OBJECTS {
              jnxVplsConfigVpnId,
              jnxVplsConfigFwdFullHighWatermark,
              jnxVplsConfigFwdFullLowWatermark
          }
          STATUS          current
          DESCRIPTION
               "The jnxVplsFwdFullAlarmRaised notification is
                generated when the utilization of the Forwarding
                database is above the value specified by
                jnxVplsConfigFwdFullHighWatermark."
          ::= { jnxVplsNotifications 2 }

      jnxVplsFwdFullAlarmCleared NOTIFICATION-TYPE
          OBJECTS {
              jnxVplsConfigVpnId,
              jnxVplsConfigFwdFullHighWatermark,
              jnxVplsConfigFwdFullLowWatermark
          }
          STATUS          current
          DESCRIPTION
               "The jnxVplsFwdFullAlarmCleared notification is
                generated when the utilization of the Forwarding
                database is below the value specified by
                jnxVplsConfigFwdFullLowWatermark."
          ::= { jnxVplsNotifications 3 }

       END
