-- Copyright(c) 2008-2010 Shenzhen TP-LINK Technologies Co.Ltd.
--
-- Description: Performance MAC vlan config
-- Reference:
-- Version: V0.1
-- History: Create by weishuifeng, 2102.11.28
-- ==================================================================

TPLINK-VLAN-QINQ-MIB DEFINITIONS ::= BEGIN

IMPORTS
	ifIndex
				FROM RFC1213-MIB
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, OBJECT-IDENTITY
				FROM SNMPv2-SMI
	TPRowStatus
				FROM TPLINK-TC-MIB
	DisplayString, MacAddress
				FROM SNMPv2-TC
	tplinkMgmt
				FROM TPLINK-MIB;

tplinkQinqVlanMIB MODULE-IDENTITY
	LAST-UPDATED    "200812160000Z"
	ORGANIZATION    "TPLINK"
	CONTACT-INFO    "www.tplink.com"
	DESCRIPTION
			"VLAN-VPN (Virtual Private Network) function, the implement of a simple and flexible Layer 2
			VPN technology, allows the packets with VLAN tags of private networks to be encapsulated with
			VLAN tags of public networks at the network access terminal of the Internet Service Provider.
			And these packets will be transmitted with double-tag across the public networks."
	REVISION        "200812160000Z"
	DESCRIPTION
			"Initial version of this MIB module."
::= { tplinkMgmt 17 }

tplinkQinqVlanMIBObjects			OBJECT IDENTIFIER	::= { tplinkQinqVlanMIB 1 }
tplinkQinqVlanMIBNotifications		OBJECT IDENTIFIER	::= { tplinkQinqVlanMIB 2 }          	  	          

  
vpnConfigVpnMode OBJECT-TYPE
	SYNTAX  	INTEGER{
					disable(0), 					--disable
					enable(1)						--enable
				}
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"Allows you to Enable/Disable the VLAN-VPN function."
::= { tplinkQinqVlanMIBObjects 1 }

vpnConfigPort  					OBJECT IDENTIFIER ::= {tplinkQinqVlanMIBObjects 2}
vpnConfigPortTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF VPNCONFIGPORTENTRY
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
			"A list of port status."
::= { vpnConfigPort 1 }

	vpnConfigPortEntry OBJECT-TYPE
		SYNTAX  	VPNCONFIGPORTENTRY
		MAX-ACCESS  not-accessible
		STATUS  	current
		DESCRIPTION
				"An entry contains of the port status."
		INDEX   { ifIndex }
	::= { vpnConfigPortTable 1 }

	VPNCONFIGPORTENTRY ::=
		SEQUENCE {
			vpnConfigPortNumber
                OCTET STRING,
			vpnConfigPortType
				INTEGER,
			vpnConfigPortTpid
				OCTET STRING,
			vpnConfigUseInnerPriority
				INTEGER,
			vpnConfigMissdrop
				INTEGER,
			vpnConfigPortLag
				OCTET STRING
		}

	vpnConfigPortNumber OBJECT-TYPE
        SYNTAX OCTET STRING
            (SIZE (0..255))
		MAX-ACCESS  read-only
		STATUS  	current
		DESCRIPTION
				"Displays the port number of the switch."
	::= { vpnConfigPortEntry 1 }

vpnConfigPortType OBJECT-TYPE
	SYNTAX  	INTEGER{
					none(0), 					
					nni(1),
					uni(2)
				}
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"Allows you to Enable/Disable the VLAN mapping function."
::= { vpnConfigPortEntry 2 }

vpnConfigPortTpid OBJECT-TYPE
	SYNTAX  	OCTET STRING (SIZE (2))
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"Enter the outer TPID (Tag protocol identifier)."
::= { vpnConfigPortEntry 3 }

vpnConfigUseInnerPriority OBJECT-TYPE
	SYNTAX  	INTEGER{
					disable(0), 					--disable
					enable(1)						--enable
				}
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"Allows you to Enable/Disable the VLAN mapping function."
::= { vpnConfigPortEntry 4 }

vpnConfigMissdrop OBJECT-TYPE
	SYNTAX  	INTEGER{
					disable(0), 					--disable
					enable(1)						--enable
				}
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"."
::= { vpnConfigPortEntry 5 }

vpnConfigPortLag OBJECT-TYPE
	SYNTAX OCTET STRING
		(SIZE (0..255))
	MAX-ACCESS
		read-only
	STATUS
		current
	DESCRIPTION
		"Displays the LAG number which the port belongs to."
	::= { vpnConfigPortEntry 6 }

vpnConfigVlanMapping OBJECT IDENTIFIER ::= { tplinkQinqVlanMIBObjects 3 }

vpnConfigVlanMappingMode OBJECT-TYPE
	SYNTAX  	INTEGER{
					disable(0), 					--disable
					enable(1)						--enable
				}
	MAX-ACCESS  read-write
	STATUS  	current
	DESCRIPTION
			"Allows you to Enable/Disable the VLAN mapping function."
::= { vpnConfigVlanMapping 1 }

vpnConfigVlanMappingTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF VPNCONFIGVLANMAPPINGENTRY
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
			"A list of vlan Mapping."
::= { vpnConfigVlanMapping 2 }

vpnConfigVlanMappingEntry  OBJECT-TYPE
	SYNTAX  	VPNCONFIGVLANMAPPINGENTRY
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
			"An entry contains of the port for user auth ."
	INDEX   { vpnConfigVlanMappingCVlan , vpnConfigVlanMappingPort }
::= { vpnConfigVlanMappingTable 1 }

VPNCONFIGVLANMAPPINGENTRY ::=
	SEQUENCE {
		vpnConfigVlanMappingPort
			OCTET STRING,
		vpnConfigVlanMappingCVlan
			INTEGER,
		vpnConfigVlanMappingSPVlan
			INTEGER,
		vpnConfigVlanMappingDesc
			OCTET STRING,
		vpnConfigVlanMappingStatus
			TPRowStatus
	}

	vpnConfigVlanMappingPort OBJECT-TYPE
		SYNTAX  	OCTET STRING
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
				""
	::= { vpnConfigVlanMappingEntry 1 }

	vpnConfigVlanMappingCVlan OBJECT-TYPE
		SYNTAX  	INTEGER(1..4094)
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
				"Enter the ID number of the Customer VLAN."
	::= { vpnConfigVlanMappingEntry 2 }
	


	vpnConfigVlanMappingSPVlan OBJECT-TYPE
		SYNTAX  	INTEGER(1..4094)
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
				"Enter the ID number of the Service Provider VLAN."
	::= { vpnConfigVlanMappingEntry 3 }


	vpnConfigVlanMappingDesc OBJECT-TYPE
		SYNTAX  	OCTET STRING
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
				"Give a description to the VLAN Mapping entry or leave it blank."
	::= { vpnConfigVlanMappingEntry 4 }

	vpnConfigVlanMappingStatus  OBJECT-TYPE
		SYNTAX  	TPRowStatus
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
			"the following values are states:
			these values may be used as follow:

			active(1),if the entry is being used.
			createAndGo(4),not being used
			destroy(6),destory the entry."
	::= { vpnConfigVlanMappingEntry 5 }

END