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

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

vpnConfigUplinkPortTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF VPNCONFIGUPLINKPORTENTRY
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
			"A list of upLink port."
::= { tplinkQinqVlanMIBObjects 3 }

	vpnConfigUplinkPortEntry OBJECT-TYPE
		SYNTAX  	VPNCONFIGUPLINKPORTENTRY
		MAX-ACCESS  not-accessible
		STATUS  	current
		DESCRIPTION
				"An entry contains of the port for uplink."
		INDEX   { ifIndex }
	::= { vpnConfigUplinkPortTable 1 }

	VPNCONFIGUPLINKPORTENTRY ::=
		SEQUENCE {
			vpnConfigUplinkPortEnable
				INTEGER
		}

	vpnConfigUplinkPortEnable OBJECT-TYPE
		SYNTAX  	INTEGER{
						disable(0),
						enable(1)
					}
		MAX-ACCESS  read-write
		STATUS  	current
		DESCRIPTION
				"Select the desired port as the VPN Up-link port."
	::= { vpnConfigUplinkPortEntry 1 }
	
vpnConfigPort  					OBJECT IDENTIFIER ::= {tplinkQinqVlanMIBObjects 4}
vpnConfigPortEnableTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF VPNCONFIGPORTENABLEENTRY
	MAX-ACCESS  not-accessible
	STATUS  	current
	DESCRIPTION
			"A list of port status."
::= { vpnConfigPort 1 }

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

	VPNCONFIGPORTENABLEENTRY ::=
		SEQUENCE {
			vpnConfigPortEnable
				INTEGER
		}

	vpnConfigPortEnable OBJECT-TYPE
		SYNTAX  	INTEGER{
						disable(0),
						enable(1)
					}
		MAX-ACCESS  read-write
		STATUS  	current
		DESCRIPTION
				"Enable VLAN VPN of the select port."
	::= { vpnConfigPortEnableEntry 1 }


vpnConfigVlanMapping OBJECT IDENTIFIER ::= { tplinkQinqVlanMIBObjects 5 }

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