QTECH-VPLS-LDP-MIB DEFINITIONS ::= BEGIN
      IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, transmission
         FROM SNMPv2-SMI                    -- RFC2578

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

      TruthValue,RowStatus
         FROM SNMPv2-TC                     -- RFC2579

     IANAPwTypeTC, IANAPwPsnTypeTC, IANAPwCapabilities
        FROM IANA-PWE3-MIB                 -- [RFC5601]

     InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB              -- [RFC4001]

      qtechvplsConfigIndex, qtechvplsPwBindIndex
         FROM QTECH-VPLS-GENERIC-MIB
      qtechMgmt
         FROM QTECH-SMI
      ;

   qtechvplsLdpDraft01MIB MODULE-IDENTITY
      LAST-UPDATED "201004281200Z"  -- 28 April 2010 12:00:00 GMT
      ORGANIZATION "Qtech Networks Co.,Ltd."
      CONTACT-INFO
                "
                Tel: 4008-111-000

                E-mail: service@qtech.com.cn"

      DESCRIPTION
          "Copyright (C) Qtech NETWORKS.

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

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

      -- Revision history.

      REVISION
          "201004281200Z"  -- 28 April 2010 12:00:00 GMT
      DESCRIPTION "Initial version published as part of Qtech private MIB."

         ::= { qtechMgmt 78 }

   -- Top-level components of this MIB.

   -- Notifications
   qtechvplsLdpNotifications OBJECT IDENTIFIER
                                 ::= { qtechvplsLdpDraft01MIB 0 }

   -- Tables, Scalars
   qtechvplsLdpObjects       OBJECT IDENTIFIER
                                 ::= { qtechvplsLdpDraft01MIB 1 }
   -- Conformance
   qtechvplsLdpConformance   OBJECT IDENTIFIER
                                 ::= { qtechvplsLdpDraft01MIB 2 }

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

      qtechvplsLdpConfigEntry OBJECT-TYPE
          SYNTAX          QtechVplsLdpConfigEntry
          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 qtechvplsConfigIndex, 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 qtechvplsRowStatus
            is in notInService(2) or notReady(3) states only.
            If the operator need to change one of the values
            for an active row the qtechvplsConfigRowStatus 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           { qtechvplsConfigIndex,qtechvplsLdpPwIndex}
          ::= { qtechvplsLdpConfigTable 1 }

      QtechVplsLdpConfigEntry ::=
        SEQUENCE {
							qtechvplsLdpPwIndex            Unsigned32,
							qtechvplsLdpPeerAddr           InetAddress,
							qtechvplsLdpPwId               Unsigned32,
							qtechvplsPwType                INTEGER,
              qtechvplsPwEncapType           IANAPwTypeTC,
							qtechvplsLdpNeighborRowStatus  RowStatus
        }

     qtechvplsLdpPwIndex  OBJECT-TYPE
          SYNTAX          Unsigned32
          MAX-ACCESS      not-accessible
          STATUS          current
          DESCRIPTION
               "Index for pesudowire using LDp signal. This figures out one PW with one peer.
               "
          ::= { qtechvplsLdpConfigEntry 1 }

	  qtechvplsLdpPeerAddr OBJECT-TYPE
	     SYNTAX        InetAddress
	     MAX-ACCESS    read-create
	     STATUS        current
	     DESCRIPTION
	          "This object contains the value of the peer node address
	           of the PW/PE maintenance protocol entity.  This object
	           SHOULD contain a value of all zeroes if not applicable
	           (pwPeerAddrType is 'unknown').
	           The value of this object must be
             specifed when the row is created and cannot
             be changed while the row status is active(1)
                 "
	     ::= { qtechvplsLdpConfigEntry 2 }

      qtechvplsLdpPwId   OBJECT-TYPE
          SYNTAX          Unsigned32  (1..2147483647)
          MAX-ACCESS      read-create
          STATUS          current
          DESCRIPTION
               "Same as VC ID. Please refer to system configuration guide for more details."
          ::= { qtechvplsLdpConfigEntry 3 }

      qtechvplsPwType   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
                 specified when the row is created and cannot
                 be changed while the row status is active(1)"
          ::= { qtechvplsLdpConfigEntry 4 }

      qtechvplsPwEncapType   OBJECT-TYPE
	     SYNTAX        IANAPwTypeTC
	     MAX-ACCESS    read-create
	     STATUS        current
	     DESCRIPTION
	         "This value indicates the emulated service to be carried over
	          this PW.
	         "

          ::= { qtechvplsLdpConfigEntry 5 }

		qtechvplsLdpNeighborRowStatus 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."
        ::= { qtechvplsLdpConfigEntry 6 }


-- Compliance requirement for read-only implementations.

   qtechvplsLdpCompliances
     OBJECT IDENTIFIER ::= { qtechvplsLdpConformance 1 }

   qtechvplsLdpModuleFullCompliance 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 {
               qtechvplsLdpGroup,
               qtechvplsLdpNotificationGroup
           }

      ::= { qtechvplsLdpCompliances 1 }


   qtechvplsLdpModuleReadOnlyCompliance 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

          MANDATORY-GROUPS {
               qtechvplsLdpGroup,
               qtechvplsLdpNotificationGroup
           }

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

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

        ::= { qtechvplsLdpCompliances 2 }

-- Units of conformance.

      qtechvplsLdpGroups
        OBJECT IDENTIFIER ::= { qtechvplsLdpConformance 2 }

END
