-- $Log: zyxel-VES1608FE53A.mib $
-- Revision 1.2  2008/11/06 08:57:33  maverick
-- Revision 1.7  2008/09/26 05:51:34  maverick
-- Revision 1.6  2008/09/19 13:08:54  JeFF
-- Revision 1.5  2008/09/18 08:56:58  kenny
-- Revision 1.4  2008/09/05 05:52:25  JeFF
-- Revision 1.2  2008/08/21 03:44:39  JeFF
-- Revision 1.17  2008/08/19 08:53:56  JeFF
-- Revision 1.16  2008/08/19 06:53:43  Ives
-- Revision 1.15  2008/08/14 08:54:52  JeFF
-- Revision 1.14  2008/08/13 14:12:06  JeFF
-- Revision 1.13  2008/08/13 12:24:19  maverick
-- Revision 1.12  2008/08/13 03:00:53  JeFF
-- Revision 1.11  2008/08/12 10:17:36  JeFF
-- Revision 1.10  2008/08/12 09:17:13  JeFF
-- Revision 1.9  2008/08/12 08:53:45  Ives
-- Revision 1.8  2008/08/11 10:14:14  JeFF
-- Revision 1.7  2008/08/11 09:16:20  JeFF
-- Revision 1.6  2008/08/11 07:43:12  JeFF
-- Revision 1.5  2008/08/11 06:03:39  JeFF
-- Revision 1.4  2008/08/06 12:59:21  maverick
-- Revision 1.3  2008/08/05 03:10:44  JeFF
-- Revision 1.2  2008/08/04 13:09:06  maverick
-- Revision 1.1  2008/07/29 06:03:17  JeFF
-- Initial revision
-- Revision 1.7  2008/06/27 16:08:09  maverick
-- Revision 1.6  2008/06/23 08:54:10  kenny
-- Revision 1.5  2008/06/10 13:53:03  maverick
-- Revision 1.4  2008/05/30 14:12:22  maverick
-- Revision 1.3  2008/05/20 02:55:59  maverick
-- Revision 1.2  2008/05/13 02:03:13  maverick
-- Revision 1.6  2008/03/07 07:56:43  kenny
-- Revision 1.5  2007/12/14 10:00:11  niceguy
-- Revision 1.4  2007/12/14 02:42:41  niceguy
-- Revision 1.3  2007/12/06 02:03:04  kenny
-- Revision 1.2  2007/12/03 01:54:35  niceguy
-- Revision 1.1  2007/12/03 01:45:30  niceguy
-- Initial revision
-- Initial revision


    ZYXEL-VES1608FE53A-MIB DEFINITIONS ::= BEGIN

    IMPORTS

	enterprises
		FROM RFC1155-SMI
	OBJECT-TYPE, Counter32, Gauge32, Unsigned32, Counter64, IpAddress, TimeTicks, NOTIFICATION-TYPE
		FROM SNMPv2-SMI
	DisplayString, PhysAddress, ifIndex
		FROM RFC1213-MIB
	RowStatus, TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	VlanIndex, PortList, dot1qVlanIndex
		FROM Q-BRIDGE-MIB
	dot1dTrafficClass
		FROM P-BRIDGE-MIB
	MacAddress, Timeout, BridgeId, dot1dBasePort
		FROM BRIDGE-MIB;

	zyxel		OBJECT IDENTIFIER ::= { enterprises 890 }
	products	OBJECT IDENTIFIER ::= { zyxel 1 }
	accessSwitch  	OBJECT IDENTIFIER ::= { products 5 }
	vesSeries	OBJECT IDENTIFIER ::= { accessSwitch 12 }

	ves1608fe53a	MODULE-IDENTITY
	LAST-UPDATED "0910090000Z" -- 10/09, 2009
	ORGANIZATION "ZyXEL"
	CONTACT-INFO "EMS"
	DESCRIPTION "ZyXEL Private MIB"
	::= { vesSeries 42 }

	alarmconf 	OBJECT IDENTIFIER ::= { ves1608fe53a 2 }
	ipconf     	OBJECT IDENTIFIER ::= { ves1608fe53a 5 }
	diagnostic 	OBJECT IDENTIFIER ::= { ves1608fe53a 4 }
	multicast 	OBJECT IDENTIFIER ::= { ves1608fe53a 7 }
	port 		OBJECT IDENTIFIER ::= { ves1608fe53a 8 }
	profile		OBJECT IDENTIFIER ::= { ves1608fe53a 9 }
	switch 		OBJECT IDENTIFIER ::= { ves1608fe53a 10 }
	sys			OBJECT IDENTIFIER ::= { ves1608fe53a 11 }
	trap		OBJECT IDENTIFIER ::= { ves1608fe53a 12 }
	statistics	OBJECT IDENTIFIER ::= { ves1608fe53a 13 }
	clear		OBJECT IDENTIFIER ::= { ves1608fe53a 14 }



----------------------------------------
-- alarmconf
----------------------------------------

        alarmOps OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The manager sets the corresponding bit value to 1 to start the operation
        	and the agent clears the object to zero when the operation is successfully completed.
        	The various bit positions are:
		BIT 1: clear
		BIT 2: cutoff"
        ::= { alarmconf 1 }

-- Alarm Conf Table

        alarmConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes alarm configuration."
        ::= { alarmconf 2 }

	alarmConfEntry OBJECT-TYPE
        SYNTAX AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in alarmConfTable."
        INDEX { alarmConfId }
        ::= { alarmConfTable 1 }

        AlarmConfEntry ::=
        	SEQUENCE {
			alarmConfId		INTEGER,
			alarmConfFacility	INTEGER,
			alarmConfTarget		INTEGER,
			alarmConfSeverity	INTEGER,
			alarmConfClearable  INTEGER
           	}

        alarmConfId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "
-- 			5000:adslLine_up
-- 			5001:adslLine_down
 			5002:vdsl_tca_lol
 			5003:vdsl_tca_lof
 			5004:vdsl_tca_los
 			5005:vdsl_tca_lop
 			5006:vdsl_tca_es
 			5007:vdsl_tca_ses
 			5008:vdsl_tca_uas
-- 			5009:adslAtuc_loftrap
-- 			5010:adslAtuc_lostrap
--			5011:adslAtur_loftrap
-- 			5012:adslAtur_lostrap
--			5013:adslAtur_lprtrap
			10000:eqptVol_err
			10001:eqptEqpttemp_err
			10002:eqptFan_err
--			10003:eqptHw_rtc_fail
			10004:eqptHw_mon_fail
			10005:eqptCold_start
			10006:eqptWarm_start
			10007:eqptAlm_input
			15000:sysReboot
--			15001:sysAco
--			15002:sysAlm_clear
--			15003:sysLogin_fail
			15004:sysAnti_spoofing
--			20000:enetUp
--			20001:enetDown
		"
        ::= { alarmConfEntry 1 }

        alarmConfFacility OBJECT-TYPE
        SYNTAX  INTEGER {
        		local1(1),
        		local2(2),
        		local3(3),
        		local4(4),
        		local5(5),
        		local6(6),
        		local7(7)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Alarm facility."
        ::= { alarmConfEntry 2 }

        alarmConfTarget OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The destination which alarms are reported to. Set the bit to 1 to enable the target.
                BIT 1: snmp trap
                BIT 2: syslog"
        ::= { alarmConfEntry 3 }

        alarmConfSeverity OBJECT-TYPE
        SYNTAX 	INTEGER  {
        		critical(1),
        		major(2),
        		minor(3),
        		info(4)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Alarm severity"
        ::= { alarmConfEntry 4 }

        alarmConfClearable OBJECT-TYPE
        SYNTAX  INTEGER  {
                        clearable(1),
                        unclearable(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Setting the object to one indicates that the alarm is to be cleared when user submits alarm clear."
        ::= { alarmConfEntry 5 }

-- Alarm Current Table

        alarmCurrTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmCurrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes current alarm information."
        ::= { alarmconf 3 }

	alarmCurrEntry OBJECT-TYPE
        SYNTAX AlarmCurrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in alarmCurrTable."
        INDEX { alarmCurrIndex }
        ::= { alarmCurrTable 1 }

        AlarmCurrEntry ::=
        	SEQUENCE {
			alarmCurrIndex		INTEGER,
			alarmCurrOccurTime	TimeTicks,
			alarmCurrTrapOid	OBJECT IDENTIFIER,
			alarmCurrParam1		INTEGER,
			alarmCurrParam2		INTEGER,
			alarmCurrParam3		INTEGER,
			alarmCurrParam4		INTEGER,
			alarmCurrParam5		INTEGER,
			alarmCurrParam6		INTEGER,
			alarmCurrParam7		INTEGER,
			alarmCurrParam8		INTEGER,
			alarmCurrTimeDescr	DisplayString,
			alarmCurrSeverity	INTEGER,
			alarmCurrDescr		DisplayString
           	}

        alarmCurrIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Index of the alarm."
        ::= { alarmCurrEntry 1 }

        alarmCurrOccurTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Alarm occurence time (in hundredths of a second) since the system was last re-initialized."
        ::= { alarmCurrEntry 2 }

        alarmCurrTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Trap OID of the alarm."
        ::= { alarmCurrEntry 3 }

        alarmCurrParam1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 1st parameter of the alarm."
        ::= { alarmCurrEntry 4 }

        alarmCurrParam2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 2nd parameter of the alarm."
        ::= { alarmCurrEntry 5 }

        alarmCurrParam3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 3rd parameter of the alarm."
        ::= { alarmCurrEntry 6 }

        alarmCurrParam4 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 4th parameter of the alarm."
        ::= { alarmCurrEntry 7 }

        alarmCurrParam5 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 5th parameter of the alarm."
        ::= { alarmCurrEntry 8 }

        alarmCurrParam6 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 6th parameter of the alarm."
        ::= { alarmCurrEntry 9 }

        alarmCurrParam7 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 7th parameter of the alarm."
        ::= { alarmCurrEntry 10 }

        alarmCurrParam8 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 8th parameter of the alarm."
        ::= { alarmCurrEntry 11 }

        alarmCurrTimeDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The string representation of occurence time (YYYY/MM/DD HH:MM:SS)."
        ::= { alarmCurrEntry 12 }

        alarmCurrSeverity OBJECT-TYPE
        SYNTAX 	INTEGER {
        		critical(1),
        		major(2),
        		minor(3),
        		info(4)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The severity of the alarm."
        ::= { alarmCurrEntry 13 }

        alarmCurrDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The description of the alarm."
        ::= { alarmCurrEntry 14 }

-- Alarm Severity Port Table

        alarmSeverityPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmSeverityPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes the configuration of alarm reporting severity threshold for each port."
        ::= { alarmconf 4 }

	alarmSeverityPortEntry OBJECT-TYPE
        SYNTAX AlarmSeverityPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in alarmSeverityPortTable."
        INDEX { ifIndex }
        ::= { alarmSeverityPortTable 1 }

        AlarmSeverityPortEntry ::=
        	SEQUENCE {
			severityThresh	INTEGER
           	}

        severityThresh OBJECT-TYPE
        SYNTAX 	INTEGER {
        		critical(1),
        		major(2),
        		minor(3),
        		info(4)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The minimum alarm severity that is reported."
        ::= { alarmSeverityPortEntry 1 }

----------------------------------------
-- ipconf 
----------------------------------------
--------------------
-- staticRoute
--------------------

	staticRoute 	OBJECT IDENTIFIER ::= { ipconf 1 }

        maxNumOfStaticRoutes OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The maximum number of static routes supported by the system."
        ::= { staticRoute 1 }

        staticRouteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF StaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about static routes."
        ::= { staticRoute 2 }

        staticRouteEntry OBJECT-TYPE
        SYNTAX StaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A list of static route entry."
        INDEX  { IMPLIED staticRouteName }
        ::= { staticRouteTable 1 }

        StaticRouteEntry ::=
		SEQUENCE {
        		staticRouteName		DisplayString,
			staticRouteDest		IpAddress,
			staticRouteMask		IpAddress,
			staticRouteGateway	IpAddress,
			staticRouteMetric	INTEGER,
			staticRouteRowStatus	RowStatus
           	}

        staticRouteName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The name of the static route."
        ::= { staticRouteEntry 1 }

        staticRouteDest OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"The destination IP address of the static route."
        ::= { staticRouteEntry 2 }

        staticRouteMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"The subnet mask of the static route."
        ::= { staticRouteEntry 3 }

        staticRouteGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"The gateway IP address of the static route."
        ::= { staticRouteEntry 4 }

        staticRouteMetric OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"The routing metric of the static route."
        ::= { staticRouteEntry 5 }

        staticRouteRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"This object is used to create a new row or modify or delete an existing row
        	in this table. A row is activated by setting this object to `active', , and is
        	deactivated by setting it to 'notInService'."
        ::= { staticRouteEntry 6 }

--------------------
-- ipSetup
--------------------
	ipSetup		OBJECT IDENTIFIER ::= { ipconf 2 }

		inbandIp OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
                  		""
		::= { ipSetup 1 }

		inbandIpSubnetMask OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
        		          ""
		::= { ipSetup 2 }

		outbandIp OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
        		      ""
		::= { ipSetup 3 }

		outbandIpSubnetMask OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		              ""
		::= { ipSetup 4 }
    
		defaultGatewayIp OBJECT-TYPE
		SYNTAX  IpAddress
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
        		      ""
		::= { ipSetup 5 }

----------------------------------------
-- diagnostic
----------------------------------------

	selt		OBJECT IDENTIFIER ::= { diagnostic 3 }
	ldm			OBJECT IDENTIFIER ::= { diagnostic 4 }


--------------------
-- selt
--------------------

	seltTarget OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"IfIndex of the port which would be performed single end loopback test."
	::= { selt 1 }

	seltOps OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The manager sets the object to 1 to start the selt
        	and the agent clears the object to zero when selt is successfully completed."
	::= { selt 2 }

	seltStatus OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Status description of the selt result."
	::= { selt 3 }

	seltCableType OBJECT-TYPE
	SYNTAX 	INTEGER {
			awg24(1),
			awg26(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The cable type that selt result indicates."
	::= { selt 4 }

	seltLoopEstimateLengthFt OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "feet"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The estimated loop length that selt result indicates."
	::= { selt 5 }

	seltLoopEstimateLengthMeter OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "meter"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The estimated loop length that selt result indicates."
	::= { selt 6 }

--------------------
-- ldm
--------------------

	ldmTarget OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"IfIndex of the port which would be performed ldm test."
	::= { ldm 1 }

	ldmOps OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The manager sets the object to 1 to start the ldm test
        	and the agent clears the object to zero when ldm test is successfully completed."
	::= { ldm 2 }

	ldmStatus OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Status description of ldm test result."
	::= { ldm 3 }

	ldmXtucLoopAttenuation OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Loop Attenuation."
	::= { ldm 4 }

	ldmXtucSignalAttenuation OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Signal Attenuation."
	::= { ldm 5 }

	ldmXtucSignalMargin OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Signal Margin."
	::= { ldm 6 }

	ldmXtucAggregateTxPower OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Actual Aggregate Transmit Power."
	::= { ldm 7 }

	ldmXtucAttainableBitRate OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "bits per second"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Attainable Bit Rate."
	::= { ldm 8 }

	ldmXturLoopAttenuation OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Loop Attenuation."
	::= { ldm 9 }

	ldmXturSignalAttenuation OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS	current
	DESCRIPTION
		"Signal Attenuation."
	::= { ldm 10 }

	ldmXturSignalMargin OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Signal Margin."
	::= { ldm 11 }

	ldmXturAggregateTxPower OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "tenth dB"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Actual Aggregate Transmit Power."
	::= { ldm 12 }

	ldmXturAttainableBitRate OBJECT-TYPE
	SYNTAX Unsigned32
	UNITS "bits per second"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Attainable Bit Rate."
	::= { ldm 13 }

	ldmXtucNumOfSubcarriersPerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The number of subcarriers per port for ATU-C."
	::= { ldm 14 }

	ldmXturNumOfSubcarriersPerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The number of subcarriers per port for ATU-R."
	::= { ldm 15 }

	ldmXtucHlinScale OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Scale of Hlin."
	::= { ldm 16 }

	ldmXtucHlinReal1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides real part of Hlin for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 17 }

	ldmXtucHlinReal2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides real part of Hlin for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 18 }

	ldmXtucHlinImage1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides image part of Hlin for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 19 }

	ldmXtucHlinImage2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides image part of Hlin for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 20 }

	ldmXtucHlog1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 21 }

	ldmXtucHlog2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 22 }

	ldmXtucQln1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides QLN for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 23 }

	ldmXtucQln2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides QLN for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 24 }

	ldmXtucSnr1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides SNR for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 25 }

	ldmXtucSnr2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides SNR for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value."
	::= { ldm 26 }

	ldmXturHlinScale OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Scale of Hlin."
	::= { ldm 27 }

	ldmXturHlinReal OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Real part of Hlin. Each subcarrier takes two octets to store the value."
	::= { ldm 28 }

	ldmXturHlinImage OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Image part of Hlin. Each subcarrier takes two octets to store the value."
	::= { ldm 29 }

	ldmXturHlog OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Hlog of subcarrier. Each subcarrier takes two octets to store the value."
	::= { ldm 30 }

	ldmXturQln OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"QLN of subcarrier. Each subcarrier takes two octets to store the value."
	::= { ldm 31 }

	ldmXturSnr OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"SNR of subcarrier. Each subcarrier takes two octets to store the value."
	::= { ldm 32 }

----------------------------------------
-- multicast
----------------------------------------

	staticMulticast		OBJECT IDENTIFIER ::= { multicast 2 }
	igmpFilter		OBJECT IDENTIFIER ::= { multicast 3 }
	mcastBandwidth		OBJECT IDENTIFIER ::= { multicast 4 }
	igmpCount		OBJECT IDENTIFIER ::= { multicast 5 }
	mvlan			OBJECT IDENTIFIER ::= { multicast 6 }
	queryVid		OBJECT IDENTIFIER ::= { multicast 7 }

	igmpEnable OBJECT-TYPE
	SYNTAX	INTEGER {
			enableProxy(1),
			enableSnooping(2),
			disable(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable IGMP protocol."
	::= { multicast 1 }

--------------------
--  staticMulticast
--------------------
        		
	maxNumberOfMcastGroups OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of static multicast groups supported by the system."
	::= { staticMulticast 1 }

	multicastGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF MulticastGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A table that contains static multicast group information."
        ::= { staticMulticast 2 }

        multicastGroupEntry OBJECT-TYPE
        SYNTAX  MulticastGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        		"The entry of multicast group table."
        INDEX  { multicastGroupVid, multicastGroupMacAddr }
        ::= { multicastGroupTable 1 }

        MulticastGroupEntry ::=
           SEQUENCE {                               
            	multicastGroupVid		INTEGER,
        	multicastGroupMacAddr		PhysAddress,
        	multicastGroupPorts		PortList,
		multicastGroupRowStatus		RowStatus
           }
           
	multicastGroupVid OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The multicast VLAN of the group."
	::= { multicastGroupEntry 1 }
           

	multicastGroupMacAddr OBJECT-TYPE
	SYNTAX PhysAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The multicast MAC address of the group."
	::= { multicastGroupEntry 2 }

	multicastGroupPorts OBJECT-TYPE
	SYNTAX PortList
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The port list which specifies the ports joining the multicast group."
	::= { multicastGroupEntry 3 }

	multicastGroupRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the multicast group entry."
	::= { multicastGroupEntry 4 }

	igmpVersion OBJECT-TYPE
	SYNTAX	INTEGER {
			v2(1),
			v3(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Setting IGMP version."
	::= { multicast 9 }

--------------------
--  igmpFilter
--------------------

	maxNumOfIgmpFilters OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of IGMP filters supported by the system."
	::= { igmpFilter 1 }

-- IGMP Filter Table

	igmpFilterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that contains IGMP filters."
        ::= { igmpFilter 2 }

        igmpFilterEntry OBJECT-TYPE
        SYNTAX IgmpFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of IGMP filter table."
        INDEX { igmpFilterName, igmpFilterIndex }
        ::= { igmpFilterTable 1 }

        IgmpFilterEntry ::=
        	SEQUENCE {
        		igmpFilterName		DisplayString,
        		igmpFilterIndex		INTEGER,
        		igmpFilterStartIp	IpAddress,
        		igmpFilterEndIp		IpAddress,
			igmpFilterRowStatus	RowStatus
           	}
	
	igmpFilterName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The IGMP filter name."
	::= { igmpFilterEntry 1 }

	igmpFilterIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index which specif the filter rule."
	::= { igmpFilterEntry 2 }

	igmpFilterStartIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The start IP of the filter rule."
	::= { igmpFilterEntry 3 }
	
	igmpFilterEndIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The end IP of the filter rule."
	::= { igmpFilterEntry 4 }
		
	igmpFilterRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the IGMP filter entry."
	::= { igmpFilterEntry 5 }

-- IGMP Filter Port Table
	
        igmpFilterPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table specif the IGMP filter of the port."
        ::= { igmpFilter 3 }

	igmpFilterPortEntry OBJECT-TYPE
        SYNTAX IgmpFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in igmpFilterPortTable."
        INDEX { ifIndex }
        ::= { igmpFilterPortTable 1 }

        IgmpFilterPortEntry ::=
        	SEQUENCE {
			igmpFilterPortFilterName	DisplayString
           	}
           
        igmpFilterPortFilterName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IGMP filter name of the port."
        ::= { igmpFilterPortEntry 1 }

--------------------
--  bandwidth
--------------------

	mcastDefaultBandwidth OBJECT-TYPE
	SYNTAX INTEGER (1..100000)
	UNITS "Kbps"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Default bandwidth requirement for a multicast channel."
	::= { mcastBandwidth 1 }

	maxNumOfMcastBw OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of row entries that user can create in mcastBwTable."
	::= { mcastBandwidth 2 }

-- mcastBwTable

	mcastBwTable OBJECT-TYPE
        SYNTAX SEQUENCE OF McastBwEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table defines bandwidth budget for a range of multicast IP channels."
        ::= { mcastBandwidth 3 }

        mcastBwEntry OBJECT-TYPE
        SYNTAX McastBwEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of mcastBwTable."
        INDEX { mcastBwIndex, mcastBwStartIp, mcastBwEndIp }
        ::= { mcastBwTable 1 }

        McastBwEntry ::=
        	SEQUENCE {
        		mcastBwIndex		INTEGER,
        		mcastBwStartIp		IpAddress,
        		mcastBwEndIp		IpAddress,
        		mcastBwBandwidth	INTEGER,
			mcastBwRowStatus	RowStatus
           	}

	mcastBwIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index which specify the entry."
	::= { mcastBwEntry 1 }

	mcastBwStartIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The start multicast IP of the bandwidth control range."
	::= { mcastBwEntry 2 }

	mcastBwEndIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The end multicast IP of the bandwidth control range."
	::= { mcastBwEntry 3 }

	mcastBwBandwidth OBJECT-TYPE
	SYNTAX INTEGER
	UNITS "Kbps"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The bandwidth budget for the multicast IP channels."
	::= { mcastBwEntry 4 }

	mcastBwRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the entry."
	::= { mcastBwEntry 5 }

-- mcastBwPortTable

        mcastBwPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF McastBwPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table specify the multicast bandwidth control of the port."
        ::= { mcastBandwidth 4 }

	mcastBwPortEntry OBJECT-TYPE
        SYNTAX McastBwPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of mcastBwPortTable."
        INDEX { ifIndex }
        ::= { mcastBwPortTable 1 }

        McastBwPortEntry ::=
        	SEQUENCE {
			mcastBwPortEnable	INTEGER,
			mcastBwPortBandwidth	INTEGER
           	}

        mcastBwPortEnable OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable multicast bandwidth control for a port."
        ::= { mcastBwPortEntry 1 }

        mcastBwPortBandwidth OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Kbps"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Set bandwidth threshold for a port."
        ::= { mcastBwPortEntry 2 }

--------------------
--  igmpCount
--------------------

        igmpCountPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpCountPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table specify the IGMP count limiting of the port."
        ::= { igmpCount 1 }

	igmpCountPortEntry OBJECT-TYPE
        SYNTAX IgmpCountPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of igmpCountPortTable."
        INDEX { ifIndex }
        ::= { igmpCountPortTable 1 }

        IgmpCountPortEntry ::=
        	SEQUENCE {
			igmpCountPortEnable	INTEGER,
			igmpCountPortLimit	INTEGER
           	}

        igmpCountPortEnable OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable IGMP count limiting for a port."
        ::= { igmpCountPortEntry 1 }

        igmpCountPortLimit OBJECT-TYPE
        SYNTAX INTEGER (0..16)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The maximum allowed IGMP report count for a port."
        ::= { igmpCountPortEntry 2 }

--------------------
--  mvlan
--------------------

	maxNumOfMvlan OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of row entries that user can create in mvlanTable."
	::= { mvlan 1 }

-- mvlanTable

	mvlanTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF MvlanEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"A table containing static configuration information for
        	each multicast VLAN configured into the device."
    	::= { mvlan 2 }

	mvlanEntry OBJECT-TYPE
    	SYNTAX MvlanEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"An entry of mvlanTable."
    	INDEX { mvlanIndex }
    	::= { mvlanTable 1 }

	MvlanEntry ::=
    		SEQUENCE {
    			mvlanIndex		VlanIndex,
        		mvlanName		DisplayString,
        		mvlanEgressPorts	PortList,
			mvlanUntaggedPorts	PortList,
       			mvlanRowStatus		RowStatus
    		}

	mvlanIndex OBJECT-TYPE
    	SYNTAX VlanIndex
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
        	"The VLAN-ID refering to this VLAN."
    	::= { mvlanEntry 1 }

	mvlanName OBJECT-TYPE
    	SYNTAX DisplayString (SIZE (0..31))
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"An administratively assigned string, which may be used to identify the VLAN."
    	::= { mvlanEntry 2 }

	mvlanEgressPorts OBJECT-TYPE
    	SYNTAX PortList
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"The set of ports which are permanently assigned to the
        	egress list for this multicast VLAN."
    	::= { mvlanEntry 3 }

	mvlanUntaggedPorts OBJECT-TYPE
    	SYNTAX PortList
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"The set of ports which should transmit egress packets
		 	for this multicast VLAN as untagged."
    	::= { mvlanEntry 4 }

	mvlanRowStatus OBJECT-TYPE
    	SYNTAX RowStatus
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"This object indicates the status of this entry."
    	::= { mvlanEntry 5 }

-- mvlanTranslateTable

	mvlanTranslateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MvlanTranslateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that contains multicast to VLAN translation."
        ::= { mvlan 3 }

        mvlanTranslateEntry OBJECT-TYPE
        SYNTAX MvlanTranslateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of mvlanTranslateTable."
        INDEX { dot1qVlanIndex, mvlanTranslateIndex }
        ::= { mvlanTranslateTable 1 }

        MvlanTranslateEntry ::=
        	SEQUENCE {
        		mvlanTranslateIndex		INTEGER,
        		mvlanTranslateStartIp		IpAddress,
        		mvlanTranslateEndIp		IpAddress
           	}

	mvlanTranslateIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index which specif the entry."
	::= { mvlanTranslateEntry 1 }

	mvlanTranslateStartIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The start IP of the multicast VLAN translation."
	::= { mvlanTranslateEntry 2 }

	mvlanTranslateEndIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The end IP of the multicast VLAN translation."
	::= { mvlanTranslateEntry 3 }

--------------------
--  queryVid
--------------------

	maxNumOfQryVid OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of row entries that user can create in qryVidConfTable."
	::= { queryVid 1 }

-- qryVidConfTable

        qryVidConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QryVidConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table defines statically set VLANs used for response IGMP report."
        ::= { queryVid 2 }

	qryVidConfEntry OBJECT-TYPE
        SYNTAX QryVidConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in qryVidConfTable."
        INDEX { qryVid }
        ::= { qryVidConfTable 1 }

        QryVidConfEntry ::=
        	SEQUENCE {
			qryVid			INTEGER,
			qryVidRowStatus 	RowStatus
           	}

	qryVid OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"VLAN ID."
	::= { qryVidConfEntry 1 }

        qryVidRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"This object indicates the status of this entry."
        ::= { qryVidConfEntry 2 }

-- qryVidStatusTable

        qryVidStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QryVidStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table shows statically set or dynamically learned VLANs used for response IGMP report."
        ::= { queryVid 3 }

	qryVidStatusEntry OBJECT-TYPE
        SYNTAX QryVidStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in qryVidStatusTable."
        INDEX { qryVid }
        ::= { qryVidStatusTable 1 }

        QryVidStatusEntry ::=
        	SEQUENCE {
			qryVidType		INTEGER
           	}

	qryVidType OBJECT-TYPE
	SYNTAX  INTEGER {
			static(1),
			dynamic(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"VLAN type."
	::= { qryVidStatusEntry 1 }


----------------------------------------
-- port
----------------------------------------
-- Since we define it latter, mark the definition here
--        subrPortTable           OBJECT IDENTIFIER ::= { port 1 }
--	adslPort		OBJECT IDENTIFIER ::= { port 2 }
	vdslPort	OBJECT IDENTIFIER ::= { port 3 }
	pvc			OBJECT IDENTIFIER ::= { port 4 }
--	ppvc			OBJECT IDENTIFIER ::= { port 5 }
	pvcStats		OBJECT IDENTIFIER ::= { port 7 }
	rpvc			OBJECT IDENTIFIER ::= { port 8 }
-- Since we define it latter, mark the definition here
--        dsBcastDisableTable     OBJECT IDENTIFIER ::= { port 9 }
	paepvc			OBJECT IDENTIFIER ::= { port 10 }
	tlspvc			OBJECT IDENTIFIER ::= { port 11 }
--	ipbpvc			OBJECT IDENTIFIER ::= { port 12 }
    dtpvc			OBJECT IDENTIFIER ::= { port 13 }
-- G.bond start from 51
--	gbond			OBJECT IDENTIFIER ::= { port 51 }
-- Subscriber Port Table

        subrPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SubrPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes subscriber attributes for the port."
        ::= { port 1 }

	subrPortEntry OBJECT-TYPE
        SYNTAX SubrPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in subrPortTable."
        INDEX { ifIndex }
        ::= { subrPortTable 1 }

        SubrPortEntry ::=
        	SEQUENCE {
			subrPortName	DisplayString,
			subrPortTel	DisplayString
		}

        subrPortName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Name of the subscriber."
        ::= { subrPortEntry 1 }

        subrPortTel OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..15))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Telephone number of the subscriber."
        ::= { subrPortEntry 2 }

--------------------
--  adslPort
--------------------

-- ADSL Line Table

--        adslLineConfTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF AdslLineConfEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"This table includes common attributes describing the ADSL line."
--        ::= { adslPort 1 }
--
--	adslLineConfEntry OBJECT-TYPE
--        SYNTAX AdslLineConfEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in adslLineConfTable."
--        INDEX { ifIndex }
--        ::= { adslLineConfTable 1 }
--
--        AdslLineConfEntry ::=
--           SEQUENCE {
--		adslLineConfAdslMode		INTEGER,
--		adslLineConfAnnexL		INTEGER,
--		adslLineConfAnnexM		INTEGER,
--		adslLineConfAnnexI		INTEGER,
--		adslLineConfOptionMask		INTEGER,
--		adslLineConfPowerMgmt		INTEGER,
--		adslLineConfPowerMode		INTEGER,
--		adslLineConfAturMaxTxPower	INTEGER,
--		adslLineConfAtucMaxTxPower	INTEGER,
--		adslLineConfMaxRxPower		INTEGER,
--		adslLineConfAturCarrierMask	OCTET STRING,
--		adslLineConfAtucCarrierMask0	OCTET STRING,
--		adslLineConfAtucCarrierMask1	OCTET STRING,
--		adslLineConfAturInp		INTEGER,
--		adslLineConfAtucInp		INTEGER,
--		adslLineConfL0Time		INTEGER,
--		adslLineConfL2Time		INTEGER,
--		adslLineConfL2ATPR		INTEGER,
--		adslLineConfL2ATPRT		INTEGER,
--		adslLineConfMaxL2Rate		INTEGER,
--		adslLineConfMinL2Rate		INTEGER,
--		adslLineConfL0toL2Rate		INTEGER
--           }
--
--        adslLineConfAdslMode OBJECT-TYPE
--        SYNTAX 	INTEGER {
--			gDotLite(1),
--			gDotDmt(2),
--			t1Dot413(3),
--			auto(4),
--			etsi(5),
--			adsl2(6),
--			adsl2Plus(7)
--		}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"G.lite and T1.413 are only applicable to annex A board.
--		ETSI is only applicable to annex B board."
--        ::= { adslLineConfEntry 1 }
--
--        adslLineConfAnnexL OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		enableNarrowMode(1),
--        		enableWideMode(2),
--        		disable(3)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Enable/disable annex L for the port(Only in AnnexA)."
--        ::= { adslLineConfEntry 2 }
--
--        adslLineConfAnnexM OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		enable(1),
--        		disable(2)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Enable/disable annex M for the port(For BCM AnnexA solution)."
--        ::= { adslLineConfEntry 3 }
--
--        adslLineConfAnnexI OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		enable(1),
--        		disable(2)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Enable/disable annex I for the port(For BCM AnnexA solution)."
--        ::= { adslLineConfEntry 4 }
--
--        adslLineConfOptionMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The semantic for each bit is:
--		BIT 1 : Disable Trellis
--		BIT 2 : Disable Reed-Solomon
--		BIT 3 : Disable upstream bitswap
--		BIT 4 : Disable downstream bitswap
--		BIT 5 : Disable 1-bit constellation
--		BIT 6 : Disable transmit windowing
--		BIT 7 : Disable s=0.5 support (ADSL1 only)
--		BIT 8 : Disable G.lite rate limit (ADSL1 only)"
--        ::= { adslLineConfEntry 5 }
--
--        adslLineConfPowerMgmt OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		enableL2(1),
--        		enableL2(2),
--        		disable(3)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Enable/disable power management for the port."
--        ::= { adslLineConfEntry 6 }
--
--        adslLineConfPowerMode OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		fix(1),
--        		priorityToPower(2),
--        		priorityToRate(3)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The power mode of the ADSL line."
--        ::= { adslLineConfEntry 7 }
--
--        adslLineConfAturMaxTxPower OBJECT-TYPE
--        SYNTAX INTEGER (-130..200)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum allowed transmit power of ATU-R."
--        ::= { adslLineConfEntry 8 }
--
--        adslLineConfAtucMaxTxPower OBJECT-TYPE
--        SYNTAX INTEGER (-50..200)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum allowed transmit power of ATU-C."
--        ::= { adslLineConfEntry 9 }
--
--        adslLineConfMaxRxPower OBJECT-TYPE
--        SYNTAX INTEGER (-255..255)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum aggregate received power."
--        ::= { adslLineConfEntry 10 }
--
--        adslLineConfAturCarrierMask OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The upstream carrier mask. For CTLM AnnexA solution, bin is from 0 to 31;
--                 CTLM AnnexB solution, bin is from 0 to 63; BCM solution, bin is from 0 to 63.
--		Bit set to 1 indicates the bin is masked off."
--        ::= { adslLineConfEntry 11 }
--
--        adslLineConfAtucCarrierMask0 OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream carrier mask. For CTLM AnnexA solution, bin is from 32 to 255;
--                 CTLM AnnexB solution, bin is from 64 to 255; BCM solution, bin is from 32 to 255.
--                 Bit set to 1 indicates the bin is masked off."
--        ::= { adslLineConfEntry 12 }
--
--        adslLineConfAtucCarrierMask1 OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream carrier mask from bin 256 to 511. Bit set to 1 indicates
--		the bin is masked off."
--        ::= { adslLineConfEntry 13 }
--
--        adslLineConfAturInp OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		zero(1),
--        		zero_point_five(2),
--        		one(3),
--        		two(4),
--        		four(5),
--        		eight(6),
--        		sixteen(7)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"The upstream Impulse Noise Protection minimum setting in unit of DMT symbol.
--                 For CTLM solution, user can set value from 1 ~ 4,
--                 but for BCM solution, user can set value from 1 ~ 7."
--        ::= { adslLineConfEntry 14 }
--
--        adslLineConfAtucInp OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		zero(1),
--        		zero_point_five(2),
--        		one(3),
--        		two(4),
--        		four(5),
--        		eight(6),
--        		sixteen(7)
--			}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream Impulse Noise Protection minimum setting in unit of DMT symbol.
--                 For CTLM solution, user can set value from 1 ~ 4,
--                 but for BCM solution, user can set value from 1 ~ 7."
--        ::= { adslLineConfEntry 15 }
--
--
--        adslLineConfL0Time OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set the minimum time in seconds that the ADSL line
--		must stay in L0 power mode before changing to the L2 power mode.
--		 For CTLM solution, the range is 120 ~ 65535;
--                 for BCM solution, the range is 10 ~ 65535."
--        ::= { adslLineConfEntry 16 }
--
--        adslLineConfL2Time OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set minimum time in seconds that the ADSL line must stay in the
--                 L2 power mode before reducing the power again in the L2 power mode.
--		 For CTLM solution, the range is 60 ~ 65535;
--                 for BCM solution, the range is 10 ~ 65535."
--        ::= { adslLineConfEntry 17 }
--
--        adslLineConfL2ATPR OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set the maximum Aggregate Transmit Power Reduction (ATPR)
--		in decibels (dB) that is permitted in a L2 power reduction.
--		The system can gradually decrease the ADSL line transmission power
--		while it is in the L2 power mode. This is the largest individual
--		power reduction allowed in the L2 power mode.
--		For CTLM solution, the range is 1 ~ 5(dB);
--                for BCM solution, the range is 0 ~ 15(dB)."
--        ::= { adslLineConfEntry 18 }
--
--        adslLineConfL2ATPRT OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"the maximum Aggregate Transmit Power Reduction Total (ATPRT)
--		in decibels (dB) that is permitted in the L2 power mode.
--		This is the total transmit power decrease that is allowed
--		to occur in the L2 power mode.
--		For CTLM solution, the range is 1 ~ 40(dB);
--                for BCM solution, the range is 0 ~ 15(dB)."
--        ::= { adslLineConfEntry 19 }
--
--
--        adslLineConfMaxL2Rate OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured maximum L2 rate.
--         (32~4096 Kbps, 4 Kbps resolution. For CTLM solution, 0 for system assign; for BCM solution, default:4096.)"
--        ::= { adslLineConfEntry 20 }
--
--        adslLineConfMinL2Rate OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured minimum L2 rate.
--		 (32~4096 Kbps, 4 Kbps resolution, For CTLM solution, 0 for system assign; for BCM solution, default:32.)"
--        ::= { adslLineConfEntry 21 }
--
--        adslLineConfL0toL2Rate OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured transition L0 to L2 rate.
--		 (<=min_l2rate/2 and >= 16 Kbps, For CTLM solution, 0 for system assign; for BCM solution, default:16.)"
--        ::= { adslLineConfEntry 22 }
--
-- ADSL Port Batch Set
--
--	adslPortBatchSet		OBJECT IDENTIFIER ::= { adslPort 3 }
--
--        adslPortTarget OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The managed object is used for identify the target on which
--		the port configuration should be performed. The target is encoded as:
--		Byte 1:   0, Reserved(chaises)
--		Byte 2~3: 0,0 Reserved(slot)
--		Byte 4:   0, reserved
--		Byte 5~11:each octet specifies a set of eight ports, with the first
--		          octet specifying ports 1 through 8, etc."
--        ::= { adslPortBatchSet 1 }
--
--        adslPortOps OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The managed object is for ADSL line configuration. When the EMS
--		wants to issue the desired operation, the EMS shall send SNMP-SET message to set
--		the corresponding bit value to be 1. The various bit positions are:
--		BIT  1: enable port
--		BIT  2: disable port
--		BIT  3: set ADSL mode
--		BIT  4: set line profile
--		BIT  5: set alarm profile
--		BIT  6: enable Annex L to be narrow mode(Only in AnnexA)
--		BIT  7: enable Annex L to be wide mode(Only in AnnexA)
--		BIT  8: disable Annex L(Only in AnnexA)
--		BIT  9: enable Annex M (For BCM AnnexA solution)
--		BIT 10: disable Annex M  (For BCM AnnexA solution)
--		BIT 11: enable Annex I (For BCM AnnexA solution)
--		BIT 12: disable Annex I (For BCM AnnexA solution)
--		BIT 13: set option mask
--		BIT 14: enable power management mode to be L2
--		BIT 15: enable power management mode to be L2
--		BIT 16: disable power management mode
--		BIT 17: set power mode to be fixed
--		BIT 18: set power mode to be priority to power
--		BIT 19: set power mode to be priority to rate
--		BIT 20: set ATU-R max Tx power
--		BIT 21: set ATU-C max Tx power
--		BIT 22: set max Rx power
--		BIT 23: set ATU-R carrier mask
--		BIT 24: set ATU-C carrier mask
--		BIT 25: set ATU-R INP minimum setting
--		BIT 26: set ATU-C INP minimum setting"
--        ::= { adslPortBatchSet 2 }
--
--        adslPortOps2 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The managed object is for ADSL line configuration. When the EMS
--		wants to issue the desired operation, the EMS shall send SNMP-SET message to set
--		the corresponding bit value to be 1. The various bit positions are:
--		BIT 1: set L0 Time
--		BIT 2: set L2 Time
--		BIT 3: set L2 ATPR
--		BIT 4: set L2 ATPRT
--		BIT 5: set maximum L2 rate
--		BIT 6: set minimum L2 rate
--		BIT 7: set transition L0 to L2 rate"
--        ::= { adslPortBatchSet 3 }
--
--
--        adslModeForBatchSet OBJECT-TYPE
--        SYNTAX 	INTEGER {
--			gDotLite(1),
--			gDotDmt(2),
--			t1Dot413(3),
--			auto(4),
--			etsi(5),
--			adsl2(6),
--			adsl2Plus(7)
--		}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"G.lite and T1.413 are only applicable to annex A board.
--		ETSI is only applicable to annex B board."
--        ::= { adslPortBatchSet 4 }
--
--        adslLineProfileForBatchSet OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (1..31))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The ADSL line profile."
--        ::= { adslPortBatchSet 5 }
--
--        adslAlarmProfileForBatchSet OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (1..31))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The ADSL alarm profile."
--        ::= { adslPortBatchSet 6 }
--
--        adslOptionMaskForBatchSet OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The semantic for each bit is identical to the object adslLineConfOptionMask."
--        ::= { adslPortBatchSet 7 }
--
--        adslAturMaxTxPowerForBatchSet OBJECT-TYPE
--        SYNTAX INTEGER (-130..200)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum allowed transmit power of ATU-R."
--        ::= { adslPortBatchSet 8 }
--
--        adslAtucMaxTxPowerForBatchSet OBJECT-TYPE
--        SYNTAX INTEGER (-50..200)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum allowed transmit power of ATU-C."
--        ::= { adslPortBatchSet 9 }
--
--        adslMaxRxPowerForBatchSet OBJECT-TYPE
--        SYNTAX INTEGER (-255..255)
--        UNITS "tenth dBm"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum aggregate received power."
--        ::= { adslPortBatchSet 10 }
--
--        adslAturCarrierMaskForBatchSet OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The upstream carrier mask.For CTLM AnnexA solution, bin is from 0 to 31;
--                 CTLM AnnexB solution, bin is from 0 to 63; BCM solution, bin is from 0 to 63.
--		Bit set to 1 indicates the bin is masked off."
--        ::= { adslPortBatchSet 11 }
--
--        adslAtucCarrierMask0ForBatchSet OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream carrier mask from bin 32 to 255. Bit set to 1 indicates
--		the bin is masked off."
--        ::= { adslPortBatchSet 12 }
--
--        adslAtucCarrierMask1ForBatchSet OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream carrier mask from bin 256 to 511. Bit set to 1 indicates
--		the bin is masked off."
--        ::= { adslPortBatchSet 13 }
--
--        adslAturInpForBatchSet OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		zero(1),
--        		zero_point_five(2),
--        		one(3),
--        		two(4),
--        		four(5),
--        		eight(6),
--        		sixteen(7)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"The upstream Impulse Noise Protection minimum setting in unit of DMT symbol.
--                 For CTLM solution, user can set value from 1 ~ 4, but for BCM solution, user can set value from 1 ~ 7."
--        ::= { adslPortBatchSet 14 }
--
--        adslAtucInpForBatchSet OBJECT-TYPE
--        SYNTAX  INTEGER {
--        		zero(1),
--        		zero_point_five(2),
--        		one(3),
--        		two(4),
--        		four(5),
--        		eight(6),
--        		sixteen(7)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The downstream Impulse Noise Protection minimum setting in unit of DMT symbol.
--                 For CTLM solution, user can set value from 1 ~ 4, but for BCM solution, user can set value from 1 ~ 7."
--        ::= { adslPortBatchSet 15 }
--
--
--        adslL0TimeForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set the minimum time in seconds that the ADSL line
--		must stay in L0 power mode before changing to the L2 power mode.
--		For CTLM solution, the range is 120 ~ 65535; for BCM solution, the range is 10 ~ 65535."
--        ::= { adslPortBatchSet 16 }
--
--        adslL2TimeForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set minimum time in seconds that the ADSL line
--		must stay in the L2 power mode before reducing the power
--		again in the L2 power mode.
--		For CTLM solution, the range is 60 ~ 65535; for BCM solution, the range is 10 ~ 65535."
--        ::= { adslPortBatchSet 17 }
--
--        adslL2ATPRForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set the maximum Aggregate Transmit Power Reduction (ATPR)
--		in decibels (dB) that is permitted in a L2 power reduction.
--		The system can gradually decrease the ADSL line transmission power
--		while it is in the L2 power mode. This is the largest individual
--		power reduction allowed in the L2 power mode.
--		For CTLM solution, the range is 1 ~ 5(dB); for BCM solution, the range is 0 ~ 15(dB)."
--        ::= { adslPortBatchSet 18 }
--
--        adslL2ATPRTForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"the maximum Aggregate Transmit Power Reduction Total (ATPRT)
--		in decibels (dB) that is permitted in the L2 power mode.
--		This is the total transmit power decrease that is allowed
--		to occur in the L2 power mode.
--		For CTLM solution, the range is 1 ~ 40(dB); for BCM solution, the range is 0 ~ 15(dB)."
--        ::= { adslPortBatchSet 19 }
--
--        adslMaxL2RateForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured maximum L2 rate.
--        (32~4096 Kbps, 4 Kbps resolution. For CTLM solution, 0 for system assign; for BCM solution, default:4096.)"
--        ::= { adslPortBatchSet 20 }
--
--        adslMinL2RateForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured minimum L2 rate.
--		 (32~4096 Kbps, 4 Kbps resolution, For CTLM solution, 0 for system assign; for BCM solution, default:32.)"
--        ::= { adslPortBatchSet 21 }
--
--        adslL0toL2RateForBatchSet  OBJECT-TYPE
--        SYNTAX INTEGER
--		UNITS "kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"configured transition L0 to L2 rate.
--		 (<=min_l2rate/2 and >= 16 Kbps, For CTLM solution, 0 for system assign; for BCM solution, default:16.)"
--        ::= { adslPortBatchSet 22 }
--
-- Line Status
--
--        adslLineStatusTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF AdslLineStatusEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes the ADSL line status."
--        ::= { adslPort 4 }
--
--	adslLineStatusEntry OBJECT-TYPE
--        SYNTAX AdslLineStatusEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in adslLineStatusTable."
--        INDEX { ifIndex }
--        ::= { adslLineStatusTable 1 }
--
--        AdslLineStatusEntry ::=
--           SEQUENCE {
--        	adslLineStatusMode	INTEGER,
--        	adslLineUpTime   	INTEGER
--           }
--
--        adslLineStatusMode OBJECT-TYPE
--        SYNTAX  INTEGER {
--			gDotLite(1),
--			gDotDmt(2),
--			t1Dot413(3),
--			etsi(4),
--			adsl2(5),
--			adsl2Plus(6),
--			none(7)
--		}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	"The link up mode of the ADSL line."
--        ::= { adslLineStatusEntry 1 }
--
--        adslLineUpTime OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	"The link up time of the ADSL line, in unit of seconds"
--        ::= { adslLineStatusEntry 2 }
--
-- Power Mgmt Parameter Table
--
--        powerMgmtParamTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF PowerMgmtParamEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"This table defines L0 to L2 power transition parameters."
--        ::= { adslPort 5 }
--
--	powerMgmtParamEntry OBJECT-TYPE
--        SYNTAX PowerMgmtParamEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in powerMgmtParamTable."
--        INDEX { ifIndex }
--        ::= { powerMgmtParamTable 1 }
--
--        PowerMgmtParamEntry ::=
--           SEQUENCE {
--		powerMgmtL0Time		INTEGER,
--		powerMgmtL2Time		INTEGER,
--		powerMgmtL2Atpr		INTEGER,
--		powerMgmtL2Atprt	INTEGER,
--		powerMgmtL2MinRate	INTEGER,
--		powerMgmtL2MaxRate	INTEGER,
--		powerMgmtL2ThreshRate	INTEGER
--           }
--
--        powerMgmtL0Time OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "second"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the minimum time in L0 mode before L2 mode may be entered."
--        ::= { powerMgmtParamEntry 1 }
--
--	powerMgmtL2Time OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "second"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the minimum time in L2 mode before trimming and in between power trims."
--        ::= { powerMgmtParamEntry 2 }
--
--        powerMgmtL2Atpr OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum Aggregate Transmit Power Reduction."
--        ::= { powerMgmtParamEntry 3 }
--
--        powerMgmtL2Atprt OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "dB"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The maximum Aggregate Transmit Power Reduction Total."
--        ::= { powerMgmtParamEntry 4 }
--
--        powerMgmtL2MinRate OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "Kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the minimum L2 rate."
--        ::= { powerMgmtParamEntry 5 }
--
--        powerMgmtL2MaxRate OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "Kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the maximum L2 rate."
--        ::= { powerMgmtParamEntry 6 }
--
--        powerMgmtL2ThreshRate OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "Kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the rate threshold that triggers the line entering L0 or L2 mode."
--        ::= { powerMgmtParamEntry 7 }
--
-- Power Mgmt PSD Table
-- Not support in 7324 RU R4.0.2
--        powerMgmtPSDTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF PowerMgmtPSDEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"This table provides the PSD setting for both ATU-C and ATU-R."
--        ::= { adslPort 6 }
--
--	powerMgmtPSDEntry OBJECT-TYPE
--        SYNTAX PowerMgmtPSDEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in powerMgmtPSDTable."
--        INDEX { ifIndex }
--        ::= { powerMgmtPSDTable 1 }
--
--        PowerMgmtPSDEntry ::=
--           SEQUENCE {
--		powerMgmtAtucMaxPSD		INTEGER,
--		powerMgmtAturMaxPSD		INTEGER
--           }
--
--        powerMgmtAtucMaxPSD OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "0.1dBm/Hz"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the maximum ATU-C PSD."
--        ::= { powerMgmtPSDEntry 1 }
--
--        powerMgmtAturMaxPSD OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "0.1dBm/Hz"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The object specifies the maximum ATU-R PSD."
--        ::= { powerMgmtPSDEntry 2 }

--------------------
--  vdslPort
--------------------

-- VDSL Line Table

        vdslLineConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslLineConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes common attributes describing the VDSL line.
		This table is supported by R2.00 and later versions."
        ::= { vdslPort 1 }

	vdslLineConfEntry OBJECT-TYPE
        SYNTAX VdslLineConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslLineConfTable."
        INDEX { ifIndex }
        ::= { vdslLineConfTable 1 }

        VdslLineConfEntry ::=
           SEQUENCE {
		vdslLineConfUpbo		INTEGER,
		vdslLineConfVdslProfile		INTEGER,
--		vdslLineConfFrequencyPlan	INTEGER,
		vdslLineConfRfiBand		INTEGER,
		vdslLineConfIpqosProfile	DisplayString,
		vdslLineConfVturInp		INTEGER,
		vdslLineConfVtucInp		INTEGER,
		vdslLineConfOptionMask		INTEGER,
		vdslLineConfUpboForceLength	INTEGER,
		vdslLineConfPsdShape		INTEGER,
		vdslLineConfDpbo		INTEGER,
		vdslLineConfDpboParamEsel	INTEGER,
		vdslLineConfDpboParamEscma	INTEGER,
		vdslLineConfDpboParamEscmb	INTEGER,
		vdslLineConfDpboParamEscmc	INTEGER,
		vdslLineConfDpboParamMus	INTEGER,
		vdslLineConfDpboParamFmin	INTEGER,
		vdslLineConfDpboParamFmax	INTEGER,
		vdslLineConfDpboParamPsdId	INTEGER,
		vdslLineConfSraMode			INTEGER
           }

        vdslLineConfUpbo OBJECT-TYPE
        SYNTAX 	INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable upstream power backoff control."
        ::= { vdslLineConfEntry 1 }

        vdslLineConfVdslProfile OBJECT-TYPE
        SYNTAX 	INTEGER {
			vdsl_8a(1),
			vdsl_8b(2),
			vdsl_8c(3),
			vdsl_8d(4),
			vdsl_12a(5),
			vdsl_12b(6),
			vdsl_17a(7),
			auto(8),
			adsl2plus(9),
			vdsl2(10)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Set VDSL profile."
        ::= { vdslLineConfEntry 2 }

--       vdslLineConfFrequencyPlan OBJECT-TYPE
--       SYNTAX 	INTEGER {
--			plan997(1),
--			plan998(2)
--		}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"Set VDSL frequency plan."
--        ::= { vdslLineConfEntry 3 }

	vdslLineConfRfiBand OBJECT-TYPE
        SYNTAX 	INTEGER {
			disable(1),
			ansi(2),
			etsi(3),
			custom(4)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Set VDSL customized RFI configuration.
		disable: not apply RFI notch to port
		ansi: use pre-defined ANSI RFI notch
		etsi: use pre-defined ETSI notch
		custom: user needs to define customized RFI notch band through vdslRfiCustomTable"
        ::= { vdslLineConfEntry 4 }

        vdslLineConfIpqosProfile OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { vdslLineConfEntry 5 }

        vdslLineConfVturInp OBJECT-TYPE
        SYNTAX INTEGER (0..160)
        UNITS "0.1 DTM symbol"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.00 and later versions."
        ::= { vdslLineConfEntry 6 }

        vdslLineConfVtucInp OBJECT-TYPE
        SYNTAX INTEGER (0..160)
        UNITS "0.1 DTM symbol"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.00 and later versions."
        ::= { vdslLineConfEntry 7 }

        vdslLineConfOptionMask OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.00 and later versions.
		Bit1: disable Trellis coding in ADSL mode
		Bit2: disable Reed-Solomon coding for ADSL
		Bit3: disable upstream bitswaps
		Bit4: disable downstream bitwaps
		Bit5: disable upstream 1-bit constellation support
		Bit6: disable the transmit windowing in ADSL2+ mode
		Bit7: disable S=0.5 support in G.dmt
		Bit8: reserved
		Bit9: enable nitro
		Bit10: enable ADSL2 Annex L
		Bit11: enable ADSL2+ Annex M
		Bit12: enable US PTM optimization
		Bit13: enable DS PTM optimization
		Bit14: enable US PHYR
		Bit15: enable DS PHYR"
        ::= { vdslLineConfEntry 8 }

        vdslLineConfUpboForceLength OBJECT-TYPE
        SYNTAX INTEGER (0..1270)
        UNITS "0.1dB"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"-1 means no electric length. This object is supported by R5.00 and later versions."
        ::= { vdslLineConfEntry 9 }

        vdslLineConfPsdShape OBJECT-TYPE
        SYNTAX INTEGER {
			vdsl2_a_nus0(1),
			vdsl2_a_eu32(2),
			vdsl2_a_eu36(3),
			vdsl2_a_eu40(4),
			vdsl2_a_eu44(5),
			vdsl2_a_eu48(6),
			vdsl2_a_eu52(7),
			vdsl2_a_eu56(8),
			vdsl2_a_eu60(9),
			vdsl2_a_eu64(10),
			vdsl2_a_eu128(11),
			vdsl1_fttex_ansi_m1(12),
			vdsl1_fttex_ansi_m2(13),
			vdsl1_fttcab_ansi_m1(14),
			vdsl1_fttcab_ansi_m2(15),
			vdsl1_fttex_ansi_m1_e(16),
			vdsl1_fttex_ansi_m2_e(17),
			vdsl_fttcab_ansi_m1_e(18),
			vdsl_fttcab_ansi_m2_e(19),
			vdsl2_a_ct(20),
			vdsl2_b8_1(21),
			vdsl2_b8_2(22),
			vdsl2_b8_3(23),
			vdsl2_b8_4(24),
			vdsl2_b8_5(25),
			vdsl2_b8_6(26),
			vdsl2_b8_7(27),
			vdsl2_b8_8(28),
			vdsl2_b8_9(29),
			vdsl2_b8_10(30),
			vdsl2_b8_11(31),
			vdsl2_b8_12(32),
			vdsl2_b8_13(33),
			vdsl2_b8_14(34),
			vdsl2_b8_15(35),
			vdsl2_b8_16(36),
			vdsl2_b7_1(37),
			vdsl2_b7_2(38),
			vdsl2_b7_3(39),
			vdsl2_b7_4(40),
			vdsl2_b7_5(41),
			vdsl2_b7_6(42),
			vdsl2_b7_7(43),
			vdsl2_b7_8(44),
			vdsl2_b7_9(45),
			vdsl2_b7_10(46),
			vdsl2_bt_anfp(47),
			vdsl2_c_138_b(48),
			vdsl2_c_276_b(49),
			vdsl2_c_138_co(50),
			vdsl2_c_276_co(51)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.00 and later versions."
        ::= { vdslLineConfEntry 10 }

        vdslLineConfDpbo OBJECT-TYPE
        SYNTAX INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 11 }
        
        vdslLineConfDpboParamEsel OBJECT-TYPE
        SYNTAX INTEGER (0..511)
        UNITS "0.5dB"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 12 }
        
        vdslLineConfDpboParamEscma OBJECT-TYPE
        SYNTAX INTEGER (0..640)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"-1~1.5 in step of 1/256. This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 13 }
        
        vdslLineConfDpboParamEscmb OBJECT-TYPE
        SYNTAX INTEGER (0..640)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"-1~1.5 in step of 1/256. This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 14 }
        
        vdslLineConfDpboParamEscmc OBJECT-TYPE
        SYNTAX INTEGER (0..640)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"-1~1.5 in step of 1/256. This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 15 }
        
        vdslLineConfDpboParamMus OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS "-0.5 dBm/Hz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 16 }
        
        vdslLineConfDpboParamFmin OBJECT-TYPE
        SYNTAX INTEGER (0..2048)
        UNITS "4.3125kHz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 17 }
        
        vdslLineConfDpboParamFmax OBJECT-TYPE
        SYNTAX INTEGER (32..6956)
        UNITS "4.3125kHz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This object is supported by R5.01 and later versions."
        ::= { vdslLineConfEntry 18 }
        
        vdslLineConfDpboParamPsdId OBJECT-TYPE
        SYNTAX INTEGER {
        		unknown(0),
        		psd_co(1),
        		psd_flat(2),
        		psd_cab_ansi(3),
        		psd_cab_etsi(4),
        		psd_exch_etsi(5),
        		psd_exch_ansi(6)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Valid range for setting is 1~6."
        ::= { vdslLineConfEntry 19 }
        
        vdslLineConfSraMode OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Defines what form of transmit rate adaptation is
		configured on this modem."
        ::= { vdslLineConfEntry 20 }

	vdslVlan		OBJECT IDENTIFIER ::= { vdslPort 2 }

-- vdslPortConfTable

        vdslPortConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslPortConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes common attributes describing the VDSL port.
		This table is supported by R2.00 and later versions."
        ::= { vdslVlan 1 }

	vdslPortConfEntry OBJECT-TYPE
        SYNTAX VdslPortConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslPortConfTable."
        INDEX { ifIndex }
        ::= { vdslPortConfTable 1 }

        VdslPortConfEntry ::=
           SEQUENCE {
--		vdslPortConfPvid		VlanIndex,
--		vdslPortConfPriority		INTEGER,
--		vdslPortConfAcceptableFrameType	INTEGER,
		vdslPortConfTlsEnable		INTEGER,
		vdslPortConfTlsVid		VlanIndex,
		vdslPortConfTlsPriority		INTEGER,
		vdslPortConfDtEnable		INTEGER,
		vdslPortConfDtSVid		VlanIndex,
		vdslPortConfDtSPriority		INTEGER,
		vdslPortConfDtCVid		VlanIndex,
		vdslPortConfDtCPriority		INTEGER
           }

--        vdslPortConfPvid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The PVID, the VLAN ID assigned to untagged frames or
-- 		Priority-Tagged frames received on this port."
--        ::= { vdslPortConfEntry 1 }
--
--	vdslPortConfPriority OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"The default ingress User Priority for this port."
--        ::= { vdslPortConfEntry 2 }
--
--        vdslPortConfAcceptableFrameType OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		admitAll(1),
--        		admitOnlyVlanTagged(2)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--		"When this is admitOnlyVlanTagged(2) the device will
-- 		discard untagged frames or Priority-Tagged frames
-- 		received on this port. When admitAll(1), untagged
-- 		frames or Priority-Tagged frames received on this port
-- 		will be accepted and assigned to the PVID for this port"
--        ::= { vdslPortConfEntry 3 }

	vdslPortConfTlsEnable OBJECT-TYPE
        SYNTAX 	INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the transparent LAN service."
        ::= { vdslPortConfEntry 4 }

        vdslPortConfTlsVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The transparent LAN service s-tag VID."
        ::= { vdslPortConfEntry 5 }

        vdslPortConfTlsPriority OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The transparent LAN service s-tag priority."
        ::= { vdslPortConfEntry 6 }

	vdslPortConfDtEnable OBJECT-TYPE
        SYNTAX 	INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the Double Tagging service."
        ::= { vdslPortConfEntry 7 }

        vdslPortConfDtSVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The Double Tagging service s-tag VID."
        ::= { vdslPortConfEntry 8 }

        vdslPortConfDtSPriority OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The Double Tagging service s-tag priority."
        ::= { vdslPortConfEntry 9 }

        vdslPortConfDtCVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The Double Tagging service c-tag VID."
        ::= { vdslPortConfEntry 10 }

        vdslPortConfDtCPriority OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The Double Tagging service c-tag priority."
        ::= { vdslPortConfEntry 11 }



-- vdslPortVlanTable

--        vdslPortVlanTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF VdslPortVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"This table includes common attributes describing the VDSL port.
--		This table is supported by R2.00 and later versions."
--        ::= { vdslVlan 2 }
--
--	vdslPortVlanEntry OBJECT-TYPE
--        SYNTAX VdslPortVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in vdslPortVlanTable."
--        INDEX { ifIndex, dot1qVlanIndex }
--        ::= { vdslPortVlanTable 1 }
--
--        VdslPortVlanEntry ::=
--           SEQUENCE {
--		vdslPortVlanReg			INTEGER,
--		vdslPortVlanTag			INTEGER,
--		vdslPortVlanRowStatus		RowStatus
--           }
--
--        vdslPortVlanReg OBJECT-TYPE
--        SYNTAX 	INTEGER {
--        		egress(1),
--        		forbidden(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The port is egress or forbidden for this VLAN."
--        ::= { vdslPortVlanEntry 1 }
--
--        vdslPortVlanTag OBJECT-TYPE
--        SYNTAX INTEGER {
--        		tag(1),
--        		untag(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The port should transmit egress packets for this VLAN as tagged or untagged."
--         ::= { vdslPortVlanEntry 2 }
--
--        vdslPortVlanRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This object is used to create a new row or delete an existing row in this table."
--        ::= { vdslPortVlanEntry 3 }

-- vdslVlanStaticTable

--        vdslVlanStaticTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF VdslVlanStaticEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"A table containing static configuration information for
-- 		each VLAN configured into the device by (local or
-- 		network) management.  All entries are permanent and will
-- 		be restored after the device is reset.
-- 		This table is supported by R2.00 and later versions."
--        ::= { vdslVlan 3 }
--
--	vdslVlanStaticEntry OBJECT-TYPE
--        SYNTAX VdslVlanStaticEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in vdslVlanStaticTable."
--        INDEX { dot1qVlanIndex }
--        ::= { vdslVlanStaticTable 1 }
--
--        VdslVlanStaticEntry ::=
--           SEQUENCE {
--		vdslVlanStaticEgressPorts		PortList,
--		vdslVlanStaticUntaggedPorts		PortList,
--		vdslVlanStaticRowStatus			RowStatus
--           }
--
--        vdslVlanStaticEgressPorts OBJECT-TYPE
--        SYNTAX PortList
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The set of ports which are permanently assigned to the
-- 		egress list for this VLAN by management."
--        ::= { vdslVlanStaticEntry 1 }
--
--        vdslVlanStaticUntaggedPorts OBJECT-TYPE
--        SYNTAX PortList
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The set of ports which should transmit egress packets for this VLAN as untagged."
--        ::= { vdslVlanStaticEntry 2 }
--
--        vdslVlanStaticRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This object indicates the status of this entry."
--        ::= { vdslVlanStaticEntry 3 }

-- vdslPortPvlanTable

        vdslPortPvlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslPortPvlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		""
        ::= { vdslVlan 4 }

	vdslPortPvlanEntry OBJECT-TYPE
        SYNTAX VdslPortPvlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslPortPvlanTable."
        INDEX { ifIndex, vdslPortPvlanEtype }
        ::= { vdslPortPvlanTable 1 }

        VdslPortPvlanEntry ::=
           SEQUENCE {
		vdslPortPvlanEtype			Unsigned32,
		vdslPortPvlanVid			VlanIndex,
		vdslPortPvlanPriority			INTEGER,
		vdslPortPvlanRowStatus			RowStatus
           }

        vdslPortPvlanEtype OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "0~0xffff."
        ::= { vdslPortPvlanEntry 1 }

        vdslPortPvlanVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { vdslPortPvlanEntry 2 }

        vdslPortPvlanPriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { vdslPortPvlanEntry 3 }

        vdslPortPvlanRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { vdslPortPvlanEntry 4 }

-- VDSL RFI Custom Table

        vdslRfiCustomTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslRfiCustomEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes VDSL customized RFI configuration.
		This table is supported by R2.00 and later versions."
        ::= { vdslPort 3 }

	vdslRfiCustomEntry OBJECT-TYPE
        SYNTAX VdslRfiCustomEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslRfiCustomTable."
        INDEX { vdslRfiCustomIndex }
        ::= { vdslRfiCustomTable 1 }

        VdslRfiCustomEntry ::=
           SEQUENCE {
		vdslRfiCustomIndex		INTEGER,
		vdslRfiCustomStartFreq		INTEGER,
		vdslRfiCustomEndFreq		INTEGER,
		vdslRfiCustomEnable		INTEGER
           }

        vdslRfiCustomIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Index of the table."
        ::= { vdslRfiCustomEntry 1 }

        vdslRfiCustomStartFreq OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "KHz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The start value of the customized frequency range."
        ::= { vdslRfiCustomEntry 2 }

        vdslRfiCustomEndFreq OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "KHz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The end value of the customized frequency range."
        ::= { vdslRfiCustomEntry 3 }

        vdslRfiCustomEnable OBJECT-TYPE
        SYNTAX	INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable or disable the customized frequency range setting."
        ::= { vdslRfiCustomEntry 4 }

-- vdslLineConfUpboParamTable

        vdslLineConfUpboParamTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslLineConfUpboParamEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes VDSL UPBO configuration.
		This table is supported by R5.00 and later versions."
        ::= { vdslPort 4 }

	vdslLineConfUpboParamEntry OBJECT-TYPE
        SYNTAX VdslLineConfUpboParamEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslLineConfUpboParamTable."
        INDEX { ifIndex,vdslLineConfUpboParamBand }
        ::= { vdslLineConfUpboParamTable 1 }

        VdslLineConfUpboParamEntry ::=
           SEQUENCE {
		vdslLineConfUpboParamBand		INTEGER,
		vdslLineConfUpboParamA			INTEGER,
		vdslLineConfUpboParamB			INTEGER
           }

        vdslLineConfUpboParamBand OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Index of the table."
        ::= { vdslLineConfUpboParamEntry 1 }

        vdslLineConfUpboParamA OBJECT-TYPE
        SYNTAX INTEGER (4000..8095)
        UNITS "0.01 dBm/Hz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { vdslLineConfUpboParamEntry 2 }

        vdslLineConfUpboParamB OBJECT-TYPE
        SYNTAX INTEGER (0..4095)
        UNITS "0.01 dBm/Hz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { vdslLineConfUpboParamEntry 3 }

-- vdslLineConfDpboTable

        vdslLineConfDpboTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslLineConfDpboEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes VDSL DPBO configuration.
		This table is supported by R5.01 and later versions."
        ::= { vdslPort 5 }

	vdslLineConfDpboEntry OBJECT-TYPE
        SYNTAX VdslLineConfDpboEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in vdslLineConfDpboTable."
        INDEX { ifIndex, vdslLineConfDpboIndex }
        ::= { vdslLineConfDpboTable 1 }

        VdslLineConfDpboEntry ::=
           SEQUENCE {
		vdslLineConfDpboIndex		INTEGER,
		vdslLineConfDpboTone		INTEGER,
		vdslLineConfDpboPsd		INTEGER
           }

        vdslLineConfDpboIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Index of the table."
        ::= { vdslLineConfDpboEntry 1 }

        vdslLineConfDpboTone OBJECT-TYPE
        SYNTAX INTEGER (1..512)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { vdslLineConfDpboEntry 2 }

        vdslLineConfDpboPsd OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS "-0.5dBm/Hz"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { vdslLineConfDpboEntry 3 }

-- vdslLineStatusTable

        vdslLineStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslLineStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes the VDSL line status."
        ::= { vdslPort 6 }

		vdslLineStatusEntry OBJECT-TYPE
        SYNTAX VdslLineStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
        	"An entry in vdslLineStatusTable."
        INDEX { ifIndex }
        ::= { vdslLineStatusTable 1 }

        VdslLineStatusEntry ::=
           SEQUENCE {
        	vdslLineStatusVturInp	INTEGER,
        	vdslLineStatusVtucInp	INTEGER
           }

		vdslLineStatusVturInp OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "0.1 DTM symbol"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The upstream Impulse Noise Protection in unit of 0.1 DTM symbol."
        ::= { vdslLineStatusEntry 1 }

        vdslLineStatusVtucInp OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "0.1 DTM symbol"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The downstream Impulse Noise Protection in unit of 0.1 DTM symbol."
        ::= { vdslLineStatusEntry 2 }

--------------------
-- pvc
--------------------

        maxNumOfPvcs OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of PVCs which could be created on a port."
        ::= { pvc 1 }

-- PVC Table

        pvcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes PVC configuration."
        ::= { pvc 2 }

	pvcEntry OBJECT-TYPE
        SYNTAX PvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in pvcTable."
        INDEX { ifIndex, pvcVpi, pvcVci, pvcPvid }
        ::= { pvcTable 1 }

        PvcEntry ::=
        	SEQUENCE {
			pvcVpi		INTEGER,
			pvcVci		INTEGER,
			pvcPvid		VlanIndex,
			pvcPriority	INTEGER,
			pvcProfile	DisplayString,
			pvcEncap	INTEGER,
			pvcRowStatus	RowStatus
			}

        pvcVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the pvc."
         ::= { pvcEntry 1 }

        pvcVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
       	STATUS current
        DESCRIPTION
                "VCI of the pvc."
         ::= { pvcEntry 2 }

        pvcPvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Default VID of the pvc."
         ::= { pvcEntry 3 }


        pvcPriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "802.1p default priority of the pvc."
         ::= { pvcEntry 5 }

        pvcProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the ipqosProfileTable.
                "
         ::= { pvcEntry 6 }

        pvcEncap OBJECT-TYPE
        SYNTAX INTEGER {
        		llc(1),
        		vc(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Encapsulation of the pvc."
         ::= { pvcEntry 7 }

        pvcRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
         ::= { pvcEntry 8 }

-- Upstream Rate Limit Table

--        pvcUsRateLimitTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF PvcUsRateLimitEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table defines the upstream rate limit for each PVC."
--        ::= { pvc 4 }
--
--	pvcUsRateLimitEntry OBJECT-TYPE
--        SYNTAX PvcUsRateLimitEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry in pvcUsRateLimitTable."
--        INDEX { ifIndex, pvcVpi, pvcVci }
--        ::= { pvcUsRateLimitTable 1 }
--
--        PvcUsRateLimitEntry ::=
--        	SEQUENCE {
--			pvcUsRateLimitEnable	INTEGER,
--			pvcUsRateLimit		INTEGER
--           	}
--
--        pvcUsRateLimitEnable OBJECT-TYPE
--        SYNTAX 	INTEGER {
--        		enable(1),
--        		disable(2)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Enable/disable upstream rate limit for a PVC."
--        ::= { pvcUsRateLimitEntry 1 }
--
--        pvcUsRateLimit OBJECT-TYPE
--        SYNTAX INTEGER
--        UNITS "Kbps"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Upstream rate limit in Kbps for a PVC."
--         ::= { pvcUsRateLimitEntry 2 }
--

-- PVC Protocol VLAN Table

        pvcPvlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PvcPvlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		""
        ::= { pvc 5 }

	pvcPvlanEntry OBJECT-TYPE
        SYNTAX PvcPvlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in pvcPvlanTable."
        INDEX { ifIndex, pvcPvlanVpi, pvcPvlanVci, pvcPvlanEtype }
        ::= { pvcPvlanTable 1 }

        PvcPvlanEntry ::=
           SEQUENCE {
		pvcPvlanVpi				INTEGER,
		pvcPvlanVci				INTEGER,
		pvcPvlanEtype			Unsigned32,
		pvcPvlanVid				VlanIndex,
		pvcPvlanPriority		INTEGER,
		pvcPvlanRowStatus		RowStatus
           }

        pvcPvlanVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the pvc protocol VLAN."
         ::= { pvcPvlanEntry 1 }

        pvcPvlanVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
       	STATUS current
        DESCRIPTION
                "VCI of the pvc protocol VLAN."
         ::= { pvcPvlanEntry 2 }

        pvcPvlanEtype OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "0~0xffff."
        ::= { pvcPvlanEntry 3 }

        pvcPvlanVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { pvcPvlanEntry 4 }

        pvcPvlanPriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { pvcPvlanEntry 5 }

        pvcPvlanRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                ""
        ::= { pvcPvlanEntry 6 }

--------------------
-- priority pvc
--------------------

--        maxNumOfPriorityPvcs OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	"The maximum number of priority PVCs which could be created on a port."
--        ::= { ppvc 1 }

-- Priority PVC Table

--        ppvcTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF PpvcEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes priority PVC configuration."
--        ::= { ppvc 2 }
--
--	ppvcEntry OBJECT-TYPE
--        SYNTAX PpvcEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry in ppvcTable."
--        INDEX { ifIndex, ppvcVpi, ppvcVci, ppvcPvid }
--        ::= { ppvcTable 1 }
--
--        PpvcEntry ::=
--        	SEQUENCE {
--			ppvcVpi		INTEGER,
--			ppvcVci		INTEGER,
--			ppvcPvid	VlanIndex,
--			ppvcEncap	INTEGER,
--			ppvcPriority	INTEGER,
--			ppvcRowStatus	RowStatus
--           	}
--
--        ppvcVpi OBJECT-TYPE
--        SYNTAX INTEGER (0..255)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VPI of the ppvc."
--         ::= { ppvcEntry 1 }
--
--        ppvcVci OBJECT-TYPE
--        SYNTAX INTEGER (1..65535)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VCI of the ppvc."
--         ::= { ppvcEntry 2 }
--
--        ppvcPvid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Default VID of the ppvc."
--         ::= { ppvcEntry 3 }
--
--        ppvcEncap OBJECT-TYPE
--        SYNTAX INTEGER {
--        		llc(1),
--        		vc(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Encapsulation of the ppvc."
--         ::= { ppvcEntry 4 }
--
--        ppvcPriority OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "802.1p default priority of the ppvc."
--         ::= { ppvcEntry 5 }
--
--        ppvcRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This object is used to create a new row or delete an existing row in this table."
--         ::= { ppvcEntry 6 }

-- Priority PVC Member Table

--        ppvcMemberTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF PpvcMemberEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes priority PVC member configuration."
--        ::= { ppvc 4 }
--
--	ppvcMemberEntry OBJECT-TYPE
--        SYNTAX PpvcMemberEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry in ppvcMemberTable."
--        INDEX { ifIndex, ppvcVpi, ppvcVci, ppvcMemberVpi, ppvcMemberVci, ppvcMemberPriority }
--        ::= { ppvcMemberTable 1 }
--
--        PpvcMemberEntry ::=
--        	SEQUENCE {
--			ppvcMemberVpi		INTEGER,
--			ppvcMemberVci		INTEGER,
--			ppvcMemberPriority	INTEGER,
--			ppvcMemberProfileDS	DisplayString,
--			ppvcMemberRowStatus	RowStatus,
--			ppvcMemberProfileUS	DisplayString
--           	}
--
--        ppvcMemberVpi OBJECT-TYPE
--        SYNTAX INTEGER (0..255)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VPI of the member ppvc."
--         ::= { ppvcMemberEntry 1 }
--
--        ppvcMemberVci OBJECT-TYPE
--        SYNTAX INTEGER (1..65535)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VCI of the member ppvc."
--         ::= { ppvcMemberEntry 2 }
--
--        ppvcMemberPriority OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "802.1p default priority of the member ppvc."
--         ::= { ppvcMemberEntry 3 }
--
--        ppvcMemberProfileDS OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (1..31))
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The profile of the member ppvc in DS side."
--         ::= { ppvcMemberEntry 4 }
--
--        ppvcMemberRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This object is used to create a new row or delete an existing row in this table."
--         ::= { ppvcMemberEntry 5 }
--
--        ppvcMemberProfileUS OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (1..31))
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "The profile of the member ppvc in US side."
--         ::= { ppvcMemberEntry 6 }
        
-------------------------------
-- 2684 routed mode pvc (rpvc)
-------------------------------

-- Routed Gateway Table

        rpvcGatewayTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RpvcGatewayEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes Routed Gateway configuration."
        ::= { rpvc 1 }

	rpvcGatewayEntry OBJECT-TYPE
        SYNTAX RpvcGatewayEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in Routed Gateway table."
        INDEX { rpvcGatewayIp }
        ::= { rpvcGatewayTable 1 }

        RpvcGatewayEntry ::=
        	SEQUENCE {
			rpvcGatewayIp		IpAddress,
			rpvcGatewayVlanId    	VlanIndex,
			rpvcGatewayRowStatus 	RowStatus,
                        rpvcGatewayPriority  	INTEGER
           	}

        rpvcGatewayIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IP of RPVC gateway."
        ::= { rpvcGatewayEntry 1 }

        rpvcGatewayVlanId OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Vlan id send to this RPVC gateway."
        ::= { rpvcGatewayEntry 2 }

        rpvcGatewayRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
        ::= { rpvcGatewayEntry 3 }

        rpvcGatewayPriority OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "802.1p p bit send to this RPVC gateway."
        ::= { rpvcGatewayEntry 4 }

-- Routed PVC Table

        rpvcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RpvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes RPVC configuration."
        ::= { rpvc 2 }

	rpvcEntry OBJECT-TYPE
        SYNTAX RpvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in rpvcTable."
        INDEX { ifIndex, rpvcVpi, rpvcVci, rpvcIp, rpvcNetmask }
        ::= { rpvcTable 1 }

        RpvcEntry ::=
        	SEQUENCE {
			rpvcVpi				INTEGER,
			rpvcVci				INTEGER,
			rpvcEncap			INTEGER,
			rpvcProfile			DisplayString,
			rpvcIp				IpAddress,
			rpvcNetmask			IpAddress,
			rpvcGatewayIpAddress		IpAddress,
			rpvcRowStatus			RowStatus
           	}

        rpvcVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the rpvc."
        ::= { rpvcEntry 1 }

        rpvcVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VCI of the rpvc."
        ::= { rpvcEntry 2 }

        rpvcEncap OBJECT-TYPE
        SYNTAX INTEGER {
        		llc(1),
        		vc(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Encapsulation of the rpvc."
         ::= { rpvcEntry 3 }

        rpvcProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The ipqos profile of the rpvc."
        ::= { rpvcEntry 4 }

        rpvcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The IP of the rpvc."
        ::= { rpvcEntry 5 }

        rpvcNetmask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The IP mask of the rpvc IP."
        ::= { rpvcEntry 6 }

		rpvcGatewayIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The gateway IP of rpvc."
        ::= { rpvcEntry 7 }

        rpvcRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
        ::= { rpvcEntry 8 }

-- Routed PVC Routed Domain Table

        rpvcRouteDomainTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RpvcRouteDomainEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes RPVC route domain configuration."
        ::= { rpvc 3 }

	rpvcRouteDomainEntry OBJECT-TYPE
        SYNTAX RpvcRouteDomainEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in rpvcRouteDomainTable."
        INDEX { ifIndex, rpvcRouteDomainVpi, rpvcRouteDomainVci, rpvcRouteDomainIp, rpvcRouteDomainNetmask }
        ::= { rpvcRouteDomainTable 1 }

        RpvcRouteDomainEntry ::=
        	SEQUENCE {
			rpvcRouteDomainVpi		INTEGER,
			rpvcRouteDomainVci		INTEGER,
			rpvcRouteDomainIp		IpAddress,
			rpvcRouteDomainNetmask		IpAddress,
			rpvcRouteDomainRowStatus	RowStatus
           	}

        rpvcRouteDomainVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the rpvc."
        ::= { rpvcRouteDomainEntry 1 }

        rpvcRouteDomainVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VCI of the rpvc."
        ::= { rpvcRouteDomainEntry 2 }

        rpvcRouteDomainIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The route domain IP."
        ::= { rpvcRouteDomainEntry 3 }

        rpvcRouteDomainNetmask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The IP mask of the route domain IP."
        ::= { rpvcRouteDomainEntry 4 }

        rpvcRouteDomainRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
        ::= { rpvcRouteDomainEntry 5 }

        rpvcArpAgingTime OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Set RPVC ARP proxy aging time 10..10000 seconds,
		0 to disable againg."
       	::= { rpvc 4 }

        rpvcArpFlush OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Flush the RPVC ARP proxy table."
        ::= { rpvc 5 }

-----------------------
-- pvcStats
-----------------------


        pvcStatsTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PvcStatsEntry
        MAX-ACCESS not-accessible
        STATUS  current
        DESCRIPTION
        	"This table includes the status of the virtual channel."
        ::= { pvcStats 1 }

	pvcStatsEntry OBJECT-TYPE
        SYNTAX	PvcStatsEntry
        MAX-ACCESS not-accessible
        STATUS	current
        DESCRIPTION
		"An entry in pvcStatsTable."
        INDEX   { ifIndex, pvcVpi, pvcVci }
        ::= { pvcStatsTable 1 }

        PvcStatsEntry ::=
           SEQUENCE {
		pvcStatsTxPackets	Counter64,
		pvcStatsRxPackets	Counter64
           }

	pvcStatsTxPackets OBJECT-TYPE
	SYNTAX	Counter64
	MAX-ACCESS read-only
	STATUS	current
	DESCRIPTION
		"Count of channel Tx packets."
	::= { pvcStatsEntry 1 }

	pvcStatsRxPackets OBJECT-TYPE
	SYNTAX	Counter64
	MAX-ACCESS read-only
	STATUS	current
	DESCRIPTION
		"Count of channel Rx packets."
	::= { pvcStatsEntry 2 }


--------------------
-- dsBcastDisableTable
--------------------

        dsBcastDisableTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DsBcastDisableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes Down Stream Bcast configuration."
        ::= { port 9 }

	dsBcastDisableEntry OBJECT-TYPE
        SYNTAX DsBcastDisableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in Down Stream Bcast table."
        INDEX { ifIndex, dsBcastDisableVlanId }
        ::= { dsBcastDisableTable 1 }

        DsBcastDisableEntry ::=
        	SEQUENCE {
			dsBcastDisableVlanId		INTEGER,
			dsBcastDisableRowStatus 	RowStatus
           	}

        dsBcastDisableVlanId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "downstream broadcast disabled vid."
        ::= { dsBcastDisableEntry 1 }

        dsBcastDisableRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
        ::= { dsBcastDisableEntry 2 }

--------------------
-- paepvc
--------------------

-- PPPoAoE PVC Table

        paepvcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PaepvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes PPPoAoE PVC configuration."
        ::= { paepvc 1 }

	paepvcEntry OBJECT-TYPE
        SYNTAX PaepvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of paepvcTable."
        INDEX { ifIndex, paepvcVpi, paepvcVci, paepvcPvid }
        ::= { paepvcTable 1 }

        PaepvcEntry ::=
        	SEQUENCE {
			paepvcVpi		INTEGER,
			paepvcVci		INTEGER,
			paepvcPvid		VlanIndex,
			paepvcEncap			INTEGER,
			paepvcPriority		INTEGER,
			paepvcProfile  	DisplayString,
			paepvcAcName		DisplayString,
			paepvcServiceName	DisplayString,
			paepvcHelloTime		INTEGER,
			paepvcRowStatus		RowStatus
           	}

        paepvcVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the pvc."
         ::= { paepvcEntry 1 }

        paepvcVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
       	STATUS current
        DESCRIPTION
                "VCI of the pvc."
         ::= { paepvcEntry 2 }

        paepvcPvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Default VID of the pvc."
         ::= { paepvcEntry 3 }

        paepvcEncap OBJECT-TYPE
        SYNTAX INTEGER {
        		llc(1),
        		vc(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Encapsulation of the paepvc."
         ::= { paepvcEntry 4 }

        paepvcPriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "802.1p default priority of the pvc."
         ::= { paepvcEntry 5 }

        paepvcProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the ipqosProfileTable."
         ::= { paepvcEntry 6 }

        paepvcAcName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Access concentrator name."
         ::= { paepvcEntry 7 }

        paepvcServiceName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Service name."
         ::= { paepvcEntry 8 }

        paepvcHelloTime OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "second"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The system will close the PVC if there are not any LCP echo messages passed through
                during the LCP hello time."
         ::= { paepvcEntry 9 }

        paepvcRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
         ::= { paepvcEntry 10 }

--------------------
-- tlspvc
--------------------

-- TLS PVC Table

        tlspvcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TlspvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes Transparent LAN Service (TLS) PVC configuration."
        ::= { tlspvc 1 }

	tlspvcEntry OBJECT-TYPE
        SYNTAX TlspvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of tlspvcTable."
        INDEX { ifIndex, tlspvcVpi, tlspvcVci, tlspvcSvid }
        ::= { tlspvcTable 1 }

        TlspvcEntry ::=
        	SEQUENCE {
			tlspvcVpi		INTEGER,
			tlspvcVci		INTEGER,
			tlspvcSvid		VlanIndex, 
			tlspvcEncap		INTEGER,			
			tlspvcSpriority		INTEGER,
			tlspvcProfile		DisplayString,
			tlspvcRowStatus		RowStatus
			}

        tlspvcVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the pvc."
         ::= { tlspvcEntry 1 }

        tlspvcVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
       	STATUS current
        DESCRIPTION
                "VCI of the pvc."
         ::= { tlspvcEntry 2 }

        tlspvcSvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "s-tag VLAN ID of the pvc."
         ::= { tlspvcEntry 3 }

        tlspvcEncap OBJECT-TYPE
        SYNTAX INTEGER {
        		llc(1),
        		vc(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Encapsulation of the tlspvc."
         ::= { tlspvcEntry 4 }

        tlspvcSpriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "s-tag priority of the pvc."
         ::= { tlspvcEntry 5 }

        tlspvcProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the ipqosProfileTable."
         ::= { tlspvcEntry 6 }   

        tlspvcRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
         ::= { tlspvcEntry 7 }

--------------------
-- ipbpvc
--------------------

-- Domain Table

--        ipbpvcDomainTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcDomainEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc domain configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 1 }
--
--	ipbpvcDomainEntry OBJECT-TYPE
--        SYNTAX IpbpvcDomainEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcDomainTable."
--        INDEX { ipbpvcDomainName }
--        ::= { ipbpvcDomainTable 1 }
--
--        IpbpvcDomainEntry ::=
--        	SEQUENCE {
--			ipbpvcDomainName		OCTET STRING,
--			ipbpvcDomainRowStatus		RowStatus
--           	}
--
--        ipbpvcDomainName OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Name of the domain."
--        ::= { ipbpvcDomainEntry 1 }
--
--        ipbpvcDomainRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table."
--        ::= { ipbpvcDomainEntry 2 }

-- Domain VLAN Table

--        ipbpvcDomainVlanTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcDomainVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc domain VLAN configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 2 }
--
--	ipbpvcDomainVlanEntry OBJECT-TYPE
--        SYNTAX IpbpvcDomainVlanEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcDomainVlanTable."
--        INDEX { ipbpvcDomainName, ipbpvcDomainVlanId }
--        ::= { ipbpvcDomainVlanTable 1 }
--
--        IpbpvcDomainVlanEntry ::=
--        	SEQUENCE {
--			ipbpvcDomainVlanId		VlanIndex,
--			ipbpvcDomainDhcpVlanEnable	INTEGER,
--			ipbpvcDomainVlanRowStatus	RowStatus
--           	}
--
--        ipbpvcDomainVlanId OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Set VLAN to join or leave the specified domain."
--        ::= { ipbpvcDomainVlanEntry 1 }
--
--        ipbpvcDomainDhcpVlanEnable OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		enable(1),
--        		disable(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Enable/disable DHCP VLAN in a domain."
--        ::= { ipbpvcDomainVlanEntry 2 }
--
--        ipbpvcDomainVlanRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table used to create/delete an entry."
--        ::= { ipbpvcDomainVlanEntry 3 }

-- Edge Router Table

--        ipbpvcEdgeRouterTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcEdgeRouterEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc edge router configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 3 }
--
--	ipbpvcEdgeRouterEntry OBJECT-TYPE
--        SYNTAX IpbpvcEdgeRouterEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcEdgeRouterTable."
--        INDEX { ipbpvcDomainName, ipbpvcEdgeRouterIp, ipbpvcEdgeRouterMask, ipbpvcEdgeRouterVid }
--        ::= { ipbpvcEdgeRouterTable 1 }
--
--        IpbpvcEdgeRouterEntry ::=
--        	SEQUENCE {
--			ipbpvcEdgeRouterIp		IpAddress,
--			ipbpvcEdgeRouterMask		INTEGER,
--			ipbpvcEdgeRouterVid		VlanIndex,
--			ipbpvcEdgeRouterRowStatus	RowStatus
--           	}
--
--        ipbpvcEdgeRouterIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "IP address of the edge router."
--        ::= { ipbpvcEdgeRouterEntry 1 }
--
--        ipbpvcEdgeRouterVid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VLAN ID of the edge router."
--        ::= { ipbpvcEdgeRouterEntry 2 }
--
--        ipbpvcEdgeRouterMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Netmask of the edge router."
--        ::= { ipbpvcEdgeRouterEntry 3 }
--
--        ipbpvcEdgeRouterRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table used to create/delete an entry."
--        ::= { ipbpvcEdgeRouterEntry 4 }

-- Interface Table

--        ipbpvcInterfaceTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcInterfaceEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc interface configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 4 }
--
--	ipbpvcInterfaceEntry OBJECT-TYPE
--        SYNTAX IpbpvcInterfaceEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcInterfaceTable."
--        INDEX { ipbpvcDomainName, ipbpvcInterfaceIp, ipbpvcInterfaceMask, ipbpvcInterfaceVid }
--        ::= { ipbpvcInterfaceTable 1 }
--
--        IpbpvcInterfaceEntry ::=
--        	SEQUENCE {
--			ipbpvcInterfaceIp		IpAddress,
--			ipbpvcInterfaceMask		INTEGER,
--			ipbpvcInterfaceVid		VlanIndex,
--			ipbpvcInterfaceIfIndex		INTEGER,
--			ipbpvcInterfaceVpi		INTEGER,
--			ipbpvcInterfaceVci		INTEGER,
--			ipbpvcInterfaceRowStatus	RowStatus
--           	}
--
--        ipbpvcInterfaceIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "IP address of the interface."
--        ::= { ipbpvcInterfaceEntry 1 }
--
--        ipbpvcInterfaceMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Netmask of the interface."
--        ::= { ipbpvcInterfaceEntry 2 }
--
--        ipbpvcInterfaceVid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VLAN ID of the interface."
--        ::= { ipbpvcInterfaceEntry 3 }
--
--        ipbpvcInterfaceIfIndex OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "IfIndex of the interface."
--        ::= { ipbpvcInterfaceEntry 4 }
--
--        ipbpvcInterfaceVpi OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "VPI of the interface."
--        ::= { ipbpvcInterfaceEntry 5 }
--
--        ipbpvcInterfaceVci OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "VCI of the interface."
--        ::= { ipbpvcInterfaceEntry 6 }
--
--        ipbpvcInterfaceRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table used to create/delete an entry."
--        ::= { ipbpvcInterfaceEntry 7 }

-- Route Table

--        ipbpvcRouteTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcRouteEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc route configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 5 }
--
--	ipbpvcRouteEntry OBJECT-TYPE
--        SYNTAX IpbpvcRouteEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcRouteTable."
--        INDEX { ipbpvcDomainName, ipbpvcRouteIp, ipbpvcRouteMask, ipbpvcRouteNextHop }
--        ::= { ipbpvcRouteTable 1 }
--
--        IpbpvcRouteEntry ::=
--        	SEQUENCE {
--			ipbpvcRouteIp			IpAddress,
--			ipbpvcRouteMask			INTEGER,
--			ipbpvcRouteNextHop		IpAddress,
--			ipbpvcRouteMetric		INTEGER,
--			ipbpvcRoutePriority		INTEGER,
--			ipbpvcRouteRowStatus		RowStatus
--           	}
--
--        ipbpvcRouteIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "IP address of the route."
--        ::= { ipbpvcRouteEntry 1 }
--
--	ipbpvcRouteMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Netmask of the route."
--        ::= { ipbpvcRouteEntry 2 }
--
--        ipbpvcRouteNextHop OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Next hop IP address of the route."
--        ::= { ipbpvcRouteEntry 3 }
--
--        ipbpvcRouteMetric OBJECT-TYPE
--        SYNTAX INTEGER (1..15)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Metric of the route."
--        ::= { ipbpvcRouteEntry 4 }
--
--        ipbpvcRoutePriority OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Priority of the route. Note that the default value of this object is 8, which means
--                we keep the original priority of the packet(frame)."
--        ::= { ipbpvcRouteEntry 5 }
--
--        ipbpvcRouteRowStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table used to create/delete an entry."
--        ::= { ipbpvcRouteEntry 6 }

-- PVC Table

--        ipbpvcTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"This table includes ipbpvc configuration.
--        	This table is supported by R3.00 and later versions."
--        ::= { ipbpvc 6 }
--
--	ipbpvcEntry OBJECT-TYPE
--        SYNTAX IpbpvcEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry of ipbpvcTable."
--        INDEX { ifIndex, ipbpvcVpi, ipbpvcVci, ipbpvcPvid }
--        ::= { ipbpvcTable 1 }
--
--        IpbpvcEntry ::=
--        	SEQUENCE {
--			ipbpvcVpi		INTEGER,
--			ipbpvcVci		INTEGER,
--			ipbpvcPvid		INTEGER,
--			ipbpvcEncap		INTEGER,
--			ipbpvcPriority		INTEGER,
--			ipbpvcProfile		OCTET STRING,
--			ipbpvcRowStatus		RowStatus,
--			ipbpvcProfileUS		OCTET STRING
--           	}
--
--        ipbpvcVpi OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VPI of the PVC."
--        ::= { ipbpvcEntry 1 }
--
--        ipbpvcVci OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "VCI of the PVC."
--        ::= { ipbpvcEntry 2 }
--
--        ipbpvcPvid OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "PVID of the PVC."
--        ::= { ipbpvcEntry 3 }
--
--        ipbpvcEncap OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		ipoe(1),
--        		reserved(2),
--        		ipoa(3)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Type of the PVC."
--        ::= { ipbpvcEntry 4 }
--
--        ipbpvcPriority OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Priority of the PVC."
--        ::= { ipbpvcEntry 5 }
--
--        ipbpvcProfile OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Profile of the PVC."
--        ::= { ipbpvcEntry 6 }
--
--        ipbpvcRowStatus OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Row status of the table used to create/delete an entry."
--        ::= { ipbpvcEntry 7 }
--
--        ipbpvcProfileUS OBJECT-TYPE
--        SYNTAX OCTET STRING
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "US Profile of the PVC."
--        ::= { ipbpvcEntry 8 }

-- ARP Proxy

--        arpproxy		OBJECT IDENTIFIER ::= { ipbpvc 8 }
--
--        arpproxyAge OBJECT-TYPE
--        SYNTAX INTEGER (10..10000)
--        UNITS "second"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Aging time of the ARP proxy.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxy 1 }
--
--        arpproxyFlush		OBJECT IDENTIFIER ::= { arpproxy 2 }
--
--        arpproxyFlushTarget OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		all(1),
--        		edgerouter(2),
--        		interface(3)
--        	}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "The target whose ARP table to be flushed.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 1 }
--
--        arpproxyFlushOps OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Set the object to 1 to start flushing.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 2 }
--
--        arpproxyFlushEdgeRouterIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Flush ARP table for the specified edge router.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 3 }
--
--        arpproxyFlushEdgeRouterVid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Flush ARP table for the specified edge router.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 4 }
--
--        arpproxyFlushInterfaceIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Flush ARP table for the specified interface.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 5 }
--
--        arpproxyFlushInterfaceMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Flush ARP table for the specified interface.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 6 }
--
--        arpproxyFlushInterfaceVid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Flush ARP table for the specified interface.
--                This object is supported by R3.00 and later versions."
--        ::= { arpproxyFlush 7 }
--
--------------------
-- dtpvc
--------------------

-- DT PVC Table

        dtpvcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DtpvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes Double Tagging (DT) PVC configuration."
        ::= { dtpvc 1 }

	dtpvcEntry OBJECT-TYPE
        SYNTAX DtpvcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dtpvcTable."
        INDEX { ifIndex, dtpvcVpi, dtpvcVci, dtpvcSvid }
        ::= { dtpvcTable 1 }

        DtpvcEntry ::=
        	SEQUENCE {
			dtpvcVpi		INTEGER,
			dtpvcVci		INTEGER,
			dtpvcSvid		VlanIndex,
			dtpvcSpriority		INTEGER,
			dtpvcCvid		VlanIndex,
			dtpvcCpriority		INTEGER,
			dtpvcEncap		INTEGER,
			dtpvcProfile		DisplayString,
			dtpvcRowStatus		RowStatus
			}

        dtpvcVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "VPI of the pvc."
         ::= { dtpvcEntry 1 }

        dtpvcVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-only
       	STATUS current
        DESCRIPTION
                "VCI of the pvc."
         ::= { dtpvcEntry 2 }

        dtpvcSvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "s-tag VLAN ID of the pvc."
         ::= { dtpvcEntry 3 }

        dtpvcSpriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "s-tag priority of the pvc."
         ::= { dtpvcEntry 4 }

        dtpvcCvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "c-tag VLAN ID of the pvc."
         ::= { dtpvcEntry 5 }

        dtpvcCpriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "c-tag priority of the pvc."
         ::= { dtpvcEntry 6 }


        dtpvcEncap OBJECT-TYPE
        SYNTAX INTEGER {
        		llc(1),
        		vc(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Encapsulation of the dtpvc."
         ::= { dtpvcEntry 7 }

        dtpvcProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the ipqosProfileTable."
         ::= { dtpvcEntry 8 }

        dtpvcRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in this table."
         ::= { dtpvcEntry 9 }

-- ------------------
-- gbond
-- ------------------

-- gbondTable

--	gbondGroupTable OBJECT-TYPE
--   	SYNTAX SEQUENCE OF GbondGroupEntry
--    	MAX-ACCESS not-accessible
--    	STATUS current
--    	DESCRIPTION
--        	"A table containing the G.Bond configuration information for
--        	each bonding group of the device."
--    	::= { gbond 1 }
--
--	gbondGroupEntry OBJECT-TYPE
--    	SYNTAX GbondGroupEntry
--    	MAX-ACCESS not-accessible
--    	STATUS current
--    	DESCRIPTION
--        	"An entry of gbondTable."
--    	INDEX { gbondGroupName }
--    	::= { gbondGroupTable 1 }
--
--	GbondGroupEntry ::=
--    		SEQUENCE {
--        		gbondGroupName			OCTET STRING,
--				gbondGroupPorts			OCTET STRING,
--				gbondGroupSid			INTEGER,
--				gbondGroupUpRate		Unsigned32,
--				gbondGroupDownRate		Unsigned32,
--       			gbondGroupRowStatus		RowStatus
--        }
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--        	"The set of ports which are currently assigned to the
--        	bonding group of specified group name.
--			Byte 1:   Reserved(chassis)
--			Byte 2~3: Reserved(slot)
--			Byte 4:   Reserved
--			Byte 5~11:each octet specifies a set of eight ports, with the first
--		          octet specifying ports 1 through 8, etc."
--    	::= { gbondGroupEntry 2 }
--
-- 	gbondGroupSid OBJECT-TYPE
--         SYNTAX  INTEGER {
--                           sid8(1),
--                           sid12(2)
--         }
--     	MAX-ACCESS read-create
--     	STATUS current
--     	DESCRIPTION
--         	"This object indicates the sequence index mode of the bonding group."
--     	::= { gbondGroupEntry 3 }
--
--	gbondGroupUpRate OBJECT-TYPE
--        SYNTAX Unsigned32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "The UP stream rate."
--         ::= { gbondGroupEntry 4 }
--
--	gbondGroupDownRate OBJECT-TYPE
--        SYNTAX Unsigned32
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "The DOWN stream rate."
--         ::= { gbondGroupEntry 5 }
--
--	gbondGroupRowStatus OBJECT-TYPE
--    	SYNTAX RowStatus
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--        	"This object indicates the status of this entry."
--    	::= { gbondGroupEntry 6 }
-- --------------------------------------
-- profile
-- --------------------------------------
  sraShiftMarginProfile OBJECT IDENTIFIER ::= { profile 1 }
	ipqosProfile		OBJECT IDENTIFIER ::= { profile 8 }

-- ------------------
-- sraShiftMarginProfile
-- ------------------

-- sraShiftMarginProfile

	sraShiftMarginProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SraShiftMarginProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table includes sra shift margin related configuration."
        ::= { sraShiftMarginProfile 1 }

	sraShiftMarginProfileEntry OBJECT-TYPE
        SYNTAX SraShiftMarginProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in ipqosProfileTable."
        INDEX { sraShiftMarginProfileName }
        ::= { sraShiftMarginProfileTable 1 }

        SraShiftMarginProfileEntry ::=
        	SEQUENCE {
			sraShiftMarginProfileName		DisplayString,
			xtucConfDownshiftSnrMgn		INTEGER,
			xtucConfUpshiftSnrMgn		INTEGER,
--			xtucConfDownshiftTime INTEGER,
--			xtucConfUpshiftTime INTEGER,
			xturConfDownshiftSnrMgn INTEGER,
			xturConfUpshiftSnrMgn INTEGER,
--			xturConfDownshiftTime INTEGER,
--			xturConfUpshiftTime INTEGER,
			sraShiftMarginProfileStatus RowStatus
           	}

        sraShiftMarginProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object identifies a row in this table."
        ::= { sraShiftMarginProfileEntry 1 }

        xtucConfDownshiftSnrMgn OBJECT-TYPE
        SYNTAX INTEGER (0..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Specifies the downstream SRA Down Shift Margin in units of 0.25 dB, for a range of 0 to 31.75 dB. in unit of 1 db."
        ::= { sraShiftMarginProfileEntry 2 }

        xtucConfUpshiftSnrMgn OBJECT-TYPE
        SYNTAX INTEGER (0..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Specifies the downstream SRA UP Shift Margin in units of 0.25 dB, for a range of 0 to 31.75 dB. in unit of 1 db."
        ::= { sraShiftMarginProfileEntry 3 }

--        xtucConfDownshiftTime OBJECT-TYPE
--        SYNTAX INTEGER (0..31)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Specifies the downstream SRA Down Shift time in units of 1 sec , for a range of 0 to 16383 sec. in unit of 1 sec."
--        ::= { sraShiftMarginProfileEntry 4 }

--        xtucConfUpshiftTime OBJECT-TYPE
--        SYNTAX INTEGER (0..31)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Specifies the downstream SRA UP Shift time in units of 1 sec , for a range of 0 to 16383 sec. in unit of 1 sec."
--        ::= { sraShiftMarginProfileEntry 5 }

        xturConfDownshiftSnrMgn OBJECT-TYPE
        SYNTAX INTEGER (0..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Specifies the upstream SRA Down Shift Margin in units of 0.25 dB, for a range of 0 to 31.75 dB. in unit of 1 db."
        ::= { sraShiftMarginProfileEntry 6 }

        xturConfUpshiftSnrMgn OBJECT-TYPE
        SYNTAX INTEGER (0..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Specifies the upstream SRA UP Shift Margin in units of 0.25 dB, for a range of 0 to 31.75 dB. in unit of 1 db."
        ::= { sraShiftMarginProfileEntry 7 }

--        xturConfDownshiftTime OBJECT-TYPE
--        SYNTAX INTEGER (0..31)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Specifies the upstream SRA Down Shift time in units of 1 sec , for a range of 0 to 16383 sec. in unit of 1 sec."
--        ::= { sraShiftMarginProfileEntry 8 }

--        xturConfUpshiftTime OBJECT-TYPE
--        SYNTAX INTEGER (0..31)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--                "Specifies the upstream SRA UP Shift time in units of 1 sec , for a range of 0 to 16383 sec. in unit of 1 sec."
--        ::= { sraShiftMarginProfileEntry 9 }

        sraShiftMarginProfileStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or modify or delete an existing row in this table."
        ::= { sraShiftMarginProfileEntry 10 }


	
	
--------------------
-- ipqosProfile
--------------------

-- ipqosProfileTable

	maxNumOfIpqosProfiles OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of IPQOS profiles supported by the system."
        ::= { ipqosProfile 1 }

	ipqosProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpqosProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table includes IPQOS related configuration."
        ::= { ipqosProfile 2 }

	ipqosProfileEntry OBJECT-TYPE
        SYNTAX IpqosProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in ipqosProfileTable."
        INDEX { ipqosProfileName , ipqosProfileNumOfQueue }
        ::= { ipqosProfileTable 1 }

        IpqosProfileEntry ::=
        	SEQUENCE {
			ipqosProfileName		DisplayString,
			ipqosProfileNumOfQueue		INTEGER,
			ipqosProfileRowStatus		RowStatus
           	}

        ipqosProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object is used by the IPQOS profile table in order to identify a row of this table."
        ::= { ipqosProfileEntry 1 }

        ipqosProfileNumOfQueue OBJECT-TYPE
        SYNTAX INTEGER (1..8)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The number of IPQOS queues."
        ::= { ipqosProfileEntry 2 }

        ipqosProfileRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in the table."
        ::= { ipqosProfileEntry 3 }

-- ipqosProfileQueueTable

	ipqosProfileQueueTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpqosProfileQueueEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table includes IPQOS queue related configuration."
        ::= { ipqosProfile 3 }

	ipqosProfileQueueEntry OBJECT-TYPE
        SYNTAX IpqosProfileQueueEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in ipqosProfileQueueTable."
        INDEX { ipqosProfileName , ipqosProfileQueueIndex }
        ::= { ipqosProfileQueueTable 1 }

        IpqosProfileQueueEntry ::=
        	SEQUENCE {
			ipqosProfileQueueIndex		INTEGER,
			ipqosProfileQueuePIR		INTEGER,
			ipqosProfileQueueCIR		INTEGER,
			ipqosProfileQueuePBS		INTEGER,
			ipqosProfileQueueCBS		INTEGER,
			ipqosProfileQueueLevel  INTEGER,
			ipqosProfileQueueWeight INTEGER
           	}

        ipqosProfileQueueIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "IPQOS queue index."
        ::= { ipqosProfileQueueEntry 1 }

        ipqosProfileQueuePIR OBJECT-TYPE
        SYNTAX INTEGER (512..131072)
        UNITS "Kbps"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Peak rate.(multiple of 256)"
        ::= { ipqosProfileQueueEntry 2 }

        ipqosProfileQueueCIR OBJECT-TYPE
        SYNTAX INTEGER (256..65536)
        UNITS "Kbps"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Commited rate.(multiple of 256)"
        ::= { ipqosProfileQueueEntry 3 }

        ipqosProfileQueuePBS OBJECT-TYPE
        SYNTAX INTEGER (3072..65536)
        UNITS "byte"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Peak burst size.(mutiple of 256)"
        ::= { ipqosProfileQueueEntry 4 }

        ipqosProfileQueueCBS OBJECT-TYPE
        SYNTAX INTEGER (3072..65536)
        UNITS "byts"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Commited burst size.(mutiple of 256)"
        ::= { ipqosProfileQueueEntry 5 }

        ipqosProfileQueueLevel OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        UNITS "byts"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Queue level."
        ::= { ipqosProfileQueueEntry 6 }
        
        ipqosProfileQueueWeight OBJECT-TYPE
        SYNTAX INTEGER (1..127)
        UNITS "byts"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Queue weight."
        ::= { ipqosProfileQueueEntry 7 }
        
----------------------------------------
-- switch
----------------------------------------
	pktfilter	OBJECT IDENTIFIER ::= { switch 4 }
	dot1x		OBJECT IDENTIFIER ::= { switch 5 }
	dot3ad		OBJECT IDENTIFIER ::= { switch 6 }
	portIsolation	OBJECT IDENTIFIER ::= { switch 9 }
	dscp		OBJECT IDENTIFIER ::= { switch 10 }
	rstp		OBJECT IDENTIFIER ::= { switch 11 }
	vlanIsolation	OBJECT IDENTIFIER ::= { switch 12 }
	enetMtu		OBJECT IDENTIFIER ::= { switch 13 }
	tpid		OBJECT IDENTIFIER ::= { switch 14 }

-- Standalone IP DSLAM puts all ACL features in 'switch', from OID 51
	dhcp		OBJECT IDENTIFIER ::= { switch 51 }
	macfilter	OBJECT IDENTIFIER ::= { switch 53 }
	dhcpSnoop	OBJECT IDENTIFIER ::= { switch 55 }
	acl		OBJECT IDENTIFIER ::= { switch 56 }
	pppoeAgent	OBJECT IDENTIFIER ::= { switch 57 }
	n1mac		OBJECT IDENTIFIER ::= { switch 58 }
	enetPort OBJECT IDENTIFIER    ::= { switch 59 }
	macff   OBJECT IDENTIFIER ::= { switch 60 }
	macAntiSpoof   OBJECT IDENTIFIER ::= { switch 62 }

	managementVLANId OBJECT-TYPE
	SYNTAX VlanIndex
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The VLAN ID for management."
	::= { switch 1 }
	
	maxNumOfStaticVlans OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of VLANs supported by the system."
	::= { switch 2 }
	
	managementPriority OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The default egress 801.1p priority for management."
	::= { switch 61 }	

	macAntiSpoofEnable OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2)
		}	
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable MAC anti-spoof."
	::= { macAntiSpoof 1 }

--------------------
-- Packet Filter
--------------------

        pktFilterPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PktFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes packet filtering for each port."
        ::= { pktfilter 1 }

	pktFilterPortEntry OBJECT-TYPE
        SYNTAX PktFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in pktFilterPortTable."
        INDEX { ifIndex }
        ::= { pktFilterPortTable 1 }

        PktFilterPortEntry ::=
        	SEQUENCE {
			pktFilter	INTEGER
           	}

        pktFilter OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The packet filter. The semantic for each bit is:
                      	BIT 1: accept all
                      	BIT 2: accept PPPoE only
                      	BIT 3: reject ARP
                      	BIT 4: reject DHCP
			BIT 5: reject EAPOL
                      	BIT 6: reject PPPoE
			BIT 7: reject NetBIOS
			BIT 8: reject IGMP
			BIT 9: reject IP"
         ::= { pktFilterPortEntry 1 }


--------------------
-- dot1x
--------------------

-- RADIUS Server setup

	maxNumberOfRadiusServers OBJECT-TYPE
	SYNTAX 	INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The max number of the RADIUS Servers."
	::= { dot1x 1 }

	radiusServerTable	OBJECT-TYPE
   	SYNTAX  SEQUENCE OF RadiusServerEntry
    	MAX-ACCESS  not-accessible
    	STATUS  current
    	DESCRIPTION
                "A table that contains Radius Server information."
    	::= { dot1x 2 }

    	radiusServerEntry OBJECT-TYPE
        SYNTAX  RadiusServerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"The entry of Radius Server table."
        INDEX  { radiusServerIndex }
        ::= { radiusServerTable 1 }

   	RadiusServerEntry ::=
           SEQUENCE {
            radiusServerIndex		INTEGER,
            radiusServerIp		 	IpAddress,
            radiusServerPort			INTEGER,
            radiusSharedSecret		DisplayString,
	    radiusServerRowStatus		RowStatus
    	   }

        radiusServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        	"The identity of the RADIUS server."
        ::= { radiusServerEntry 1 }

	radiusServerIp OBJECT-TYPE
	SYNTAX 	IpAddress
	MAX-ACCESS	read-create
	STATUS	current
	DESCRIPTION
		"The IP address of the Radius Server."
	::= { radiusServerEntry 2 }

	radiusServerPort OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS	read-create
	STATUS	current
	DESCRIPTION
		"The UDP port of the Radius Server."
	::= { radiusServerEntry 3 }

	radiusSharedSecret OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS	read-create
	STATUS	current
	DESCRIPTION
		"The shared secret of the Radius Server."
	::= { radiusServerEntry 4 }

	radiusServerRowStatus OBJECT-TYPE
	SYNTAX 	RowStatus
	MAX-ACCESS	read-create
	STATUS	current
	DESCRIPTION
		"The row status of the Radius Server entry."
	::= { radiusServerEntry 5 }


-- 802.1x option

	dot1xEnable OBJECT-TYPE
	SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
        MAX-ACCESS  read-write
	STATUS	current
	DESCRIPTION
		"Enable/disable the 802.1x function."
	::= { dot1x 3 }



-- 802.1x Table

        dot1xPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF Dot1xPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"This table includes the configuration of 802.1x."
        ::= { dot1x 4 }

	dot1xPortEntry OBJECT-TYPE
        SYNTAX	Dot1xPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION
		"An entry in dot1xPortTable."
        INDEX   { ifIndex }
        ::= { dot1xPortTable 1 }

        Dot1xPortEntry ::=
           SEQUENCE {
		dot1xPortEnable	  	INTEGER,
		dot1xPortControl	  	INTEGER,
		dot1xPortReAuthEnable	INTEGER,
		dot1xPortReAuthPeriod	INTEGER
           }

        dot1xPortEnable    OBJECT-TYPE
        SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                "The option defines if the port enables 802.1x
		settings."
         ::= { dot1xPortEntry 1 }

        dot1xPortControl    OBJECT-TYPE
        SYNTAX  INTEGER {
				auto(1),
				forceAuth(2),
				forceUnAuth(3)
			}
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                "The configuration defines the 802.1x port control
		type."
         ::= { dot1xPortEntry 2 }

	dot1xPortReAuthEnable    OBJECT-TYPE
        SYNTAX  INTEGER {
				on(1),
				off(2)
			}
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                "The option defines if the port enables 802.1x
		re-authentication."
         ::= { dot1xPortEntry 3 }

        dot1xPortReAuthPeriod    OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
                "The configuration defines the 802.1x
		re-authentication period (seconds) for each port."
         ::= { dot1xPortEntry 4 }

	radiusMode OBJECT-TYPE
	SYNTAX	INTEGER {
			authentication_server(1),
			local_user_profile(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set RADIUS mode as let IP DSLAM uses an external RADIUS server to 
		authenticate users or let IP DSLAM uses its internal database of 
		user names and passwords to authenticate users."
	::= { dot1x 5 }

-- RADIUS User Profile Table

	maxNumberOfRadiusUserProfiles OBJECT-TYPE
	SYNTAX 	INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The max number of the RADIUS user profiles."
	::= { dot1x 6 }

	radiusUserProfileTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF RadiusUserProfileEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table includes the configuration of RADIUS user profile."
    	::= { dot1x 7 }

    	radiusUserProfileEntry OBJECT-TYPE
        SYNTAX RadiusUserProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of radiusUserProfileTable."
        INDEX { radiusUserProfileUserName }
        ::= { radiusUserProfileTable 1 }

   	RadiusUserProfileEntry ::=
        	SEQUENCE {
            		radiusUserProfileUserName		DisplayString,
            		radiusUserProfileUserPassword	DisplayString,
            		radiusUserProfileRowStatus		RowStatus
    	   	}

	radiusUserProfileUserName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The user name."
	::= { radiusUserProfileEntry 1 }

	radiusUserProfileUserPassword OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The user password."
	::= { radiusUserProfileEntry 2 }

	radiusUserProfileRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status used to create or delete an user."
	::= { radiusUserProfileEntry 3 }


--------------------
-- dot3ad
--------------------

	dot3adTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Dot3adEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains 802.3ad configuration."
	::= { dot3ad 1 }

	dot3adEntry OBJECT-TYPE
	SYNTAX Dot3adEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { dot3adGroupId }
	::= { dot3adTable 1 }

	Dot3adEntry ::=
		SEQUENCE {
			dot3adGroupId		INTEGER,
			dot3adEnable		INTEGER
		}

	dot3adGroupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID 1 for the subtending group and 2 for the uplink group."
	::= { dot3adEntry 1 }

	dot3adEnable OBJECT-TYPE
	SYNTAX 	INTEGER {
			enable(1),
			enableWithLacp(2),
			disable(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable 802.3ad function."
	::= { dot3adEntry 2 }

	lacpPriority OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"LACP system priority."
	::= { dot3ad 2 }

	lacpTimeout OBJECT-TYPE
	SYNTAX INTEGER {
			shorttimeout(1),
			longtimeout(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The time interval to exchange LACP packets in order to check that the peer port
		in the trunk group is still up."
	::= { dot3ad 3 }

	portTrunkingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PortTrunkingEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains current status of port trunking."
	::= { dot3ad 4 }

	portTrunkingEntry OBJECT-TYPE
	SYNTAX PortTrunkingEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { portTrunkingGroupId }
	::= { portTrunkingTable 1 }

	PortTrunkingEntry ::=
		SEQUENCE {
			portTrunkingGroupId	INTEGER,
			portTrunkingStatus	INTEGER,
			portTrunkingPortList	PortList
		}

	portTrunkingGroupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID 1 for the subtending group and 2 for the uplink group."
	::= { portTrunkingEntry 1 }

	portTrunkingStatus OBJECT-TYPE
	SYNTAX 	INTEGER {
			up(1),
			down(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Port trunking status."
	::= { portTrunkingEntry 2 }

	portTrunkingPortList OBJECT-TYPE
	SYNTAX PortList
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The port list which actually joins the trunking group."
	::= { portTrunkingEntry 3 }

--------------------
-- portIsolation
--------------------

	portIsolationEnable OBJECT-TYPE
        SYNTAX 	INTEGER {
        		enable(1),
        		disable(2)
        	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable port isolation."
	::= { portIsolation 1 }

--------------------
-- dscp
--------------------

	dscpMappingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DscpMappingEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains DSCP mapping configuration for the adsl ports."
	::= { dscp 1 }

	dscpMappingEntry OBJECT-TYPE
	SYNTAX DscpMappingEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of dscpMappingTable."
	INDEX { dscpSrcCodePoint }
	::= { dscpMappingTable 1 }

	DscpMappingEntry ::=
		SEQUENCE {
			dscpSrcCodePoint	INTEGER,
--			dscpMapCodePoint	INTEGER,
			dscpMapPriority		INTEGER
		}

	dscpSrcCodePoint OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The DSCP source code point used for mapping."
	::= { dscpMappingEntry 1 }

--	dscpMapCodePoint OBJECT-TYPE
--	SYNTAX INTEGER (0..63)
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"The mapping code point that will replace the source code point in the incoming packet."
--	::= { dscpMappingEntry 2 }

	dscpMapPriority OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The mapping p bits that will replace the source p bits in the incoming packet."
	::= { dscpMappingEntry 3 }

--- pfchen
	dscpPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DscpPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains DSCP mapping configuration for the adsl ports."
	::= { dscp 2 }

	dscpPortEntry OBJECT-TYPE
	SYNTAX DscpPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of dscpPortTable."
	INDEX { ifIndex }
	::= { dscpPortTable 1 }

	DscpPortEntry ::=
		SEQUENCE {
			dscpStatusEnable	INTEGER
		}

	dscpStatusEnable OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The DSCP port status."
	::= { dscpPortEntry 1 }

--------------------
-- rstp
--------------------

	rstpEnable OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable MSTP protocol. This object is supported by R1.02 and later versions."
	::= { rstp 1 }	
                                                      

--------------------
-- Vlan Isolation
--------------------

	vlanIsolationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanIsolationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table contains configuration of isolated VLAN."
        ::= { vlanIsolation 1 }

	vlanIsolationEntry OBJECT-TYPE
        SYNTAX VlanIsolationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of vlanIsolationTable."
        INDEX { dot1qVlanIndex }
        ::= { vlanIsolationTable 1 }

        VlanIsolationEntry ::=
		SEQUENCE {
			vlanIsolationRowStatus		INTEGER
              }

	vlanIsolationRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Row status of the table used to create/delete an entry."
        ::= { vlanIsolationEntry 1 }

--------------------
-- enet MTU
--------------------

	enetMtuEntry OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the MTU size for layer 2 frame, size from 1526 to 1532, default value is 1526."
        ::= { enetMtu 1 }

--------------------
-- TPID (Tag Protocol Identifier)
--------------------

	tpidEntry OBJECT-TYPE
        SYNTAX Unsigned32      
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets TPID(Tag Protocol Identifier) of tagged frame, 0~FFFF."
        ::= { tpid 1 }


--------------------
-- DHCP Relay
--------------------

        dhcpRelayEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP relay Option82 function."
        ::= { dhcp 1 }

		dhcpRelay82Table OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpRelay82Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that contains DHCP Relay configuration."
        ::= { dhcp 2 }

        dhcpRelay82Entry OBJECT-TYPE
        SYNTAX DhcpRelay82Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of DHCP Relay table."
        INDEX  { dot1qVlanIndex }
        ::= { dhcpRelay82Table 1 }

        DhcpRelay82Entry ::=
        	SEQUENCE {
        		dhcpRelay82PrimaryServer	IpAddress,
        		dhcpRelay82SecondaryServer	IpAddress,
        		dhcpRelay82ActiveServer		INTEGER,
        		dhcpRelay82Enable		INTEGER,
        		dhcpRelay82Info			DisplayString,
        		dhcpRelay82RelayMode		INTEGER,
			dhcpRelay82RowStatus		RowStatus,
        		dhcpRelay82Suboption2Enable	INTEGER,
        		dhcpRelay82Suboption2Info	DisplayString,
                dhcpRelay82EntryEnable		        INTEGER,
            dhcpRelay82EntryOptionMode    INTEGER
           	}

        dhcpRelay82PrimaryServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address of the DHCP Relay primary server."
        ::= { dhcpRelay82Entry 1 }

        dhcpRelay82SecondaryServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address of the DHCP Relay secondary server."
        ::= { dhcpRelay82Entry 2 }

        dhcpRelay82ActiveServer OBJECT-TYPE
        SYNTAX	INTEGER {
        		primary(1),
        		secondary(2),
        		none(3)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The current active DHCP Relay server."
        ::= { dhcpRelay82Entry 3 }

		dhcpRelay82Enable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
        	disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP relay and Option82 function."
        ::= { dhcpRelay82Entry 4 }

        dhcpRelay82Info OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..23))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific Option82 information."
        ::= { dhcpRelay82Entry 5 }

        dhcpRelay82RelayMode OBJECT-TYPE
        SYNTAX  INTEGER {
			auto(1),
			both(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"DHCP relay mode."
        ::= { dhcpRelay82Entry 6 }

        dhcpRelay82RowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Row status of the table entry."
        ::= { dhcpRelay82Entry 7 }

        dhcpRelay82Suboption2Enable OBJECT-TYPE
        SYNTAX	INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable Option 82 sub-option 2."
        ::= { dhcpRelay82Entry 8 }

        dhcpRelay82Suboption2Info OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specified information for Option 82 sub-option 2."
        ::= { dhcpRelay82Entry 9 }

        dhcpRelay82EntryEnable OBJECT-TYPE
        SYNTAX	INTEGER {
        		enable(1),
                disable(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP Relay"
        ::= { dhcpRelay82Entry 10 }

        dhcpRelay82EntryOptionMode OBJECT-TYPE
        SYNTAX INTEGER {
        private(1),
        tr101(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Option82 format."
        ::= { dhcpRelay82Entry 11 }

        dhcpRelayOption82Sub1Info OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..23))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"User specific Option82 subOption1 (Agent circuit ID) information."
        ::= { dhcp 3 }

		maxNumOfDhcpRelay82Conf OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The maximum number of rows that can be created in dhcpRelay82Table."
		::= { dhcp 4 }

        dhcpRelayOption82Sub1Enable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP relay Option82 subOption1 (Agent Circuit ID) function."
        ::= { dhcp 5 }

        dhcpRelayOption82Sub2Info OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..23))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"User specific Option82 subOption2 (Agent Remote ID) information."
        ::= { dhcp 6 }

        dhcpRelayOption82Sub2Enable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP relay Option82 subOption2 (Agent Remote ID) function."
        ::= { dhcp 7 }

--------------------
-- MAC Filter
--------------------

-- MAC Filter Port Table

        macFilterPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes the status of mac filtering for each port."
        ::= { macfilter 1 }

	macFilterPortEntry OBJECT-TYPE
        SYNTAX MacFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in macFilterPortTable."
        INDEX { ifIndex }
        ::= { macFilterPortTable 1 }

        MacFilterPortEntry ::=
        	SEQUENCE {
			macFilterPortEnable	INTEGER,
			macFilterPortMacCount	INTEGER,
			macFilterPortFilterMode	INTEGER
           	}

        macFilterPortEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enableMacFilter(1),
			enableMacCount(2),
--			enableOuiFilter(3),
			disable(4),
			enableMacFilterAndMacCount(5)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable MAC filtering for the port."
         ::= { macFilterPortEntry 1 }

        macFilterPortMacCount OBJECT-TYPE
        SYNTAX INTEGER (1..128)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The total number of MAC addresses allowed for the port."
         ::= { macFilterPortEntry 2 }

        macFilterPortFilterMode OBJECT-TYPE
        SYNTAX	INTEGER {
        		accept(1),
        		deny(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The mac filter mode (accept or deny) for the port."
         ::= { macFilterPortEntry 3 }

	maxNumOfMacFiltersInSystem OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of mac filters supported in the system."
	::= { macfilter 2 }

	maxNumOfMacFiltersPerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of mac filters supported per port."
	::= { macfilter 3 }

	currNumOfMacFiltersInSystem OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The current number of mac filters in the system."
	::= { macfilter 4 }

-- MAC Table

	macFilterTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF MacFilterEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains the mac filter addresses."
    	::= { macfilter 5 }

    	macFilterEntry OBJECT-TYPE
        SYNTAX MacFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of macFilterTable."
        INDEX { ifIndex, macFilterAddr }
        ::= { macFilterTable 1 }

   	MacFilterEntry ::=
        	SEQUENCE {
	    		macFilterAddr		PhysAddress,
	    		macFilterRowStatus	RowStatus
    	   	}

        macFilterAddr OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The mac address which can pass through or be rejected from the port."
        ::= { macFilterEntry 1 }

	macFilterRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the entry."
	::= { macFilterEntry 2 }

-- Batch Set for MAC Filter

	macfilterBatchSet		OBJECT IDENTIFIER ::= { macfilter 6 }

        macfilterTarget OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This managed object is used for identify the target on which
		the port configuration should be performed. The target is encoded as:
		Byte 1:   0, Reserved(chassis)
		Byte 2~3: 0, Reserved(slot)
		Byte 4:   0, reserved
		Byte 5~11:each octet specifies a set of eight ports, with the first
		          octet specifying ports 1 through 8, etc."
        ::= { macfilterBatchSet 1 }

        macfilterOps OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The corresponding bit is set to 1 to start the operation.
		The various bit positions are:
		BIT 1: enable mac filter
		BIT 2: enable mac count filter
		BIT 3: disable mac filter
		BIT 4: set mac count
		BIT 5: disable mac count filter."
        ::= { macfilterBatchSet 2 }

        macFilterMacCountForBatchSet OBJECT-TYPE
        SYNTAX INTEGER (1..128)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The total number of MAC addresses allowed for a port."
         ::= { macfilterBatchSet 3 }


-- OUI Filter Table

	ouiFilterTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF OuiFilterEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains the OUI filter addresses."
    	::= { macfilter 7 }

    	ouiFilterEntry OBJECT-TYPE
        SYNTAX OuiFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of ouiFilterTable."
        INDEX { ifIndex, ouiFilterAddr }
        ::= { ouiFilterTable 1 }

   	OuiFilterEntry ::=
        	SEQUENCE {
	    		ouiFilterAddr		OCTET STRING,
	    		ouiFilterRowStatus	RowStatus
    	   	}

        ouiFilterAddr OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The first three bytes of the mac address which can pass through or be rejected from the port."
        ::= { ouiFilterEntry 1 }

	ouiFilterRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the entry."
	::= { ouiFilterEntry 2 }

	maxNumOfOuiFiltersPerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of OUI filters supported per port."
	::= { macfilter 8 }


        ouiFilterPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF OuiFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes the status of oui filtering for each port."
        ::= { macfilter 9 }

	ouiFilterPortEntry OBJECT-TYPE
        SYNTAX OuiFilterPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in macFilterPortTable."
        INDEX { ifIndex }
        ::= { ouiFilterPortTable 1 }

        OuiFilterPortEntry ::=
        	SEQUENCE {
			ouiFilterPortEnable	INTEGER,
			ouiFilterPortFilterMode	INTEGER
           	}


        ouiFilterPortEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enableOuiFilter(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable oui filtering for the port."
         ::= { ouiFilterPortEntry 1 }



        ouiFilterPortFilterMode OBJECT-TYPE
        SYNTAX	INTEGER {
        		accept(1),
        		deny(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The oui filter mode (accept or deny) for the port."
         ::= { ouiFilterPortEntry 2 }

--------------------
-- DHCP Snoop
--------------------

-- dhcpSnoopPortTable

        dhcpSnoopPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpSnoopPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes DHCP snooping enable/disable for each port."
        ::= { dhcpSnoop 1 }

	dhcpSnoopPortEntry OBJECT-TYPE
        SYNTAX DhcpSnoopPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dhcpSnoopPortTable."
        INDEX { ifIndex }
        ::= { dhcpSnoopPortTable 1 }

        DhcpSnoopPortEntry ::=
        	SEQUENCE {
			dhcpSnoopEnable		INTEGER
           	}

        dhcpSnoopEnable OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable DHCP snooping for a port."
         ::= { dhcpSnoopPortEntry 1 }

-- dhcpSnoopOperation

        dhcpSnoopTarget OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This managed object is used for identify the target on which
		the operation should be performed. The target is encoded as:
		Byte 1:   the octet specifies a set of eight chassis, chassis 0 through 7
		Byte 2~3: each octet specifies a set of eight slots, with the
			  first octet specifying slots 1 through 8 and the second
		          octet specifying slots 9 through 16.
		Byte 4:   reserved
		Byte 5~11:each octet specifies a set of eight ports, with the first
		          octet specifying ports 1 through 8, etc."
        ::= { dhcpSnoop 2 }

        dhcpSnoopOps OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The corresponding bit is set to 1 to start the operation.
		The various bit positions are:
		BIT 1: DHCP snooping table flush."
        ::= { dhcpSnoop 3 }

-- dhcpStaticTable

        dhcpStaticTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpStaticEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table defines DHCP static IP addresses."
        ::= { dhcpSnoop 4 }

	dhcpStaticEntry OBJECT-TYPE
        SYNTAX DhcpStaticEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dhcpStaticTable."
        INDEX { ifIndex, dhcpStaticIpAddr }
        ::= { dhcpStaticTable 1 }

        DhcpStaticEntry ::=
        	SEQUENCE {
			dhcpStaticIpAddr	IpAddress,
			dhcpStaticRowStatus	RowStatus
           	}

        dhcpStaticIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The IP address which can pass through the port."
        ::= { dhcpStaticEntry 1 }

        dhcpStaticRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Row status of the table entry."
        ::= { dhcpStaticEntry 2 }

        maxNumOfDhcpStaticIp OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The maximum number of DHCP static IP addresses which can be created for a port."
         ::= { dhcpSnoop 5 }

--------------------
-- ACL Rule
--------------------

-- aclSetTable

        aclSetTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AclSetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"aclsetTable."
        ::= { acl 1 }

		aclSetEntry OBJECT-TYPE
        SYNTAX AclSetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of aclSetTable."
        INDEX { ifIndex, aclSetVpi, aclSetVci, aclSetProfileName }
        ::= { aclSetTable 1 }

        AclSetEntry ::=
        	SEQUENCE {
			aclSetVpi		INTEGER,
			aclSetVci       	INTEGER,
			aclSetProfileName  	DisplayString,
			aclSetRowStatus		RowStatus
           	}

        aclSetVpi OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"VPI value"
        ::= { aclSetEntry 1 }

	aclSetVci OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"VCI value"
        ::= { aclSetEntry 2 }

        aclSetProfileName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"ACL Profile name"
        ::= { aclSetEntry 3 }

        aclSetRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"RowStatus of aclSetEntry"
        ::= { aclSetEntry 4 }

-- aclProfileTable

        aclProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AclProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"aclProfileTable."
        ::= { acl 2 }

	aclProfileEntry OBJECT-TYPE
        SYNTAX AclProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of aclProfileTable."
        INDEX { aclProfileRuleName  }
        ::= { aclProfileTable 1 }

        AclProfileEntry ::=
        	SEQUENCE {
        		aclProfileRuleName  				DisplayString,
			aclProfileRuleNumber				INTEGER,
			aclProfileActionNumber				INTEGER,
			aclProfileRuleParamMask				INTEGER,
			aclProfileRuleEtype				INTEGER,
			aclProfileRuleVid				INTEGER,
			aclProfileRuleSmac				PhysAddress,
			aclProfileRuleDmac				PhysAddress,
			aclProfileRulePriority				INTEGER,
			aclProfileRuleProtocol				INTEGER,
--			aclProfileRuleSrcIP				IpAddress,
--			aclProfileRuleSrcIPMask				INTEGER,
--			aclProfileRuleDestIP				IpAddress,
--			aclProfileRuleDestIPMask			INTEGER,
--			aclProfileRuleStartTos				INTEGER,
--			aclProfileRuleEndTos				INTEGER,
--			aclProfileRuleSrcStartPort			INTEGER,
--			aclProfileRuleSrcEndPort			INTEGER,
--			aclProfileRuleDestStartPort			INTEGER,
--			aclProfileRuleDestEndPort			INTEGER,
			aclProfileActionRate				INTEGER,
			aclProfileActionrvlan				INTEGER,
			aclProfileActionrpri				INTEGER,
			aclProfileRowStatus				RowStatus,
			aclProfileRuleSip				IpAddress,
			aclProfileRuleDip				IpAddress,
			aclProfileRuleSport				INTEGER,
			aclProfileRuleDport				INTEGER

           	}

	aclProfileRuleName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Profile rule name"
        ::= { aclProfileEntry 1 }

        aclProfileRuleNumber OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The managed object is for acl profile rule configuration.
        	etype <etype> vlan <vid> (1),
        	etype <etype> smac <mac> (2),
        	etype <etype> dmac <mac> (3),
        	vlan <vid> smac <mac> (4),
        	vlan <vid> dmac <mac> (5),
        	smac <mac> dmac <mac> (6),
        	vlan <vid> priority <priority> (7),
        	etype <etype> (8),
        	vlan <vid> (9),
        	smac <mac> (10),
        	dmac <mac> (11),
        	priority <priority> (12),
        	protocol <protocol> (13),
        	vlan <vid> sip <ip> (14),
        	vlan <vid> dip <ip> (15),
        	vlan <vid> sport tcp|udp <port> (16),
        	vlan <vid> dport tcp|udp <port> (17) "
        ::= { aclProfileEntry 2 }

        aclProfileActionNumber OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile action number.
		  Bit 1: rate
		  Bit 2: rvlan
		  Bit 3: rpri
		  Bit 4: deny
		  Bit 1, Bit 2 & Bit 3 can multiple selection."
        ::= { aclProfileEntry 3 }

        aclProfileRuleParamMask OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule parameter mask.
		 BIT 1: srcip <ip>/<mask>
		 BIT 2: dstip <ip>/<mask>
		 BIT 3: tos <stos> <etos>
		 BIT 4: srcport <sport> <eport>
		 BIT 5: dstport <sport> <eport>"
        ::= { aclProfileEntry 4 }

        aclProfileRuleEtype OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule etype"
        ::= { aclProfileEntry 5 }

        aclProfileRuleVid OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule vid"
        ::= { aclProfileEntry 6 }

        aclProfileRuleSmac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule source MAC"
        ::= { aclProfileEntry 7 }

        aclProfileRuleDmac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule destination MAC"
        ::= { aclProfileEntry 8 }

        aclProfileRulePriority OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule priority"
        ::= { aclProfileEntry 9 }

        aclProfileRuleProtocol OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile rule protocol.
		  icmp(1),igmp(2),ip(4),tcp(6),
		  udp(17),gre(47),ospf(89),
		  other ptype"
        ::= { aclProfileEntry 10 }

--       aclProfileRuleSrcIP OBJECT-TYPE
--       SYNTAX IpAddress
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule source IP"
--       ::= { aclProfileEntry 11 }
--
--       aclProfileRuleSrcIPMask OBJECT-TYPE
--       SYNTAX INTEGER (0..32)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"The subnet mask of source IP mask"
--       ::= { aclProfileEntry 12 }
--
--       aclProfileRuleDestIP OBJECT-TYPE
--       SYNTAX IpAddress
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule source IP"
--       ::= { aclProfileEntry 13 }
--
--       aclProfileRuleDestIPMask OBJECT-TYPE
--       SYNTAX INTEGER (0..32)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"The subnet mask of dest IP mask"
--       ::= { aclProfileEntry 14 }
--
--       aclProfileRuleStartTos OBJECT-TYPE
--       SYNTAX INTEGER (0..255)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule start type of service"
--       ::= { aclProfileEntry 15 }
--
--       aclProfileRuleEndTos OBJECT-TYPE
--       SYNTAX INTEGER (0..255)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule end type of service"
--       ::= { aclProfileEntry 16 }
--
--       aclProfileRuleSrcStartPort OBJECT-TYPE
--       SYNTAX INTEGER (0..65535)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule source start port"
--       ::= { aclProfileEntry 17 }
--
--       aclProfileRuleSrcEndPort OBJECT-TYPE
--       SYNTAX INTEGER (0..65535)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule source end port"
--       ::= { aclProfileEntry 18 }
--
--       aclProfileRuleDestStartPort OBJECT-TYPE
--       SYNTAX INTEGER (0..65535)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule destination start port"
--       ::= { aclProfileEntry 19 }
--
--       aclProfileRuleDestEndPort OBJECT-TYPE
--       SYNTAX INTEGER (0..65535)
--       MAX-ACCESS read-write
--       STATUS current
--       DESCRIPTION
--       	"Profile rule destination end port"
--       ::= { aclProfileEntry 20 }

        aclProfileActionRate OBJECT-TYPE
        SYNTAX INTEGER (32..65472)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
         	"Profile action to replace to this rate"
        ::= { aclProfileEntry 21 }

        aclProfileActionrvlan OBJECT-TYPE
        SYNTAX INTEGER (1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile action to replace to this vlan"
        ::= { aclProfileEntry 22 }

        aclProfileActionrpri OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Profile action to replace to this priority"
        ::= { aclProfileEntry 23 }

        aclProfileRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The row status of the entry."
        ::= { aclProfileEntry 24 }

        aclProfileRuleSip OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Source IP."
        ::= { aclProfileEntry 25 }

        aclProfileRuleDip OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Destination IP."
        ::= { aclProfileEntry 26 }

        aclProfileRuleSport OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Source port."
        ::= { aclProfileEntry 27 }

        aclProfileRuleDport OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Destination port."
        ::= { aclProfileEntry 28 }


--------------------
-- PPPoE Agent
--------------------

-- pppoeAgentTable

        pppoeAgentTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PppoeAgentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains PPPoE DHCP Relay configuration."
        ::= { pppoeAgent 1 }

	pppoeAgentEntry OBJECT-TYPE
        SYNTAX PppoeAgentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of pppoeAgentTable."
        INDEX { dot1qVlanIndex }
        ::= { pppoeAgentTable 1 }

        PppoeAgentEntry ::=
           SEQUENCE {
        		pppoeAgentEnable		INTEGER,
        		pppoeAgentInfo			DisplayString,
        		pppoeAgentRowStatus		RowStatus,
        		pppoeAgentOptionMode INTEGER
           	}

	pppoeAgentEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable DHCP relay and Option82 function."
        ::= { pppoeAgentEntry 1 }

        pppoeAgentInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..23))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific Option82 information."
        ::= { pppoeAgentEntry 2 }

        pppoeAgentRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Row status of the table entry."
        ::= { pppoeAgentEntry 3 }

        pppoeAgentOptionMode OBJECT-TYPE
        SYNTAX INTEGER {
        private(1),
        tr101(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Option82 format."
        ::= { pppoeAgentEntry 4 }

	maxNumOfPppoeDhcpRelay82Conf OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of rows that can be created in pppoeAgentTable."
	::= { pppoeAgent 2 }


--------------------
-- n1mac
--------------------
	n1macReplaceMac OBJECT-TYPE
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"This MAC address will be used to replace client's MAC address."
	::= { n1mac 1 }

	n1macPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF N1macPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains N to 1 MAC configuration for DSL ports."
	::= { n1mac 2 }

	n1macPortEntry OBJECT-TYPE
	SYNTAX N1macPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of n1macPortTable."
	INDEX { ifIndex }
	::= { n1macPortTable 1 }

	N1macPortEntry ::=
		SEQUENCE {
			n1macStatusEnable	INTEGER
		}

	n1macStatusEnable OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The port status of n1mac function."
	::= { n1macPortEntry 1 }

------------
-- enetPort
------------
	enetPortConfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF IesMscPortConfEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		"The table contains port configuration information in MSC1000."
	::= { enetPort 1 }

	enetPortConfEntry	OBJECT-TYPE
	SYNTAX	IesMscPortConfEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
		""
	INDEX	{ enetPortId }
	::= { enetPortConfTable 1 }

	IesMscPortConfEntry ::=
	SEQUENCE {
		enetPortId			INTEGER,
		enetPortType			INTEGER,
		enetPortIfIndex		INTEGER,
		enetPortSpeed			INTEGER
	}

	enetPortId	OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Identity of the extension slot in MSC1000."
	::= { enetPortConfEntry 1 }

	enetPortType	OBJECT-TYPE
	SYNTAX	INTEGER {
				unknown(1),
				e1000BaseT(2),
				e1000BaseLX(3),
				e1000BaseSX(4),
				e100BaseFX(5),
				e100BaseTX(6),
				e1000BaseGBIC(7)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Port type of the extension slot in MSC1000."
	::= { enetPortConfEntry 2 }

	enetPortIfIndex	OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		""
	::= { enetPortConfEntry 3 }

	enetPortSpeed	OBJECT-TYPE
	SYNTAX	INTEGER {
				auto(1),
				e1000M(2),
				e100M(3)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		""
	::= { enetPortConfEntry 4 }

----------------------------------------
-- macff
---------------------------------------- 
    macFfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains MAC Force Forwarding configuration."
    ::= { macff 1 }
    
    macFfEntry OBJECT-TYPE
    SYNTAX MacFfEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfTable."
    INDEX	{ macFfIndex }
    ::= { macFfTable 1 }
    
    MacFfEntry ::=
    	SEQUENCE {
    		macFfIndex 			INTEGER,
			macFfVid			INTEGER,
			macFfArIP			IpAddress,
--			macFfArMask			INTEGER,
			macFfSrcIP			IpAddress,
			macFfSrcMask		INTEGER,
			macFfArMac			PhysAddress,
			macFfRowStatus		RowStatus
		}
					
			macFfIndex OBJECT-TYPE
			SYNTAX INTEGER
      		MAX-ACCESS read-write
      		STATUS current
     		 DESCRIPTION
        		"Index of the MACFF."
      		::= { macFfEntry 1 }
					
			macFfVid OBJECT-TYPE		
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
        		"The VLAN-ID refering to this AR/AS."
			::= { macFfEntry 2 }
			
			
			macFfArIP	OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
        		"IP of this AR/AS"
      		::= { macFfEntry 3 }
		
			macFfSrcIP OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
        		"The source IP address of the MACFF."
      		::= { macFfEntry 4 }
						
			macFfSrcMask OBJECT-TYPE	
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
        		"The subnet mask of source IP mask."
     		::= { macFfEntry 5 }
			
			macFfArMac OBJECT-TYPE		
			SYNTAX PhysAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"MAC address of the AR or AS."
     		::= { macFfEntry 6 }
			
			macFfRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
        		"The row status of the MacFfEntry entry."
     	 	::= { macFfEntry 7 }
			    
    
    macFfArpAgingTime OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION 
    	"AR/AS ARP Aging time (second)."
    ::= { macff 2 } 
     
    macFfArpFlush OBJECT-TYPE
  	SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Set the object to 1 to flush mac table."
    ::= { macff 3 }

----------------------------------------
-- sys
----------------------------------------
	sysState	OBJECT IDENTIFIER ::= { sys 1 }
	hwMonitor	OBJECT IDENTIFIER ::= { sys 3 }
	timeSetup	OBJECT IDENTIFIER ::= { sys 4 }
        accessCtrl	OBJECT IDENTIFIER ::= { sys 5 }
	syslog		OBJECT IDENTIFIER ::= { sys 6 }
	snmp		OBJECT IDENTIFIER ::= { sys 7 }
        extAlarm        OBJECT IDENTIFIER ::= { sys 8 }
	user	        OBJECT IDENTIFIER ::= { sys 9 }
	usbCastCtrl     OBJECT IDENTIFIER ::= { sys 10 }
	info            OBJECT IDENTIFIER ::= { sys 11 }
	sysMaintain	OBJECT IDENTIFIER ::= { sys 90 }

--------------------
-- System State
--------------------

	systemStatus OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION 
    		"This variable indicates the status of the system.
		The sysCurrentStatus is a bit map represented
		as a sum, therefore, it can represent multiple defects
		simultaneously. The sysNoDefect should be set if and only if
		no other flag is set.

		The various bit positions are:
		 1 sysNoDefect
		 2 sysOverHeat
		 3 sysFanRpmLow
		 4 sysVoltageLow
		 5 sysThermalSensorFailure
		 6 modulePullOut
		 7 powerDC48VAFailure
		 8 powerDC48VBFailure
		 9 extAlarmInputTrigger
		10 moduleDown
		11 mscSwitchOverOK
		12 networkTopologyChange
		13 cpuUtilizationHigh
		14 macSpoof
		15 memoryUsageHigh
		16 packetBufferUsageHigh"    
     	::= { sysState 1 }

        problemCause OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"It describes the problem occurred in the system, e.g. maintenance
                      	operation failures, system reboot, error log, ...etc."
        ::= { sysState 2 }

--------------------
-- Hardware Monitor
--------------------

-- Voltage Table

        voltageTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VoltageEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains voltage information about the system."
        ::= { hwMonitor 2 }

        voltageEntry OBJECT-TYPE
        SYNTAX VoltageEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A list of voltage information for each sensor."
        INDEX { voltageIndex }
        ::= { voltageTable 1 }

        VoltageEntry ::=
        	SEQUENCE {
        		voltageIndex		INTEGER,
			voltageCurValue		INTEGER,
			voltageMaxValue		INTEGER,
			voltageMinValue		INTEGER,
			voltageNominalValue	INTEGER,
			voltageLowThresh	INTEGER,
			voltageDescr		DisplayString
           	}

        voltageIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The identity of the sensor."
        ::= { voltageEntry 1 }

        voltageCurValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "milli-voltage"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The current voltage detected by the sensor."
        ::= { voltageEntry 2 }

        voltageMaxValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "milli-voltage"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The maximum voltage ever detected by the sensor."
        ::= { voltageEntry 3 }

        voltageMinValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "milli-voltage"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The minimum voltage ever detected by the sensor."
        ::= { voltageEntry 4 }

        voltageNominalValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "milli-voltage"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The nominal voltage which the power should supply."
        ::= { voltageEntry 5 }

        voltageLowThresh OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "milli-voltage"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The low threshold of the voltage. If the current voltage 
		is less than the threshold, the device will initiate the voltageLow trap."
        ::= { voltageEntry 6 }

        voltageDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The description of the voltage (e.g. location, nominal value, etc.)."
        ::= { voltageEntry 7 }
    
-- Temperature Table

        temperatureTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TemperatureEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains temperature information."
        ::= { hwMonitor 3 }

        temperatureEntry OBJECT-TYPE
        SYNTAX TemperatureEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of temperature information for each sensor."
        INDEX { temperatureIndex }
        ::= { temperatureTable 1 }

        TemperatureEntry ::=
        	SEQUENCE {
        		temperatureIndex	INTEGER,
			temperatureCurValue	INTEGER,
			temperatureMaxValue	INTEGER,
			temperatureMinValue	INTEGER,
			temperatureHighThresh	INTEGER,
			temperatureDescr	DisplayString
           	}

        temperatureIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The identity of the sensor."
        ::= { temperatureEntry 1 }

        temperatureCurValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Celsius"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The current temperature detected by the sensor."
        ::= { temperatureEntry 2 }

        temperatureMaxValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Celsius"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The maximum temperature ever detected by the sensor."
        ::= { temperatureEntry 3 }

        temperatureMinValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Celsius"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The minimum temperature ever detected by the sensor."
        ::= { temperatureEntry 4 }

        temperatureHighThresh OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Celsius"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The high threshold of the temperature. If the current temperature
		is higher than the threshold, the device will initiate the overheat trap."
        ::= { temperatureEntry 5 }

        temperatureDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The description of the temperature sensor (e.g. location, function, etc.)."
        ::= { temperatureEntry 6 }


--------------------
-- Time Setup
--------------------

        timeServerMode OBJECT-TYPE
        SYNTAX	INTEGER {
        		none(1),
			daytime(2),
			time(3),
			ntp(4)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The mechanism of Time Server when the system boots up."
	::= { timeSetup 1 }
	
	timeServerIP OBJECT-TYPE
        SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP Address of Time Server."
	::= { timeSetup 2 }
	
	systemTime OBJECT-TYPE
        SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The system time in the format 'HH:MM:SS'."
	::= { timeSetup 3 }
		
	systemDate OBJECT-TYPE
        SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The system date in the format 'YYYY-MM-DD'"
	::= { timeSetup 4 }
	
	systemTimeZone OBJECT-TYPE
	SYNTAX INTEGER {
        		utc_minus_1200(1),
        		utc_minus_1100(2),
        		utc_minus_1000(3),
        		utc_minus_0900(4),
        		utc_minus_0800(5),
        		utc_minus_0700(6),
        		utc_minus_0600(7),
        		utc_minus_0500(8),
        		utc_minus_0400(9),
        		utc_minus_0300(10),
        		utc_minus_0200(11),
        		utc_minus_0100(12),
        		utc(13),
        		utc_plus_0100(14),
        		utc_plus_0200(15),
        		utc_plus_0300(16),
        		utc_plus_0400(17),
        		utc_plus_0500(18),
        		utc_plus_0600(19),
        		utc_plus_0700(20),
        		utc_plus_0800(21),
        		utc_plus_0900(22),
        		utc_plus_1000(23),
        		utc_plus_1100(24),
        		utc_plus_1200(25)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The system time zone."
	::= { timeSetup 5 }

	timeServerSync OBJECT-TYPE
        SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set the object to 1 to synchronize with the time server."
	::= { timeSetup 6 }

	timeServerSyncStatus OBJECT-TYPE
	SYNTAX INTEGER {
        		success(1),
        		fail(2),
        		onGoing(3)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Status description of the time server sync. result."
	::= { timeSetup 7 }

--------------------
-- Access Control
--------------------

-- Access Control Table
	
        accessCtrlTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AccessCtrlEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about service access control."
        ::= { accessCtrl 1 }

        accessCtrlEntry OBJECT-TYPE
        SYNTAX AccessCtrlEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A list of access control entry."
        INDEX { accessCtrlService }
        ::= { accessCtrlTable 1 }

        AccessCtrlEntry ::=
        	SEQUENCE {
        		accessCtrlService	INTEGER,
			accessCtrlEnable	INTEGER,
			accessCtrlPort		INTEGER
           	}

        accessCtrlService OBJECT-TYPE
        SYNTAX  INTEGER {
			telnet(1),
			ftp(2),
			web(3),
			icmp(4)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The service type of the access control entry."
        ::= { accessCtrlEntry 1 }

        accessCtrlEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the service."
        ::= { accessCtrlEntry 2 }

        accessCtrlPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The port number which the service uses."
        ::= { accessCtrlEntry 3 }


	maxNumOfSecuredClients OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The maximum number of sets of secured clients."
        ::= { accessCtrl 2 }

-- Secured Client Table

        securedClientTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SecuredClientEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about secured clients."
        ::= { accessCtrl 3 }

        securedClientEntry OBJECT-TYPE
        SYNTAX SecuredClientEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of secured client entry."
        INDEX { securedClientIndex }
        ::= { securedClientTable 1 }

        SecuredClientEntry ::=
        	SEQUENCE {
        		securedClientIndex	INTEGER,
        		securedClientStartIp	IpAddress,
			securedClientEndIp	IpAddress,
			securedClientService	INTEGER,
			securedClientEnable	INTEGER
           	}

        securedClientIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The index of the entry."
        ::= { securedClientEntry 1 }

        securedClientStartIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The starting IP address of the secured client set."
        ::= { securedClientEntry 2 }

        securedClientEndIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The ending IP address of the secured client set."
        ::= { securedClientEntry 3 }

        securedClientService OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Each bit corresponds to a service. The bit is set to 1 if the
		service is enabled, and set to 0 if the service is disabled.
		The various bit positions are:
		BIT 1: telnet
		BIT 2: ftp
		BIT 3: web
		BIT 4: icmp
		BIT 5: not support
		BIT 6: snmp."
        ::= { securedClientEntry 4 }

        securedClientEnable OBJECT-TYPE
        SYNTAX INTEGER {
        	enable(1),
        	disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the entry."
        ::= { securedClientEntry 5 }


-- syslog

        sysLogEnable OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/disable syslog function."
        ::= { syslog 1 }

        sysLogServer OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"IP address of the syslog server."
        ::= { syslog 2 }

        sysLogFacility OBJECT-TYPE
        SYNTAX  INTEGER {
			local1(1),
			local2(2),
			local3(3),
			local4(4),
			local5(5),
			local6(6),
			local7(7)
			}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Log facility used by the syslog function."
        ::= { syslog 3 }


-- SNMP setup, Trap Destination

	maxNumberOfTrapDestinations OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The max number of the trap destinations."
	::= { snmp 1 }

	snmpTrapDestTable	OBJECT-TYPE
    	SYNTAX  SEQUENCE OF SnmpTrapDestEntry
    	MAX-ACCESS  not-accessible
    	STATUS  current
    	DESCRIPTION
                "A table that contains SNMP trap destination information."
    	::= { snmp 2 }

    	snmpTrapDestEntry OBJECT-TYPE
        SYNTAX  SnmpTrapDestEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        		"The entry of SNMP trap destination table."
        INDEX  { trapDestIp, trapDestPort }
        ::= { snmpTrapDestTable 1 }

   	SnmpTrapDestEntry ::=
           SEQUENCE {
            trapDestIp		 	IpAddress,
            trapDestPort			INTEGER,
	    trapDestRowStatus		RowStatus
    	   }

	trapDestIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The IP address of the trap destination."
	::= { snmpTrapDestEntry 1 }

	trapDestPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The UDP port of the trap destination."
	::= { snmpTrapDestEntry 2 }

	trapDestRowStatus OBJECT-TYPE
	SYNTAX 	RowStatus
	MAX-ACCESS	read-create
	STATUS	current
	DESCRIPTION
		"The row status of the trap destination entry."
	::= { snmpTrapDestEntry 3 }

	snmpGetCommunity OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The SNMP get community."
	::= { snmp 3 }

	snmpSetCommunity OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The SNMP set community."
	::= { snmp 4 }

	snmpTrapCommunity OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The SNMP trap community."
	::= { snmp 5 }


--------------------
-- extAlarm
--------------------

	extAlarmTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF ExtAlarmEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains external alarm information."
    	::= { extAlarm 1 }

    	extAlarmEntry OBJECT-TYPE
        SYNTAX ExtAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of external alarm table."
        INDEX { extAlarmIndex }
        ::= { extAlarmTable 1 }

   	ExtAlarmEntry ::=
        	SEQUENCE {
        		extAlarmIndex	INTEGER,
            		extAlarmName	OCTET STRING,
            		extAlarmStatus	OCTET STRING
    	   	}

	extAlarmIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the entry."
	::= { extAlarmEntry 1 }

	extAlarmName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The external alarm name."
	::= { extAlarmEntry 2 }

	extAlarmStatus OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Dispaly 'Normal' or 'Alarm' string"
	::= { extAlarmEntry 3 }

--------------------
-- User Management
--------------------

	userAuthMode OBJECT-TYPE
	SYNTAX 	INTEGER {
			local(1),
			radius(2),
			localThenRadius(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"User authentication procsssing mode."
	::= { user 1 }

	userAuthServerIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of the authentication server."
	::= { user 2 }

	userAuthServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The port of the authentication server."
	::= { user 3 }

	userAuthServerSecret OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The secret between the authentication server and the NE for authentication process."
	::= { user 4 }

-- userTable

	userTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF UserEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains user information."
    	::= { user 5 }

    	userEntry OBJECT-TYPE
        SYNTAX UserEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of userTable."
        INDEX { userName }
        ::= { userTable 1 }

   	UserEntry ::=
        	SEQUENCE {
            		userName		DisplayString,
            		userPassword		DisplayString,
            		userPriviledge		INTEGER,
            		userRowStatus		RowStatus
    	   	}

	userName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The user name."
	::= { userEntry 1 }

	userPassword OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The user password."
	::= { userEntry 2 }

	userPriviledge OBJECT-TYPE
	SYNTAX  INTEGER {
			high(1),
			middle(2),
			low(3)
		}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The user priviledge to decide what operation the user can and cannot do."
	::= { userEntry 3 }

	userRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status used to create or delete a user."
	::= { userEntry 4 }

	userAuthDefaultPriviledge OBJECT-TYPE
	SYNTAX	INTEGER {
			high(1),
			middle(2),
			low(3),
			deny(4)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The user default priviledge to be assigned when radius authentication succeds
		but no user priviledge information(radius service-type) is provided."
	::= { user 6 }

--------------------
-- Upstream Broadcast
--------------------

	usBcastCtrlEnable OBJECT-TYPE
        SYNTAX INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable upstream broadcast control."
        ::= { usbCastCtrl 1 }

        usBcastCtrlRate OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Kbps"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		""
        ::= { usbCastCtrl 2 }


--------------------
-- info
--------------------

-- Chassis Table
	serialNumber OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The Chassis Serial Number."
	::= { info 1 }


-- Slot Table

	
	moduleDescr OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The descriptions of the plug-in card."
	::= { info 2 }
	
	fWVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The firmware version of the plug-in card."
	::= { info 3 }
	
	driverVersion	OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The DSL driver of the plug-in card."
	::= { info 4 }
	
	modemCodeVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The DSL modem code version of the plug-in card."
	::= { info 5 }

-- System Maintenance

        maintenanceOps OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The managed object is for system maintenance. When the EMS
                      	 wants to trigger the system maitenance operation, the EMS
                      	 shall send SNMP-SET message to set the corresponding bit value
                      	 to be 1. The various bit positions are:
                      	 BIT 1: config save
                      	 BIT 2: reset
			 BIT 3: local loopback test
			 BIT 4: remote loopback test
			 BIT 5: clear system alarms
			 BIT 6: F4 loopback test
			 BIT 7: F5 loopback test
			 BIT 8: DSL Line Diagnostic
			 BIT 9: Load default configuration
			 BIT 10: Flush FDB"
        ::= { sysMaintain 1 }

        maintenanceTarget OBJECT-TYPE
        SYNTAX  INTEGER (1..48)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The managed object is used for identify the target on which
			 the maintenance operation should be performed."
        ::= { sysMaintain 2 }


-- variables for provisioning DSL line in batch mode

        maintenanceDSLConfOps OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The managed object is for xDSL line configuration. When the EMS
                      	 wants to issue the desired operation, the EMS
                      	 shall send SNMP-SET message to set the corresponding bit value
                      	 to be 1. The various bit positions are:
                      	 BIT  1: enable port
                      	 BIT  2: disable port
			 BIT  3: set DSL mode
			 BIT  4: set profile
			 BIT  5: enable mac filter
			 BIT  6: disable mac filter
			 BIT  7: set packet filter
			 BIT  8: enable dot1x
			 BIT  9: disable dot1x
			 BIT 10: set dot1x control
			 BIT 11: enable dot1x re-authentication
			 BIT 12: disable dot1x re-authentication
			 BIT 13: set dot1x re-authentication period
			 BIT 14: enable mac count filter
			 BIT 15: disable mac count filter
			 BIT 16: set mac count filter
			 BIT 17: set alarm profile
			 BIT 18: set Annex L (Only in AnnexA)
			 BIT 19: set power management
			 BIT 20: set rate adaptation mode
			 BIT 21: set IGMP filter
			 BIT 22: enable Annex M
			 BIT 23: disable Annex M"
        ::= { sysMaintain 3 }

        maintenanceDSLConfTarget OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The managed object is used for identify the target on which
			 the line configuration should be performed. The target is encoded
		         as:
		         Byte 1~6: each octet specifies a set of eight ports, with the first
		                   octet specifying ports 1 through 8, etc."
        ::= { sysMaintain 4 }

        maintenanceDSLConfProfileName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (1..31))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The DSL profile name"
        ::= { sysMaintain 5 }

        maintenanceDSLConfMode OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The DSL mode. The semantic for each bit is:
                      	Bit 1: ADSL, G.lite
                      	Bit 2: ADSL, G.dmt
                      	Bit 3: ADSL, T1.413
                      	Bit 4: ADSL, Auto
                      	Bit 5: ADSL, ETSI
                      	Bit 6: ADSL2,
                      	Bit 7: ADSL2+"
        ::= { sysMaintain 6 }

        maintenanceDSLConfPktFilter OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The packet filter. The semantic for each bit is:
                      	Bit 1: accept all
                      	Bit 2: accept PPPoE only
                      	Bit 3: reject ARP
                      	Bit 4: reject DHCP
			Bit 5: reject EAPOL
                      	Bit 6: reject PPPoE
			Bit 7: reject NetBIOS
			Bit 8: reject IGMP
			Bit 9: reject IP"
        ::= { sysMaintain 7 }

        maintenanceDSLConfDot1xControl OBJECT-TYPE
        SYNTAX INTEGER {
        		auto(1),
			forceAuth(2),
			forceUnAuth(3)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The configuration defines the 802.1x control type."
	::= { sysMaintain 8 }

        maintenanceDSLConfDot1xReauthPeriod OBJECT-TYPE
        SYNTAX 	INTEGER
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The configuration defines the 802.1x re-authentication period (seconds)."
	::= { sysMaintain 9 }

        maintenanceDSLConfMacCount OBJECT-TYPE
        SYNTAX 	INTEGER
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The configuration defines the number of mac addresses which can pass through the port."
	::= { sysMaintain 10 }

        maintenanceVpi OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"VPI of the channel"
        ::= { sysMaintain 11 }

        maintenanceVci OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"VCI of the channel"
        ::= { sysMaintain 12 }

        maintenanceDSLConfAlarmProfileName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1..31))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The DSL alarm profile name"
        ::= { sysMaintain 13 }

        maintenanceDSLConfAnnexL OBJECT-TYPE
        SYNTAX  INTEGER {
        		enableNarrowMode(1),
        		enableWideMode(2),
        		disable(3)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The annex L setting of the ADSL line (Only in AnnexA)."
        ::= { sysMaintain 14 }

        maintenanceDSLConfPmMode OBJECT-TYPE
        SYNTAX  INTEGER {
        		enableL2Mode(1),
        		enableL3Mode(2),
        		disable(3)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The power management mode of the ADSL line."
        ::= { sysMaintain 15 }

        maintenanceDSLConfRateMode OBJECT-TYPE
        SYNTAX	INTEGER {
                 	enable(1),		-- no rate adaptation
                 	disable(2)	-- perform rate adaptation
             	}
        MAX-ACCESS  read-write
        STATUS	current
        DESCRIPTION
                 	"Defines what form of transmit rate adaptation is
                 	configured on this modem.  See ADSL Forum TR-005 [3]
                 	for more information."
        ::= { sysMaintain 16 }

        maintenanceDSLConfIgmpFilter OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1..31))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The IGMP filter name."
        ::= { sysMaintain 17 }

----------------------------------------
-- trap
----------------------------------------

	object			OBJECT IDENTIFIER ::= { trap 1 }
	equipment		OBJECT IDENTIFIER ::= { trap 3 }
	systrap			OBJECT IDENTIFIER ::= { trap 4 }

--------------------
-- object
--------------------

	eqptAlarmInputIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of alarm input."
	::= { object 2 }

	eqptAlarmInputName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The Name of alarm input."
	::= { object 8 }

	sysMacAntiSpoofOrig OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The Original port of Mac-AntiSpoofing."
	::= { object 9 }

	sysMacAntiSpoofNew OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The New port of Mac-AntiSpoofing."
	::= { object 10 }

	sysMacAntiSpoofMAC OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The MAC of Mac-AntiSpoofing."
	::= { object 11 }

--------------------
-- equipment
--------------------

	eqptVoltageError NOTIFICATION-TYPE
	OBJECTS {
			voltageIndex,
			voltageCurValue,
			voltageLowThresh
		}
	STATUS current
	DESCRIPTION
		"The volatge is under its low threshold."
	::= { equipment 1 }
	
	eqptVoltageNormal NOTIFICATION-TYPE
	OBJECTS {
			voltageIndex
		}
	STATUS current
	DESCRIPTION
		"The volatge is normal."
	::= { equipment 2 }
	
	eqptTempError NOTIFICATION-TYPE
	OBJECTS {
			temperatureIndex,
			temperatureCurValue,
			temperatureHighThresh
		}
	STATUS current
	DESCRIPTION
		"The temperature is over its high threshold."
	::= { equipment 3 }
	
	eqptTempNormal NOTIFICATION-TYPE
	OBJECTS {
			temperatureIndex
		}
	STATUS current
	DESCRIPTION
		"The temperature is normal."
	::= { equipment 4 }
	
	eqptHWMonitorFailure NOTIFICATION-TYPE
	STATUS current
	DESCRIPTION
		"Hardware monitor diagnosis is failed."
	::= { equipment 7 }
	
	eqptExternalAlarmInput NOTIFICATION-TYPE
	OBJECTS {			
			extAlarmIndex,
			extAlarmName
		}
	STATUS current
	DESCRIPTION
		"External alarm input."
	::= { equipment 8 }
	
	eqptExternalAlarmInputRelease NOTIFICATION-TYPE
	OBJECTS {
			extAlarmIndex,
			extAlarmName
		}
	STATUS current
	DESCRIPTION
		"External alarm input is released."
	::= { equipment 9 }

--------------------
-- systrap
--------------------

	sysReboot NOTIFICATION-TYPE
	STATUS current
	DESCRIPTION
		"System reboot."
	::= { systrap 1 }
	
	sysMacAntiSpoofing NOTIFICATION-TYPE
	OBJECTS {
			sysMacAntiSpoofOrig,
			sysMacAntiSpoofNew,
			sysMacAntiSpoofMAC
	}
	STATUS current
	DESCRIPTION
		"MAC Anti-spoofing."
	::= { systrap 2 }

	

----------------------------------------
-- statistics
----------------------------------------
	igmpStats		OBJECT IDENTIFIER ::= { statistics 2 }  
	vdslStats		OBJECT IDENTIFIER ::= { statistics 8 }
	dhcpStats		OBJECT IDENTIFIER ::= { statistics 11 }
	paepvcStats		OBJECT IDENTIFIER ::= { statistics 12 }
	macStats		OBJECT IDENTIFIER ::= { statistics 13 }
--	ipbpvcStats		OBJECT IDENTIFIER ::= { statistics 14 }
	n1macStats		OBJECT IDENTIFIER ::= { statistics 15 }
	enetStats		OBJECT IDENTIFIER ::= { statistics 16 }

--------------------
-- igmpStats
--------------------


	igmpQueryCntTotal OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP query messages received."
	::= { igmpStats 1 }

	igmpReportCntTotal OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP report messages received."
	::= { igmpStats 2 }

	igmpLeaveCntTotal OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP leave messages received."
	::= { igmpStats 3 }

	igmpNumOfActiveGroups OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP learned groups."
	::= { igmpStats 4 }


-- igmpGroupV2Table

	igmpGroupV2Table OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpGroupV2Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that displays IGMP learned group member information."
        ::= { igmpStats 7 }

        igmpGroupV2Entry OBJECT-TYPE
        SYNTAX IgmpGroupV2Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of igmpGroupV2Table."
        INDEX { igmpGroupV2Vid, igmpGroupV2Ip }
        ::= { igmpGroupV2Table 1 }

        IgmpGroupV2Entry ::=
        	SEQUENCE {
        		igmpGroupV2Vid			VlanIndex,
        		igmpGroupV2Ip			IpAddress,
        		igmpGroupV2NumOfMembers		INTEGER,
        		igmpGroupV2MemberPorts		PortList
           	}

	igmpGroupV2Vid OBJECT-TYPE
	SYNTAX VlanIndex
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The IGMP group VLAN ID."
	::= { igmpGroupV2Entry 1 }

	igmpGroupV2Ip OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The multicast IP address."
	::= { igmpGroupV2Entry 2 }

	igmpGroupV2NumOfMembers OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The number of member ports in the group."
	::= { igmpGroupV2Entry 3 }

	igmpGroupV2MemberPorts OBJECT-TYPE
	SYNTAX PortList
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The member port list of the group."
	::= { igmpGroupV2Entry 4 }

-- igmpGroupPortV2Table

	igmpGroupPortV2Table OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpGroupPortV2Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that displays IGMP joined groups in this port."
        ::= { igmpStats 8 }

        igmpGroupPortV2Entry OBJECT-TYPE
        SYNTAX IgmpGroupPortV2Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of igmpGroupPortV2Table."
        INDEX { ifIndex, igmpGroupPortV2Vid, igmpGroupPortV2Ip, igmpGroupPortV2SourceIp }
        ::= { igmpGroupPortV2Table 1 }

        IgmpGroupPortV2Entry ::=
        	SEQUENCE {
        		igmpGroupPortV2Vid		VlanIndex,
        		igmpGroupPortV2Ip		IpAddress,
        		igmpGroupPortV2SourceIp		IpAddress
           	}

	igmpGroupPortV2Vid OBJECT-TYPE
	SYNTAX VlanIndex
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The IGMP group VLAN ID."
	::= { igmpGroupPortV2Entry 1 }

	igmpGroupPortV2Ip OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The multicast IP address."
	::= { igmpGroupPortV2Entry 2 }

	igmpGroupPortV2SourceIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The source IP address that joins the IGMP group."
	::= { igmpGroupPortV2Entry 3 }

-- igmpPortCtrlPduTable

	igmpPortCtrlPduTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpPortCtrlPduEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that displays IGMP related counter values in this port."
        ::= { igmpStats 9 }

        igmpPortCtrlPduEntry OBJECT-TYPE
        SYNTAX IgmpPortCtrlPduEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of igmpPortCtrlPduTable."
        INDEX { ifIndex }
        ::= { igmpPortCtrlPduTable 1 }

        IgmpPortCtrlPduEntry ::=
        	SEQUENCE {
        		igmpPortCtrlPduQueryCnt		Counter32,
        		igmpPortCtrlPduReportCnt	Counter32,
        		igmpPortCtrlPduLeaveCnt		Counter32,
        		igmpPortNumOfActiveGroups	INTEGER
           	}

	igmpPortCtrlPduQueryCnt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP query messages received in this port."
	::= { igmpPortCtrlPduEntry 1 }

	igmpPortCtrlPduReportCnt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP report messages received in this port."
	::= { igmpPortCtrlPduEntry 2 }

	igmpPortCtrlPduLeaveCnt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of IGMP leave messages received in this port."
	::= { igmpPortCtrlPduEntry 3 }

	igmpPortNumOfActiveGroups OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of active IGMP groups in this port."
	::= { igmpPortCtrlPduEntry 4 }
	
	
--------------------
-- vdslStats
--------------------
-- vdslLineStatsTable

        vdslLineStatsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VdslLineStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The table displays VDSL line statistics. This table is supported by R5.01 and later versions."
        ::= { vdslStats 2 }

        vdslLineStatsEntry OBJECT-TYPE
        SYNTAX VdslLineStatsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of vdslLineStatsTable."
        INDEX { ifIndex }
        ::= { vdslLineStatsTable 1 }

        VdslLineStatsEntry ::=
        	SEQUENCE {
                  	vdslLineStatsVtucBits1		OCTET STRING,
			vdslLineStatsVtucBits2		OCTET STRING,
			vdslLineStatsVtucBits3		OCTET STRING,
			vdslLineStatsVtucBits4		OCTET STRING,
			vdslLineStatsVturBits1		OCTET STRING,
			vdslLineStatsVturBits2		OCTET STRING,
			vdslLineStatsVturBits3		OCTET STRING,
			vdslLineStatsVturBits4		OCTET STRING,
			vdslLineStatsVtucGain1		OCTET STRING,
			vdslLineStatsVtucGain2		OCTET STRING,
			vdslLineStatsVtucGain3		OCTET STRING,
			vdslLineStatsVtucGain4		OCTET STRING,
			vdslLineStatsVtucGain5		OCTET STRING,
			vdslLineStatsVtucGain6		OCTET STRING,
			vdslLineStatsVtucGain7		OCTET STRING,
			vdslLineStatsVtucGain8		OCTET STRING,
			vdslLineStatsVturGain1		OCTET STRING,
			vdslLineStatsVturGain2		OCTET STRING,
			vdslLineStatsVturGain3		OCTET STRING,
			vdslLineStatsVturGain4		OCTET STRING,
			vdslLineStatsVturGain5		OCTET STRING,
			vdslLineStatsVturGain6		OCTET STRING,
			vdslLineStatsVturGain7		OCTET STRING,
			vdslLineStatsVturGain8		OCTET STRING,
			vdslLineStatsVtucHlog		OCTET STRING,
			vdslLineStatsVturHlog		OCTET STRING,
			vdslLineStatsVtucQln		OCTET STRING,
			vdslLineStatsVturQln		OCTET STRING,
			vdslLineStatsVtucSnr		OCTET STRING,
			vdslLineStatsVturSnr		OCTET STRING,
			vdslLineStatsVtucTssi		OCTET STRING,
			vdslLineStatsVturTssi		OCTET STRING,
			vdslLineStatsProtocol		INTEGER
              	}
              	
	vdslLineStatsVtucBits1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-C 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 1 }
	
	vdslLineStatsVtucBits2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-C 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 2 }
	
	vdslLineStatsVtucBits3 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-C 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 3 }
	
	vdslLineStatsVtucBits4 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-C 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 4 }
	
	vdslLineStatsVturBits1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-R 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 5 }
	
	vdslLineStatsVturBits2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-R 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 6 }
	
	vdslLineStatsVturBits3 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-R 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 7 }
	
	vdslLineStatsVturBits4 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Bits for the VTU-R 1024 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 15."
	::= { vdslLineStatsEntry 8 }
	
	vdslLineStatsVtucGain1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 9 }
	
	vdslLineStatsVtucGain2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 10 }
	
	vdslLineStatsVtucGain3 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 11 }
	
	vdslLineStatsVtucGain4 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 12 }
	
	vdslLineStatsVtucGain5 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 13 }
	
	vdslLineStatsVtucGain6 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 14 }
	
	vdslLineStatsVtucGain7 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 15 }
	
	vdslLineStatsVtucGain8 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 16 }
	
	vdslLineStatsVturGain1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 17 }
	
	vdslLineStatsVturGain2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 18 }
	
	vdslLineStatsVturGain3 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 19 }
	
	vdslLineStatsVturGain4 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 20 }
	
	vdslLineStatsVturGain5 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 21 }
	
	vdslLineStatsVturGain6 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 22 }
	
	vdslLineStatsVturGain7 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 23 }
	
	vdslLineStatsVturGain8 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Gain for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The value is in the range 0 to 4093. Each value in this array is 16 bits wide.
		The gain value is represented as a multiple of 1/512 on linear scale."
	::= { vdslLineStatsEntry 24 }
	
	vdslLineStatsVtucHlog OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The real Hlog(f) value is represented as (6-m(i)/10), with m(i) in the range 0 to 1022.
		A special value m=1023 indicates that no measurement could be done for the 
		sub-carrier group becauseit is out of the passband or that the attenuation 
		is out of range to be represented. Each value in this array is 16 bits wide."
	::= { vdslLineStatsEntry 25 }
	
	vdslLineStatsVturHlog OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The real Hlog(f) value is represented as (6-m(i)/10), with m(i) in the range 0 to 1022.
		A special value m=1023 indicates that no measurement could be done for the
		sub-carrier group because it is out of the passband or that the attenuation
		is out ofrange to be represented. Each value in this array is 16 bits wide."
	::= { vdslLineStatsEntry 26 }
	
	vdslLineStatsVtucQln OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Qln for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The QLN(f) is represented as ( -23-n(i)/2), with n(i) in the range 0 to 254.
		A special value n(i)=255 indicates that no measurement could be done for the
		sub-carrier group. Each value in this array is 8 bits wide."
	::= { vdslLineStatsEntry 27 }
	
	vdslLineStatsVturQln OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Qln for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		The QLN(f) is represented as ( -23-n(i)/2), with n(i) in the range 0 to 254.
		A special value n(i)=255 indicates that no measurement could be done for the
		sub-carrier group. Each value in this array is 8 bits wide."
	::= { vdslLineStatsEntry 28 }
	
	vdslLineStatsVtucSnr OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Snr for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		Octet i is set to a value in the range 0 to 254 (-32 + vdslLineStatsVtucSnr (i)/2) in dB
		(i.e., -32 to 95dB). Each value in this array is 8 bits wide."
	::= { vdslLineStatsEntry 29 }
	
	vdslLineStatsVturSnr OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Snr for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		Octet i is set to a value in the range 0 to 254 (-32 + vdslLineStatsVturSnr (i)/2) in dB
		(i.e., -32 to 95dB). Each value in this array is 8 bits wide."
	::= { vdslLineStatsEntry 30 }
	
	vdslLineStatsVtucTssi OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Tssi for the VTU-C 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		Each value in this array is 16 bits wide.
		The tssi value is represented as a multiple of 1/32768 on linear scale."
	::= { vdslLineStatsEntry 31 }
	
	vdslLineStatsVturTssi OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Tssi for the VTU-R 512 subcarriers.
		Each subcarrier takes two octets to store the value.
		Each value in this array is 16 bits wide.
		The tssi value is represented as a multiple of 1/32768 on linear scale."
	::= { vdslLineStatsEntry 32 }
	
	vdslLineStatsProtocol OBJECT-TYPE
	SYNTAX INTEGER {
			none(1),
			vdsl_8a(2),
			vdsl_8b(3),
			vdsl_8c(4),
			vdsl_8d(5),
			vdsl_12a(6),
			vdsl_12b(7),
 			vdsl_17a(8),
 			vdsl_30a(9),
 			adsl2plus(10)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The actual line protocol."
	::= { vdslLineStatsEntry 33 }

--------------------
-- DHCP
--------------------

-- dhcpSnoopIpTable

        dhcpSnoopIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpSnoopIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table shows the IP addresses and netmasks offered by the DHCP server."
        ::= { dhcpStats 1 }

	dhcpSnoopIpEntry OBJECT-TYPE
        SYNTAX DhcpSnoopIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dhcpSnoopIpTable."
        INDEX { ifIndex, dhcpSnoopIp }
        ::= { dhcpSnoopIpTable 1 }

        DhcpSnoopIpEntry ::=
        	SEQUENCE {
			dhcpSnoopIp		IpAddress,
			dhcpSnoopMac		PhysAddress,
			dhcpSnoopVid		VlanIndex
           	}

        dhcpSnoopIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The snooped IP address."
        ::= { dhcpSnoopIpEntry 1 }

        dhcpSnoopMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The snooped MAC address."
        ::= { dhcpSnoopIpEntry 2 }

        dhcpSnoopVid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The snooped VLAN ID."
        ::= { dhcpSnoopIpEntry 3 }

-- dhcpSnoopCounterTable

        dhcpSnoopCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpSnoopCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table shows the DHCP statistics."
        ::= { dhcpStats 2 }

	dhcpSnoopCounterEntry OBJECT-TYPE
        SYNTAX DhcpSnoopCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dhcpSnoopCounterTable."
        INDEX { ifIndex }
        ::= { dhcpSnoopCounterTable 1 }

        DhcpSnoopCounterEntry ::=
        	SEQUENCE {
			dhcpDiscovery		Counter64,
			dhcpOffer		Counter64,
			dhcpRequest		Counter64,
			dhcpAck			Counter64,
			dhcpAckBySnoopFull	Counter64
           	}

        dhcpDiscovery OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of received DHCP server discovery packets."
        ::= { dhcpSnoopCounterEntry 1 }

        dhcpOffer OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of received DHCP server offer packets."
        ::= { dhcpSnoopCounterEntry 2 }

        dhcpRequest OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of received DHCP IP request packets."
        ::= { dhcpSnoopCounterEntry 3 }

        dhcpAck OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of received DHCP IP acknowledge packets."
        ::= { dhcpSnoopCounterEntry 4 }

        dhcpAckBySnoopFull OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The total number of received DHCP IP acknowledge packets that replace the oldest snooping
                entry in snooping table due to table full."
        ::= { dhcpSnoopCounterEntry 5 }

--------------------
-- PAE PVC
--------------------

-- paepvcSessionTable

        paepvcSessionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PaepvcSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table shows the paepvc session statistics."
        ::= { paepvcStats 1 }

	paepvcSessionEntry OBJECT-TYPE
        SYNTAX PaepvcSessionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of paepvcSessionTable."
        INDEX { ifIndex , paepvcSessionVpi, paepvcSessionVci }
        ::= { paepvcSessionTable 1 }

        PaepvcSessionEntry ::=
        	SEQUENCE {
			paepvcSessionVpi		INTEGER,
			paepvcSessionVci		INTEGER,
			paepvcSessionState		INTEGER,
			paepvcSessionId			INTEGER,
			paepvcSessionUptime		Unsigned32,
			paepvcSessionacname		DisplayString,
			paepvcSessionsrvcname		DisplayString
           	}

        paepvcSessionVpi OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC VPI."
         ::= { paepvcSessionEntry 1 }

        paepvcSessionVci OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC VCI."
         ::= { paepvcSessionEntry 2 }

        paepvcSessionState OBJECT-TYPE
        SYNTAX INTEGER {
        			down(1),
        			pppoe(2),
				ppp(3),
				up(4)
        		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC status."
        ::= { paepvcSessionEntry 3 }

        paepvcSessionId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC session ID."
        ::= { paepvcSessionEntry 4 }

        paepvcSessionUptime OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "second"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC session uptime."
        ::= { paepvcSessionEntry 5 }

        paepvcSessionacname OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Access concentrator name."
        ::= { paepvcSessionEntry 6 }

        paepvcSessionsrvcname OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Service name."
        ::= { paepvcSessionEntry 7 }

-- paepvcCountTable

        paepvcCountTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PaepvcCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table shows the paepvc counters."
        ::= { paepvcStats 2 }

	paepvcCountEntry OBJECT-TYPE
        SYNTAX PaepvcCountEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
	"An entry of paepvcCountTable."
        INDEX { ifIndex , paepvcCountVpi, paepvcCountVci }
        ::= { paepvcCountTable 1 }

        PaepvcCountEntry ::=
        	SEQUENCE {
			paepvcCountVpi				INTEGER,
			paepvcCountVci				INTEGER,
			paepvcCountPppLcpCfgReqRx		Unsigned32,
			paepvcCountPppLcpEchoReqRx		Unsigned32,
			paepvcCountPppLcpEchoReplyRx		Unsigned32,
			paepvcCountPadiTx			Unsigned32,
			paepvcCountPadoRx			Unsigned32,
			paepvcCountPadrTx			Unsigned32,
			paepvcCountPadsRx			Unsigned32,
			paepvcCountPadtTx			Unsigned32,
			paepvcCountPadtRx			Unsigned32,
			paepvcCountSrvcnameErrRx		Unsigned32,
			paepvcCountAcSystemErrRx		Unsigned32,
			paepvcCountGenericErrTx			Unsigned32,
			paepvcCountGenericErrRx			Unsigned32
           	}


        paepvcCountVpi OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC VPI."
        ::= { paepvcCountEntry 1 }

        paepvcCountVci OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The PAEPVC VCI."
        ::= { paepvcCountEntry 2 }

        paepvcCountPppLcpCfgReqRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of ppp lcp config-request received."
        ::= { paepvcCountEntry 3 }

        paepvcCountPppLcpEchoReqRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of ppp lcp echo-request received."
        ::= { paepvcCountEntry 4 }

        paepvcCountPppLcpEchoReplyRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of ppp lcp echo-reply received."
        ::= { paepvcCountEntry 5 }

        paepvcCountPadiTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe padi transfered"
        ::= { paepvcCountEntry 6 }

        paepvcCountPadoRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe pado received"
        ::= { paepvcCountEntry 7 }

        paepvcCountPadrTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe padr transfered"
        ::= { paepvcCountEntry 8 }

        paepvcCountPadsRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe pads received"
        ::= { paepvcCountEntry 9 }

        paepvcCountPadtTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe padt transfered"
        ::= { paepvcCountEntry 10 }

        paepvcCountPadtRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe padt received"
        ::= { paepvcCountEntry 11 }

        paepvcCountSrvcnameErrRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe service name error received"
        ::= { paepvcCountEntry 12 }

        paepvcCountAcSystemErrRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe access concentrator name error received"
        ::= { paepvcCountEntry 13 }

        paepvcCountGenericErrTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe generic error transfered"
        ::= { paepvcCountEntry 14 }

        paepvcCountGenericErrRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of pppoe generic error received"
        ::= { paepvcCountEntry 15 }

--------------------
--  MAC
--------------------

	macDisplayTarget OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This managed object is a filter used for identify the target from which
  		 the MAC addresses are learned in macTable. The target could be:
  		 99: all ports in the system
  		 98: all subscriber ports
  		 97: all Ethernet ports

  		 IfIndex is used for identifying subscriber ports and Ethernet Ports(e.g. 1 ~ 50)."
	::= { macStats 1 }

-- macTable

        macTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains information about unicast
                entries for which the bridge has forwarding and/or
                filtering information. This information is used
                by the transparent bridging function in
                determining how to propagate a received frame."
        ::= { macStats 2 }

        macEntry OBJECT-TYPE
        SYNTAX MacEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of macTable."
        INDEX { dot1qVlanIndex, macAddress }
        ::= { macTable 1 }

        MacEntry ::=
        	SEQUENCE {
                  	macAddress	MacAddress,
                  	macPort		INTEGER,
                  	macStatus	INTEGER,
					macVid  VlanIndex
              	}

        macAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"A unicast MAC address for which the bridge has
                forwarding and/or filtering information."
        ::= { macEntry 1 }

        macPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The port from which the mac address has been learned."
        ::= { macEntry 2 }

        macStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The status of this entry."
	::= { macEntry 3 }
	
	macVid OBJECT-TYPE
        SYNTAX  VlanIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The vlan id of this entry."
	::= { macEntry 4 }
	
	macFlush OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set the object to 1 to flush mac table."
        ::= { macStats 3 }
--------------------
--  ipbpvc
--------------------

-- arpproxyTable

--        arpproxyTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF ArpproxyEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"Display ARP table. This table is supported by R3.00 and later versions."
--        ::= { ipbpvcStats 1 }
--
--        arpproxyEntry OBJECT-TYPE
--        SYNTAX ArpproxyEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry of arpproxyTable."
--        INDEX { ipbpvcDomainName, arpproxyIp }
--        ::= { arpproxyTable 1 }
--
--        ArpproxyEntry ::=
--        	SEQUENCE {
--                  	arpproxyIp			IpAddress,
--                  	arpproxyMac			MacAddress,
--                  	arpproxyIfIndex			INTEGER,
--                  	arpproxyVpi			INTEGER,
--                  	arpproxyVci			INTEGER,
--                  	arpproxyInterfaceIp		IpAddress,
--                  	arpproxyInterfaceMask		INTEGER,
--                  	arpproxyInterfaceVid		VlanIndex,
--                  	arpproxyDhcpIp			INTEGER,
--                  	arpproxyType			INTEGER
--              	}
--
--        arpproxyIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 1 }
--
--	arpproxyMac OBJECT-TYPE
--        SYNTAX MacAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 2 }
--
--        arpproxyIfIndex OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 3 }
--
--        arpproxyVpi OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 4 }
--
--        arpproxyVci OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 5 }
--
--        arpproxyInterfaceIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 6 }
--
--        arpproxyInterfaceMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 7 }
--
--        arpproxyInterfaceVid OBJECT-TYPE
--        SYNTAX VlanIndex
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 8 }
--
--        arpproxyDhcpIp OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		true(1),
--        		false(2)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 9 }
--
--        arpproxyType OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		upstream(1),
--        		downstream(2)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { arpproxyEntry 10 }
--
-- ipbpvcIfDynamicTable
--
--        ipbpvcIfDynamicTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcIfDynamicEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"Display runtime interfaces. This table is supported by R3.00 and later versions."
--        ::= { ipbpvcStats 2 }
--
--        ipbpvcIfDynamicEntry OBJECT-TYPE
--        SYNTAX IpbpvcIfDynamicEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry of ipbpvcIfDynamicTable."
--        INDEX { ipbpvcDomainName, ipbpvcIfDynamicIp, ipbpvcIfDynamicMask, ipbpvcDomainVlanId }
--        ::= { ipbpvcIfDynamicTable 1 }
--
--        IpbpvcIfDynamicEntry ::=
--        	SEQUENCE {
--                  	ipbpvcIfDynamicIp			IpAddress,
--                  	ipbpvcIfDynamicMask			INTEGER,
--                  	ipbpvcIfDynamicIfIndex			INTEGER,
--                  	ipbpvcIfDynamicVpi			INTEGER,
--                  	ipbpvcIfDynamicVci			INTEGER
--              	}
--
--        ipbpvcIfDynamicIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcIfDynamicEntry 1 }
--
--        ipbpvcIfDynamicMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcIfDynamicEntry 2 }
--
--        ipbpvcIfDynamicIfIndex OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcIfDynamicEntry 3 }
--
--        ipbpvcIfDynamicVpi OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcIfDynamicEntry 4 }
--
--        ipbpvcIfDynamicVci OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcIfDynamicEntry 5 }
--
-- ipbpvcRouteDynamicTable
--
--        ipbpvcRouteDynamicTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF IpbpvcRouteDynamicEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"Display runtime routing table. This table is supported by R3.00 and later versions."
--        ::= { ipbpvcStats 3 }
--
--        ipbpvcRouteDynamicEntry OBJECT-TYPE
--        SYNTAX IpbpvcRouteDynamicEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry of ipbpvcRouteDynamicTable."
--        INDEX { ipbpvcDomainName, ipbpvcRouteDynamicType, ipbpvcRouteDynamicIp, ipbpvcRouteDynamicMask }
--        ::= { ipbpvcRouteDynamicTable 1 }
--
--        IpbpvcRouteDynamicEntry ::=
--        	SEQUENCE {
--        		ipbpvcRouteDynamicType			INTEGER,
--                  	ipbpvcRouteDynamicIp			IpAddress,
--                  	ipbpvcRouteDynamicMask			INTEGER,
--                  	ipbpvcRouteDynamicNextHop		IpAddress,
--                  	ipbpvcRouteDynamicMetric		INTEGER,
--                  	ipbpvcRouteDynamicPriority		INTEGER
--              	}
--
--	ipbpvcRouteDynamicType OBJECT-TYPE
--        SYNTAX	INTEGER {
--        		upstream(1),
--        		downstream(2)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 1 }
--
--        ipbpvcRouteDynamicIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 2 }
--
--        ipbpvcRouteDynamicMask OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 3 }
--
--        ipbpvcRouteDynamicNextHop OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 4 }
--
--        ipbpvcRouteDynamicMetric OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 5 }
--
--        ipbpvcRouteDynamicPriority OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--        	""
--        ::= { ipbpvcRouteDynamicEntry 6 }


------------------------------
-- n1macStats
------------------------------

        n1macTable OBJECT-TYPE
        SYNTAX SEQUENCE OF N1macEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains information about N to 1
        	 MAC translation, including connection type,
        	 session id/IP and MAC address."
        ::= { n1macStats 1 }

        n1macEntry OBJECT-TYPE
        SYNTAX N1macEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of n1macTable."
        INDEX { ifIndex, n1macProtoVal}
        ::= { n1macTable 1 }

        N1macEntry ::=
        	SEQUENCE {
                  	n1macProtoVal	Unsigned32,
                  	n1macProtoType	INTEGER,
                  	n1macMacAddr	MacAddress
              	}

        n1macProtoVal OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The protocol value of specified connection. If the connection
        	 is pppoe/pppoaoe, the value stands for session id; if the
        	 connection is ipoe/ipoaoe, the value means IP address."
        ::= { n1macEntry 1 }

        n1macProtoType OBJECT-TYPE
        SYNTAX INTEGER {
                          unknown(1),
                          ipoe(2),
                          ipoaoe(3),
                          pppoe(4),
                          pppoaoe(5)
			}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Protocol type of the connection which the MAC is translated."
        ::= { n1macEntry 2 }

        n1macMacAddr OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The translated MAC address."
		::= { n1macEntry 3 }

------------------------------
-- enetStats
------------------------------
	enetPrimaryPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		" IfIndex is used for identifying the Primary Ethernet Port when dot3ad is disabled."
	::= { enetStats 1 }

----------------------------------------
-- clear
----------------------------------------

       	counterClearTarget OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"This managed object is used for identify the target on which
		the counter would be cleared. The target is encoded as:
		Byte 1:   reserved
		Byte 2~3: reserved
		Byte 4:   reserved
		Byte 5~11:each octet specifies a set of eight ports, with the first
		          octet specifying ports 1 through 8, etc."
        ::= { clear 1 }

        counterClearOps OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The corresponding bit is set to 1 to start the operation.
		The various bit positions are:
		BIT 1: clear interface counters
		BIT 2: clear pvc packet counters
		BIT 3: not support
		BIT 4: not support
		BIT 5: clear DHCP counters
		BIT 6: clear IGMP counters
		BIT 7: clear IGMP port counters"
        ::= { clear 2 }

        counterClearVpi OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "VPI of the pvc whose counters would be cleared."
        ::= { clear 3 }

        counterClearVci OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
       	STATUS current
        DESCRIPTION
                "VCI of the pvc whose counters would be cleared."
        ::= { clear 4 }

END
