-- $Log: E5-110-MIB.mib $
-- Revision 1.43  2011/01/25 13:33:29  cylien
-- Revision 1.42  2010/11/12 06:27:45  DavidGong
-- Revision 1.41  2010/10/18 06:23:51  cylien
-- Revision 1.40  2010/09/08 07:07:27  Alex.Shih
-- Revision 1.39  2010/09/01 06:56:00  cylien
-- Revision 1.38  2010/08/27 08:04:37  Alex.Shih
-- Revision 1.37  2010/08/24 11:29:14  davidgong
-- Revision 1.36  2010/08/23 10:00:23  davidgong
-- Revision 1.35  2010/08/19 08:12:03  Alex.Shih
-- Revision 1.34  2010/08/19 06:41:33  davidgong
-- Revision 1.33  2010/08/18 06:54:57  davidgong
-- Revision 1.32  2010/07/21 03:30:35  Alex.Shih
-- Revision 1.31  2010/07/09 11:08:59  Alex.Shih
-- Revision 1.29  2010/05/04 10:02:46  cylien
-- Revision 1.28  2010/04/23 10:46:21  maverick
-- Revision 1.27  2010/04/23 09:14:33  Ives
-- Revision 1.26  2010/04/23 08:27:24  cylien
-- Revision 1.25  2010/03/29 02:05:57  maverick
-- Revision 1.24  2009/12/03 10:55:05  maverick
-- Revision 1.23  2009/11/30 01:14:34  maverick
-- Revision 1.22  2009/11/27 13:19:32  maverick
-- Revision 1.21  2009/11/26 13:06:53  maverick
-- add comment to obsoleted mib entries, mibble checked
-- Revision 1.20  2009/11/23 06:51:50  maverick
-- Revision 1.19  2009/11/06 02:10:37  maverick
-- remove cfm, change atmqos to ipqos
-- Revision 1.18  2009/10/26 02:39:01  maverick
-- Revision 1.17  2009/10/19 10:32:53  maverick
-- Revision 1.16  2009/09/16 02:55:29  niceguy
-- Revision 1.15  2009/09/15 05:51:27  maverick
-- Revision 1.14  2009/09/04 11:06:57  maverick
-- Revision 1.13  2009/09/01 01:32:32  maverick
-- Revision 1.12  2009/06/03 08:43:22  niceguy
-- Revision 1.11  2009/05/08 10:18:25  niceguy
-- Revision 1.10  2009/03/23 11:53:55  niceguy
-- Revision 1.9  2009/03/18 02:16:23  niceguy
-- Revision 1.8  2009/03/17 09:43:04  niceguy
-- Revision 1.7  2009/03/17 08:05:06  niceguy
-- Revision 1.6  2009/03/12 11:01:04  niceguy
-- Revision 1.5  2009/03/12 03:32:03  niceguy
-- Revision 1.4  2009/03/10 11:02:50  niceguy
-- Revision 1.3  2009/03/09 00:58:46  niceguy
-- Revision 1.2  2008/11/12 08:19:33  kenny
-- Revision 1.1  2008/07/11 09:36:12  maverick
-- Initial revision
-- Revision 1.8  2008/06/30 07:43:20  maverick
-- Revision 1.7  2008/04/28 02:29:16  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


    E5-110-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;
--	dot1agCfmMdMdLevel, dot1agCfmVlanPrimaryVid, dot1agCfmMepIdentifier
--		FROM IEEE8021-CFMD8-MIB;


	calixNetworks		OBJECT IDENTIFIER ::= { enterprises 6321 }
	calixRegistrations	OBJECT IDENTIFIER ::= { calixNetworks 1 }
	calixProducts  	    OBJECT IDENTIFIER ::= { calixRegistrations 2 }
	e5x100              OBJECT IDENTIFIER ::= { calixProducts 3 }
	e5x110		OBJECT IDENTIFIER ::= { e5x100 1 }



	alarmconf 	OBJECT IDENTIFIER ::= { e5x110 2 }
	diagnostic 	OBJECT IDENTIFIER ::= { e5x110 4 }
	multicast 	OBJECT IDENTIFIER ::= { e5x110 7 }
	port 		OBJECT IDENTIFIER ::= { e5x110 8 }
	switch 		OBJECT IDENTIFIER ::= { e5x110 10 }
	sys		OBJECT IDENTIFIER ::= { e5x110 11 }
	trap		OBJECT IDENTIFIER ::= { e5x110 12 }
	statistics	OBJECT IDENTIFIER ::= { e5x110 13 }
	clear		OBJECT IDENTIFIER ::= { e5x110 14 }
	aesSeriesCommon		OBJECT IDENTIFIER ::= { e5x110 97 }
	iesSeriesCommon		OBJECT IDENTIFIER ::= { e5x110 98 }
	accessSwitchCommonATM	OBJECT IDENTIFIER ::= { e5x110 99 }



----------------------------------------
-- 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:adslPerf_lol_thresh
 			5003:adslPerf_lof_thresh
 			5004:adslPerf_los_thresh
 			5005:adslPerf_lop_thresh
 			5006:adslPerf_es_thresh
 			5007:adslPerf_ses_thresh
 			5008:adslPerf_uas_thresh
 			5009:adslAtuc_loftrap
 			5010:adslAtuc_lostrap
 			5011:adslAtur_loftrap
 			5012:adslAtur_lostrap
 			5013:adslAtur_lprtrap
 			5014:ad_dhcp_rt_full
 			5015:ad_dhcp_dm_conflict
 			5016:ad_dhcp_entry_full
 			5017:ad_dhcp_ip_dup
 			5018:ad_dhcp_mac_dup
			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
			10008:eqptI2c_err
			10009:eqptAlm_input2
			10010:eqptAlm_input3
			15000:sysReboot
			15001:sysAco
			15002:sysAlm_clear
			15003:sysLogin_fail
			15004:sysAnti_spoofing
			15005:sysAlm_svrty_change
			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 }

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

	selt		OBJECT IDENTIFIER ::= { diagnostic 3 }


--------------------
-- 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 }


----------------------------------------
-- multicast
----------------------------------------
-- Obsoleted in calix MRD20 since Revision 1.20 at 2009/06/25 by niceguy 
--  Object mcastBandwidth, igmpCount below is kept for e5-110 R1.x below. Not used for R2.x and above.

	mcastBandwidth		OBJECT IDENTIFIER ::= { multicast 4 }
	igmpCount		OBJECT IDENTIFIER ::= { multicast 5 }
	mvlan			OBJECT IDENTIFIER ::= { multicast 6 }
	queryVid		OBJECT IDENTIFIER ::= { multicast 7 }
	igmpTimer		OBJECT IDENTIFIER ::= { multicast 11 }
	auditQuery		OBJECT IDENTIFIER ::= { multicast 12 }
	igmpProfile		OBJECT IDENTIFIER ::= { multicast 13 }

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

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

	igmpLeaveMode OBJECT-TYPE
	SYNTAX	INTEGER {
        		immediateLeave(1),
        		lastMemberQuery(2)
        	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configure IGMP leave message handling mode."
	::= { multicast 10 }

--------------------
--  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 }

--------------------
--  igmpTimer
--------------------

	igmpQryInterval OBJECT-TYPE
        SYNTAX INTEGER (10..1000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP query interval, 10~1000 in seconds."
        ::= { igmpTimer 1 }

	igmpRobust OBJECT-TYPE
        SYNTAX INTEGER (1..5)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP query Robustness, 1~5."
        ::= { igmpTimer 2 }

	igmpQryRespInterval OBJECT-TYPE
        SYNTAX INTEGER (1..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP query response interval, 1~100 in 100 milliseconds."
        ::= { igmpTimer 3 }

	igmpLastMemQryInterval OBJECT-TYPE
        SYNTAX INTEGER (1..5)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP Last Member Query interval, 1~5 in 100 milliseconds."
        ::= { igmpTimer 4 }

	igmpLastMemQryRobust OBJECT-TYPE
        SYNTAX INTEGER (1..5)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set Last Member Query Robustness, 1~5."
        ::= { igmpTimer 5 }

--------------------
--  auditQuery
--------------------

	auditQryEnable OBJECT-TYPE
        SYNTAX INTEGER {
    		enable(1),
    		disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Enable/disable IGMP audit query."
        ::= { auditQuery 1 }

	auditQryInterval OBJECT-TYPE
        SYNTAX INTEGER (1..4)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP Audit Query Interval, 1~4 in 100 milliseconds."
        ::= { auditQuery 2 }

	auditQryRobust OBJECT-TYPE
        SYNTAX INTEGER (1..5)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set IGMP Audit Query Robustness, 1~5."
        ::= { auditQuery 3 }

--------------------
--  igmpProfile
--------------------

	maxNumberOfIgmpProfiles OBJECT-TYPE
	SYNTAX 	INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The max number of IGMP profiles in the system."
	::= { igmpProfile 1 }

	igmpProfileTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IgmpProfileEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"A table that contains IGMP Profiles."
        ::= { igmpProfile 2 }

	igmpProfileEntry OBJECT-TYPE
        SYNTAX  IgmpProfileEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"The entry of IGMP Profile table."
        INDEX  {IMPLIED igmpProfileName }
        ::= { igmpProfileTable 1 }

        IgmpProfileEntry ::=
           SEQUENCE {
        	igmpProfileName			DisplayString,
        	igmpProfileEnable		INTEGER,
        	igmpProfileMaxGroup		INTEGER,
			igmpProfileRowStatus	RowStatus
           }
	
	igmpProfileName OBJECT-TYPE
		SYNTAX 	DisplayString (SIZE (1..31))
		MAX-ACCESS 	read-only
		STATUS 	current
		DESCRIPTION
			"The IGMP Profile name."
		::= { igmpProfileEntry 1 }

	igmpProfileEnable OBJECT-TYPE
		SYNTAX INTEGER {
    		enable(1),
    		disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Enable/disable IGMP Profile."
        ::= { igmpProfileEntry 2 }

	igmpProfileMaxGroup OBJECT-TYPE
		SYNTAX INTEGER (1..16)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set maximum allowed multicast group, 1~16."
        ::= { igmpProfileEntry 3 }
        
	igmpProfileRowStatus OBJECT-TYPE
		SYNTAX	RowStatus
		MAX-ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The row status of the IGMP Profile entry."
		::= { igmpProfileEntry 4 }

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

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

        IgmpFilterEntry ::=
           SEQUENCE {
        	igmpFilterIndex		INTEGER,
        	igmpFilterStartIp	IpAddress,
        	igmpFilterEndIp		IpAddress
           }

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

	igmpFilterStartIp OBJECT-TYPE
		SYNTAX 	IpAddress
		MAX-ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The start IP of the filter rule."
		::= { igmpFilterEntry 2 }

	igmpFilterEndIp OBJECT-TYPE
		SYNTAX 	IpAddress
		MAX-ACCESS	read-create
		STATUS	current
		DESCRIPTION
			"The end IP of the filter rule."
		::= { igmpFilterEntry 3 }

	igmpProfilePortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF IgmpProfilePortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"This table specifies the IGMP Profile of the port."
        ::= { igmpProfile 4 }

	igmpProfilePortEntry OBJECT-TYPE
        SYNTAX	IgmpProfilePortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION
        	"An entry in igmpProfilePortTable."
        INDEX		{ ifIndex }
        ::= { igmpProfilePortTable 1 }

        IgmpProfilePortEntry ::=
			SEQUENCE {
			igmpProfilePortProfile		OCTET STRING
			}

    igmpProfilePortProfile OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1..31))
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
       		"The IGMP Profile of the port."
   		::= { igmpProfilePortEntry 1 }



----------------------------------------
-- port
----------------------------------------
-- Since we define it latter, mark the definition here
--        subrPortTable           OBJECT IDENTIFIER ::= { port 1 }
	adslPort		OBJECT IDENTIFIER ::= { port 2 }
	pvc			OBJECT IDENTIFIER ::= { port 4 }
	ppvc			OBJECT IDENTIFIER ::= { port 5 }
	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 } -- obsoleted since R3.0 at 2009/11/26 
    dtpvc			OBJECT IDENTIFIER ::= { port 14 }
	snrMgn			OBJECT IDENTIFIER ::= { port 15 }
	dslRate			OBJECT IDENTIFIER ::= { port 16 }	
-- 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,
		adslLineConfNitro			INTEGER,
		adslLineConfUSPhyr			INTEGER,
		adslLineConfDSPhyr			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)
		BIT 9 : Enable Nitro
		BIT 10: Enable US PHYR
		BIT 11: ENABLE DS PHYR"
        ::= { 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),
        		zeroPointFive(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),
        		zeroPointFive(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 }

        adslLineConfNitro OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable nitro mode for the port(For BCM solution)."
        ::= { adslLineConfEntry 23 }
        
        adslLineConfUSPhyr OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable Upstream PHYR for the port(For BCM solution)."
        ::= { adslLineConfEntry 24 }
        
		adslLineConfDSPhyr OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable Downstream PHYR for the port(For BCM solution)."
        ::= { adslLineConfEntry 25 }        

-- 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),
        		zeroPointFive(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),
        		zeroPointFive(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 }

--------------------
-- 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 {
			-- Common --
			pvcVpi			INTEGER,
			pvcVci			INTEGER,
			pvcPvid			VlanIndex,
			pvcPriority		INTEGER,
			pvcProfileDS	DisplayString,
			pvcProfileUS	DisplayString,
			
			-- Only for paepvc --
			--pvcPaePvid		VlanIndex,
			--pvcPaePriority	INTEGER,
			pvcAcName		DisplayString,
			pvcServiceName	DisplayString,
			pvcHelloTime	INTEGER,
			
			-- Only for pvc --
			--pvcSuperChannel	INTEGER,
			
			-- Other --
			pvcRowStatus	RowStatus
		}

		-- Common --
        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 }

        pvcProfileDS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in DS side."
         ::= { pvcEntry 6 }

		-- Other --
        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 7 }

        pvcProfileUS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in US side."
         ::= { pvcEntry 8 }

		-- Only for PAEPVC --
		--pvcPaePvid OBJECT-TYPE
		--SYNTAX VlanIndex
		--MAX-ACCESS read-only
		--STATUS current
		--DESCRIPTION
			--"Default P-VID for paepvc."
		--::= { pvcEntry 9 }

		--pvcPaePriority OBJECT-TYPE
		--SYNTAX INTEGER (0..7)
		--MAX-ACCESS read-only
		--STATUS current
		--DESCRIPTION
			--"802.1p default Pae-priority for paepvc."
		--::= { pvcEntry 10 }
		
		pvcAcName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Access concentrator name for paepvc."
		::= { pvcEntry 11 }

        pvcServiceName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Service name for paepvc."
         ::= { pvcEntry 12 }

		pvcHelloTime 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."
		::= { pvcEntry 13 }

		-- Only for PVC --
		--pvcSuperChannel OBJECT-TYPE
				--SYNTAX INTEGER {
				--enable(1),
				--disable(2)
		--}
		--MAX-ACCESS read-create
		--STATUS current
		--DESCRIPTION
			--"Specified the configured PVC is a super channel."
		--::= { pvcEntry 14 }

-- PVC state --
        pvcStateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PvcStateEntry
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"This table show current PVC status."
        ::= { pvc 3 }

		pvcStateEntry OBJECT-TYPE
		SYNTAX PvcStateEntry
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"An entry in pvcStateTable."
        INDEX { ifIndex, pvcStateVpi, pvcStateVci, pvcStatePvid }
        ::= { pvcStateTable 1 }

        PvcStateEntry ::=
		SEQUENCE {
			pvcStateVpi			INTEGER,
			pvcStateVci			INTEGER,
			pvcStatePvid		VlanIndex,
			pvcStatePriority	INTEGER,			
			--pvcStateCvid		VlanIndex,
			--pvcStateCPriority	INTEGER,
			--pvcStateMode		DisplayString,
			pvcStateChannelType	DisplayString,
			pvcStateEncap		DisplayString
		}

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

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

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

		pvcStatePriority OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"802.1p default priority of the pvc."
		::= { pvcStateEntry 4 }

		--pvcStateCvid OBJECT-TYPE
		--SYNTAX VlanIndex
		--MAX-ACCESS read-only
		--STATUS current
		--DESCRIPTION
			--"Default C-VID for paepvc."
		--::= { pvcStateEntry 5 }

		--pvcStateCPriority OBJECT-TYPE
		--SYNTAX INTEGER (0..7)
		--MAX-ACCESS read-only
		--STATUS current
		--DESCRIPTION
			--"802.1p default C-priority for paepvc."
		--::= { pvcStateEntry 6 }

        --pvcStateMode OBJECT-TYPE
        --SYNTAX DisplayString (SIZE (1..31))
        --MAX-ACCESS read-only
        --STATUS current
        --DESCRIPTION
                --"The value of this object identifies the link mode at runntime."
         --::= { pvcStateEntry 7 }

        pvcStateChannelType OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The value of this object identifies the channel type at runtime."
         ::= { pvcStateEntry 8 }

        pvcStateEncap OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The value of this object identifies the channel encapsulation at runtime."
         ::= { pvcStateEntry 9 }

-- 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 }


--------------------
-- 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,
			rpvcDSProfile			DisplayString,
			rpvcUSProfile			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 }

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

        rpvcUSProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The up stream 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 }

--------------------
-- 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,
			paepvcPriority		INTEGER,
			paepvcProfileDS	DisplayString,
			paepvcAcName		DisplayString,
			paepvcServiceName	DisplayString,
			paepvcHelloTime		INTEGER,
			paepvcRowStatus		RowStatus,
			paepvcProfileUS	DisplayString,
			paepvcCvid		VlanIndex,
			paepvcCPriority		INTEGER

           	}

        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 }


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

        paepvcProfileDS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in DS side."
         ::= { 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 }

        paepvcProfileUS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in US side."
         ::= { paepvcEntry 11 }

        paepvcCvid OBJECT-TYPE
        SYNTAX VlanIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Default C-VID of the pvc."
         ::= { paepvcEntry 12 }


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


--------------------
-- 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,
			tlspvcSpriority		INTEGER,
			tlspvcProfileDS		DisplayString,
			tlspvcRowStatus		RowStatus,
			tlspvcProfileUS		DisplayString
           	}

        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 }


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

        tlspvcProfileDS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in DS side."
         ::= { 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 }

        tlspvcProfileUS OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable,
                which applies for this pvc in US side."
         ::= { tlspvcEntry 8 }

--------------------
-- 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 {
        	-- Common --
			dtpvcVpi		INTEGER,
			dtpvcVci		INTEGER,
			dtpvcSvid		VlanIndex,
			dtpvcSpriority		INTEGER,
			dtpvcCvid		VlanIndex,
			dtpvcCpriority		INTEGER,
			dtpvcDSProfile		DisplayString,
			dtpvcUSProfile		DisplayString,
			dtpvcRowStatus		RowStatus,
			-- Only for dtpvc --
			dtpvcSuperChannel	INTEGER,
			-- Only for paepvc --
			dtpvcAcName		DisplayString,
			dtpvcServiceName	DisplayString,
			dtpvcHelloTime	INTEGER			
			}
        
        -- Common --
        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 }

        dtpvcDSProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable, which applies for this dtpvc in DS side."
         ::= { dtpvcEntry 7 }

        dtpvcUSProfile OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The value of this object identifies the row in the atmProfileTable, which applies for this dtpvc in US side."
         ::= { 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 }
         
        -- Only for DTPVC -- 
        dtpvcSuperChannel OBJECT-TYPE
		SYNTAX INTEGER {
    		enable(1),
    		disable(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                 "Specified the configured DTPVC is a super channel."
         ::= { dtpvcEntry 10 }

		-- Only for PAEPVC --		
		dtpvcAcName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Access concentrator name for paepvc."
		::= { dtpvcEntry 11 }

        dtpvcServiceName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Service name for paepvc."
         ::= { dtpvcEntry 12 }

		dtpvcHelloTime 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."
		::= { dtpvcEntry 13 }

-- DTPVC state --
		dtpvcStateTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DtpvcStateEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"This table show current DTPVC status."
		::= { dtpvc 2 }

		dtpvcStateEntry OBJECT-TYPE
		SYNTAX DtpvcStateEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"An entry in dtpvcStateTable."
		INDEX { ifIndex, dtpvcStateVpi, dtpvcStateVci, dtpvcStateSvid }
		::= { dtpvcStateTable 1 }

		DtpvcStateEntry ::=
		SEQUENCE {
			dtpvcStateVpi			INTEGER,
			dtpvcStateVci			INTEGER,
			dtpvcStateSvid			VlanIndex,
			dtpvcStateSPriority		INTEGER,
			dtpvcStateCvid			VlanIndex,
			dtpvcStateCPriority		INTEGER,
			--dtpvcStateMode			DisplayString,
			dtpvcStateChannelType	DisplayString,
			dtpvcStateEncap			DisplayString
		}

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

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

		dtpvcStateSvid OBJECT-TYPE
		SYNTAX VlanIndex
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Default S-VID of the dtpvc."
		::= { dtpvcStateEntry 3 }

		dtpvcStateSPriority OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"S-priority of the dtpvc."
		::= { dtpvcStateEntry 4 }

		dtpvcStateCvid OBJECT-TYPE
		SYNTAX VlanIndex
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Default C-VID of the dtpvc."
		::= { dtpvcStateEntry 5 }

		dtpvcStateCPriority OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"C-priority of the dtpvc."
		::= { dtpvcStateEntry 6 }

        --dtpvcStateMode OBJECT-TYPE
        --SYNTAX DisplayString (SIZE (1..31))
        --MAX-ACCESS read-only
        --STATUS current
        --DESCRIPTION
                --"The value of this object identifies the link mode at runntime."
         --::= { dtpvcStateEntry 7 }

        dtpvcStateChannelType OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The value of this object identifies the channel type at runtime."
         ::= { dtpvcStateEntry 8 }

        dtpvcStateEncap OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The value of this object identifies the channel encapsulation at runtime."
         ::= { dtpvcStateEntry 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
    		}

	gbondGroupName OBJECT-TYPE
    	SYNTAX OCTET STRING (SIZE (0..31))
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
        	"An administratively assigned string, which may be used to identify bonding group."
    	::= { gbondGroupEntry 1 }

	gbondGroupPorts OBJECT-TYPE
    	SYNTAX OCTET STRING
    	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 }
--------------------
-- snrMgn
--------------------

-- snrMgnTable

	snrMgnTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF SnrMarginEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"A table containing the per port SNR Margin configuration."
    	::= { snrMgn 1 }

	snrMgnEntry OBJECT-TYPE
    	SYNTAX SnrMarginEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"An entry of snrMgnTable."
    	INDEX { ifIndex }
    	::= { snrMgnTable 1 }

	SnrMarginEntry ::=
    		SEQUENCE {
				snrMgnMode			INTEGER,
				snrMgnUcTarget		INTEGER,
				snrMgnUcMax			INTEGER,
				snrMgnUcMin			INTEGER,
				snrMgnUcDownshift	INTEGER,
				snrMgnUcUpshift		INTEGER,
				snrMgnUrTarget		INTEGER,
				snrMgnUrMax			INTEGER,
				snrMgnUrMin			INTEGER,
				snrMgnUrDownshift	INTEGER,
				snrMgnUrUpshift		INTEGER
    		}

	snrMgnMode OBJECT-TYPE
		SYNTAX      INTEGER {
						profile(0),
						line(1)
					}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configure DSL SNR margin configuration mode of the specified ports.
			Profile: the SNR margin configuration comes from DSL profile.
			Line: the SNR margin configuration comes from line configuration."
		::= { snrMgnEntry 1 }

	snrMgnUcTarget OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Target Signal/Noise Margin.
			This is the Noise Margin the modem must achieve
			with a BER of 10-7 or better to successfully complete
			initialization."
		::= { snrMgnEntry 2 }
		
	snrMgnUcMax OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Maximum acceptable Signal/Noise Margin.
			If the Noise Margin is above this the modem should
			attempt to reduce its power output to optimize its
			operation."
		::= { snrMgnEntry 3 }

	snrMgnUcMin OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Minimum acceptable Signal/Noise Margin.
			If the noise margin falls below this level, the modem
			should attempt to increase its power output.  If that
			is not possible the modem will attempt to
			re-initialize or shut down."
		::= { snrMgnEntry 4 }

	snrMgnUcDownshift  OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Signal/Noise Margin for rate downshift.
			If the noise margin falls below this level, the modem
			should attempt to decrease its transmit rate.  In
			the case that RADSL mode is not present,
			the value will be `0'."
		::= { snrMgnEntry 5 }

	snrMgnUcUpshift  OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Signal/Noise Margin for rate upshift.
			If the noise margin rises above this level, the modem
			should attempt to increase its transmit rate.    In
			the case that RADSL is not present, the value will
			be `0'."
		::= { snrMgnEntry 6 }
         
	snrMgnUrTarget OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Target Signal/Noise Margin.
			This is the Noise Margin the modem must achieve
			with a BER of 10-7 or better to successfully complete
			initialization."
		::= { snrMgnEntry 7 }

	snrMgnUrMax OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Maximum acceptable Signal/Noise Margin.
			If the Noise Margin is above this the modem should
			attempt to reduce its power output to optimize its
			operation."
		::= { snrMgnEntry 8 }

	snrMgnUrMin  OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Minimum acceptable Signal/Noise Margin.
			If the noise margin falls below this level, the modem
			should attempt to increase its power output.  If that
			is not possible the modem will attempt to
			re-initialize or shut down."
		::= { snrMgnEntry 9 }

	snrMgnUrDownshift  OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Signal/Noise Margin for rate downshift.
			If the noise margin falls below this level, the modem
			should attempt to decrease its transmit rate.
			In the case that RADSL mode is not present,
			the value will be `0'."
		::= { snrMgnEntry 10 }

	snrMgnUrUpshift  OBJECT-TYPE
		SYNTAX      INTEGER (0..310)
		UNITS       "tenth dB"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Signal/Noise Margin for rate upshift.
			If the noise margin rises above this level, the modem
			should attempt to increase its transmit rate.
			In the case that RADSL is not present,
			the value will be `0'."
		::= { snrMgnEntry 11 }

--------------------
-- dsl rate
--------------------

-- dslRateTable

	dslRateTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF DslRateEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"A table containing the per port DSL Rate configuration."
    	::= { dslRate 1 }

	dslRateEntry OBJECT-TYPE
    	SYNTAX DslRateEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
        	"An entry of dslRateTable."
    	INDEX { ifIndex }
    	::= { dslRateTable 1 }

	DslRateEntry ::=
    		SEQUENCE {
				dslRateMode							INTEGER,
				dslRateLatencyMode  				INTEGER,
				dslRateXtucMaxInterleaveDelay		INTEGER,
				dslRateXtucMaxTxRate				Unsigned32,
				dslRateXtucMinTxRate				Unsigned32,
				dslRateXturMaxInterleaveDelay		INTEGER,
				dslRateXturMaxTxRate				Unsigned32,
				dslRateXturMinTxRate				Unsigned32
	    		}

	dslRateMode OBJECT-TYPE
		SYNTAX      INTEGER {
						profile(0),
						line(1)
					}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configure DSL Rate configuration mode of the specified ports.
			Profile: the DSL Rate configuration comes from DSL profile.
			Line: the DSL Rate configuration comes from line configuration."
		::= { dslRateEntry 1 }

	dslRateLatencyMode OBJECT-TYPE
		SYNTAX      INTEGER  {
						interleave(1),
						fast(2)
					}
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The latency mode is fast or interleave"
		::= { dslRateEntry 2 }
		
	dslRateXtucMaxInterleaveDelay OBJECT-TYPE
		SYNTAX      INTEGER (0..255)
		UNITS       "milli-seconds"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured maximum Interleave Delay for this channel.
 	
 			Interleave delay applies only to the interleave channel
 			and defines the mapping (relative spacing) between
 			subsequent input bytes at the interleaver input and
 			their placement in the bit stream at the interleaver
 			output.  Larger numbers provide greater separation
 			between consecutive input bytes in the output bit
 			stream allowing for improved impulse noise immunity
 			at the expense of payload latency."
		::= { dslRateEntry 3 }

	dslRateXtucMaxTxRate OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "kbps"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Maximum Transmit rate for `Fast' or `Interleave' channels,
             in bps."
		::= { dslRateEntry 4 }

	dslRateXtucMinTxRate  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "kbps"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Minimum Transmit rate for `Fast' or `Interleave' channels,
 			 in bps"
		::= { dslRateEntry 5 }

	dslRateXturMaxInterleaveDelay  OBJECT-TYPE
		SYNTAX      INTEGER (0..255)
		UNITS       "milli-seconds"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured maximum Interleave Delay for this channel.
 	
 			Interleave delay applies only to the interleave channel
 			and defines the mapping (relative spacing) between
 			subsequent input bytes at the interleaver input and
 			their placement in the bit stream at the interleaver
 			output.  Larger numbers provide greater separation
 			between consecutive input bytes in the output bit
 			stream allowing for improved impulse noise immunity
 			at the expense of payload latency"
		::= { dslRateEntry 6 }
         
	dslRateXturMaxTxRate OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "kbps"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Target Signal/Noise Margin.
			This is the Noise Margin the modem must achieve
			with a BER of 10-7 or better to successfully complete
			initialization."
		::= { dslRateEntry 7 }

	dslRateXturMinTxRate OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "kbps"
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Configured Maximum Transmit rate for `Fast' or `Interleave'  channels,
 			 in bps."
		::= { dslRateEntry 8 }

----------------------------------------
-- switch
----------------------------------------

	dscp		OBJECT IDENTIFIER ::= { switch 10 }
	vlanIsolation	OBJECT IDENTIFIER ::= { switch 12 }
	enetMtu		OBJECT IDENTIFIER ::= { switch 13 }
--	cfm		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 }
	macff   OBJECT IDENTIFIER ::= { switch 60 }

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

	dscpMappingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DscpMappingEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains DSCP mapping configuration for the adsl and ethernet 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 and ethernet 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 }

--------------------
-- 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 }

--------------------
-- CFM
--------------------

-- cfmLoopbackPortTable

--	cfmLoopbackPortTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF CfmLoopbackPortEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"A table that contains CFM information."
--        ::= { cfm 1 }
--
--	cfmLoopbackPortEntry OBJECT-TYPE
--        SYNTAX CfmLoopbackPortEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"An entry in cfmLoopbackPortTable."
--        INDEX { ifIndex }
--        ::= { cfmLoopbackPortTable 1 }
--
--	CfmLoopbackPortEntry ::= SEQUENCE {
--        	cfmLoopbackPortState 	INTEGER
--        }
--
--	cfmLoopbackPortState OBJECT-TYPE
--    	SYNTAX  INTEGER {
--    			enable(1),
--    			disable(2)
--    		}
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--        	"CFM loopback enable/disable on the port."
--    	::= { cfmLoopbackPortEntry 1 }
--
-- cfmMIPTable
--
--        cfmMIPTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF CfmMIPEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--                 ""
--        ::= { cfm 2 }
--
--	cfmMIPEntry OBJECT-TYPE
--        SYNTAX CfmMIPEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--		"An entry in cfmMIPTable."
--        INDEX { cfmLevel, cfmVlanID, cfmPort }
--        ::= { cfmMIPTable 1 }
--
--        CfmMIPEntry ::=
--	SEQUENCE {
--		cfmLevel	INTEGER,
--		cfmVlanID	INTEGER,
--        	cfmPort		INTEGER,
--        	cfmMIPRowStatus	RowStatus
--        }
--
--        cfmLevel OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--                      	""
--        ::= { cfmMIPEntry 1 }
--
--        cfmVlanID OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--                      	""
--        ::= { cfmMIPEntry 2 }
--
--        cfmPort OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--                      	""
--        ::= { cfmMIPEntry 3 }
--
--        cfmMIPRowStatus OBJECT-TYPE
--        SYNTAX  RowStatus
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--                      	""
--        ::= { cfmMIPEntry 4 }
--
--	cfmActionEnableStatus OBJECT-TYPE
--    	SYNTAX  INTEGER {
--    			enable(1),
--    			disable(2)
--    		}
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--                      	"CFM Action enable status for the CO device"
--        ::= { cfm 3 }


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

--        dhcpRelayEnable OBJECT-TYPE
--       SYNTAX  INTEGER {
--			auto(1),
--			both(2),
--			disable(3)
--		}
--       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,
        		dhcpRelay82Suboption2Enable	INTEGER,
        		dhcpRelay82Suboption2Info	DisplayString,
                dhcpRelay82EntryEnable		        INTEGER,
            dhcpRelay82EntryOptionMode    INTEGER, 
            dhcpRelay82VlanIp	IpAddress,
            dhcpRelay82VlanMask	INTEGER,
            dhcpRelay82VlanGateway	IpAddress,
         		dhcpRelay82ThirdServer	IpAddress,
        		dhcpRelay82FourthServer	IpAddress,
        		dhcpRelay82FifthServer	IpAddress,
        		dhcpRelay82ServerVid	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),
        		third(3),
        		fourth(4),
        		fifth(5)
        	}
        MAX-ACCESS read-only
        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),
			all(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"DHCP relay mode."
        ::= { dhcpRelay82Entry 6 }


        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 {
        		auto(1),
        		all(2),
                        disable(3)
        	}
        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 }

        dhcpRelay82VlanIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address of the DHCP Relay interface for this VLAN."
        ::= { dhcpRelay82Entry 12 }

        dhcpRelay82VlanMask OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The network mask of the DHCP Relay interface for this VLAN."
        ::= { dhcpRelay82Entry 13 }

        dhcpRelay82VlanGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The gateway of the DHCP Relay interface for this VLAN."
        ::= { dhcpRelay82Entry 14 }

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

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


        dhcpRelay82FifthServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address of the DHCP Relay fifth server."
        ::= { dhcpRelay82Entry 17 }
 
        dhcpRelay82ServerVid OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The VID of the DHCP Relay server for this VLAN."
        ::= { dhcpRelay82Entry 18 }
       
--        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 }

-- dhcpRelayTest
        dhcpRelayTest	OBJECT IDENTIFIER ::= { dhcp 8 }
   
		dhcpRelayTestVid OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Setting the VID of the test server."
		::= { dhcpRelayTest 1 }    
	
		dhcpRelayTestIp OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Setting the IP of the test server."
		::= { dhcpRelayTest 2 }
        
        dhcpRelayTestOps OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Set the object to 1 to test DHCP server."
		::= { dhcpRelayTest 3 }

    	dhcpRelayTestStatus OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Display testing server status."
		::= { dhcpRelayTest 4 }
                     
-- dhcpRelayArp      
        dhcpRelayArp	OBJECT IDENTIFIER ::= { dhcp 9 }

        dhcpRelayArpShowTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpRelayArpShowEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "The table displays DHCP ARP."
        ::= { dhcpRelayArp 1 }
        
        dhcpRelayArpShowEntry OBJECT-TYPE
        SYNTAX DhcpRelayArpShowEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "An entry of dhcpRelayArpShowTable."
        INDEX { dhcpRelayArpShowVid, dhcpRelayArpShowIp }
        ::= { dhcpRelayArpShowTable 1 }

        DhcpRelayArpShowEntry ::=
        	SEQUENCE {   
        	    dhcpRelayArpShowVid			INTEGER,
        		dhcpRelayArpShowIp			IpAddress,
        		dhcpRelayArpShowMac			PhysAddress         	
              	}

	    dhcpRelayArpShowVid OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Display the VID of the DHCP ARP entry."
		::= { dhcpRelayArpShowEntry 1 }    
	
		dhcpRelayArpShowIp OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Display the IP of the DHCP ARP entry."
		::= { dhcpRelayArpShowEntry 2 }

		dhcpRelayArpShowMac OBJECT-TYPE
		SYNTAX  PhysAddress
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Display the MAC of the DHCP ARP entry."
		::= { dhcpRelayArpShowEntry 3 }
 
     	dhcpRelayArpFlushOps OBJECT-TYPE
	 	SYNTAX INTEGER
	 	MAX-ACCESS read-write
	 	STATUS current
     	DESCRIPTION
	 	"Set the object to 1 to start flushing."
     	::= { dhcpRelayArp 2 }
     	
--------------------
-- 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
-- obsoleted since V3.0 at 2009/11/26 by maverick
-- Not used for R3.x and above.
	ouiFilterTableOld OBJECT-TYPE
   	SYNTAX SEQUENCE OF OuiFilterEntryOld
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains the OUI filter addresses."
    	::= { macfilter 7 }

    	ouiFilterEntryOld OBJECT-TYPE
        SYNTAX OuiFilterEntryOld
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of ouiFilterTableOld."
        INDEX { ifIndex, ouiFilterAddrOld }
        ::= { ouiFilterTableOld 1 }

   	OuiFilterEntryOld ::=
        	SEQUENCE {
	    		ouiFilterAddrOld		OCTET STRING,
	    		ouiFilterRowStatusOld	RowStatus
    	   	}

        ouiFilterAddrOld 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."
        ::= { ouiFilterEntryOld 1 }

	ouiFilterRowStatusOld OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the entry."
	::= { ouiFilterEntryOld 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 }     
         
--  new OUI Filter VLAN              
         
	maxNumOfOuiFiltersInSystem OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of OUI filters supported in system."
	::= { macfilter 10 }
         
	maxNumOfOuiFiltersPerVlan OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of OUI filters supported per vlan."
	::= { macfilter 11 }

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

    	ouiFilterEntry OBJECT-TYPE
        SYNTAX OuiFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of ouiFilterTable."
        INDEX { dot1qVlanIndex, 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 vlan."
        ::= { ouiFilterEntry 1 }
        
	ouiFilterRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The row status of the entry."
	::= { ouiFilterEntry 2 }


    ouiFilterVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF OuiFilterVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
    	"This table includes the status of oui filtering for each configured VLAN."
    ::= { macfilter 13 }

	ouiFilterVlanEntry OBJECT-TYPE
        SYNTAX OuiFilterVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in ouiFilterVlanTable."
        INDEX { dot1qVlanIndex }
        ::= { ouiFilterVlanTable 1 }

        OuiFilterVlanEntry ::=
        	SEQUENCE {
			ouiFilterVlanEnable	INTEGER,
			ouiFilterVlanFilterMode	INTEGER
           	}


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

  
 
        ouiFilterVlanFilterMode OBJECT-TYPE
        SYNTAX	INTEGER {
        		accept(1),
        		deny(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The oui filter mode (accept or deny) for the VLAN."
         ::= { ouiFilterVlanEntry 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, 
			dhcpSnoopMaxcnt			  INTEGER,
			dhcpSnoopSmacverifyEnable 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 }

        dhcpSnoopMaxcnt OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
         		"Set the max entries of the DHCP ARP table."
         ::= { dhcpSnoopPortEntry 2 }   
         
        dhcpSnoopSmacverifyEnable OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable DHCP source MAC verify for a port."
         ::= { dhcpSnoopPortEntry 3 } 


-- 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 }

        dhcpSnoopMaxcntMode OBJECT-TYPE
               SYNTAX  INTEGER {
        		replace(1),
        		drop(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "When DHCP snooping table is full, new DHCP lease will replace first one in option 0 or will be dropped in option 1."
         ::= { dhcpSnoop 6 }

--------------------
-- 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
           	}

	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),
        	{srcip <ip>/<mask>{|dstip <ip>/<mask>{|tos <stos> <etos>{|srcport <sport> <eport> {|dstport <sport> <eport>}}}}} (14) "
        ::= { 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 (1..65535)
        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 }

--------------------
-- 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 }

----------------------------------------
-- 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,
			macFfRowStatus		RowStatus
		}
					
			macFfIndex OBJECT-TYPE
			SYNTAX INTEGER
      		MAX-ACCESS read-only
      		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 }
			
		
			macFfRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
        		"The row status of the MacFfEntry entry."
     	 	::= { macFfEntry 6 }
			    
     
    macFfArpFlush OBJECT-TYPE
  	SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Set the object to 1 to flush mac table."
    ::= { macff 3 }
	
    maxNumOfMacFfVlanInSystem OBJECT-TYPE
  	SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The max number of macff Vlans supported in the system."
    ::= { macff 4 }
    
    macFfVlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfVlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains MAC Force Forwarding Vlan configuration."
    ::= { macff 5 }
    
    macFfVlanEntry OBJECT-TYPE
    SYNTAX MacFfVlanEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfVlanTable."
    INDEX { dot1qVlanIndex }
    ::= { macFfVlanTable 1 }
    
    MacFfVlanEntry ::=
    	SEQUENCE {
    		macFfVlanRowstatus 			INTEGER,
    		macFfVlanUnknownUnicast	INTEGER
		}
					
			macFfVlanRowstatus OBJECT-TYPE
			SYNTAX RowStatus
      		MAX-ACCESS read-create
      		STATUS current
     		 DESCRIPTION
        		"Row status of the table used to create/delete an entry."
      		::= { macFfVlanEntry 1 }

			macFfVlanUnknownUnicast OBJECT-TYPE
			SYNTAX	INTEGER {
					flood(1),
					drop(2)
				}
      		MAX-ACCESS read-create
      		STATUS current
     		 DESCRIPTION
        		"Setting downstream unknown uni-cast packet on macff vlan to flooding or dropping."
      		::= { macFfVlanEntry 2 }
      		
    macFfStaticIPTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfStaticIPEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	" "
    ::= { macff 6 }
    
    macFfStaticIPEntry OBJECT-TYPE
    SYNTAX MacFfStaticIPEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfTable."    
    INDEX	{ macFfStaticIPPort, macFfStaticIPVid, macFfstaticIP , macFfStaticIPMask}
    ::= { macFfStaticIPTable 1 }
    
    MacFfStaticIPEntry ::=
    	SEQUENCE {
    		macFfStaticIPPort 		INTEGER,
			macFfStaticIPVid		INTEGER,
			macFfstaticIP			IpAddress,
			macFfStaticIPMask		INTEGER,
			macFfStaticIPRowStatus 	RowStatus
		}
					
			macFfStaticIPPort OBJECT-TYPE
			SYNTAX INTEGER
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		" The port number, 1 ~ 48."
      		::= { macFfStaticIPEntry 1 }
					
			macFfStaticIPVid OBJECT-TYPE		
			SYNTAX INTEGER
			MAX-ACCESS read-only

			STATUS current
			DESCRIPTION
        		"VLAN ID of the IP range, 1 ~ 4094, the vid should be enable the MACFF function first."
			::= { macFfStaticIPEntry 2 }
			
		
			macFfstaticIP OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only

			STATUS current
			DESCRIPTION
        		"The specified IP range."
      		::= { macFfStaticIPEntry 3 }
						
			macFfStaticIPMask OBJECT-TYPE	
			SYNTAX INTEGER
			MAX-ACCESS read-only

			STATUS current
			DESCRIPTION
        		"Mask_bits is 24 .. 32."
     		::= { macFfStaticIPEntry 4 }
			
		
			macFfStaticIPRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
        		"The row status used to configure the table entry."
     	 	::= { macFfStaticIPEntry 5 }

----------------------------------------
-- sys
----------------------------------------
        accessCtrl	OBJECT IDENTIFIER ::= { sys 5 }
        extAlarm        OBJECT IDENTIFIER ::= { sys 8 }
	user		OBJECT IDENTIFIER ::= { sys 9 }
	usbCastCtrl OBJECT IDENTIFIER ::= { sys 10}
	dsbCastCtrl OBJECT IDENTIFIER ::= { sys 11}



	stdioTimeout OBJECT-TYPE
		SYNTAX INTEGER (0..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the CLI/TELNET/WEB Session timeout, 0, or 1~300 minutes, 0 => disable."
		::= { sys 12 }
		
	isConfigChanged OBJECT-TYPE
		SYNTAX INTEGER {
			yes(1),
			no(2)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"If system configuration has been changed."
		::= { sys 13 }
		
	fwUpgrade OBJECT IDENTIFIER ::= {sys 14}     
    delayedReboot OBJECT IDENTIFIER ::= {sys 15}
--------------------
-- Access Control
--------------------
-- 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 2 }

        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 }


--------------------
-- 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,
            		extAlarmTriggeredMode	INTEGER
    	   	}

	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 }

	extAlarmTriggeredMode OBJECT-TYPE
	SYNTAX INTEGER {
		closeAlarm(1),
		openAlarm(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The external alarm triggered mode."
	::= { extAlarmEntry 4 }

--------------------
-- 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
		"32~49984 in step of 32kbps"
        ::= { usbCastCtrl 2 }

--------------------
-- Downstream Broadcast
--------------------

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

        dsBcastCtrlRate OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "Kbps"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"32~1000000 in step of 32 kbps"
        ::= { dsbCastCtrl 2 }

                                 
--------------------
-- fwUpgrade
--------------------

	fwUpgradeVersion OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-write
		STATUS current
        DESCRIPTION
		"Configure the target firmware version that will be upgraded."
        ::= { fwUpgrade 1 }

    fwUpgradeCheck OBJECT-TYPE
        SYNTAX INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable firmware upgrade version checking feature."
        ::= { fwUpgrade 2 }   
        
    fwUpgradeStatus OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Display current firmware upgrade status."
		::= { fwUpgrade 3 }
		
--------------------
-- delayedReboot
--------------------
  	delayedRebootTimer OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "sec"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"5~1800 secs, 0: reboot immediately."
        ::= { delayedReboot 1 }
          
  	delayedRebootRemainingTime OBJECT-TYPE
        SYNTAX INTEGER      
        UNITS "sec"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Display the remaining time of scheduled reboot."
        ::= { delayedReboot 2 }          
        
  	delayedRebootCancel OBJECT-TYPE
        SYNTAX INTEGER {
        		cancel(1)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"cancel the scheduled reboot."
        ::= { delayedReboot 3 }

        
                                 
----------------------------------------
-- statistics
----------------------------------------

	dhcpStats		OBJECT IDENTIFIER ::= { statistics 11 }
	paepvcStats		OBJECT IDENTIFIER ::= { statistics 12 }
	macStats		OBJECT IDENTIFIER ::= { statistics 13 }
	ipbpvcStats		OBJECT IDENTIFIER ::= { statistics 14 } -- obsoleted since R3.0 at 2009/11/26 by maverick
	macffStats		OBJECT IDENTIFIER ::= { statistics 16 }
	enetStats		OBJECT IDENTIFIER ::= { statistics 17 }
	adslStats		OBJECT IDENTIFIER ::= { statistics 18 }
--------------------
--  IGMP
--------------------

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

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

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

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

-- igmpGroupTable

        igmpGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmp group information."
        ::= { statistics 5 }

	igmpGroupEntry OBJECT-TYPE
        SYNTAX IgmpGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpGroupTable."
        INDEX { igmpGroupIp }
        ::= { igmpGroupTable 1 }

        IgmpGroupEntry ::=
        	SEQUENCE {
			igmpGroupIp			IpAddress,
			igmpGroupvid			INTEGER,
			igmpGroupnumberOfMembers	INTEGER,
			igmpGroupMemberPorts		PortList

           	}

        igmpGroupIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "igmp group IP"
        ::= { igmpGroupEntry 1 }

        igmpGroupvid OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "vlan id"
        ::= { igmpGroupEntry 2 }

        igmpGroupnumberOfMembers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "number Of Members"

        ::= { igmpGroupEntry 3 }

        igmpGroupMemberPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Group Member Ports"

        ::= { igmpGroupEntry 4 }

-- igmpGroupPortTable

        igmpGroupPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmp Group port information."
        ::= { statistics 6 }

	igmpGroupPortEntry OBJECT-TYPE
        SYNTAX IgmpGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpGroupPortTable."
        INDEX { ifIndex , igmpGroupPortIp , igmpGroupPortvid}
        ::= { igmpGroupPortTable 1 }

        IgmpGroupPortEntry ::=
        	SEQUENCE {
			igmpGroupPortIp		IpAddress,
			igmpGroupPortvid	INTEGER
           	}

        igmpGroupPortIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Igmp Group IP"
         ::= { igmpGroupPortEntry 1 }

        igmpGroupPortvid OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Igmp Group vid"
         ::= { igmpGroupPortEntry 2 }

-- igmpGroupV2Table

	igmpGroupV2Table OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpGroupV2Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "A table that displays IGMP learned group member information."
        ::= { statistics 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."
        ::= { statistics 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."
        ::= { statistics 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,
        		igmpPortCtrlAuditLeaveCnt	Counter32
           	}

	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 }

	igmpPortCtrlAuditLeaveCnt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The total number of groups left by audit query."
	::= { igmpPortCtrlPduEntry 5 }
--------------------
-- 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,
			dhcpSnoopMask		INTEGER,
			dhcpSnoopGateway	IpAddress,
			dhcpSnoopRouteMap	OCTET STRING
           	}

        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 }

				dhcpSnoopMask OBJECT-TYPE
				SYNTAX INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The snooped IP mask"
				::= { dhcpSnoopIpEntry 4 }
				
        dhcpSnoopGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
          "The snooped Gateway."
        ::= { dhcpSnoopIpEntry 5 }
        
        dhcpSnoopRouteMap OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
          "The refrence bit map of the dhcp route"
        ::= { dhcpSnoopIpEntry 6 }
        
-- 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 }

    dhcpRouteTable OBJECT-TYPE
    SYNTAX SEQUENCE OF DhcpRouteEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains dhcp route information."
    ::= { dhcpStats 3 }
    
    dhcpRouteEntry OBJECT-TYPE
    SYNTAX DhcpRouteEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of dhcpRouteTable."
    INDEX	{ dhcpRouteIndex }
    ::= { dhcpRouteTable 1 }
    
    DhcpRouteEntry ::=
    	SEQUENCE {
      dhcpRouteIndex		INTEGER,
			dhcpRouteVid			VlanIndex,
			dhcpRouteIP				IpAddress,
			dhcpRouteMask			INTEGER,
			dhcpRouteGwIP			IpAddress
		}

      dhcpRouteIndex OBJECT-TYPE
      SYNTAX INTEGER (1..24)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
      	""
      ::= { dhcpRouteEntry 1 }
					
			dhcpRouteVid OBJECT-TYPE		
			SYNTAX VlanIndex
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The VLAN-ID refering to this dhcp route."
			::= { dhcpRouteEntry 2 }
			
			
			dhcpRouteIP	OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"IP of this dhcp route"
      		::= { dhcpRouteEntry 3 }

			dhcpRouteMask OBJECT-TYPE	
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The subnet mask of source IP mask."
     		::= { dhcpRouteEntry 4 }
     		
			dhcpRouteGwIP OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The gateway IP address."
      		::= { dhcpRouteEntry 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 { macAddress }
        ::= { macTable 1 }

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

        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 }

--------------------
--  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 }

------------------------------
-- enetStats
------------------------------

	     enetSfpInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EnetSfpInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes sfp info of enet port."
        ::= { enetStats 2 }

		enetSfpInfoEntry OBJECT-TYPE
    SYNTAX EnetSfpInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in enetSfpInfoTable."
        INDEX {ifIndex}
        ::= { enetSfpInfoTable 1 }

    EnetSfpInfoEntry ::=
        	SEQUENCE {
			enetSfpInfoTxpower	INTEGER,
			enetSfpInfoRxpower	INTEGER,
			enetSfpInfoTemperature	INTEGER,
			enetSfpInfoTxBias	INTEGER,
			enetSfpInfoVoltage	INTEGER			
		}

        enetSfpInfoTxpower OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        UNITS "10^-4 mW"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measured Tx Output Power."
        ::= { enetSfpInfoEntry 1 }

        enetSfpInfoRxpower OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        UNITS "10^-4 C"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measured Rx Output Power."
        ::= { enetSfpInfoEntry 2 }

        enetSfpInfoTemperature OBJECT-TYPE
        SYNTAX INTEGER (-1280000..1280000)
        UNITS "10^-4 C"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measured temperature."
        ::= { enetSfpInfoEntry 3 }
        
        enetSfpInfoTxBias OBJECT-TYPE
        SYNTAX INTEGER (0..131000)
        UNITS "10^-3 mA"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measured tx bias."
        ::= { enetSfpInfoEntry 4 }        
        
        enetSfpInfoVoltage OBJECT-TYPE
        SYNTAX INTEGER (0..65000)
        UNITS "0.1mV"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measured voltage."
        ::= { enetSfpInfoEntry 5 }    
        
------------------------------
-- adslStats
------------------------------

	     adslPortUtilTable OBJECT-TYPE
    SYNTAX SEQUENCE OF AdslPortUtilEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes adsl port utilization."
        ::= { adslStats 1 }

		adslPortUtilEntry OBJECT-TYPE
    SYNTAX AdslPortUtilEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in adslPortUtilEntry."
        INDEX {ifIndex}
        ::= { adslPortUtilTable 1 }

    AdslPortUtilEntry ::=
        	SEQUENCE {
			adslPortUtilTx	INTEGER,
			adslPortUtilRx	INTEGER	
		}

        adslPortUtilTx OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measure adsl port's tx utilization."
        ::= { adslPortUtilEntry 1 }

        adslPortUtilRx OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Measure adsl port's rx utilization."
        ::= { adslPortUtilEntry 2 }

----------------------------------------
-- macFfStats
---------------------------------------- 
    macFfStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains MAC Force Forwarding static configuration and dynamic information."
    ::= { macffStats 1 }
    
    macFfStatsEntry OBJECT-TYPE
    SYNTAX MacFfStatsEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfStatsTable."
    INDEX	{ macFfStatsIndex }
    ::= { macFfStatsTable 1 }
    
    MacFfStatsEntry ::=
    	SEQUENCE {
    	macFfStatsIndex 		INTEGER,
			macFfStatsVid				VlanIndex,
			macFfStatsArIP			IpAddress,
			macFfStatsSrcIP			IpAddress,
			macFfStatsSrcMask		INTEGER
		}
					
			macFfStatsIndex OBJECT-TYPE
			SYNTAX INTEGER
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"Index of the MACFF."
      		::= { macFfStatsEntry 1 }
					
			macFfStatsVid OBJECT-TYPE		
			SYNTAX VlanIndex
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The VLAN-ID refering to this AR/AS."
			::= { macFfStatsEntry 2 }
			
			
			macFfStatsArIP	OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"IP of this AR/AS"
      		::= { macFfStatsEntry 3 }
		
			macFfStatsSrcIP OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The source IP address of the MACFF."
      		::= { macFfStatsEntry 4 }
						
			macFfStatsSrcMask OBJECT-TYPE	
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"The subnet mask of source IP mask."
     		::= { macFfStatsEntry 5 }

    macFfArpTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfArpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains MAC Force Forwarding ARP information."
    ::= { macffStats 2 }
    
    macFfArpEntry OBJECT-TYPE
    SYNTAX MacFfArpEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfArpTable."
    INDEX	{ macFfArpVid,  macFfArpIP}
    ::= { macFfArpTable 1 }
    
    MacFfArpEntry ::=
    	SEQUENCE {
    	macFfArpVid 		VlanIndex,
			macFfArpIP			IpAddress,
			macFfArpPort		INTEGER,
			macFfArpMac			PhysAddress
		}
					
			macFfArpVid OBJECT-TYPE
			SYNTAX VlanIndex
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"The VLAN-ID refering to this AR/AS."
      		::= { macFfArpEntry 1 }
					
			macFfArpIP OBJECT-TYPE		
			SYNTAX IpAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"IP of this AR/AS."
			::= { macFfArpEntry 2 }
			
			
			macFfArpPort	OBJECT-TYPE		
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"Port of this AR/AS."
      		::= { macFfArpEntry 3 }
		
			macFfArpMac OBJECT-TYPE		
			SYNTAX PhysAddress
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
        		"MAC address of the AR or AS."
      		::= { macFfArpEntry 4 }
      		
    macFfArpCounterTable OBJECT-TYPE
    SYNTAX SEQUENCE OF MacFfArpCounterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"A table that contains MAC Force Forwarding ARP counter information."
    ::= { macffStats 3 }
    
    macFfArpCounterEntry OBJECT-TYPE
    SYNTAX MacFfArpCounterEntry
    MAX-ACCESS not-accessible                                                        
    STATUS current
    DESCRIPTION
    	"An entry of macFfArpCounterTable."
    INDEX { ifIndex }
    ::= { macFfArpCounterTable 1 }
    
    MacFfArpCounterEntry ::=
    	SEQUENCE {
    	macFfArpCounterRequestTX 			Counter32,
			macFfArpCounterRequestRX			Counter32,
			macFfArpCounterRequestRXDrop	Counter32,
    	macFfArpCounterReplyTX 				Counter32,
			macFfArpCounterReplyRX				Counter32,
			macFfArpCounterReplyRXDrop		Counter32
		}
					
			macFfArpCounterRequestTX OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Request TX counter."
      		::= { macFfArpCounterEntry 1 }

			macFfArpCounterRequestRX OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Request RX counter."
      		::= { macFfArpCounterEntry 2 }
      		
 			macFfArpCounterRequestRXDrop OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Request RX drop counter."
      		::= { macFfArpCounterEntry 3 }				

			macFfArpCounterReplyTX OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Reply TX counter."
      		::= { macFfArpCounterEntry 4 }

			macFfArpCounterReplyRX OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Reply RX counter."
      		::= { macFfArpCounterEntry 5 }
      		
 			macFfArpCounterReplyRXDrop OBJECT-TYPE
			SYNTAX Counter32
      		MAX-ACCESS read-only
      		STATUS current
     		 DESCRIPTION
        		"ARP Reply RX drop counter."
      		::= { macFfArpCounterEntry 6 }		
----------------------------------------
-- 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: clear port ATM counters
		BIT 4: clear pvc ATM counters
		BIT 5: clear DHCP counters
		BIT 6: clear IGMP counters
		BIT 7: clear IGMP port counters
		BIT 8: clear MACFF ARP counters
		BIT 9: clear current lineperf
		BIT 10: clear current 15 minute lineperf
		BIT 11: clear current 1 day lineperf"
        ::= { 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
