------------------------------------------------------------
-- $$Version 1.00 (Change History)
-- 1.00 (2014/8/8)
		-- File created IES52XXM, IES62XXM
------------------------------------------------------------

IES5206-MIB DEFINITIONS ::= BEGIN

    IMPORTS

	enterprises, TimeTicks
		FROM SNMPv2-SMI
	OBJECT-TYPE, IpAddress, Counter32, Gauge32, Unsigned32, Counter64, NOTIFICATION-TYPE
		FROM SNMPv2-SMI
	DisplayString, PhysAddress, ifIndex
		FROM RFC1213-MIB
	RowStatus, TEXTUAL-CONVENTION, TruthValue
		FROM SNMPv2-TC
	VlanIndex, PortList, dot1qVlanIndex
		FROM Q-BRIDGE-MIB
	MacAddress, Timeout, BridgeId, dot1dBasePort
		FROM BRIDGE-MIB
	InetAddressType, InetAddress, InetAddressIPv6
		FROM INET-ADDRESS-MIB		-- RFC2851
	Xdsl2Unit
		FROM VDSL2-LINE-TC-MIB			-- RFC5650
	GBondScheme
		FROM GBOND-MIB
	EnabledStatus
		FROM  P-BRIDGE-MIB
    SnmpAdminString
    	FROM SNMP-FRAMEWORK-MIB;   -- [RFC3411]

	Xdsl2ConfigRtxMode ::= TEXTUAL-CONVENTION
    	STATUS current
		DESCRIPTION
			"Forbidden(0) - Support for G998.4 is disabled.
	 		Preferred(1) - If G998.4 is supported by the far-end, it is enabled.
	 		Forced(2)    - The line will only train if G998.4 can be enabled.
	 		Test(3)      - G998.4 is enabled in test mode (refer to G998.4, Clause 10.4)."
		SYNTAX INTEGER {
	    	forbidden(0),
	    	preferred(1),
	    	forced(2),
	    	test(3)
			}

	Xdsl2StatusActualRaMode ::= TEXTUAL-CONVENTION
    	STATUS      current
    	DESCRIPTION
       		"fixedRateMode(1) - Fixed rate mode
        	raInit(2)        - Adaptive rate mode at initialization
        	dynamicRa(3)     - Dynamic rate adaptation
        	sosEnabled(4)    - SOS enabled"
    	SYNTAX      INTEGER {
        	none(0),
        	fixedRateMode(1),
        	raInit(2),
        	dynamicRa(3),
        	sosEnabled(4)
    		}

    Xdsl2StatusRtxMode ::= TEXTUAL-CONVENTION
    	STATUS      current
    	DESCRIPTION
			"rtxInUse(1)            - RTX in use.
        	rtxForbidden(2)        - RTX not in use because RTX_MODE = FORBIDDEN.
        	rtxNotSupportedXtuC(3) - RTX not in use because it is not supported by the XTU-C.
        	rtxNotSupportedXtuR(4) - RTX not in use because it is not supported by the XTU-R.
        	rtxNotSupportedBoth(5) - RTX not in use because it is not supported by the XTU-C and XTU-R."
    	SYNTAX      INTEGER {
    		none(0),
        	rtxInUse(1),
        	rtxForbidden(2),
        	rtxNotSupportedXtuC(3),
        	rtxNotSupportedXtuR(4),
        	rtxNotSupportedBoth(5)
    		}

    IpInterface ::= TEXTUAL-CONVENTION
    	STATUS      current
    	DESCRIPTION
			"ipIfOutband(0)		- outband ip interface.
        	ipIfInband(1)    - inband ip interface."
    	SYNTAX      INTEGER {
    		ipIfOutband(0),
        	ipIfInband(1)
    		}


    ---------------------------
    -- IES5206 OID defintion --
    ---------------------------

	zyxel			OBJECT IDENTIFIER ::= { enterprises 890 }
	products		OBJECT IDENTIFIER ::= { zyxel 1 }
    accessSwitch	OBJECT IDENTIFIER ::= { products 5 }
	iesSeries		OBJECT IDENTIFIER ::= { accessSwitch 13 }

    ies5206 MODULE-IDENTITY

    LAST-UPDATED "1206261724Z"
    ORGANIZATION "ZyXEL"
    CONTACT-INFO "ZyXEL CSO"
    DESCRIPTION "The file contains the private MIB defition for product IES5206/5212/6217."
    ::= { iesSeries 13 }

	acl						OBJECT IDENTIFIER ::= { ies5206 1 }
	alarm					OBJECT IDENTIFIER ::= { ies5206 2 }
	dhcp 					OBJECT IDENTIFIER ::= { ies5206 3 }
	ge						OBJECT IDENTIFIER ::= { ies5206 4 }
	hwmonitor				OBJECT IDENTIFIER ::= { ies5206 5 }
	igmpmld					OBJECT IDENTIFIER ::= { ies5206 6 }
	ip						OBJECT IDENTIFIER ::= { ies5206 7 }
	lcman		 			OBJECT IDENTIFIER ::= { ies5206 8 }
	login 					OBJECT IDENTIFIER ::= { ies5206 9 }
	loopguard				OBJECT IDENTIFIER ::= { ies5206 10 }
	interworking			OBJECT IDENTIFIER ::= { ies5206 11 }
	pppoe					OBJECT IDENTIFIER ::= { ies5206 12 }
	qos						OBJECT IDENTIFIER ::= { ies5206 13 }
	service					OBJECT IDENTIFIER ::= { ies5206 14 }
	snmp					OBJECT IDENTIFIER ::= { ies5206 15 }
	sys						OBJECT IDENTIFIER ::= { ies5206 16 }
	vdsl					OBJECT IDENTIFIER ::= { ies5206 17 }
	coa						OBJECT IDENTIFIER ::= { ies5206 20 }
	performance	            OBJECT IDENTIFIER ::= { ies5206 23 }
	ifXExt	            	OBJECT IDENTIFIER ::= { ies5206 24 }
	gbondExt            	OBJECT IDENTIFIER ::= { ies5206 25 }
	ies5206Conformance		OBJECT IDENTIFIER ::= { ies5206 26 }
	dot3ad					OBJECT IDENTIFIER ::= { ies5206 27 }
	syslog					OBJECT IDENTIFIER ::= { ies5206 29 }
	cfm						OBJECT IDENTIFIER ::= { ies5206 30 }
	gpon					OBJECT IDENTIFIER ::= { ies5206 31 }
--	moa						OBJECT IDENTIFIER ::= { ies5206 32 }
	port					OBJECT IDENTIFIER ::= { ies5206 33 }
	stp						OBJECT IDENTIFIER ::= { ies5206 34 }
	diagnostic 				OBJECT IDENTIFIER ::= { ies5206 35 }
	oamSetup 				OBJECT IDENTIFIER ::= { ies5206 36 }
	zyxelLldp    			OBJECT IDENTIFIER ::= { ies5206 37 }
	hostprotect    			OBJECT IDENTIFIER ::= { ies5206 38 }
	erpsSetup               OBJECT IDENTIFIER ::= { ies5206 39 }
	errdis    				OBJECT IDENTIFIER ::= { ies5206 40 }
	protectswitch			OBJECT IDENTIFIER ::= { ies5206 41 }
--------------------------------------------------------------------------------------------------------
-- lcm
--------------------------------------------------------------------------------------------------------

-- Slot Module Table

	slotModuleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SlotModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table which contains the slot information in a chassis."
	::= { lcman 1 }

	slotModuleEntry OBJECT-TYPE
	SYNTAX SlotModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { slotModuleId }
	::= { slotModuleTable 1 }

	SlotModuleEntry ::=
		SEQUENCE {
			slotModuleId			INTEGER,
			slotModuleCardType		INTEGER,
--			slotModuleProvType		INTEGER,
			slotModuleDescr			DisplayString,
			slotModuleStatus		INTEGER,
			slotModuleAlarmStatus	INTEGER,
			slotModuleHWVersion		DisplayString,
			slotModuleSerialNumber	DisplayString,
--			slotModuleCleiCode		DisplayString,
			slotModuleUpTime		INTEGER,
			slotModuleAdminState	INTEGER,
			slotModuleReset	        INTEGER,
			slotModuleReProvision   INTEGER,
			slotModuleDriverInfo	DisplayString,
			slotModuleImage1FwVersion DisplayString,
	        slotModuleImage2FwVersion DisplayString,
	        slotModuleBootupFwVersion DisplayString,
	        slotModuleBootupImage     INTEGER,
	        slotModuleFwUpgradeStatus INTEGER,
	        slotModuleMacAddress    MacAddress,
			slotModuleRunningImage	INTEGER
		}

	slotModuleId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Identity of the slot."
	::= { slotModuleEntry 1 }

	slotModuleCardType OBJECT-TYPE
	SYNTAX	INTEGER{
		empty(0),
		unknown(1),
		msc1240xa(11),
		msc1240xb(12),
		msc1240xc(13),
		msc1280xa(14),
		msc1240qa(15),
		msc1280x(16),
		vec1001x(21),
		vec1002x(22),
		oul3540x(23),
		vlc1448x-51(31),
		vlc1448x-53(32),
		vlc1448x-51s(33),
		vlc1448x-51c(34),
		olc3416-22(41),
		olc3416-42(42),
		olc3416-42a(43),
		glc1440x-55(51),
		glc1440x-55a(52)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Card type of the plug-in card."
	::= { slotModuleEntry 2 }

	-- slotModuleProvType OBJECT-TYPE
	-- SYNTAX	INTEGER{
		-- null(0),
		-- lal(2),
		-- lvl(3),
		-- lvo(4)
	-- }
	-- MAX-ACCESS read-write
	-- STATUS current
	-- DESCRIPTION
		-- "Provisioned card type."
	-- ::= { slotModuleEntry 3 }

	slotModuleDescr OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The descriptions of the plug-in card."
	::= { slotModuleEntry 4 }

	slotModuleStatus OBJECT-TYPE
	SYNTAX INTEGER {
		empty(0),
		inactive(1),
		init(2),
		active(3),
		standby(4),
		disable(5)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The module state of the plug-in card."
	::= { slotModuleEntry 5 }

	slotModuleAlarmStatus	OBJECT-TYPE
	SYNTAX INTEGER {
		hasAlarm(1),
		noAlarm(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"This variable indicates the alarm status of the module and would be aligned with MSC/line-card alarm LED.
		hasAlarm(1) there is at least one critical current alarm realted to the module
		noAlarm(2) there are no critical current alarms related to the module"
	::= { slotModuleEntry 6 }

	slotModuleHWVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The hardware version of the plug-in card"
	::= { slotModuleEntry 7 }

	slotModuleSerialNumber OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The serial number of the plug-in card"
	::= { slotModuleEntry 8 }

--	slotModuleCleiCode OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"The CLEI code of the plug-in card"
--	::= { slotModuleEntry 9 }

	slotModuleUpTime OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The time (in seconds) since the plug-in card was last re-initialized."
	::= { slotModuleEntry 10 }

	slotModuleAdminState OBJECT-TYPE
	 SYNTAX	INTEGER {
		 enable(1),
		 disable(2)
		 }
	 MAX-ACCESS read-write
	 STATUS current
	 DESCRIPTION
		 "Enable/disable specified slot"
	 ::= { slotModuleEntry 11 }

	 slotModuleReset OBJECT-TYPE
	 SYNTAX	INTEGER {
		 noAction(0),
		 reset(1)
		 }
	 MAX-ACCESS read-write
	 STATUS current
	 DESCRIPTION
		 "Write reset(1) to reset the slot. Always return noAction(0)."
	 ::= { slotModuleEntry 12 }

	slotModuleReProvision OBJECT-TYPE
	 SYNTAX	INTEGER {
		 noAction(0),
		 re-provision(1)
		 }
	 MAX-ACCESS read-write
	 STATUS current
	 DESCRIPTION
		 "Write 1 to re-provision the slot. Always return noAction(0)."
	 ::= { slotModuleEntry 13 }

	 slotModuleDriverInfo OBJECT-TYPE
	 SYNTAX DisplayString
	 MAX-ACCESS read-only
	 STATUS current
	 DESCRIPTION
	 	"The driver information of the plug-in card, multiple versions are seperated by ','"
	 ::= { slotModuleEntry 14 }

	slotModuleImage1FwVersion OBJECT-TYPE
	 SYNTAX DisplayString
	 MAX-ACCESS read-only
	 STATUS current
	 DESCRIPTION
	 	"The image-1 version of the plug-in card"
	 ::= { slotModuleEntry 15 }

	slotModuleImage2FwVersion OBJECT-TYPE
	 SYNTAX DisplayString
	 MAX-ACCESS read-only
	 STATUS current
	 DESCRIPTION
	 	"The image-2 version of the plug-in card"
	 ::= { slotModuleEntry 16 }

	slotModuleBootupFwVersion OBJECT-TYPE
	 SYNTAX DisplayString
	 MAX-ACCESS read-only
	 STATUS current
	 DESCRIPTION
	 	"The running firmware version of the plug-in card"
	 ::= { slotModuleEntry 17 }


    slotModuleBootupImage OBJECT-TYPE
        SYNTAX INTEGER {
    		image1(1),
    		image2(2)
	    	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Plug-in card's firmware image index used for system boot up."
        ::= { slotModuleEntry 18 }

	slotModuleFwUpgradeStatus OBJECT-TYPE
		SYNTAX INTEGER {
			swDownloading(1),
			swDownloadedSuccessfully(2),
			swDownloadedTimeout(3),
			swImageFileError(4),
--			swInstalling(5),
			swInstallingError(6),
			swInstallSuccessfully(7),
			swRestoreSuccessfully(8),
			swRevertSuccessfully(9),
			idle(10),
			unknownError(11)
			}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"Device returns swDownloading(1) - if the downloading process is on going.
		 	Device returns swDownloadedSuccessfully(2) - if the downloading process is successfully.
		 	Device returns swDownloadedTimeout(3) - if the downloading process is timeout.
		 	Device returns swImageFileError(4) - if the downloaded image file has error CRC.
		 	Device returns swInstalling(5) - if the downloaded image file is installing (EAN is restarting).
		 	Device returns swInstallingError(6) - if EAN failed to installing downloaded image file.
		 	Device returns swInstallSuccessfully(7) - if EAN installed downloaded image file successfully.
		 	Device returns swRestoreSuccessfully(8) - if EAN restored SW successfully.
		 	Device returns swRevertSuccessfully(9) - if EAN reverted to old SW successfully.
		 	Device returns idle(10) - if EAN didn't get any SW downloading command after system booted up.
		 	Device returns unKnownError(11) - if the installing process is terminated due to NE restart by unknown reason"
		::= { slotModuleEntry 19 }


     slotModuleMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "MAC address of plug-in card"
        ::= { slotModuleEntry 20 }

	slotModuleRunningImage OBJECT-TYPE
        SYNTAX  INTEGER {
			image-1(1),
			image-2(2)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The running firmware image index"
        ::= { slotModuleEntry 21 }


--------------------------------------------------------------------------------------------------------
-- acl
--------------------------------------------------------------------------------------------------------
--	aclMaxNumOfAclPerSystem OBJECT-TYPE
--    SYNTAX  INTEGER
--    MAX-ACCESS read-only
--    STATUS current
--    DESCRIPTION
--			"The maximum number of ACL per system."
--    ::= { acl 1 }

--	aclSystemTable OBJECT-TYPE
--	SYNTAX SEQUENCE OF AclSystemEntry
--	MAX-ACCESS not-accessible
--	STATUS current
--	DESCRIPTION
--		"Configures references to specified ACL rule for whole system settings."
--	::= { acl 2 }

--	aclSystemEntry OBJECT-TYPE
--	SYNTAX AclSystemEntry
--	MAX-ACCESS not-accessible
--	STATUS current
--	DESCRIPTION
--			"A table entry to assign system with ACL profile."
--	INDEX { IMPLIED aclSystemProfileName }
--	::= { aclSystemTable 1 }

--		AclSystemEntry ::=
--		SEQUENCE {
--			aclSystemProfileName				DisplayString,
--			aclSystemRowStaus 					RowStatus
--		}

--	aclSystemProfileName OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (1..31))
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Configures references to specified ACL rule."
--		::= { aclSystemEntry 1 }

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

-- aclMaxNumOfAclPerPort
	aclMaxNumOfAclPerPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL per port."
    ::= { acl 3 }

-- aclPortTable
	aclPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures references to specified ACL rule for the specified port."
	::= { acl 4 }

	aclPortEntry OBJECT-TYPE
	SYNTAX AclPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			"A table entry to assign an interface port with ACL profile."
	INDEX { ifIndex, aclPortProfilePriority, aclPortProfileName}
	::= { aclPortTable 1 }

	AclPortEntry ::=
		SEQUENCE {
			aclPortProfileName				DisplayString,
			aclPortRowStatus 				RowStatus,
			aclPortProfilePriority          INTEGER
		}

		aclPortProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures references to specified ACL rule."
		::= { aclPortEntry 1 }

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

		aclPortProfilePriority OBJECT-TYPE
		SYNTAX INTEGER (0..8)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures priority of specified ACL rule in this port.
			 ACL rules in a port can not assign to same priority(per-port mode).
			 If priority is 0, it mean no priority(per-profile mode)."
		::= { aclPortEntry 3 }


-- aclMaxNumOfAclProfiles
	aclMaxNumOfAclProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL profiles supported by the system."
    ::= { acl 5 }

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

	aclProfileEntry OBJECT-TYPE
	SYNTAX AclProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			"A table entry for ACL profile table."
	INDEX { aclProfileName }
	::= { aclProfileTable 1 }

	AclProfileEntry ::=
		SEQUENCE {
			aclProfileName						DisplayString,
			aclProfileFieldMask					BITS,
			aclProfileRuleEtype					INTEGER,
			aclProfileRuleSrcMac				PhysAddress,
			aclProfileRuleDestMac				PhysAddress,
			aclProfileRuleSrcOui				DisplayString,
			aclProfileRuleDestOui				DisplayString,
			aclProfileRuleInnerVlan				DisplayString,
			aclProfileRuleOuterVlan  			DisplayString,
			aclProfileRuleInnerPbit				INTEGER,
			aclProfileRuleOuterPbit  			INTEGER,
			aclProfileRuleSrcIpRange			IpAddress,
			aclProfileRuleSrcIpMask				INTEGER,
			aclProfileRuleDestIpRange			IpAddress,
			aclProfileRuleDestIpMask			INTEGER,
			aclProfileRuleSrcIp					IpAddress,
			aclProfileRuleDestIp				IpAddress,
			aclProfileRuleProtocol				INTEGER,
			aclProfileRuleIpPrecedence			INTEGER,
      		aclProfileRuleDscp					INTEGER,
      		aclProfileRuleSrcIpv6				InetAddress,
      		aclProfileRuleDestIpv6				InetAddress,
      		aclProfileRuleNextHeader			INTEGER,
      		aclProfileRuleTrafficClass			INTEGER,
 			aclProfileRuleSrcL4StartPort		INTEGER,
			aclProfileRuleSrcL4EndPort			INTEGER,
 			aclProfileRuleDestL4StartPort		INTEGER,
			aclProfileRuleDestL4EndPort			INTEGER,
			aclProfileRuleSrcL4Port				INTEGER,
			aclProfileRuleDestL4Port			INTEGER,
			aclProfileRowStatus 				RowStatus
		}

		aclProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Name of ACL profile."
		::= { aclProfileEntry 1 }

    aclProfileFieldMask OBJECT-TYPE
    SYNTAX	BITS {
			etherType(0),
			sourceMac(1),
			destMac(2),
			sourceOui(3),
			destOui(4),
			innerVlan(5),
			outerVlan(6),
			innerPbit(7),
			outerPbit(8),
			sourceIpRange(9),
			destIpRange(10),
			sourceIp(11),
			destIp(12),
			protocol(13),
			ipPrecedence(14),
			dscp(15),
			sourceIpv6(16),
			destIpv6(17),
			nextHeader(18),
			trafficClass(19),
			sourceL4PortRange(20),
			destL4PortRange(21),
			sourceL4Port(22),
			destL4Port(23)
		}
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Defines the compared fields mask for the ACL profile.
		Every field mask bit has its own referenced field parameter(s).
		etherType(0) - aclProfileRuleEtype
		sourceMac(1) - aclProfileRuleSrcMac
		destMac(2) - aclProfileRuleDestMac
		sourceOui(3) - aclProfileRuleSrcOui
		destOui(4) - aclProfileRuleDestOui
		innerVlan(5) - aclProfileRuleInnerVlan
		outerVlan(6) - aclProfileRuleOuterVlan
		innerPbit(7) - aclProfileRuleInnerPbit
		outerPbit(8) - aclProfileRuleOuterPbit
		sourceIpRange(9) - aclProfileRuleSrcIpRange, aclProfileRuleSrcIpMask
		destIpRange(10) - aclProfileRuleDestIpRange, aclProfileRuleDestIpMask
		sourceIp(11) - aclProfileRuleSrcIp
		destIp(12) - aclProfileRuleDestIp
		protocol(13) - aclProfileRuleProtocol
		ipPrecedence(14) - aclProfileRuleIpPrecedence
		dscp(15) - aclProfileRuleDscp
		sourceIpv6(16) - sourceIpv6
		destIpv6(17) - aclProfileRuleDestIpv6
		nextHeader(18) - aclProfileRuleNextHeader
		trafficClass(19) - aclProfileRuleTrafficClass
		sourceL4PortRange(20) - aclProfileRuleSrcL4StartPort, aclProfileRuleSrcL4EndPort
		destL4PortRange(21) - aclProfileRuleDestL4StartPort, aclProfileRuleDestL4EndPort
		sourceL4Port(22) - aclProfileRuleSrcL4Port
		destL4Port(23) - aclProfileRuleDestL4Port
		"
        ::= { aclProfileEntry 3 }

        aclProfileRuleEtype OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified Ether Type."
        ::= { aclProfileEntry 4 }

        aclProfileRuleSrcMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source MAC."
        ::= { aclProfileEntry 5 }

        aclProfileRuleDestMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination MAC."
        ::= { aclProfileEntry 6 }

		aclProfileRuleSrcOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified source MAC OUI."
		::= { aclProfileEntry 7 }

		aclProfileRuleDestOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified destination MAC OUI."
		::= { aclProfileEntry 8 }

        aclProfileRuleInnerVlan OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified inner VLAN List."
        ::= { aclProfileEntry 9 }

        aclProfileRuleOuterVlan OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN List."
        ::= { aclProfileEntry 10 }

        aclProfileRuleInnerPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified inner VLAN PBIT."
        ::= { aclProfileEntry 11 }

        aclProfileRuleOuterPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN PBIT."
        ::= { aclProfileEntry 12 }

        aclProfileRuleSrcIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP range."
        ::= { aclProfileEntry 13 }

        aclProfileRuleSrcIpMask OBJECT-TYPE
        SYNTAX INTEGER (8..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of source IP range."
        ::= { aclProfileEntry 14 }

        aclProfileRuleDestIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP range."
        ::= { aclProfileEntry 15 }

        aclProfileRuleDestIpMask OBJECT-TYPE
        SYNTAX INTEGER (8..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of destination IP range."
        ::= { aclProfileEntry 16 }

        aclProfileRuleSrcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP address."
        ::= { aclProfileEntry 17 }

        aclProfileRuleDestIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP address."
        ::= { aclProfileEntry 18 }

        aclProfileRuleProtocol OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP protocol."
        ::= { aclProfileEntry 19 }

        aclProfileRuleIpPrecedence OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP precedence."
        ::= { aclProfileEntry 20 }

        aclProfileRuleDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP DSCP."
        ::= { aclProfileEntry 21 }

        aclProfileRuleSrcIpv6 OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Matches specified source IPv6 address."
        ::= { aclProfileEntry 22 }

        aclProfileRuleDestIpv6 OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Matches specified destination IPv6 address."
        ::= { aclProfileEntry 23 }

        aclProfileRuleNextHeader OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 next header."
        ::= { aclProfileEntry 24 }

        aclProfileRuleTrafficClass OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 traffic class."
        ::= { aclProfileEntry 25 }

        aclProfileRuleSrcL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclProfileEntry 26 }

        aclProfileRuleSrcL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclProfileEntry 27 }

        aclProfileRuleDestL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclProfileEntry 28 }

        aclProfileRuleDestL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclProfileEntry 29 }

        aclProfileRuleSrcL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port."
        ::= { aclProfileEntry 30 }

        aclProfileRuleDestL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port."
        ::= { aclProfileEntry 31 }

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

-- aclMulticast
    aclMulticast OBJECT IDENTIFIER ::= { acl 7 }
    	aclUnsolicited OBJECT-TYPE
    	SYNTAX INTEGER {
	    	dropMulticastTraffic(1),
	    	noDropMulticastTraffic(2)
	    }
    	MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	      	"Control filter to drop unknown multicast traffic
	      	 Drop unknown multicast traffic(1)
	      	 No drop unknown multicast traffic(2)
	      	"
	        ::= { aclMulticast 1 }

	    aclUpstream OBJECT-TYPE
	    SYNTAX INTEGER {
	    	dropMulticastTraffic(1),
	    	noDropMulticastTraffic(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Control filter to drop unknown multicast traffic from upstream direction
			 Drop multicast traffic from upstream direction (1)
			 No drop multicast traffic from upstream direction (2)
			"
	    ::= { aclMulticast 2 }

	    aclIpv6PassThrough OBJECT-TYPE
	    SYNTAX INTEGER {
	    	drop(1),
	    	flood(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Set IPv6 packet transparent passthrough."
	    ::= { aclMulticast 3 }



		aclBpduCtrlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AclBpduCtrlEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures BPDU control."
		::= { aclMulticast 4 }

		aclBpduCtrlEntry OBJECT-TYPE
		SYNTAX AclBpduCtrlEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
				"A table entry for BPDU control table."
		INDEX { ifIndex }
		::= { aclBpduCtrlTable 1 }

		AclBpduCtrlEntry ::=
			SEQUENCE {
				bpduCtrlMode			INTEGER
			}

        bpduCtrlMode OBJECT-TYPE
          SYNTAX INTEGER {
          	  peer(1),
          	  tunnel(2),
          	  discard(3),
          	  network(4)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "Configure BPDU control mode"
          ::= { aclBpduCtrlEntry 1 }

	    aclReserve OBJECT-TYPE
	    SYNTAX INTEGER {
	    	dropMulticastTraffic(1),
	    	noDropMulticastTraffic(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Reserved multicast packet control"
	    ::= { aclMulticast 5 }

    aclStormControl OBJECT IDENTIFIER ::= { acl 8 }

		aclStormControlTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AclStormControlEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures ACL storm control."
		::= { aclStormControl 4 }

		aclStormControlEntry OBJECT-TYPE
		SYNTAX AclStormControlEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
				"A table entry for ACL storm control table."
		INDEX { ifIndex }
		::= { aclStormControlTable 1 }

		AclStormControlEntry ::=
			SEQUENCE {
				aclPortBroadcast			INTEGER,
				aclPortDlf					INTEGER,
				aclPortMulticast			INTEGER
			}

        aclPortBroadcast OBJECT-TYPE
          SYNTAX INTEGER (0..10000000)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "Configure rate limit for broadcast storm
				   range depends on line card type
                   MSC:  0~10000000 kbps
				   GLC:  0~1000000  kbps
				   GPON: 0~262143   kbps
				   VLC:  2~100000   kbps
				   (Granularity is 64kbps, ex: 2~127kbps will be 64kbps, 128~191kbps will be 128kbps, etc.)"
          ::= { aclStormControlEntry 1 }

  	    aclPortDlf OBJECT-TYPE
          SYNTAX INTEGER (0..10000000)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "Configure rate limit for DLF (unknown unicast) storm
                   range depends on line card type
                   MSC:  0~10000000 kbps
				   GLC:  0~1000000  kbps
				   GPON: 0~262143   kbps
				   VLC:  2~100000   kbps
				   (Granularity is 64kbps, ex: 2~127kbps will be 64kbps, 128~191kbps will be 128kbps, etc.)"
          ::= { aclStormControlEntry 2 }

		aclPortMulticast OBJECT-TYPE
          SYNTAX INTEGER (0..10000000)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "Configure rate limit for unknown multicast storm
                   range depends on line card type
                   MSC:  0~10000000 kbps
				   GLC:  0~1000000  kbps
				   GPON: 0~262143   kbps
				   VLC:  2~100000   kbps
				   (Granularity is 64kbps, ex: 2~127kbps will be 64kbps, 128~191kbps will be 128kbps, etc.)"
           ::= { aclStormControlEntry 3 }


-- aclProfileActionTable

	aclProfileActionTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclProfileActionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL profile action."
	::= { acl 9 }

	aclProfileActionEntry OBJECT-TYPE
	SYNTAX AclProfileActionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry to configure actions regarding to classifier (acl profile)."
	AUGMENTS { aclProfileEntry }
	::= { aclProfileActionTable 1 }

	AclProfileActionEntry ::=
		SEQUENCE {
			aclProfileActionMask					BITS,
--		aclProfileActionRate					INTEGER,
--		aclProfileActionInnerPbit			INTEGER,
			aclProfileActionOuterPbit			INTEGER,
			aclProfileActionDscp					INTEGER,
--		aclProfileActionTrafficClass  INTEGER,
			aclProfileActionQos		  			INTEGER,
			aclProfileActionRateCir				INTEGER,
			aclProfileActionRateCbs				INTEGER,
			aclProfileActionRateEir				INTEGER,
			aclProfileActionRateEbs				INTEGER
--			aclProfileActionRateMode			INTEGER
		}

    aclProfileActionMask OBJECT-TYPE
    	SYNTAX	BITS {
			drop(0),
			rateLimit(1),
--		changeInnerPbit(2),
			changeOuterPbit(3),
			changeDscp(4),
--		changeTrafficClass(5),
			changeQos(6),
			permit(7)
		}
	    MAX-ACCESS  read-create
    	STATUS  current
    	DESCRIPTION
        	"Defines action(s) for the ACL profile. Every acktion mask bit
		has its own referenced action parameter(s).
		drop(0) - no action paramter
		rateLimit(1) - aclProfileActionRateCir, aclProfileActionRateCbs, aclProfileActionRateEir, aclProfileActionRateEbs, aclProfileActionRateMode
		and the value of cir, cbs, eir, ebs will be set to 64 by default and mode will be set to hierarchical(0) by default
		changeInnerPbit(2) - aclProfileActionInnerPbit
		changeOuterPbit(3) - aclProfileActionOuterPbit
		changeDscp(4) - aclProfileActionDscp
		changeTrafficClass(5) - aclProfileActionTrafficClass
		changeQos(6) - aclProfileActionQos
		permit(7) - no action paramter (only VLC/GLC support) "
        ::= { aclProfileActionEntry 1 }

--	aclProfileActionRate OBJECT-TYPE
--        SYNTAX INTEGER (32..400000)
--        UNITS "kbps"
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Limits receiving rate of matched packets."
--        ::= { aclProfileActionEntry 2 }

--    aclProfileActionInnerPbit OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Change inner VLAN pbit of matched packets."
--        ::= { aclProfileActionEntry 3 }

    aclProfileActionOuterPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change outer VLAN pbit of matched packets."
        ::= { aclProfileActionEntry 4 }

    aclProfileActionDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change IP DSCP of matched packets."
        ::= { aclProfileActionEntry 5 }

--    aclProfileActionTrafficClass OBJECT-TYPE
--        SYNTAX INTEGER (0..255)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Change IPv6 traffic class of matched packets."
--        ::= { aclProfileActionEntry 6 }

    aclProfileActionQos OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change Qos of matched packets."
        ::= { aclProfileActionEntry 7 }

		aclProfileActionRateCir OBJECT-TYPE
        SYNTAX INTEGER (64..10000000)
        UNITS "kbps"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"CIR threshold of this 	ACL profile."
        ::= { aclProfileActionEntry 8 }

  	aclProfileActionRateCbs OBJECT-TYPE
      SYNTAX INTEGER (64..16000000)
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
      	"CBS threshold of this 	ACL profile."
      ::= { aclProfileActionEntry 9 }

		aclProfileActionRateEir OBJECT-TYPE
      SYNTAX INTEGER (64..10000000)
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
      	"EIR threshold of this 	ACL profile."
      ::= { aclProfileActionEntry 10 }

    aclProfileActionRateEbs OBJECT-TYPE
      SYNTAX INTEGER (64..16000000)
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
      	"EBS threshold of this 	ACL profile."
      ::= { aclProfileActionEntry 11 }

--   aclProfileActionRateMode OBJECT-TYPE
--    	SYNTAX INTEGER {
--	    	hierarchical(0),
--	    	independent(1)
--		}
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Hierarchical mode(default setting if action ratelimit is set):
--			ACL profile would be limited by ratelimit profile and just CIR,
--			CBS have effect. Only works when ratelimit profile is hierarchical
--			mode. Independent mode: independent with ratelimit profile and has higher priority"
--    	::= { aclProfileActionEntry 12 }


-- aclMaxNumOfAclEgressPerPort
	aclMaxNumOfAclEgressPerPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL egress profiles per port."
    ::= { acl 10 }

-- aclEgressPortTable
	aclEgressPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclEgressPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures references to specified ACL egress rule for the specified port."
	::= { acl 11 }

	aclEgressPortEntry OBJECT-TYPE
	SYNTAX AclEgressPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			"A table entry to assign an interface port with ACL egress profile."
	INDEX { ifIndex, aclEgressPortProfilePriority, aclEgressPortProfileName}
	::= { aclEgressPortTable 1 }

	AclEgressPortEntry ::=
		SEQUENCE {
			aclEgressPortProfileName			DisplayString,
			aclEgressPortRowStatus 				RowStatus,
			aclEgressPortProfilePriority        INTEGER
		}

		aclEgressPortProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures references to specified ACL egress rule."
		::= { aclEgressPortEntry 1 }

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

		aclEgressPortProfilePriority OBJECT-TYPE
		SYNTAX INTEGER (1..8)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures priority of specified ACL rule in this port.
			 ACL egress rules in a port can not assign to same priority."
		::= { aclEgressPortEntry 3 }


-- aclMaxNumOfAclEgressProfiles
	aclMaxNumOfAclEgressProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL egress profiles supported by the system."
    ::= { acl 12 }

aclEgressProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclEgressProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL egress profile."
	::= { acl 13 }

	aclEgressProfileEntry OBJECT-TYPE
	SYNTAX AclEgressProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			"A table entry for ACL egress profile table."
	INDEX { aclEgressProfileName }
	::= { aclEgressProfileTable 1 }

	AclEgressProfileEntry ::=
		SEQUENCE {
			aclEgressProfileName					DisplayString,
			aclEgressProfileFieldMask				BITS,
			aclEgressProfileRuleEtype				INTEGER,
			aclEgressProfileRuleSrcMac				PhysAddress,
			aclEgressProfileRuleDestMac				PhysAddress,
			aclEgressProfileRuleSrcOui				DisplayString,
			aclEgressProfileRuleDestOui				DisplayString,
--			aclEgressProfileRuleInnerVlan			VlanIndex,
			aclEgressProfileRuleUniVlan  			DisplayString,
--			aclEgressProfileRuleInnerPbit			INTEGER,
			aclEgressProfileRuleUniPbit  			INTEGER,
			aclEgressProfileRuleSrcIpRange			IpAddress,
			aclEgressProfileRuleSrcIpMask			INTEGER,
			aclEgressProfileRuleDestIpRange			IpAddress,
			aclEgressProfileRuleDestIpMask			INTEGER,
			aclEgressProfileRuleSrcIp				IpAddress,
			aclEgressProfileRuleDestIp				IpAddress,
			aclEgressProfileRuleProtocol			INTEGER,
			aclEgressProfileRuleIpPrecedence		INTEGER,
      		aclEgressProfileRuleDscp				INTEGER,
--      		aclEgressProfileRuleSrcIpv6				InetAddress,
--      		aclEgressProfileRuleDestIpv6			InetAddress,
      		aclEgressProfileRuleNextHeader			INTEGER,
      		aclEgressProfileRuleTrafficClass		INTEGER,
 			aclEgressProfileRuleSrcL4StartPort		INTEGER,
			aclEgressProfileRuleSrcL4EndPort		INTEGER,
 			aclEgressProfileRuleDestL4StartPort		INTEGER,
			aclEgressProfileRuleDestL4EndPort		INTEGER,
			aclEgressProfileRuleSrcL4Port			INTEGER,
			aclEgressProfileRuleDestL4Port			INTEGER,
			aclEgressProfileRowStatus 				RowStatus
		}

		aclEgressProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Name of ACL egress profile."
		::= { aclEgressProfileEntry 1 }

    aclEgressProfileFieldMask OBJECT-TYPE
    SYNTAX	BITS {
			etherType(0),
			sourceMac(1),
			destMac(2),
			sourceOui(3),
			destOui(4),
--			innerVlan(5),
			outerVlan(6),
--			innerPbit(7),
			outerPbit(8),
			sourceIpRange(9),
			destIpRange(10),
			sourceIp(11),
			destIp(12),
			protocol(13),
			ipPrecedence(14),
			dscp(15),
--			sourceIpv6(16),
--			destIpv6(17),
			nextHeader(18),
			trafficClass(19),
			sourceL4PortRange(20),
			destL4PortRange(21),
			sourceL4Port(22),
			destL4Port(23)
		}
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Defines the compared fields mask for the ACL profile.
		Every field mask bit has its own referenced field parameter(s).
		etherType(0) - aclEgressProfileRuleEtype
		sourceMac(1) - aclEgressProfileRuleSrcMac
		destMac(2) - aclEgressProfileRuleDestMac
		sourceOui(3) - aclEgressProfileRuleSrcOui
		destOui(4) - aclEgressProfileRuleDestOui
		uniVlan(6) - aclEgressProfileRuleUniVlan
		uniPbit(8) - aclEgressProfileRuleUniPbit
		sourceIpRange(9) - aclEgressProfileRuleSrcIpRange, aclEgressProfileRuleSrcIpMask
		destIpRange(10) - aclEgressProfileRuleDestIpRange, aclEgressProfileRuleDestIpMask
		sourceIp(11) - aclEgressProfileRuleSrcIp
		destIp(12) - aclEgressProfileRuleDestIp
		protocol(13) - aclEgressProfileRuleProtocol
		ipPrecedence(14) - aclEgressProfileRuleIpPrecedence
		dscp(15) - aclEgressProfileRuleDscp
		nextHeader(18) - aclEgressProfileRuleNextHeader
		trafficClass(19) - aclEgressProfileRuleTrafficClass
		sourceL4PortRange(20) - aclEgressProfileRuleSrcL4StartPort, aclEgressProfileRuleSrcL4EndPort
		destL4PortRange(21) - aclEgressProfileRuleDestL4StartPort, aclEgressProfileRuleDestL4EndPort
		sourceL4Port(22) - aclEgressProfileRuleSrcL4Port
		destL4Port(23) - aclEgressProfileRuleDestL4Port
		"
        ::= { aclEgressProfileEntry 3 }

        aclEgressProfileRuleEtype OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified Ether Type."
        ::= { aclEgressProfileEntry 4 }

        aclEgressProfileRuleSrcMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source MAC."
        ::= { aclEgressProfileEntry 5 }

        aclEgressProfileRuleDestMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination MAC."
        ::= { aclEgressProfileEntry 6 }

		aclEgressProfileRuleSrcOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified source MAC OUI."
		::= { aclEgressProfileEntry 7 }

		aclEgressProfileRuleDestOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified destination MAC OUI."
		::= { aclEgressProfileEntry 8 }

--        aclEgressProfileRuleInnerVlan OBJECT-TYPE
--        SYNTAX VlanIndex (1..4094)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Matches specified inner VLAN ID."
--        ::= { aclEgressProfileEntry 9 }

        aclEgressProfileRuleUniVlan OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN list."
        ::= { aclEgressProfileEntry 10 }

--        aclEgressProfileRuleInnerPbit OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Matches specified inner VLAN PBIT."
--        ::= { aclEgressProfileEntry 11 }

        aclEgressProfileRuleUniPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN PBIT."
        ::= { aclEgressProfileEntry 12 }

        aclEgressProfileRuleSrcIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP range."
        ::= { aclEgressProfileEntry 13 }

        aclEgressProfileRuleSrcIpMask OBJECT-TYPE
        SYNTAX INTEGER (16..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of source IP range."
        ::= { aclEgressProfileEntry 14 }

        aclEgressProfileRuleDestIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP range."
        ::= { aclEgressProfileEntry 15 }

        aclEgressProfileRuleDestIpMask OBJECT-TYPE
        SYNTAX INTEGER (16..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of destination IP range."
        ::= { aclEgressProfileEntry 16 }

        aclEgressProfileRuleSrcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP address."
        ::= { aclEgressProfileEntry 17 }

        aclEgressProfileRuleDestIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP address."
        ::= { aclEgressProfileEntry 18 }

        aclEgressProfileRuleProtocol OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP protocol."
        ::= { aclEgressProfileEntry 19 }

        aclEgressProfileRuleIpPrecedence OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP precedence."
        ::= { aclEgressProfileEntry 20 }

        aclEgressProfileRuleDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP DSCP."
        ::= { aclEgressProfileEntry 21 }

--        aclEgressProfileRuleSrcIpv6 OBJECT-TYPE
--        SYNTAX  InetAddress
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--        	"Matches specified source IPv6 address."
--        ::= { aclEgressProfileEntry 22 }

--        aclEgressProfileRuleDestIpv6 OBJECT-TYPE
--        SYNTAX  InetAddress
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--        	"Matches specified destination IPv6 address."
--        ::= { aclEgressProfileEntry 23 }

        aclEgressProfileRuleNextHeader OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 next header."
        ::= { aclEgressProfileEntry 24 }

        aclEgressProfileRuleTrafficClass OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 traffic class."
        ::= { aclEgressProfileEntry 25 }

        aclEgressProfileRuleSrcL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclEgressProfileEntry 26 }

        aclEgressProfileRuleSrcL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclEgressProfileEntry 27 }

        aclEgressProfileRuleDestL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclEgressProfileEntry 28 }

        aclEgressProfileRuleDestL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclEgressProfileEntry 29 }

        aclEgressProfileRuleSrcL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port."
        ::= { aclEgressProfileEntry 30 }

        aclEgressProfileRuleDestL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port."
        ::= { aclEgressProfileEntry 31 }

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


-- aclEgressProfileActionTable

	aclEgressProfileActionTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclEgressProfileActionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL egress profile action."
	::= { acl 14 }

	aclEgressProfileActionEntry OBJECT-TYPE
	SYNTAX AclEgressProfileActionEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry to configure actions regarding to classifier (acl egress profile)."
	AUGMENTS { aclEgressProfileEntry }
	::= { aclEgressProfileActionTable 1 }

	AclEgressProfileActionEntry ::=
		SEQUENCE {
			aclEgressProfileActionMask					BITS,
--		aclEgressProfileActionRate					INTEGER,
--		aclEgressProfileActionInnerPbit			INTEGER,
			aclEgressProfileActionUniPbit			INTEGER,
			aclEgressProfileActionDscp					INTEGER
--		aclEgressProfileActionTrafficClass  INTEGER,
--		aclEgressProfileActionQos		  			INTEGER,
--		aclEgressProfileActionRateCir				INTEGER,
--		aclEgressProfileActionRateCbs				INTEGER,
--		aclEgressProfileActionRateEir				INTEGER,
--		aclEgressProfileActionRateEbs				INTEGER
--		aclEgressProfileActionRateMode				INTEGER
		}

    aclEgressProfileActionMask OBJECT-TYPE
    	SYNTAX	BITS {
			drop(0),
--			rateLimit(1),
--		changeInnerPbit(2),
			changeUniPbit(3),
			changeDscp(4),
--		changeTrafficClass(5),
--			changeQos(6),
			permit(7)
		}
	    MAX-ACCESS  read-create
    	STATUS  current
    	DESCRIPTION
        	"Defines action(s) for the ACL egress profile. Every acktion mask bit
		has its own referenced action parameter(s).
		drop(0) - no action paramter
		changeOuterPbit(3) - aclEgressProfileActionOuterPbit
		changeDscp(4) - aclEgressProfileActionDscp
		permit(7) - no action paramter (only VLC/GLC support) "
        ::= { aclEgressProfileActionEntry 1 }

--	aclEgressProfileActionRate OBJECT-TYPE
--        SYNTAX INTEGER (32..400000)
--        UNITS "kbps"
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Limits receiving rate of matched packets."
--        ::= { aclEgressProfileActionEntry 2 }

--    aclEgressProfileActionInnerPbit OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Change inner VLAN pbit of matched packets."
--        ::= { aclEgressProfileActionEntry 3 }

    aclEgressProfileActionUniPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change outer VLAN pbit of matched packets."
        ::= { aclEgressProfileActionEntry 4 }

    aclEgressProfileActionDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change IP DSCP of matched packets."
        ::= { aclEgressProfileActionEntry 5 }

--    aclEgressProfileActionTrafficClass OBJECT-TYPE
--        SYNTAX INTEGER (0..255)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Change IPv6 traffic class of matched packets."
--        ::= { aclEgressProfileActionEntry 6 }

--    aclEgressProfileActionQos OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--        	"Change Qos of matched packets."
--        ::= { aclEgressProfileActionEntry 7 }

--------------------
-- arpInspection
--------------------
	arpInspection 	OBJECT IDENTIFIER ::= { acl 17 }

	arpInspectionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ArpInspectionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Support ARP inspection to filter unauthorized ARP packets on the network.
                This can prevent many kinds of man-in-the-middle attacks.
                This table is supported by R5.05 and later versions."
        ::= { arpInspection 1 }

        arpInspectionEntry OBJECT-TYPE
        SYNTAX ArpInspectionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of arpInspectionTable."
        INDEX  { ifIndex }
        ::= { arpInspectionTable 1 }

        ArpInspectionEntry ::=
        	SEQUENCE {
--        	arpInspectionVlanId	VlanIndex,
        		arpInspectionEnable	INTEGER
--        	arpInspectionRowStatus	RowStatus
           	}

--		arpInspectionVlanId OBJECT-TYPE
--	        SYNTAX VlanIndex (1..4094)
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--			"Specify the VLAN for ARP inspection"
--	    	::= { arpInspectionEntry 1 }

		arpInspectionEnable OBJECT-TYPE
        SYNTAX  INTEGER {
        		enable(1),
        		disable(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable  arp inspection on the specified subscriber port."
        ::= { arpInspectionEntry 1 }

--        arpInspectionRowStatus OBJECT-TYPE
--        SYNTAX  RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--		""
--        ::= { arpInspectionEntry 3 }

		arpInspectFilterSetupTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectFilterSetupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { arpInspection 2 }

		arpInspectFilterSetupEntry OBJECT-TYPE
        SYNTAX	ArpInspectFilterSetupEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in arpInspectFilterSetupTable."
        INDEX          	{ ifIndex }
        ::= { arpInspectFilterSetupTable 1 }

         ArpInspectFilterSetupEntry ::=
        	SEQUENCE {
        		arpInspectFilterSetupMac	MacAddress,
        		arpInspectFilterSetupVid	VlanIndex,
        		arpInspectFilterSetupClear	INTEGER
           	}
		arpInspectFilterSetupMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "The MAC address."
        ::= { arpInspectFilterSetupEntry 1 }

 		arpInspectFilterSetupVid OBJECT-TYPE
        SYNTAX  VlanIndex (0..4094)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "The VLAN ID."
        ::= { arpInspectFilterSetupEntry 2 }

		arpInspectFilterSetupClear OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Clear arp inspection Filter database."
        ::= { arpInspectFilterSetupEntry 3 }

		arpInspectFilterTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ArpInspectFilterEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { arpInspection 3 }

		arpInspectFilterEntry OBJECT-TYPE
        SYNTAX	ArpInspectFilterEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in arpInspectFilterTable."
        INDEX          	{ ifIndex, arpInspectFilterId }
        ::= { arpInspectFilterTable 1 }

        ArpInspectFilterEntry ::=
           SEQUENCE {
        	arpInspectFilterId	INTEGER,
        	arpInspectFilterMac	MacAddress,
        	arpInspectFilterVid	VlanIndex,
        	arpInspectFilterExpiry	INTEGER,
        	arpInspectFilterReason	INTEGER
           }

        arpInspectFilterId OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The index."
        ::= { arpInspectFilterEntry 1 }

        arpInspectFilterMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The MAC address."
        ::= { arpInspectFilterEntry 2 }

        arpInspectFilterVid OBJECT-TYPE
        SYNTAX  VlanIndex (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The VLAN ID."
        ::= { arpInspectFilterEntry 3 }

        arpInspectFilterExpiry OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The expiry time represents how long (in seconds)
                      	 the MAC address filter remains in the Switch."
        ::= { arpInspectFilterEntry 4 }

        arpInspectFilterReason OBJECT-TYPE
        SYNTAX  INTEGER {
        		macVid(1),
        		port(2),
        		ip(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The reason why the ARP packet was discarded."
        ::= { arpInspectFilterEntry 5 }

--------------------
-- macFF (MAC Force Forwarding)
--------------------

	macFF 			OBJECT IDENTIFIER ::= { acl 18 }
-- macFFProfileTable
   macFFProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFProfile
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "MAC force forwarding profile configuration table."
        ::= { macFF 1 }

        macFFProfile OBJECT-TYPE
        SYNTAX MacFFProfile
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"MAC force forwarding profile configuration table."
        INDEX  {macFFProfileName}
        ::= { macFFProfileTable 1 }

        MacFFProfile ::=
        	SEQUENCE {
        		macFFProfileName DisplayString,
        		macFFProfileRowStatus	RowStatus
           	}

		macFFProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Profile name"
        ::= { macFFProfile 1 }

        macFFProfileRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		""
        ::= { macFFProfile 2 }

-- macFFEntryTable
	macFFEntryTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "MAC force forwarding entry configuration table."
        ::= { macFF 2 }

        macFFEntry OBJECT-TYPE
        SYNTAX MacFFEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"MAC force forwarding entry configuration table."
        INDEX  {macFFEntryProfileName, macFFEntryIndex  }
        ::= { macFFEntryTable 1 }

        MacFFEntry ::=
        	SEQUENCE {
        		macFFEntryProfileName DisplayString,
        		macFFEntryIndex		INTEGER,
        		macFFEntrySrcIP		IpAddress,
        		macFFEntryMask			INTEGER,
        		macFFEntryArasIP		IpAddress,
        		macFFEntryVid			INTEGER,
        		macFFEntryRowStatus	RowStatus
           	}

		macFFEntryProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Profile name"
        ::= { macFFEntry 1 }

		macFFEntryIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The MAC force fowarding static entry index 1 ~ 24"
        ::= { macFFEntry 2 }

        macFFEntrySrcIP OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Matched range for static subscriber's IP in ARP request"
        ::= { macFFEntry 3 }

        macFFEntryMask OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Matched range for static subscriber's IP in ARP request"
        ::= { macFFEntry 4 }

        macFFEntryArasIP OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"IP of static MAC force fowarding Access Router/App Server"
        ::= { macFFEntry 5 }

        macFFEntryVid OBJECT-TYPE
        SYNTAX  INTEGER(1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"vlan ID of MAC force fowarding Access Router/App Server"
        ::= { macFFEntry 6 }

        macFFEntryRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		""
        ::= { macFFEntry 7 }

  macFFApplyProflieTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFApplyProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Configures references to specified macFF profile for the specified slot."
        ::= { macFF 3 }

	macFFApplyProfileEntry OBJECT-TYPE
        SYNTAX MacFFApplyProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table entry to assign slot with macFF profile."
        INDEX  {slotModuleId}
        ::= { macFFApplyProflieTable 1 }

        MacFFApplyProfileEntry ::=
        	SEQUENCE {
        		macFFApplyProfileName DisplayString
		}

		macFFApplyProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Apply a profile name.
        Set '' for no apply proflie."
        ::= { macFFApplyProfileEntry 1 }

--------------------
--  macFFStats Table
--------------------
-- macFFArpStatusUplinkTable
	macFFArpStatusUplinkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFArpStatusUplinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                ""
        ::= { macFF 4 }

        macFFArpStatusUplinkEntry OBJECT-TYPE
        SYNTAX MacFFArpStatusUplinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of macFFArpStatusUplinkTable."
        INDEX  { slotId, macFFArpStatusUplinkMacVid , macFFArpStatusUplinkIpAddr  }
        ::= { macFFArpStatusUplinkTable 1 }

        MacFFArpStatusUplinkEntry ::=
        	SEQUENCE {
        		macFFArpStatusUplinkIpAddr		IpAddress,
        		macFFArpStatusUplinkMacAddr		PhysAddress,
        		macFFArpStatusUplinkMacVid		INTEGER
           	}

        macFFArpStatusUplinkIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp ip address from uplink"
        ::= { macFFArpStatusUplinkEntry 1 }

        macFFArpStatusUplinkMacAddr OBJECT-TYPE
        SYNTAX  PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp mac address from uplink"
        ::= { macFFArpStatusUplinkEntry 2 }

        macFFArpStatusUplinkMacVid OBJECT-TYPE
        SYNTAX  INTEGER(1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp vid from uplink"
        ::= { macFFArpStatusUplinkEntry 3 }

-- macFFArpStatusSlotTable
	macFFArpStatusSlotTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFArpStatusSlotEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                ""
        ::= { macFF 5 }

        macFFArpStatusSlotEntry OBJECT-TYPE
        SYNTAX MacFFArpStatusSlotEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of macFFArpStatusSlotTable."
        INDEX  { slotId, macFFArpStatusSlotMacVid , macFFArpStatusSlotIpAddr  }
        ::= { macFFArpStatusSlotTable 1 }

        MacFFArpStatusSlotEntry ::=
        	SEQUENCE {
        		macFFArpStatusSlotIpAddr		IpAddress,
        		macFFArpStatusSlotMacAddr		PhysAddress,
        		macFFArpStatusSlotMacVid		INTEGER,
        		macFFArpStatusSlotPort			INTEGER
           	}

        macFFArpStatusSlotIpAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp ip address from subscrib port"
        ::= { macFFArpStatusSlotEntry 1 }

        macFFArpStatusSlotMacAddr OBJECT-TYPE
        SYNTAX  PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp mac address from subscrib port"
        ::= { macFFArpStatusSlotEntry 2 }

        macFFArpStatusSlotMacVid OBJECT-TYPE
        SYNTAX  INTEGER(1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp vid from subscrib port"
        ::= { macFFArpStatusSlotEntry 3 }

        macFFArpStatusSlotPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp learnt subscrib port"
        ::= { macFFArpStatusSlotEntry 4 }

-- macFFArpCntUplinkTable
	macFFArpCntUplinkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFArpCntUplinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                ""
        ::= { macFF 6 }

        macFFArpCntUplinkEntry OBJECT-TYPE
        SYNTAX MacFFArpCntUplinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of macFFArpCntUplinkTable."
        INDEX  { slotId  }
        ::= { macFFArpCntUplinkTable 1 }

        MacFFArpCntUplinkEntry ::=
        	SEQUENCE {
        		macFFArpCntUplinkReqRx 			INTEGER,
        		macFFArpCntUplinkReqTx 			INTEGER,
        		macFFArpCntUplinkReqRxDrop		INTEGER,
        		macFFArpCntUplinkRpyRx			INTEGER,
        		macFFArpCntUplinkRpyTx			INTEGER,
        		macFFArpCntUplinkRpyRxDrop		INTEGER
           	}

		macFFArpCntUplinkReqRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request rx counter from uplink"
        ::= { macFFArpCntUplinkEntry 1 }

        macFFArpCntUplinkReqTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request tx counter from uplink"
        ::= { macFFArpCntUplinkEntry 2 }

        macFFArpCntUplinkReqRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request rx drop counter from uplink"
        ::= { macFFArpCntUplinkEntry 3 }

        macFFArpCntUplinkRpyRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp reply rx counter from uplink"
        ::= { macFFArpCntUplinkEntry 4 }

        macFFArpCntUplinkRpyTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp reply tx counter from uplink"
        ::= { macFFArpCntUplinkEntry 5 }

        macFFArpCntUplinkRpyRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp reply rx drop counter from uplink"
        ::= { macFFArpCntUplinkEntry 6 }

-- macFFArpCntPortTable
	macFFArpCntPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MacFFArpCntPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		""
        ::= { macFF 7 }

        macFFArpCntPortEntry OBJECT-TYPE
        SYNTAX MacFFArpCntPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of macFFArpCntPortTable."
        INDEX  { ifIndex  }
        ::= { macFFArpCntPortTable 1 }

        MacFFArpCntPortEntry ::=
        	SEQUENCE {
        		macFFArpCntPortReqRx 			INTEGER,
        		macFFArpCntPortReqTx 			INTEGER,
        		macFFArpCntPortReqRxDrop		INTEGER,
        		macFFArpCntPortRpyRx			INTEGER,
        		macFFArpCntPortRpyTx			INTEGER,
        		macFFArpCntPortRpyRxDrop		INTEGER
           	}

		macFFArpCntPortReqRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request rx counter from subscrib port"
        ::= { macFFArpCntPortEntry 1 }

        macFFArpCntPortReqTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request tx counter from subscrib port"
        ::= { macFFArpCntPortEntry 2 }

        macFFArpCntPortReqRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp request rx drop counter from subscrib port"
        ::= { macFFArpCntPortEntry 3 }

        macFFArpCntPortRpyRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp reply rx counter from subscrib port"
        ::= { macFFArpCntPortEntry 4 }

        macFFArpCntPortRpyTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF arp reply tx counter from subscrib port"
        ::= { macFFArpCntPortEntry 5 }

        macFFArpCntPortRpyRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"macFF reply rx drop counter from subscrib port"
        ::= { macFFArpCntPortEntry 6 }

-- macFFOps

    macFFOps	OBJECT IDENTIFIER ::= { macFF 8 }

    macFFTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Configure the target interface (ifindex) to clear packet statistics.
        	10000: represent slot 1 system
        	20000: represent slot 2 system
        	40000: represent slot 4 system
        	50000: represent slot 5 system
        	60000: represent slot 6 system"
    ::= { macFFOps 1 }

    macFFOperation OBJECT-TYPE
    SYNTAX INTEGER {
    	clearStatistics(1),
    	clearArp(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Clear macff statistics on the target ifindex specified by 'macFFTarget'."
    ::= { macFFOps 2 }

--------------------
-- dot1x
--------------------
	dot1x OBJECT IDENTIFIER ::= { acl 20 }

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

	dot1xAuthMethod OBJECT-TYPE
	SYNTAX 	INTEGER {
			userprofile(1),
			radius(2)
		}
        MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configure the method for dot1x authentication.
		 userprofile: use local configured user to authenticate user
		 radius: use remote radius server to authenticate user."
	::= { dot1x 2 }

-- Radius Server Table

	dot1xRadiusServerTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF Dot1xRadiusServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains Radius Server information for 802.1x."
    	::= { dot1x 3 }

    	dot1xRadiusServerEntry OBJECT-TYPE
        SYNTAX Dot1xRadiusServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of Radius Server table."
        INDEX  { dot1xRadiusServerIndex }
        ::= { dot1xRadiusServerTable 1 }

   	Dot1xRadiusServerEntry ::=
        	SEQUENCE {
            		dot1xRadiusServerIndex	INTEGER,
            		dot1xRadiusServerIp		IpAddress,
            		dot1xRadiusServerPort	INTEGER,
            		dot1xRadiusServerSecret	DisplayString
    		}

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

	dot1xRadiusServerIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of the Radius Server. Default IP 127.0.0.254 is invalid but allowed to set."
	::= { dot1xRadiusServerEntry 2 }

	dot1xRadiusServerPort OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of the Radius Server."
	::= { dot1xRadiusServerEntry 3 }

	dot1xRadiusServerSecret OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..63))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The shared secret of the Radius Server. Server can't work with zero length."
	::= { dot1xRadiusServerEntry 4 }

-- dot1x Port Table

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

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

        Dot1xPortEntry ::=
        	SEQUENCE {
        	dot1xPortActive      INTEGER,
        	dot1xPortControl     INTEGER,
          dot1xPortRadiusServerIndex INTEGER,
          dot1xPortAuthOnce      INTEGER,
          dot1xPortPeriod      INTEGER,
          dot1xPortCircuitIDInfo DisplayString
        }

        dot1xPortActive OBJECT-TYPE
          SYNTAX  INTEGER {
            enable(1),
            disable(2)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "Enable/disable 802.1x for the port."
           ::= { dot1xPortEntry 1 }

        dot1xPortControl OBJECT-TYPE
          SYNTAX  INTEGER {
            auto(0),
            auth(1),
            unauth(2)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          "Configure the authentication status of the port.
          auto: if the port is un-authenticated, system will trigger 802.1x procedure to authenticate user. If the port is already authenticated, it will do nothing.
          auth: force the port directly to authenticated.
          unauth: force the port to un-authenticated.
          default is auto"
           ::= { dot1xPortEntry 2 }


        dot1xPortRadiusServerIndex OBJECT-TYPE
          SYNTAX INTEGER (1..16)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          	"The index of the RADIUS server in dot1xRadiusServerTable"
          ::= { dot1xPortEntry 3 }

        dot1xPortAuthOnce OBJECT-TYPE
          SYNTAX  INTEGER {
            enable(1),
            disable(2)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          "If the port is authenticated, dot1x will not re-authenticate periodically."
          ::= { dot1xPortEntry 4}

        dot1xPortPeriod OBJECT-TYPE
          SYNTAX INTEGER (60..65535)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          "configure the interval if the port need re-authenticate periodically.
           <period>: 60 ~ 65535 in seconds, default is 3600 seconds."
          ::= { dot1xPortEntry 5 }

        dot1xPortCircuitIDInfo OBJECT-TYPE
          SYNTAX DisplayString (SIZE (0..127))
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          "Configures Dot1X circuit ID format
          Info is composed by the following components
          special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
          %%: equals character %
          %0x00~%0xFF: represents byte value
          %pname: configured port name
          %ptel: configured port telephone No.
          %pid: port index
          %chvpi: channel vpi
          %chvci: channel vci
          %slotid: slot index of the logic port
          %svlan: SVLAN ID which Dot1X client runs on
          %cvlan: CVLAN ID which Dot1X client runs on
          %hname: host device name
          %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX X=0~F
          %cmac2: MAC address of client, represents as XXXXXXXXXXXX X=0~F
          %cmac3: : MAC address of client, represents as Byte
          %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX X=0~F
          %dmac2: MAC address of host device, represents as XXXXXXXXXXXX X=0~F
          %dmac3: MAC address of host device, represents as Byte
          %phtype: ATM: atm   Ethernet: eth
          %hmodel: model name of host device
          %fwid: host device firmware ID
          %blank: blank character"
          ::= { dot1xPortEntry 6 }

-- dot1x User Profile Table
    		dot1xMaxNumOfUserProfiles OBJECT-TYPE
    	    SYNTAX  INTEGER
    	    MAX-ACCESS read-only
    	    STATUS current
    	    DESCRIPTION
    		"The maximum number of dot1x user profiles supported by the system."
    	    ::= { dot1x 5 }

        dot1xUserProfileTable OBJECT-TYPE
          SYNTAX SEQUENCE OF Dot1xUserProfileEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
          	"This table includes user profile setting for 802.1x configuration."
          ::= { dot1x 6 }

        dot1xUserProfileEntry OBJECT-TYPE
          SYNTAX Dot1xUserProfileEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
          "An entry in dot1xUserProfileTable."
          INDEX { IMPLIED dot1xUserProfileName }
          ::= { dot1xUserProfileTable 1 }

        Dot1xUserProfileEntry ::=
          SEQUENCE {
          dot1xUserProfileName DisplayString,
          dot1xUserProfilePassword	  	DisplayString,
          dot1xUserProfileRowStatus RowStatus
          }

        dot1xUserProfileName OBJECT-TYPE
          SYNTAX DisplayString (SIZE (1..31))
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
          "Name of Dot1X user profile"
          ::= { dot1xUserProfileEntry 1 }

        dot1xUserProfilePassword OBJECT-TYPE
          SYNTAX DisplayString (SIZE (1..31))
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
          "Configure the password"
          ::= { dot1xUserProfileEntry 2 }

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


-- dot1x  Stats Port Table

        dot1xStatsPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xStatsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes port statistics of 802.1x ."
        ::= { dot1x 7 }

		dot1xStatsPortEntry OBJECT-TYPE
        SYNTAX Dot1xStatsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "An entry in dot1xStatsPortTable."
        INDEX { ifIndex }
        ::= { dot1xStatsPortTable 1 }

        Dot1xStatsPortEntry ::=
        	SEQUENCE {
			     dot1xStatsPortReAuthCount	  	INTEGER,
			     dot1xStatsPortAuthorized 	  	INTEGER
		   	}

        dot1xStatsPortReAuthCount OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Display how many times each port re-authroize"
        ::= { dot1xStatsPortEntry 1 }

        dot1xStatsPortAuthorized OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "Display Authorized status"
        ::= { dot1xStatsPortEntry 2 }

	ddos OBJECT IDENTIFIER ::= { acl 21 }
	ddosMode OBJECT-TYPE
	SYNTAX 	BITS {
			sipEqDip(0),
			smacEqDmac(1),
			smacZero(2),
			tcpSync1Ack0Sport1024(3),
			tcpFlagZero(4),
			v4FragCheck(5),
			tcpFlagFin1Urg1Psh1(6),
			tcpFlagSync1Fin1(7),
			tcpSportEqDport(8),
			udpSportEqDport(9),
			tcpNoFullheader(10),
			tcpHeaderOffsetEqOne(11),
			icmpSizeCheck(12),
			icmpFragCheck(13)
		}
        MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configure the DDoS mode of GENNI ports."
	::= { ddos 1 }


--------------------
-- packet filter
--------------------

-- PacketFilter Port Table

    portFilterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PortFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes packet filter port configuration."
        ::= { acl 22 }

		portFilterEntry OBJECT-TYPE
        SYNTAX PortFilterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		    "An entry in portFilterTable."
        INDEX { ifIndex }
        ::= { portFilterTable 1 }

        PortFilterEntry ::=
        	SEQUENCE {
        	filterType      BITS
        }

        filterType OBJECT-TYPE
      SYNTAX  BITS {
      acceptAll(0),
      pppoeOnly(1),
      ipReject(3),
      arpReject(4),
      dhcpReject(5),
      eapolReject(6),
      pppoeReject(7),
      netbiosReject(8),
      igmpReject(9)
      }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
                  "
          accept-all             Accept all packet type
          pppoe-only             Only receive PPPoE packet
            custom                   Custom reject packet type
          pppoe                 reject PPPoE packet
          ip                    reject IP packet
          arp                   reject ARP packet
          dhcp                  reject DHCP packet
          eapol                 reject EAPOL packet
          igmp                 reject IGMP packet
          netbios              reject NETBIOS packet
                  "
           ::= { portFilterEntry 1 }

--------------------
-- mac filter
--------------------

-- MAC Filter Port Table

		macfilter	OBJECT IDENTIFIER ::= { acl 23 }

		maxNumOfMacFiltersPerSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The max number of mac(oui) filters supported per slot."
			INDEX { slotModuleId }
			::= { macfilter 1 }

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

		currNumOfMacFiltersPerSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The current number of mac(oui) filters per slot."
			INDEX { slotModuleId }
			::= { macfilter 3 }

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

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

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

    macFilterPortEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
				enableMacFilterandOuiFilter(1),
				enableMacFilter(2),
				enableOuiFilter(3),
				disable(4)
			}

	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	        "Enable/disable MAC filtering for the port."
	    INDEX { ifIndex }
	    ::= { macFilterPortEntry 1 }

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

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

-- OUI Filter Table

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

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

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

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

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

	aclProfileMode OBJECT-TYPE
    	SYNTAX  INTEGER {
    			port(1),
    			profile(2)
    		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Set acl profile mode, profile mode only support to GLC card.
                      	Port: per-port mode, every port only can set 8 acl-profile with priority.
                      	Profile: per-profile mode, every port can set 24 acl-profile with system priority."
        ::= { acl 24 }
--------------------------------------------------------------------------------------------------------
-- alarm
--------------------------------------------------------------------------------------------------------

		alarmOps		OBJECT IDENTIFIER ::= { alarm 1 }

        curAlarmClearTargetTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm Trap OID for clearing one current alarm."
        ::= { alarmOps 1 }

        curAlarmClearTargetIndex1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index1 for clearing one current alarm."
        ::= { alarmOps 2 }

        curAlarmClearTargetIndex2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index2 for clearing one current alarm."
        ::= { alarmOps 3 }

        curAlarmClearTargetIndex3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index3 for clearing one current alarm."
        ::= { alarmOps 4 }

        alarmOperation OBJECT-TYPE
        SYNTAX INTEGER {
	    clearOneCurrAlarm(1),
	    clearAllCurrAlarm(2),
	    clearAllHistoricalAlarm(3),
	    clearAlarmOutput(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Its value will be set to zero after operation finished."
        ::= { alarmOps 5 }

 -- currAlarmTable

        currAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CurrAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Displays current alarm."
        ::= { alarm 2 }

		currAlarmEntry OBJECT-TYPE
        SYNTAX CurrAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { currAlarmIndex }
        ::= { currAlarmTable 1 }

        CurrAlarmEntry ::=
        	SEQUENCE {
				currAlarmIndex				INTEGER,
				currAlarmCondId				INTEGER,
				currAlarmOccurTime			TimeTicks,
				currAlarmTrapOid			OBJECT IDENTIFIER,
				currAlarmParam1				INTEGER,
				currAlarmParam2				INTEGER,
				currAlarmParam3				INTEGER,
				currAlarmParam4				INTEGER,
				currAlarmParam5				INTEGER,
				currAlarmParam6				INTEGER,
				currAlarmParam7				INTEGER,
				currAlarmParam8				INTEGER,
				currAlarmParam9				DisplayString,
				currAlarmTimeDescr			DisplayString,
				currAlarmSeverity			INTEGER,
				currAlarmDescr				DisplayString
           	}

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

        currAlarmCondId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	""
         ::= { currAlarmEntry 2 }

        currAlarmOccurTime 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."
        ::= { currAlarmEntry 3 }

        currAlarmTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Trap OID of the alarm."
        ::= { currAlarmEntry 4 }

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

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

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

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

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

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

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

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

        currAlarmParam9 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 9th parameter of the alarm."
        ::= { currAlarmEntry 13 }

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

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

        currAlarmDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The description of the alarm."
        ::= { currAlarmEntry 16 }


-- histAlarmTable

        histAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HistAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Displays alarm history."
        ::= { alarm 3 }

	histAlarmEntry OBJECT-TYPE
        SYNTAX HistAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { histAlarmIndex }
        ::= { histAlarmTable 1 }

        HistAlarmEntry ::=
        	SEQUENCE {
				histAlarmIndex					INTEGER,
				histAlarmCondId					INTEGER,
				histAlarmOccurTime				TimeTicks,
				histAlarmTrapOid				OBJECT IDENTIFIER,
				histAlarmParam1					INTEGER,
				histAlarmParam2					INTEGER,
				histAlarmParam3					INTEGER,
				histAlarmParam4					INTEGER,
				histAlarmParam5					INTEGER,
				histAlarmParam6					INTEGER,
				histAlarmParam7					INTEGER,
				histAlarmParam8					INTEGER,
				histAlarmParam9					DisplayString,
				histAlarmTimeDescr				DisplayString,
				histAlarmSeverity				INTEGER,
				histAlarmDescr					DisplayString
           	}

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

        histAlarmCondId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	""
         ::= { histAlarmEntry 2 }

        histAlarmOccurTime 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."
        ::= { histAlarmEntry 3 }

        histAlarmTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Trap OID of the alarm."
        ::= { histAlarmEntry 4 }

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

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

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

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

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

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

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

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

        histAlarmParam9 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 9th parameter of the alarm."
        ::= { histAlarmEntry 13 }

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

        histAlarmSeverity OBJECT-TYPE
        SYNTAX INTEGER {
        					critical(1),
        					major(2),
        					minor(3),
        					warning(4),
        					event(5)
        				}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The severity of the alarm."
        ::= { histAlarmEntry 15 }

        histAlarmDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The description of the alarm."
        ::= { histAlarmEntry 16 }


-- alarmConfTable

        alarmConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures specified alarm definition."
        ::= { alarm 4 }

	alarmConfEntry OBJECT-TYPE
        SYNTAX AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { alarmConfTrapIndex }
        ::= { alarmConfTable 1 }

        AlarmConfEntry ::=
        	SEQUENCE {
				alarmConfTrapIndex				INTEGER,
				alarmConfTrapOid				OBJECT IDENTIFIER,
				alarmConfSeverity				INTEGER,
				alarmConfLogFacility			INTEGER,
				alarmConfTarget					INTEGER
           	}

		alarmConfTrapIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "alarm index"
         ::= { alarmConfEntry 1 }

        alarmConfTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"alarm condition code"
         ::= { alarmConfEntry 2 }

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

        alarmConfLogFacility 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 syslog-facility"
         ::= { alarmConfEntry 4 }

        alarmConfTarget OBJECT-TYPE
        SYNTAX INTEGER {
        					snmp(1),
        					syslog(2),
        					all(3),
        					none(4)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "alarm issue target"
         ::= { alarmConfEntry 5 }

-- alarmSeveritySystem

        alarmSeveritySystem OBJECT-TYPE
        SYNTAX INTEGER {
        					critical(1),
        					major(2),
        					minor(3),
        					warning(4)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Configures the minimum severity level to send out alarm notification (SNMP trap and SYSLOG) for overall system."
         ::= { alarm 5 }

-- alarmSeverityPortTable

        alarmSeverityPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmSeverityPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures the minimum severity level to send out alarm notification (SNMP trap and SYSLOG) for each port."
        ::= { alarm 6 }

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

        AlarmSeverityPortEntry ::=
        	SEQUENCE {
						alarmSeverityPortThresh	INTEGER
           	}

        alarmSeverityPortThresh OBJECT-TYPE
        SYNTAX INTEGER {
        						critical(1),
        						major(2),
        						minor(3),
        						warning(4),
        						event(5)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"This is to configure the alarm supression on per port basis based on alarm severity."
         ::= { alarmSeverityPortEntry 1 }

-- alarmControl
		alarmControl		OBJECT IDENTIFIER ::= { alarm 7 }

        sysAlarmSuppressEnable OBJECT-TYPE
        SYNTAX INTEGER {
        		enable(1),
        		disable(2)
        		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Enable means no alarm trap will be sent. Only trap of alarm with event severity can be reported.
        	Disable means no suppress."
        ::= { alarmControl 1 }

--        alarmControlPortTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF AlarmControlPortEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"Controls alarm reporting interval in specified port"
--        ::= { alarmControl 2 }
--
--		alarmControlPortEntry OBJECT-TYPE
--		SYNTAX AlarmControlPortEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--        INDEX { ifIndex }
--        ::= { alarmControlPortTable 1 }
--
--        AlarmControlPortEntry ::=
--        	SEQUENCE {
--				alarmControlLineAlarmControlInterval	INTEGER,
--				alarmControlLineAlarmControlEnable		INTEGER
--           	}
--
--        alarmControlLineAlarmControlInterval OBJECT-TYPE
--        SYNTAX INTEGER (10..600)
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"The unit is seconds. This is used when line alarm control is enabled. This controls when alarms shall be reported."
--        ::= { alarmControlPortEntry 1 }
--
--        alarmControlLineAlarmControlEnable OBJECT-TYPE
--        SYNTAX INTEGER {
--        		enable(1),
--        		disable(2)
--        		}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"Enable means no alarm shall be reported instantaneously.
--        	In this case, alarms shall be reported in interval.
--        	Disable means alarm shall be reported instantaneously."
--        ::= { alarmControlPortEntry 2 }

-- externalAlarmTable

        externalAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExternalAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures alarm input description."
        ::= { alarm 8 }

	externalAlarmEntry OBJECT-TYPE
        SYNTAX ExternalAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { externalAlarmIndex }
        ::= { externalAlarmTable 1 }

        ExternalAlarmEntry ::=
        	SEQUENCE {
				externalAlarmIndex	INTEGER,
				externalAlarmName	DisplayString
           	}

        externalAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "External alarm index"
        ::= { externalAlarmEntry 1 }

        externalAlarmName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "External alarm name"
         ::= { externalAlarmEntry 2 }

------------------------------------------------
-- dhcpL2Agent
------------------------------------------------

  dhcpL2Agent		OBJECT IDENTIFIER ::= { dhcp 1 }

-- dhcpL2AgentTable

  dhcpL2AgentTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpL2AgentEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP L2 agent configuration."
  ::= { dhcpL2Agent 1 }

  dhcpL2AgentEntry OBJECT-TYPE
  SYNTAX DhcpL2AgentEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "An entry of dhcpL2AgentTable."
  INDEX { dhcpL2AgentVlanId }
  ::= { dhcpL2AgentTable 1 }

  DhcpL2AgentEntry ::=
  SEQUENCE {
    dhcpL2AgentVlanId 									VlanIndex,
    dhcpL2AgentMode 										INTEGER,
    dhcpL2AgentLdraEnable 							INTEGER,
    --dhcpL2AgentOpt18InterfaceIDEnable 	INTEGER,
    dhcpL2AgentOpt18InterfaceIDInfo 		DisplayString,
    --dhcpL2AgentOpt37RemoteIDEnable 			INTEGER,
    dhcpL2AgentOpt37RemoteIDInfo 				DisplayString,
    --dhcpL2AgentOpt82CircuitIDEnable 		INTEGER,
    dhcpL2AgentOpt82CircuitIDInfo 			DisplayString,
    --dhcpL2AgentOpt82RemoteIDEnable 			INTEGER,
    dhcpL2AgentOpt82RemoteIDInfo 				DisplayString,
    dhcpL2AgentOpt82PolicyVlan          INTEGER,
    dhcpL2AgentRelayEnable              INTEGER,
    dhcpL2AgentRelayPrimarySvrIp        InetAddress,
    dhcpL2AgentRelaySecondarySvrIp      InetAddress,
    dhcpL2AgentRelayActSvrIndex 				INTEGER,
    dhcpL2AgentRelayMode 				        INTEGER,
    dhcpL2AgentRowStatus 								RowStatus,
    dhcpL2AgentOpt82Linechar          INTEGER
  }

  dhcpL2AgentVlanId OBJECT-TYPE
  SYNTAX VlanIndex (1..4094)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Specify the VLAN with DHCP transparent or DHCP L2 agent function."
  ::= { dhcpL2AgentEntry 1 }

-- SPRID 150402109, remove DHCP transparent setting
--   dhcpL2AgentMode OBJECT-TYPE
--   SYNTAX INTEGER {
--     dhcpTransparent(1),
--     dhcpL2Agent(2)
--   }
--   MAX-ACCESS read-create
--   STATUS current
--   DESCRIPTION
--     "Specify the DHCP L2 agent mode.
--     dhcpTransparent(1) - DHCP packets are transparent.
--     dhcpL2Agent(2) - DHCP L2 Agent function is enabled."
--   ::= { dhcpL2AgentEntry 2 }

  dhcpL2AgentMode OBJECT-TYPE
  SYNTAX INTEGER {
    dhcpL2Agent(1)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Specify the DHCP L2 agent mode.
    dhcpL2Agent(1) - DHCP L2 Agent function is enabled."
  ::= { dhcpL2AgentEntry 2 }

  dhcpL2AgentLdraEnable OBJECT-TYPE
  SYNTAX INTEGER {
    enable(1),
    disable(2)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Enable/disable Light Weight DHCPv6 Relay Agent in dhcpL2Agent mode"
  ::= { dhcpL2AgentEntry 3 }

  --dhcpL2AgentOpt18InterfaceIDEnable OBJECT-TYPE
  --SYNTAX  INTEGER {
  --  enable(1),
  --  disable(2)
  --}
  --MAX-ACCESS read-create
  --STATUS current
  --DESCRIPTION
  --  "Enable/disable insert the option18 interface ID to DHCP packet in dhcpL2Agent mode."
  --::= { dhcpL2AgentEntry 4 }

  dhcpL2AgentOpt18InterfaceIDInfo OBJECT-TYPE
  SYNTAX DisplayString (SIZE (0..127))
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "User specific DHCP option18 dhcpL2AgentOpt82CircuitIDEnable ID info.
    Info is composed by the following components
    special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
    %%: equals character %
    %0x00~%0xFF: represents byte value
    %pname: configured port name
    %ptel: configured port telephone No.
    %pid: port index
    %chvpi: channel vpi
    %chvci: channel vci
    %chid : in non DSL ATM channel, this field represents UNI VLAN ID,
            in DSL ATM channel, this field represents %chvpi.%chvci
    %slotid: slot index of the logic port
    %svlan: SVLAN ID which DHCP client runs on
    %cvlan: CVLAN ID which DHCP client runs on
    %hname: host device name
    %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
    %cmac3: MAC address of client, represents as Byte
    %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
    %dmac3: MAC address of host device, represents as Byte
    %phtype: represents as atm in ATM or represents as eth in Ethernet
    %hmodel: model name of host device
    %fwid: host device firmware ID
    %blank: blank character"
  ::= { dhcpL2AgentEntry 5 }


  --dhcpL2AgentOpt37RemoteIDEnable OBJECT-TYPE
  --SYNTAX INTEGER {
  --  enable(1),
  --  disable(2)
  --}
  --MAX-ACCESS read-create
  --STATUS current
  --DESCRIPTION
  --  "Enable/disable insert the option37 remote ID to DHCP packet in dhcpL2Agent mode."
  --::= { dhcpL2AgentEntry 6 }

  dhcpL2AgentOpt37RemoteIDInfo OBJECT-TYPE
  SYNTAX DisplayString (SIZE (0..127))
  MAX-ACCESS read-create
   STATUS current
  DESCRIPTION
    "User specific DHCP option37 remote ID info.
    Info is composed by the following components
    special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
    %%: equals character %
    %0x00~%0xFF: represents byte value
    %pname: configured port name
    %ptel: configured port telephone No.
    %pid: port index
    %chvpi: channel vpi
    %chvci: channel vci
    %chid : in non DSL ATM channel, this field represents UNI VLAN ID,
            in DSL ATM channel, this field represents %chvpi.%chvci
    %slotid: slot index of the logic port
    %svlan: SVLAN ID which DHCP client runs on
    %cvlan: CVLAN ID which DHCP client runs on
    %hname: host device name
    %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
    %cmac3: MAC address of client, represents as Byte
    %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
    %dmac3: MAC address of host device, represents as Byte
    %phtype: represents as atm in ATM or represents as eth in Ethernet
    %hmodel: model name of host device
    %fwid: host device firmware ID
    %blank: blank character"
  ::= { dhcpL2AgentEntry 7 }

  --dhcpL2AgentOpt82CircuitIDEnable OBJECT-TYPE
  --SYNTAX INTEGER {
  --  enable(1),
  --  disable(2)
  --}
  --MAX-ACCESS read-create
  --STATUS current
  --DESCRIPTION
  --  "Enable/disable insert the option82 circuit ID to DHCP packet in dhcpL2Agent mode."
  --::= { dhcpL2AgentEntry 8 }

  dhcpL2AgentOpt82CircuitIDInfo OBJECT-TYPE
  SYNTAX DisplayString (SIZE (0..127))
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "User specific DHCP option82 circuit ID info.
    Info is composed by the following components
    special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
    %%: equals character %
    %0x00~%0xFF: represents byte value
    %pname: configured port name
    %ptel: configured port telephone No.
    %pid: port index
    %chvpi: channel vpi
    %chvci: channel vci
    %chid : in non DSL ATM channel, this field represents UNI VLAN ID,
            in DSL ATM channel, this field represents %chvpi.%chvci
    %slotid: slot index of the logic port
    %svlan: SVLAN ID which DHCP client runs on
    %cvlan: CVLAN ID which DHCP client runs on
    %hname: host device name
    %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
    %cmac3: MAC address of client, represents as Byte
    %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
    %dmac3: MAC address of host device, represents as Byte
    %phtype: represents as atm in ATM or represents as eth in Ethernet
    %hmodel: model name of host device
    %fwid: host device firmware ID
    %blank: blank character"
  ::= { dhcpL2AgentEntry 9 }

  --dhcpL2AgentOpt82RemoteIDEnable OBJECT-TYPE
  --SYNTAX INTEGER {
  --  enable(1),
  --  disable(2)
  --}
  --MAX-ACCESS read-create
  --STATUS current
  --DESCRIPTION
  --  "Enable/disable insert the option82 remote ID to DHCP packet in dhcpL2Agent mode."
  --::= { dhcpL2AgentEntry 10 }

  dhcpL2AgentOpt82RemoteIDInfo OBJECT-TYPE
  SYNTAX DisplayString (SIZE (0..127))
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "User specific DHCP option82 remote ID info.
    Info is composed by the following components
    special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
    %%: equals character %
    %0x00~%0xFF: represents byte value
    %pname: configured port name
    %ptel: configured port telephone No.
    %pid: port index
    %chvpi: channel vpi
    %chvci: channel vci
    %chid : in non DSL ATM channel, this field represents UNI VLAN ID,
            in DSL ATM channel, this field represents %chvpi.%chvci
    %slotid: slot index of the logic port
    %svlan: SVLAN ID which DHCP client runs on
    %cvlan: CVLAN ID which DHCP client runs on
    %hname: host device name
    %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
    %cmac3: MAC address of client, represents as Byte
    %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
    %dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
    %dmac3: MAC address of host device, represents as Byte
    %phtype: represents as atm in ATM or represents as eth in Ethernet
    %hmodel: model name of host device
    %fwid: host device firmware ID
    %blank: blank character"
  ::= { dhcpL2AgentEntry 11 }

  dhcpL2AgentOpt82PolicyVlan OBJECT-TYPE
  SYNTAX INTEGER {
    drop(1),
    replace(2),
    keep(3)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Select option82 policy in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 12 }

  dhcpL2AgentRelayEnable OBJECT-TYPE
  SYNTAX INTEGER {
    enable(1),
    disable(2)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Enable/disable DHCP relay in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 13 }

  dhcpL2AgentRelayPrimarySvrIp OBJECT-TYPE
  SYNTAX InetAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Configure DHCP relay primary server IP in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 14 }

  dhcpL2AgentRelaySecondarySvrIp OBJECT-TYPE
  SYNTAX InetAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Configure DHCP relay secondary server IP in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 15 }

  dhcpL2AgentRelayActSvrIndex OBJECT-TYPE
  SYNTAX INTEGER {
    primary(1),
    secondary(2)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Select DHCP relay active server in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 16 }

  dhcpL2AgentRelayMode OBJECT-TYPE
  SYNTAX INTEGER {
    auto(1),
    both(2)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Select DHCP relay mode in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 17 }

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

  dhcpL2AgentOpt82Linechar OBJECT-TYPE
  SYNTAX INTEGER {
    disable(0),
    rate(1),
    full(2)
  }
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "Select option82 linechar in dhcpL2Agent mode."
  ::= { dhcpL2AgentEntry 19 }

-- dhcpL2AgentOpt82Chk

  dhcpL2AgentOpt82Chk OBJECT-TYPE
  SYNTAX INTEGER {
    enable(1),
    disable(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Enable/disable system to check option82 in DHCP packets from DHCP server."
  ::= { dhcpL2Agent 2 }

-- dhcpL2AgentOpt82PolicyMode

  dhcpL2AgentOpt82PolicyMode OBJECT-TYPE
  SYNTAX INTEGER {
    vlan(1),
    port(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Select DHCP option82 policy mode."
  ::= { dhcpL2Agent 3 }

------------------------------------------------
-- dhcpL2AgentSnoop
------------------------------------------------

  dhcpSnoop		OBJECT IDENTIFIER ::= { dhcp 2 }

-- dhcpSnoopPortTable

  dhcpSnoopPortTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpSnoopPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP Snoop configuration for specified linecard ports."
  ::= { dhcpSnoop 1 }

  dhcpSnoopPortEntry OBJECT-TYPE
  SYNTAX DhcpSnoopPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Configures DHCP snooping for specified linecard ports."
  INDEX { ifIndex }
  ::= { dhcpSnoopPortTable 1 }

  DhcpSnoopPortEntry ::=
  SEQUENCE {
    dhcpSnoopPortIpMacBindingEnable 	INTEGER,
    dhcpSnoopPortMaxLeaseCount 			INTEGER,
--    dhcpStaticIpFilterPortEnable 		INTEGER,
--    dhcpStaticIpFilterPortIp1 				InetAddress,
--    dhcpStaticIpFilterPortIp2 				InetAddress,
--    dhcpStaticIpFilterPortIp3 				InetAddress,
    dhcpSnoopPortDbFlush 				INTEGER,
    dhcpSnoopPortStatsClear 			INTEGER,
	dhcpSnoopPortPriorityVlan			DisplayString
  }

  dhcpSnoopPortIpMacBindingEnable OBJECT-TYPE
  SYNTAX INTEGER {
    enable(1),
    disable(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Enables IP-MAC binding on specified linecard ports."
  ::= { dhcpSnoopPortEntry 1 }

  dhcpSnoopPortMaxLeaseCount OBJECT-TYPE
  SYNTAX INTEGER (1..32)
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Configures DHCP Snooping database max lease count for specified linecard ports."
  ::= { dhcpSnoopPortEntry 2 }

--  dhcpStaticIpFilterPortEnable OBJECT-TYPE
--  SYNTAX INTEGER {
--    enable(1),
--    disable(2)
--  }
--  MAX-ACCESS read-write
--  STATUS current
--  DESCRIPTION
--    "Enables static IP filtering on specified linecard ports."
--  ::= { dhcpSnoopPortEntry 3 }

--  dhcpStaticIpFilterPortIp1 OBJECT-TYPE
--  SYNTAX InetAddress
--  MAX-ACCESS read-write
--  STATUS current
--  DESCRIPTION
--    "Configure static IP filtering static IP 1."
--  ::= { dhcpSnoopPortEntry 4 }
--
--  dhcpStaticIpFilterPortIp2 OBJECT-TYPE
--  SYNTAX InetAddress
--  MAX-ACCESS read-write
--  STATUS current
--  DESCRIPTION
--    "Configure static IP filtering static IP 2."
--  ::= { dhcpSnoopPortEntry 5 }
--
--  dhcpStaticIpFilterPortIp3 OBJECT-TYPE
--  SYNTAX InetAddress
--  MAX-ACCESS read-write
--  STATUS current
--  DESCRIPTION
--    "Configure static IP filtering static IP 3."
--  ::= { dhcpSnoopPortEntry 6 }

  dhcpSnoopPortDbFlush OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Set 1 to flush DHCP database for specified linecard ports."
  ::= { dhcpSnoopPortEntry 7 }

  dhcpSnoopPortStatsClear OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Set 1 to clear all the counter in dhcpSnoopStatsTable."
  ::= { dhcpSnoopPortEntry 8 }

  dhcpSnoopPortPriorityVlan OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
  "Configure priority VLAN of snoop database.
   Set 0 to clear priority VLAN configuration."
  ::= { dhcpSnoopPortEntry 9 }

-- dhcpSnoopOverflowMode

  dhcpSnoopOverflowMode OBJECT-TYPE
  SYNTAX INTEGER {
    denynewlease(1),
    replaceoldestlease(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Configures DHCP Snooping database overflow handling mode."
  DEFVAL { replaceoldestlease }
  ::= { dhcpSnoop 2 }

-- dhcpSnoopDbTable

  dhcpSnoopDbTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpSnoopDbEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP Snoop database on specified linecard ports."
  ::= { dhcpSnoop 3 }

  dhcpSnoopDbEntry OBJECT-TYPE
  SYNTAX DhcpSnoopDbEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Show DHCP database on specified linecard ports."
  INDEX { ifIndex, dhcpSnoopDbIpType, IMPLIED dhcpSnoopDbIp }
  ::= { dhcpSnoopDbTable 1 }

  DhcpSnoopDbEntry ::=
  SEQUENCE {
    dhcpSnoopDbIpType	InetAddressType,
    dhcpSnoopDbIp 		InetAddress,
    dhcpSnoopDbVid		VlanIndex,
    dhcpSnoopDbMac		PhysAddress
  }

  dhcpSnoopDbIpType OBJECT-TYPE
  SYNTAX InetAddressType {ipv4(1), ipv6(2)}
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "IP address type, IPv6 or IPv4."
  ::= { dhcpSnoopDbEntry 1 }

  dhcpSnoopDbIp OBJECT-TYPE
  SYNTAX InetAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the IP address in the DHCP database on specified linecard ports."
  ::= { dhcpSnoopDbEntry 2 }

  dhcpSnoopDbVid OBJECT-TYPE
  SYNTAX VlanIndex (1..4094)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the vid in the DHCP database on specified linecard ports."
  ::= { dhcpSnoopDbEntry 3 }

  dhcpSnoopDbMac OBJECT-TYPE
  SYNTAX PhysAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the MAC address in the DHCP database on specified linecard ports."
  ::= { dhcpSnoopDbEntry 4 }

-- dhcpSnoopStatsTable

  dhcpSnoopStatsTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpSnoopStatsEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP stats on specified linecard ports."
  ::= { dhcpSnoop 4 }

  dhcpSnoopStatsEntry OBJECT-TYPE
  SYNTAX DhcpSnoopStatsEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "show DHCP stats on specified linecard ports."
  INDEX { ifIndex }
  ::= { dhcpSnoopStatsTable 1 }

  DhcpSnoopStatsEntry ::=
  SEQUENCE {
    dhcpSnoopStatsOverFlow        INTEGER,
    dhcpSnoopStatsV4Discover      INTEGER,
    dhcpSnoopStatsV4Offer         INTEGER,
    dhcpSnoopStatsV4Request       INTEGER,
    dhcpSnoopStatsV4Ack           INTEGER,
    dhcpSnoopStatsV4Release       INTEGER,
    dhcpSnoopStatsV6Solicit       INTEGER,
    dhcpSnoopStatsV6Advertise     INTEGER,
    dhcpSnoopStatsV6Request       INTEGER,
    dhcpSnoopStatsV6Reply         INTEGER,
    dhcpSnoopStatsV6Renew         INTEGER,
    dhcpSnoopStatsV6Rebind        INTEGER,
    dhcpSnoopStatsV6Release       INTEGER,
    dhcpSnoopStatsV6RelayForward  INTEGER,
    dhcpSnoopStatsV6RelayReply    INTEGER
  }

  dhcpSnoopStatsOverFlow OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the counter when occurs overflow in DHCPv4 and DHCPv6."
  ::= { dhcpSnoopStatsEntry 1 }

  dhcpSnoopStatsV4Discover OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv4 Discover packets."
  ::= { dhcpSnoopStatsEntry 2 }

  dhcpSnoopStatsV4Offer OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv4 Offer packets."
  ::= { dhcpSnoopStatsEntry 3 }

  dhcpSnoopStatsV4Request OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv4 Request packets."
  ::= { dhcpSnoopStatsEntry 4 }

  dhcpSnoopStatsV4Ack OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv4 Ack packets."
  ::= { dhcpSnoopStatsEntry 5 }

  dhcpSnoopStatsV4Release OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv4 Release packets."
  ::= { dhcpSnoopStatsEntry 6 }

  dhcpSnoopStatsV6Solicit OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Solicit packets."
  ::= { dhcpSnoopStatsEntry 7 }

  dhcpSnoopStatsV6Advertise OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Advertise packets."
  ::= { dhcpSnoopStatsEntry 8 }

  dhcpSnoopStatsV6Request OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Request packets."
  ::= { dhcpSnoopStatsEntry 9 }

  dhcpSnoopStatsV6Reply OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Reply packets."
  ::= { dhcpSnoopStatsEntry 10 }

  dhcpSnoopStatsV6Renew OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Renew packets."
  ::= { dhcpSnoopStatsEntry 11 }

  dhcpSnoopStatsV6Rebind OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Rebind packets."
  ::= { dhcpSnoopStatsEntry 12 }

  dhcpSnoopStatsV6Release OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Release packets."
  ::= { dhcpSnoopStatsEntry 13 }

  dhcpSnoopStatsV6RelayForward OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Relay Forward packets."
  ::= { dhcpSnoopStatsEntry 14 }

  dhcpSnoopStatsV6RelayReply OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Show the number of DHCPv6 Relay Reply packets."
  ::= { dhcpSnoopStatsEntry 15 }

-- dhcpL2AgentStaticIpFilterIp

  dhcpStaticIpPortTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpStaticIpPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP Static IP filter configuration for specified linecard ports."
  ::= { dhcpSnoop 5 }

  dhcpStaticIpPortEntry OBJECT-TYPE
  SYNTAX DhcpStaticIpPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Configures DHCP static IP Filter IP for specified linecard ports."
  INDEX { ifIndex, ipIndex }
  ::= { dhcpStaticIpPortTable 1 }

  DhcpStaticIpPortEntry ::=
  SEQUENCE {
	ipIndex						INTEGER,
    dhcpStaticIpPortIp			InetAddress,
    dhcpStaticIpFilterEnable	INTEGER
  }

  ipIndex OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Specified static ip Index."
  ::= { dhcpStaticIpPortEntry 1 }

  dhcpStaticIpPortIp OBJECT-TYPE
  SYNTAX InetAddress
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Configure IP address of static IP filter for specified linecard ports."
  ::= { dhcpStaticIpPortEntry 2 }

-- dhcpL2AgentStaticIpFilterEnable

  dhcpStaticIpFilterEnable OBJECT-TYPE
  SYNTAX INTEGER {
    enable(1),
    disable(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Enables static IP-MAC Binding on specified linecard ports."
  DEFVAL { disable }
  ::= { dhcpStaticIpPortEntry 3 }

------------------------------------------------
-- dhcpL2AgentPort
------------------------------------------------

  dhcpL2AgentPort		OBJECT IDENTIFIER ::= { dhcp 3 }

-- dhcpL2AgentPortTable

  dhcpL2AgentPortTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpL2AgentPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP configuration for specified linecard ports."
  ::= { dhcpL2AgentPort 1 }

  dhcpL2AgentPortEntry OBJECT-TYPE
  SYNTAX DhcpL2AgentPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Configures DHCP for specified linecard ports."
  INDEX { ifIndex }
  ::= { dhcpL2AgentPortTable 1 }

  DhcpL2AgentPortEntry ::=
  SEQUENCE {
    dhcpL2AgentOpt82PolicyPort    INTEGER,
    dhcpL2AgentOptLdraPolicyPort    INTEGER
  }

  dhcpL2AgentOpt82PolicyPort OBJECT-TYPE
  SYNTAX INTEGER {
    drop(1),
    replace(2),
    keep(3)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Select option82 policy on specified linecard ports."
  ::= { dhcpL2AgentPortEntry 1 }

  dhcpL2AgentOptLdraPolicyPort OBJECT-TYPE
  SYNTAX INTEGER {
    drop(1),
    replace(2),
    keep(3),
    add(4)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Select option LDRA policy on specified linecard ports."
  ::= { dhcpL2AgentPortEntry 2 }


------------------------------------------------
-- dhcpServer
------------------------------------------------

  dhcpServer		OBJECT IDENTIFIER ::= { dhcp 4 }

-- dhcpServerTable

  dhcpServerTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpServerEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP server configuration on specific VLAN"
  ::= { dhcpServer 1 }

  dhcpServerEntry OBJECT-TYPE
  SYNTAX DhcpServerEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "An entry of dhcpServerTable."
  INDEX { dhcpServerVlanId }
  ::= { dhcpServerTable 1 }

  DhcpServerEntry ::=
  SEQUENCE {
    dhcpServerVlanId                    VlanIndex,
    dhcpServerStartAddress              IpAddress,
    dhcpServerEndAddress                IpAddress,
    dhpcServerSubnetMaskBit             INTEGER,
    dhpcServerGateway                   IpAddress,
    dhpcServerPrimaryDnsServer          IpAddress,
    dhpcServerSecondaryDnsServer        IpAddress,
    dhcpServerRowStatus                 RowStatus
  }

  dhcpServerVlanId OBJECT-TYPE
  SYNTAX VlanIndex (1..4094)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Specify the VLAN with DHCP transparent or DHCP server function."
  ::= { dhcpServerEntry 1 }

  dhcpServerStartAddress OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "The IPv4 address of the first address in the range"
  ::= { dhcpServerEntry 2 }

  dhcpServerEndAddress OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "The IPv4 address of the last address in the range"
  ::= { dhcpServerEntry 3 }

  dhpcServerSubnetMaskBit OBJECT-TYPE
  SYNTAX INTEGER (1..32)
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "This option mask option specifies the client's subnet maskbit.
    0 means not use this option"
  ::= { dhcpServerEntry 4 }

  dhpcServerGateway OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "This option specifies the IPv4 address for the default gateway on the client's subnet.
    0.0.0.0 means not use this option"
  ::= { dhcpServerEntry 5 }

  dhpcServerPrimaryDnsServer OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "This option specifies the IPv4 address for the primary dns server available to the client.
    0.0.0.0 means not use both this option and dhpcServerSecondaryDnsServer"
  ::= { dhcpServerEntry 6 }

  dhpcServerSecondaryDnsServer OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  DESCRIPTION
    "This option specifies the IPv4 address for the secondary dns server available to the client.
    0.0.0.0 means not use this option"
  ::= { dhcpServerEntry 7 }

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

-- dhcpServerLeaseTable

  dhcpServerLeaseTable OBJECT-TYPE
  SYNTAX SEQUENCE OF DhcpServerLeaseEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains DHCP server configuration"
  ::= { dhcpServer 2 }

  dhcpServerLeaseEntry OBJECT-TYPE
  SYNTAX DhcpServerLeaseEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "An entry of dhcpLeaseTable."
  INDEX { dhcpServerVlanId, dhcpServerLeaseIpAddress }
  ::= { dhcpServerLeaseTable 1 }

  DhcpServerLeaseEntry ::=
  SEQUENCE {
    dhcpServerLeaseIpAddress              IpAddress,
    dhcpServerLeaseMacAddress             MacAddress,
    dhcpServerLeaseTime                   INTEGER
  }


  dhcpServerLeaseIpAddress OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    " "
  ::= { dhcpServerLeaseEntry 1 }

  dhcpServerLeaseMacAddress OBJECT-TYPE
  SYNTAX MacAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    " "
  ::= { dhcpServerLeaseEntry 2 }

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


--------------------------------------------------------------------------------------------------------
-- ge
--------------------------------------------------------------------------------------------------------

-- geConfTable

    geConfTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Configures for the specified GE-NNI ports."
    ::= { ge 1 }

    geConfEntry	OBJECT-TYPE
    SYNTAX GeConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geConfTable 1 }

    GeConfEntry ::=
    	SEQUENCE {
    		geConfSpeed	INTEGER,
    		geConfAutoNego INTEGER,
    		geConfFlowControl INTEGER,
     		geConfSubtendMode INTEGER,
			geConfVlanTrunk INTEGER
    	}

    geConfSpeed OBJECT-TYPE
    	SYNTAX INTEGER {
    		speed-auto(1),
    		speed-1G-full(2),
    		speed-2500M-full(3),
    		speed-10G-full(4),
    		speed-100M-full(5),
    		speed-100M-half(6)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Configures speed of gigabit uplink interface

    		speed-auto(1):	    the system configures uplink speed according to plugged-in transceiver module,
    		    			    if a 1Gbps only transceiver detected then interface speed 1Gbps is configured
							    if a 10Gbps only transceiver detected then interface speed 10Gbps is configured
    		speed-1G-full(2):   the system configures interface speed to 1Gbps and full duplex once a dual speed transceiver SFP+
    	    				    module plugged in, otherwise configure it according to transceiver's speed.
    		speed-2500M-full(3):the system configures interface speed to 2.5Gbps and full duplex once a dual speed transceiver SFP+
    	    				    module plugged in, otherwise configure it according to transceiver's speed.
            speed-10G-full(4):	the system configures interface speed to 10Gbps and full duplex once a dual speed transceiver SFP+
    	        			    module plugged in, otherwise configure it according to transceiver's speed.
            speed-100M-full(5): for GLC card interface only and not for gigabit uplink interface
            speed-100M-half(6): for GLC card interface only and not for gigabit uplink interface

    		Default: speed-auto(1)
    		Reference: SFF-8472 Rev 11.0 (ftp://ftp.seagate.com/sff)
        "
--  ::= { geConfEntry 1 }	reserved for T780
--  ::= { geConfEntry 2 }   reserved for T780
--  ::= { geConfEntry 3 }   reserved for T780
--  ::= { geConfEntry 4 }   reserved for T780
    ::= { geConfEntry 5 }

    geConfAutoNego OBJECT-TYPE
    	SYNTAX INTEGER {
    		enable(1),
    		disable(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Configures auto-negotiation mode of gigabit uplink interface.
    	     10G speed do not support auto-negotiation mode.
    		enable(1): enable auto-negotiation mode
    		disable(2):	disable auto-negotiation mode
    		Default: enable(1)
        "
    ::= { geConfEntry 6 }


    geConfFlowControl OBJECT-TYPE
    	SYNTAX INTEGER {
    		enable(1),
    		disable(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Configures flow control mode of GE interface.
    		enable(1): enable flow control
    		disable(2):	disable flow control
    		Default: enable.
        "
    ::= { geConfEntry 7 }

     geConfSubtendMode OBJECT-TYPE
     	SYNTAX INTEGER {
     		subtend(1),
     		uplink(2),
			auto(3)
     	}
     	MAX-ACCESS read-write
     	STATUS current
     	DESCRIPTION
     		"Configures flow subtend mode of GE interface.
     		subtend(1): enable subtend mode
     		uplink(2): enable uplink mode
			auto(2): enable auto mode
     		Default: uplink(2)
     		The traffic from subtend mode interface can be forwarded to uplink mode interface only.
			auto mode is that the port will be assigned the adjust mode uplink/subtend based on ring protocol.
         "
     ::= { geConfEntry 8 }

     geConfVlanTrunk OBJECT-TYPE
     	SYNTAX INTEGER {
     		enable(1),
     		disable(2)
     	}
     	MAX-ACCESS read-write
     	STATUS current
     	DESCRIPTION
     		"Configures vlan trunk of GE interface.
     		enable(1): enable vlan trunk
     		disable(2):	disable vlan trunk
     		Default: disable(2)
     		The traffic from vlan trunk port will pass all vlan check.
         "
     ::= { geConfEntry 9 }


-- geOps

    geOps	OBJECT IDENTIFIER ::= { ge 2 }

    geTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Configure the target GE interface (ifindex) to clear packet statistics."
    ::= { geOps 1 }

    geOperation OBJECT-TYPE
    SYNTAX INTEGER {
    	clearPacketStatistics(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Clear packet statistics on the target GE ifindex specified by 'geTarget'."
    ::= { geOps 2 }


-- geDdmiCfgPortTable

	geDdmiCfgPortTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeDdmiCfgPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Displays current DDMI status on GE-NNI port."
    ::= { ge 3 }

    geDdmiCfgPortEntry	OBJECT-TYPE
    SYNTAX GeDdmiCfgPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geDdmiCfgPortTable 1 }

    GeDdmiCfgPortEntry ::=
         SEQUENCE {
       	    geDdmiTempHighAlarmThresh			DisplayString,
       		geDdmiTempLowAlarmThresh			DisplayString,
       		geDdmiVoltageHighAlarmThresh   		DisplayString,
       		geDdmiVoltageLowAlarmThresh  		DisplayString,
      	    geDdmiTxBiasHighAlarmThresh			DisplayString,
	       	geDdmiTxBiasLowAlarmThresh			DisplayString,
	       	geDdmiTxPowerHighAlarmThresh   		DisplayString,
	       	geDdmiTxPowerLowAlarmThresh  		DisplayString,
	       	geDdmiTxPowerHighAlarmThreshdBm   	DisplayString,
	       	geDdmiTxPowerLowAlarmThreshdBm  	DisplayString,
	       	geDdmiRxPowerHighAlarmThresh		DisplayString,
	       	geDdmiRxPowerLowAlarmThresh			DisplayString,
	       	geDdmiRxPowerHighAlarmThreshdBm		DisplayString,
	       	geDdmiRxPowerLowAlarmThreshdBm		DisplayString
    }

	geDdmiTempHighAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"User defined high alarm threshold of temperature of sfp port"
	::= { geDdmiCfgPortEntry 1 }

	geDdmiTempLowAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"User defined low alarm threshold of temperature of sfp port"
	::= { geDdmiCfgPortEntry 2 }

	geDdmiVoltageHighAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of voltage of sfp port"
	::= { geDdmiCfgPortEntry 3 }

	geDdmiVoltageLowAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of voltage of sfp port"
	::= { geDdmiCfgPortEntry 4 }

	geDdmiTxBiasHighAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of tx bias of sfp port"
	::= { geDdmiCfgPortEntry 5 }

	geDdmiTxBiasLowAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of tx bias of sfp port"
	::= { geDdmiCfgPortEntry 6 }

	geDdmiTxPowerHighAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of tx power of sfp port"
	::= { geDdmiCfgPortEntry 7 }

	geDdmiTxPowerLowAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of tx power of sfp port"
	::= { geDdmiCfgPortEntry 8 }

	geDdmiTxPowerHighAlarmThreshdBm OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of tx power of sfp port(Units:dBm)"
	::= { geDdmiCfgPortEntry 9 }

	geDdmiTxPowerLowAlarmThreshdBm OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of tx power of sfp port (Units:dBm)"
	::= { geDdmiCfgPortEntry 10 }

	geDdmiRxPowerHighAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of rx power of sfp port"
	::= { geDdmiCfgPortEntry 11 }

	geDdmiRxPowerLowAlarmThresh OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of rx power of sfp port"
	::= { geDdmiCfgPortEntry 12 }

	geDdmiRxPowerHighAlarmThreshdBm OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	 "User defined high alarm threshold of rx power of sfp port (Units:dBm)"
	::= { geDdmiCfgPortEntry 13 }

	geDdmiRxPowerLowAlarmThreshdBm OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	 "User defined low alarm threshold of rx power of sfp port (Units:dBm)"
	::= { geDdmiCfgPortEntry 14 }

-- geDdmiTable

    geDdmiTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeDdmiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Displays current DDMI status on GE-NNI port."
    ::= { ge 4 }

    geDdmiEntry	OBJECT-TYPE
    SYNTAX GeDdmiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geDdmiTable 1 }

    GeDdmiEntry ::=
    	SEQUENCE {
    		geDdmiVendorName            DisplayString,
    		geDdmiVendorPn              DisplayString,
    		geDdmiTemp                  INTEGER,
    		geDdmiTempHighAlarm         INTEGER,
    		geDdmiTempLowAlarm          INTEGER,
    		geDdmiVolt                  INTEGER,
    		geDdmiVoltHighAlarm         INTEGER,
    		geDdmiVoltLowAlarm          INTEGER,
    		geDdmiTxCurr                INTEGER,
    		geDdmiTxCurrHighAlarm       INTEGER,
    		geDdmiTxCurrLowAlarm        INTEGER,
    		geDdmiTxPower               INTEGER,
    		geDdmiTxPowerHighAlarm      INTEGER,
    		geDdmiTxPowerLowAlarm       INTEGER,
    		geDdmiRxPower               INTEGER,
    		geDdmiRxPowerHighAlarm      INTEGER,
    		geDdmiRxPowerLowAlarm       INTEGER,
            geDdmiTxPowerdBm            INTEGER,
            geDdmiTxPowerHighAlarmdBm   INTEGER,
            geDdmiTxPowerLowAlarmdBm    INTEGER,
            geDdmiRxPowerdBm            INTEGER,
            geDdmiRxPowerHighAlarmdBm   INTEGER,
            geDdmiRxPowerLowAlarmdBm    INTEGER,
    		geDdmiVendorRevision        DisplayString,
    		geDdmiVendorSn              DisplayString
    	}

    geDdmiVendorName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor name."
    ::= { geDdmiEntry 1 }

    geDdmiVendorPn OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor PN(Part number)."
    ::= { geDdmiEntry 2 }

    geDdmiTemp OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured transceive temperature in 10^(-4) Celsius."
    ::= { geDdmiEntry 3 }

    geDdmiTempHighAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured the high alarm threshold of transceiver temperature in 10^(-4) Celsius."
    ::= { geDdmiEntry 4 }

    geDdmiTempLowAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured the low alarm threshold of transceiver temperature in 10^(-4) Celsius."
    ::= { geDdmiEntry 5 }

    geDdmiVolt OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured transceiver supply voltage in 10^(-4) Volts."
    ::= { geDdmiEntry 6 }

    geDdmiVoltHighAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured the high alarm threshold of transceiver supply voltage in 10^(-4) Volts."
    ::= { geDdmiEntry 7 }

    geDdmiVoltLowAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally measured the low alarm threshold of transceiver supply voltage in 10^(-4) Volts."
    ::= { geDdmiEntry 8 }

    geDdmiTxCurr OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured TX bias current in 10^(-4) mA."
    ::= { geDdmiEntry 9 }

    geDdmiTxCurrHighAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the high alarm threshold of TX bias current in 10^(-4) mA."
    ::= { geDdmiEntry 10 }

    geDdmiTxCurrLowAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the low alarm threshold of TX bias current in 10^(-4) mA."
    ::= { geDdmiEntry 11 }

    geDdmiTxPower OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured TX output power in 10^(-4) uW."
    ::= { geDdmiEntry 12 }

    geDdmiTxPowerHighAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the high alarm threshold of TX output power in 10^(-4) uW."
    ::= { geDdmiEntry 13 }

    geDdmiTxPowerLowAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the low alarm threshold of TX output power in 10^(-4) uW."
    ::= { geDdmiEntry 14 }

    geDdmiRxPower OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured RX received optical power in 10^(-4) uW."
    ::= { geDdmiEntry 15 }

    geDdmiRxPowerHighAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the high alarm threshold of RX received optical power in 10^(-4) uW."
    ::= { geDdmiEntry 16 }

    geDdmiRxPowerLowAlarm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the low alarm threshold of RX received optical power in 10^(-4) uW."
    ::= { geDdmiEntry 17 }

    geDdmiTxPowerdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured TX output power in 10^(-4) dBm."
    ::= { geDdmiEntry 18 }

    geDdmiTxPowerHighAlarmdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the high alarm threshold of TX output power in 10^(-4) dBm."
    ::= { geDdmiEntry 19 }

    geDdmiTxPowerLowAlarmdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the low alarm threshold of TX output power in 10^(-4) dBm."
    ::= { geDdmiEntry 20 }

    geDdmiRxPowerdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured RX received optical power in 10^(-4) dBm."
    ::= { geDdmiEntry 21 }

    geDdmiRxPowerHighAlarmdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured the high alarm threshold of RX received optical power in 10^(-4) dBm."
    ::= { geDdmiEntry 22 }

    geDdmiRxPowerLowAlarmdBm OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured the low alarm threshold of RX received optical power in 10^(-4) dBm."
    ::= { geDdmiEntry 23 }

    geDdmiVendorRevision OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor revision."
    ::= { geDdmiEntry 24 }

    geDdmiVendorSn OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor SN(Serial number)."
    ::= { geDdmiEntry 25 }

-- geStatusTable

    geStatusTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"The table displays GE-NNI ports Status"
    ::= { ge 5 }

   geStatusEntry	OBJECT-TYPE
    SYNTAX GeStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geStatusTable 1 }

	GeStatusEntry ::=
    	SEQUENCE {
    		geStatusMode            DisplayString
    	}

    geStatusMode OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"GE-NNI ports Mode"
    ::= { geStatusEntry 1 }


--    geSyncETable	OBJECT-TYPE
--    SYNTAX SEQUENCE OF GeSyncEEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	"Configures SyncE for the specified GE-NNI ports."
--    ::= { ge 6 }

--    geSyncEEntry	OBJECT-TYPE
--    SYNTAX GeSyncEEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	""
--    INDEX { ifIndex }
--    ::= { geSyncETable 1 }

--    GeSyncEEntry ::=
--    	SEQUENCE {
--    		geSyncEMode	INTEGER,
--    		geSyncESsm INTEGER
--    	}

--    geSyncEMode OBJECT-TYPE
--    	SYNTAX INTEGER {
--    		enable(1),
--    		disable(2)
--    	}
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--	    	"enable(1): enable SyncE signal clock of this interface.
--	    	 disable(2): disable SyncE signal clock of this interface.
--	    	 Default: enable(1)"
--    ::= { geSyncEEntry 1 }


--    geSyncESsm OBJECT-TYPE
--    	SYNTAX INTEGER {
--    		enable(1),
--    		disable(2)
--    	}
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--    		"enable(1): enable SyncE SSM protocol handler of this interface.
--    	 	 disable(2): disable SyncE SSM protocol handler of this interface.
--    		 Default: enable."
--    ::= { geSyncEEntry 2 }


--------------------------------------------------------------------------------------------------------
-- hwmonitor
--------------------------------------------------------------------------------------------------------

-- fanConfTable

   	fanConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FanConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of fan module, currently only control card has fan,
		an alarm will be raised if the sensing value higher or lower than these value."
	::= { hwmonitor 1 }

	fanConfEntry OBJECT-TYPE
	SYNTAX FanConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { fanConfIndex }
	::= { fanConfTable 1 }

	FanConfEntry ::=
		SEQUENCE {
			fanConfIndex				INTEGER,
			fanConfHighThreshold			INTEGER,
			fanConfLowThreshold			INTEGER
		}

	fanConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"FAN module index"
	::= { fanConfEntry 1 }

	fanConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..15000)
	UNITS "RPM"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"FAN speed high threshold"
	::= { fanConfEntry 2 }


	fanConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..15000)
	UNITS "RPM"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"FAN speed low threshold"
	::= { fanConfEntry 3 }

-- temperatureConfTable

    temperatureConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF TemperatureConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of temperature module, an alarm will be raised
		if the sensing value higher or lower than these value."
--	::= { hwmonitor 1 }	reserved for T780 fanConfTable
	::= { hwmonitor 2 }

	temperatureConfEntry OBJECT-TYPE
	SYNTAX TemperatureConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This is a temperature detection configuration entry to define temperature alarm high and low threshold."
	INDEX { slotModuleId, temperatureConfIndex }
	::= { temperatureConfTable 1 }

	TemperatureConfEntry ::=
		SEQUENCE {
			temperatureConfIndex				INTEGER,
			temperatureConfHighThreshold		INTEGER,
			temperatureConfLowThreshold			INTEGER,
			temperatureConfCardType				INTEGER
		}

	temperatureConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..3)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The temperatureConfIndex indicates temperature sensor point where:
		1 - is a sensing point near DC/DC power brick
		2 - is a sensing point near Analog Front End (AFE) chip
		3 - is a sensing point near CPU."
	::= { temperatureConfEntry 1 }

	temperatureConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (-50..106)
	UNITS "degree Celsius"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Temperature high threshold. if card type is olc3416-22,
		then the range is -50 ~ 106 and another card type is -50 ~ 100"
	::= { temperatureConfEntry 2 }


	temperatureConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (-50..106)
	UNITS "degree Celsius"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Temperature low threshold. if card type is olc3416-22,
		then the range is -50 ~ 106 and another card type is -50 ~ 100"
	::= { temperatureConfEntry 3 }

	temperatureConfCardType OBJECT-TYPE
	SYNTAX INTEGER {
		empty(0),
		unknown(1),
		msc1240xa(11),
		msc1240xb(12),
		msc1240xc(13),
		msc1280xa(14),
		msc1240qa(15),
		msc1280x(16),
		vec1001x(21),
		vec1002x(22),
		oul3540x(23),
		vlc1448x-51(31),
		vlc1448x-53(32),
		vlc1448x-51s(33),
		vlc1448x-51c(34),
		olc3416-22(41),
		olc3416-42(42),
		glc1440x-55(51),
		glc1440x-55a(52)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Card type of temperature threshold"
	::= { temperatureConfEntry 4 }

-- voltageConfTable

    voltageConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoltageConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of voltage module, an alarm will be raised
		if the sensing value higher or lower than these value."
	::= { hwmonitor 3 }

	voltageConfEntry OBJECT-TYPE
	SYNTAX VoltageConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This is a voltage detection configuration entry to define voltage alarm high and low threshold."
	INDEX { slotModuleId, voltageConfIndex }
	::= { voltageConfTable 1 }

	VoltageConfEntry ::=
		SEQUENCE {
			voltageConfIndex				INTEGER,
			voltageConfHighThreshold		INTEGER,
			voltageConfLowThreshold			INTEGER,
			voltageConfCardType             INTEGER
		}

	voltageConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..5)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Voltage sensor is indexed from 1 to 5.
		voltage sensor 1 - monitor +1.05Vdc source
		voltage sensor 2 - monitor +1.2Vdc source
		voltage sensor 3 - monitor +1.8Vdc source
		voltage sensor 4 - monitor +3.3Vdc source
		voltage sensor 5 - monitor +14.5Vdc source"
	::= { voltageConfEntry 1 }

	voltageConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..25000)
	UNITS "mV"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Voltage high threshold."
	::= { voltageConfEntry 2 }


	voltageConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..25000)
	UNITS "mV"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Voltage low threshold."
	::= { voltageConfEntry 3 }

	voltageConfCardType OBJECT-TYPE
	SYNTAX INTEGER {
		empty(0),
		unknown(1),
		msc1240xa(11),
		msc1240xb(12),
		msc1240xc(13),
		msc1280xa(14),
		msc1240qa(15),
		msc1280x(16),
		vec1001x(21),
		vec1002x(22),
		oul3540x(23),
		vlc1448x-51(31),
		vlc1448x-53(32),
		vlc1448x-51s(33),
		vlc1448x-51c(34),
		olc3416-22(41),
		olc3416-42(42),
		glc1440x-55(51),
		glc1440x-55a(52)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Card type of Voltage threshold"

	::= { voltageConfEntry 4 }

--fanStatsTable

	fanStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FanStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table that contains rpm information about the fans."
    ::= { hwmonitor 4 }

    fanStatsEntry OBJECT-TYPE
    SYNTAX FanStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        ""
    INDEX  { fanConfIndex }
    ::= { fanStatsTable 1 }

    FanStatsEntry ::=
    	SEQUENCE {
        	fanRpmCurValue		INTEGER,
			fanRpmMaxValue		INTEGER,
			fanRpmMinValue		INTEGER,
			fanRpmAvgValue		INTEGER,
			fanRpmDescr		DisplayString
         }

	fanRpmCurValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The current rpm of the fan."
    ::= { fanStatsEntry 1 }

    fanRpmMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum rpm ever performed by the fan."
    ::= { fanStatsEntry 2 }

    fanRpmMinValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum rpm ever performed by the fan."
    ::= { fanStatsEntry 3 }

    fanRpmAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average rpm performed by the fan."
    ::= { fanStatsEntry 4 }

    fanRpmDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the fan (e.g. location, function, etc.)."
    ::= { fanStatsEntry 5 }

--temperatureStatsTable

	temperatureStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TemperatureStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		"A table that contains temperature information."
    ::= { hwmonitor 5 }

    temperatureStatsEntry OBJECT-TYPE
    SYNTAX TemperatureStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a temperature statistatics since system restarted."
    INDEX { slotModuleId, temperatureConfIndex }
    ::= { temperatureStatsTable 1 }

    TemperatureStatsEntry ::=
    	SEQUENCE {
        	temperatureCurValue	INTEGER,
			temperatureMaxValue	INTEGER,
			temperatureMinValue	INTEGER,
			temperatureAvgValue	INTEGER,
			temperatureDescr	DisplayString
         }

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

    temperatureMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum temperature detected by the sensor since system restarted."
    ::= { temperatureStatsEntry 2 }

    temperatureMinValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum temperature detected by the sensor since system restarted."
    ::= { temperatureStatsEntry 3 }

	temperatureAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average temperature is calculated/aveaged by software based on current temperature values since system restarted."
    ::= { temperatureStatsEntry 4 }

    temperatureDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the temperature sensor (e.g. CPU for temperatureConfIndex 3)."

    ::= { temperatureStatsEntry 5 }

--voltageStatsTable

	voltageStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF VoltageStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		"A table that contains voltage information about the system."
    ::= { hwmonitor 6 }

    voltageStatsEntry OBJECT-TYPE
    SYNTAX VoltageStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		"This is a voltage statistics since system restarted."
    INDEX { slotModuleId, voltageConfIndex }
    ::= { voltageStatsTable 1 }

    VoltageStatsEntry ::=
    	SEQUENCE {
      		voltageCurValue		INTEGER,
			voltageMaxValue		INTEGER,
			voltageMinValue		INTEGER,
			voltageAvgValue		INTEGER,
			voltageNominalValue	INTEGER,
			voltageDescr		DisplayString
        }

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

    voltageMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "mV"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum voltage detected by the sensor since system restarted."
    ::= { voltageStatsEntry 2 }

    voltageMinValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "mV"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum voltage detected by the sensor since system restarted."
    ::= { voltageStatsEntry 3 }

    voltageAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "mV"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average voltage calculated/averaged by software based on current voltage values since system restarted."
    ::= { voltageStatsEntry 4 }

    voltageNominalValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "mV"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The nominal voltage which the power should be supplied. This is information from hardware board design"
    ::= { voltageStatsEntry 5 }

    voltageDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the voltage (e.g. +1.05V, a 1.05 Vdc voltage input)."
    ::= { voltageStatsEntry 6 }

	fanModeConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FanModeConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the fan mode of fan module."
	::= { hwmonitor 7 }

	fanModeConfEntry OBJECT-TYPE
	SYNTAX FanModeConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { fanModeConfGroup }
	::= { fanModeConfTable 1 }

	FanModeConfEntry ::=
		SEQUENCE {
			fanModeConfGroup				INTEGER,
			fanModeConfStatus				INTEGER
		}

	fanModeConfGroup OBJECT-TYPE
	SYNTAX INTEGER {
		group1(1),
		group3(3)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"FAN group"
	::= { fanModeConfEntry 1 }

	fanModeConfStatus OBJECT-TYPE
	SYNTAX INTEGER {
		average(1),
		immediate(2),
		fix(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set the fan mode.
			average : fan duty-cycle with average temperature
			immediate : fan duty-cycle with immediate temperature
			fix : the mode displayed based on the setting of duty-cycle in fanDutyCycleConfTable by user"
	::= { fanModeConfEntry 2 }

   	fanDutyCycleConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FanDutyCycleConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the duty cycle of fan module."
	::= { hwmonitor 8 }

	fanDutyCycleConfEntry OBJECT-TYPE
	SYNTAX FanDutyCycleConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { fanDutyCycleConfGroup }
	::= { fanDutyCycleConfTable 1 }

	FanDutyCycleConfEntry ::=
		SEQUENCE {
			fanDutyCycleConfGroup				INTEGER,
			fanDutyCycleConfPercentage			INTEGER
		}

	fanDutyCycleConfGroup OBJECT-TYPE
	SYNTAX INTEGER {
		group1(1),
		group3(3)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"FAN group"
	::= { fanDutyCycleConfEntry 1 }

	fanDutyCycleConfPercentage OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"FAN duty cycle percentage"
	::= { fanDutyCycleConfEntry 2 }

-- cpuStatsTable

	cpuStatsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpuStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show cpu status."
	::= { hwmonitor 9 }

	cpuStatsEntry OBJECT-TYPE
	SYNTAX CpuStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Display the status of CPU loading.
         Index 0: Average CPU loading for the system.
         Index 1 ~ 8: CPU loading for per core."
	INDEX { slotModuleId, cpuStatsIndex }
	::= { cpuStatsTable 1 }

	CpuStatsEntry ::=
		SEQUENCE {
			cpuStatsIndex				INTEGER,
			cpuStatsHighThreshold		INTEGER,
			cpuStatsCurrent				Gauge32
		}

	cpuStatsIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"CPU Status index."
	::= { cpuStatsEntry 1 }

	cpuStatsHighThreshold OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The High Threshold of CPU loading."
	::= { cpuStatsEntry 2 }

	cpuStatsCurrent OBJECT-TYPE
	SYNTAX Gauge32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current CPU loading."
	::= { cpuStatsEntry 3 }

-- memStatsTable

	memStatsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF MemStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show mem status."
	::= { hwmonitor 10 }

	memStatsEntry OBJECT-TYPE
	SYNTAX MemStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Display memory utilization."
	INDEX { memStatsIndex }
	::= { memStatsTable 1 }

	MemStatsEntry ::=
		SEQUENCE {
			memStatsIndex				INTEGER,
			memStatsHighThreshold			DisplayString,
			memStatsCurrent			DisplayString
		}

	memStatsIndex OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"MEM Status index."
	::= { memStatsEntry 1 }

	memStatsHighThreshold OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..4))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The High Threshold of memory."
	::= { memStatsEntry 2 }

	memStatsCurrent OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current Memory loading."
	::= { memStatsEntry 3 }

-- powerStatsTable

	powerStatsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PowerStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table that display the current vlaue for power module
		(only support on IES4204, not support on IES5206)"
	::= { hwmonitor 11 }

	powerStatsEntry OBJECT-TYPE
	SYNTAX PowerStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The entry of powerStatsTable
		(only support on IES4204, not support on IES5206)"
	INDEX { powerStatsIndex }
	::= { powerStatsTable 1 }

	PowerStatsEntry ::=
		SEQUENCE {
			powerStatsIndex				INTEGER,
			powerStatsVoltage			DisplayString,
			powerStatsTemperature		DisplayString,
			powerStatsCurrent			DisplayString,
			powerStatsPower				DisplayString
		}

	powerStatsIndex OBJECT-TYPE
	SYNTAX  INTEGER {
			input-A(1),
			input-B(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index for the power module"
	::= { powerStatsEntry 1 }

	powerStatsVoltage OBJECT-TYPE
	SYNTAX DisplayString
	UNITS "Volt"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current power voltage(V)"
	::= { powerStatsEntry 2 }

	powerStatsTemperature OBJECT-TYPE
	SYNTAX DisplayString
	UNITS "Celsius"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current power temperature(C)"
	::= { powerStatsEntry 3 }

	powerStatsCurrent OBJECT-TYPE
	SYNTAX DisplayString
	UNITS "Ampere"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current power current(A)"
	::= { powerStatsEntry 4 }

	powerStatsPower OBJECT-TYPE
	SYNTAX DisplayString
	UNITS "Watts"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current power power(W)"
	::= { powerStatsEntry 5 }

--------------------------------------------------------------------------------------------------------
-- igmpmld
--------------------------------------------------------------------------------------------------------


	groupPrivilege		OBJECT IDENTIFIER ::= { igmpmld 10 }
	mvlan		OBJECT IDENTIFIER ::= { igmpmld 11 }
	group			OBJECT IDENTIFIER ::= { igmpmld 12 }
	igmpmldStatistics	OBJECT IDENTIFIER ::= { igmpmld 13 }
	igmpmldLogs		OBJECT IDENTIFIER ::= { igmpmld 14 }
	igmpmldOps		OBJECT IDENTIFIER ::= { igmpmld 15 }

--igmpmldMode

	igmpmldMode OBJECT-TYPE
    SYNTAX  INTEGER{
       disable(0),
       snooping(2),
       proxy(3),
       proxyReport(4)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"IGMP or MLD packet non-mvlan handling mode.
	disable(0) -	disable IGMP or MLD function
	snooping(2) - packets are handled IGMP or MLD snopping function
	proxy(3) - packets are handled IGMP or MLD proxy function
	proxyReport(4) - packets are handled IGMP or MLD proxy Report function
	"
    ::= { igmpmld 1 }

--igmpmldVersion

	igmpmldVersion OBJECT-TYPE
    SYNTAX  INTEGER{
       igmpv2(1),
       igmpv3(2),
       mldv1(3),
       mldv2(4),
       igmpv2AndMldv1(5),
       igmpv2AndMldv2(6),
       igmpv3AndMldv1(7),
       igmpv3AndMldv2(8)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures IGMP/MLD protocol version."
    ::= { igmpmld 2 }

 --igmpmldLeaveMode

	igmpmldLeaveMode OBJECT-TYPE
    SYNTAX  INTEGER{
       fastLeave(1),
       lastMemberQuery(2),
       everyLeave(3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures IGMP/MLD leave mode
  Fast-leave:1
    After checking last source IP is leaved, group timeout is immediately. No G-SQ send out.
  Last-member-query:2
    After checking last source IP is leaved, send G-SQ. Group starts to wait for response in last-member-query interval.
    If no response, group timeout.
  Every-leave:3
    Each time leave report is received, send G-SQ. Group starts to wait for response even other source IPs existed.
    If no response, group timeout.
    If lots of different source IP leave in same group in last-member-query interval, only one G-SQ would be sent out to prevent lots of response."
    ::= { igmpmld 3 }

--igmpmldLastMemberQueryInterval

	igmpmldLastMemberQueryInterval OBJECT-TYPE
    SYNTAX  INTEGER (200..1000)
    UNITS "ms"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures last member query interval 200~1000 in ms, in step of 100"
    ::= { igmpmld 4 }

 --igmpmldLastMemberQueryRobustness

	igmpmldLastMemberQueryRobustness OBJECT-TYPE
    SYNTAX  INTEGER (1..5)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures last member query robusteness."
    ::= { igmpmld 5 }

--igmpmldGeneralQueryInterval

	igmpmldGeneralQueryInterval OBJECT-TYPE
    SYNTAX  INTEGER (10..300)
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query query interval."
    ::= { igmpmld 6 }

--igmpmldGeneralQueryRobustness

	igmpmldGeneralQueryRobustness OBJECT-TYPE
    SYNTAX  INTEGER (1..5)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query robustness."
    ::= { igmpmld 7 }

--igmpmldGeneralQueryMaxRespTime

    igmpmldGeneralQueryMaxRespTime OBJECT-TYPE
    SYNTAX  INTEGER (1..10)
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query maximum response time."
    ::= { igmpmld 8 }

-- igmpmldConfPortTable

	igmpmldConfPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"igmp/mld Conf Port Table."
	::= { igmpmld 9 }

	igmpmldConfPortEntry OBJECT-TYPE
	SYNTAX IgmpmldConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { igmpmldConfPortTable 1 }

	IgmpmldConfPortEntry ::=
		SEQUENCE {
			igmpmldConfPortMaxGroupCount				INTEGER,
			igmpmldConfPortPrivilegeEnable			INTEGER,
			igmpmldConfPortCacMaxBandwidth				INTEGER,
			igmpmldConfPortMaxMsgCount				INTEGER
		}

	igmpmldConfPortMaxGroupCount OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures maximum group counts on the specified UNI ports."
	::= { igmpmldConfPortEntry 1 }

	igmpmldConfPortPrivilegeEnable OBJECT-TYPE
	SYNTAX INTEGER{
		enable(1) ,
		disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enables group privilege checking on specified UNI ports."
	::= { igmpmldConfPortEntry 2 }

	igmpmldConfPortCacMaxBandwidth OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	UNITS "Mbps"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures maximum CAC bandwidth on the specified UNI ports. 0 means no limited"
	::= { igmpmldConfPortEntry 4 }

	igmpmldConfPortMaxMsgCount OBJECT-TYPE
	SYNTAX INTEGER (1..32)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures maximum message counts on the specified UNI ports."
	::= { igmpmldConfPortEntry 5 }

----------------------------------------
-- groupPrivilege
----------------------------------------

--igmpmldMaxNumOfGroupPrivilegeProfiles

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

-- igmpmldGroupPrivilegeProfileTable

	igmpmldGroupPrivilegeProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldGroupPrivilegeProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Multicast group privilege profile table"
	::= { groupPrivilege 2 }

	igmpmldGroupPrivilegeProfileEntry OBJECT-TYPE
	SYNTAX IgmpmldGroupPrivilegeProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldGroupPrivilegeProfileName, igmpmldGroupPrivilegeProfileIndex }
	::= { igmpmldGroupPrivilegeProfileTable 1 }

	IgmpmldGroupPrivilegeProfileEntry ::=
		SEQUENCE {
			igmpmldGroupPrivilegeProfileName				DisplayString,
			igmpmldGroupPrivilegeProfileIndex				INTEGER,
			igmpmldGroupPrivilegeProfileAddressType         InetAddressType,
			igmpmldGroupPrivilegeProfileStartIp             InetAddress,
			igmpmldGroupPrivilegeProfileEndIp               InetAddress,
			igmpmldGroupPrivilegeProfilePrivilege           INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewLength 		INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewInterval 	INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewCount		INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewReset		INTEGER,
			igmpmldGroupPrivilegeProfileCacBandwidth        INTEGER,
			igmpmldGroupPrivilegeProfileRowStatus           RowStatus
		}

	igmpmldGroupPrivilegeProfileName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Profile name"
	::= { igmpmldGroupPrivilegeProfileEntry 1 }

	igmpmldGroupPrivilegeProfileIndex OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Configures a privilege entry of specified group privilege profile."
	::= { igmpmldGroupPrivilegeProfileEntry 2 }

	igmpmldGroupPrivilegeProfileAddressType OBJECT-TYPE
	SYNTAX InetAddressType {ipv4(1), ipv6(2)}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The type of address format used for the
         igmpmldGroupPrivilegeProfileStartIp object and
		 igmpmldGroupPrivilegeProfileEndIp object."
	::= { igmpmldGroupPrivilegeProfileEntry 3 }

    igmpmldGroupPrivilegeProfileStartIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldGroupPrivilegeProfileEntry 4 }

    igmpmldGroupPrivilegeProfileEndIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldGroupPrivilegeProfileEntry 5 }

	igmpmldGroupPrivilegeProfilePrivilege OBJECT-TYPE
	SYNTAX INTEGER{
		forbid(0),
		permit(1),
		preview(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"forbid: deny groups delivery
		permit: allows groups delivery.
		preview: allows groups preview."
	::= { igmpmldGroupPrivilegeProfileEntry 6 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewLength OBJECT-TYPE
	SYNTAX INTEGER (10..300)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "length timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 7 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewInterval OBJECT-TYPE
	SYNTAX INTEGER (10..300)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "interval timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 8 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewCount OBJECT-TYPE
	SYNTAX INTEGER (1..10)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "preview count"
	::= { igmpmldGroupPrivilegeProfileEntry 9 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewReset OBJECT-TYPE
	SYNTAX INTEGER (30..86400)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "reset timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 10 }


	igmpmldGroupPrivilegeProfileCacBandwidth OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	UNITS "Mbps"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Multicast channel bandwidth for channel specified"
	::= { igmpmldGroupPrivilegeProfileEntry 11 }

	igmpmldGroupPrivilegeProfileRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry.
		To destroy the whole profile directly, use igmpmldGroupPrivilegeProfileIndex 0 to indicate this case."
	::= { igmpmldGroupPrivilegeProfileEntry 12 }

-- igmpmldGroupPrivilegePortTable

	igmpmldGroupPrivilegePortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldGroupPrivilegePortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures group privilege profile to UNI ports"
	::= { groupPrivilege 3 }

	igmpmldGroupPrivilegePortEntry OBJECT-TYPE
	SYNTAX IgmpmldGroupPrivilegePortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, IMPLIED igmpmldGroupPrivilegeProfileName  }

	::= { igmpmldGroupPrivilegePortTable 1 }

	IgmpmldGroupPrivilegePortEntry ::=
		SEQUENCE {
			igmpmldGroupPrivilegePortEntryRowStatus			RowStatus
		}

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

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

--igmpmldMaxNumOfMvlan

	igmpmldMaxNumOfMvlan OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of MVLAN supported by the system."
    ::= { mvlan 1 }

-- igmpmldMvlanTable

	igmpmldMvlanTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { mvlan 2 }

	igmpmldMvlanEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldMvlanId }
	::= { igmpmldMvlanTable 1 }

	IgmpmldMvlanEntry ::=
		SEQUENCE {
			igmpmldMvlanId				VlanIndex,
			igmpmldMvlanRowStatus		RowStatus,
			igmpmldMvlanPbit				INTEGER
		}

	igmpmldMvlanId OBJECT-TYPE
	SYNTAX VlanIndex (1..4094)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Specified MVLAN ID."
	::= { igmpmldMvlanEntry 1 }

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

    igmpmldMvlanPbit OBJECT-TYPE
  SYNTAX  INTEGER (0..8)
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Configure the priority for specified mvlan group proxy report/leave/query, snooping report/leave/LMQ.
     <pbit>: 0~8. default 8.
     8 stands for using incoming vlan, but auto-genetated query/report uses priority 7."
  ::= { igmpmldMvlanEntry 3 }

-- igmpmldMvlanPortTable

	igmpmldMvlanPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Joins specified UNI ports to MVLAN."
	::= { mvlan 3 }

	igmpmldMvlanPortEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex ,igmpmldMvlanId }

	::= { igmpmldMvlanPortTable 1 }

	IgmpmldMvlanPortEntry ::=
		SEQUENCE {
			igmpmldMvlanPortUniVlan			VlanIndex,
			igmpmldMvlanPortRowStatus		RowStatus
		}

	igmpmldMvlanPortUniVlan OBJECT-TYPE
	SYNTAX VlanIndex (0..4094)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Specifies the egress VLAN ID, 0 means untag."
	::= { igmpmldMvlanPortEntry 1 }

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

-- igmpmldMvlanMapTable

	igmpmldMvlanMapTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanMapEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures N:1 VLAN mapping by group address."
	::= { mvlan 4 }

	igmpmldMvlanMapEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanMapEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldMvlanId, igmpmldMvlanMapIndex }
	::= { igmpmldMvlanMapTable 1 }

	IgmpmldMvlanMapEntry ::=
		SEQUENCE {
			igmpmldMvlanMapIndex			INTEGER,
			igmpmldMvlanMapStartIp			InetAddress,
			igmpmldMvlanMapEndIp			InetAddress,
			igmpmldMvlanMapRowStatus		RowStatus
		}

	igmpmldMvlanMapIndex OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Configures a mapping entry of mvlan map table."
	::= { igmpmldMvlanMapEntry 1 }

	igmpmldMvlanMapStartIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldMvlanMapEntry 2 }

	igmpmldMvlanMapEndIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldMvlanMapEntry 3 }

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

----------------------------------------
-- group
----------------------------------------

-- igmpmldMvlanGroupTable

        igmpmldMvlanGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldMvlanGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmpmld group by mvlan information."
        ::= { group 3 }

		igmpmldMvlanGroupEntry OBJECT-TYPE
        SYNTAX IgmpmldMvlanGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldMvlanGroupTable."
        INDEX { igmpmldMvlanGroupId, igmpmldMvlanGroupAddressType, IMPLIED igmpmldMvlanGroupAddress }
        ::= { igmpmldMvlanGroupTable 1 }

        IgmpmldMvlanGroupEntry ::=
        	SEQUENCE {
        	igmpmldMvlanGroupId							VlanIndex,
			igmpmldMvlanGroupAddressType				InetAddressType,
			igmpmldMvlanGroupAddress					InetAddress,
			igmpmldMvlanGroupNumberOfMembers			INTEGER,
			igmpmldMvlanGroupNumberOfNewJoinedMembers	INTEGER,
			igmpmldMvlanGroupNumberOfLeftMembers		INTEGER
           	}

		igmpmldMvlanGroupId OBJECT-TYPE
		SYNTAX VlanIndex (1..4094)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Specified MVLAN ID."
		::= { igmpmldMvlanGroupEntry 1 }

        igmpmldMvlanGroupAddressType OBJECT-TYPE
        SYNTAX InetAddressType {ipv4(1), ipv6(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The type of address format used for the
			igmpmldGroupAddress object."
        ::= { igmpmldMvlanGroupEntry 2 }

        igmpmldMvlanGroupAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "igmpmld group address"
        ::= { igmpmldMvlanGroupEntry 3 }

        igmpmldMvlanGroupNumberOfMembers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of group members"
        ::= { igmpmldMvlanGroupEntry 4 }

        igmpmldMvlanGroupNumberOfNewJoinedMembers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of new joined members"
        ::= { igmpmldMvlanGroupEntry 5 }

        igmpmldMvlanGroupNumberOfLeftMembers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of left members"
        ::= { igmpmldMvlanGroupEntry 6 }

-- igmpmldMvlanGroupPortTable

        igmpmldMvlanGroupPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldMvlanGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmpmld Group port by mvlan information."
        ::= { group 4 }

		igmpmldMvlanGroupPortEntry OBJECT-TYPE
        SYNTAX IgmpmldMvlanGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldGroupPortTable."
        INDEX { ifIndex, igmpmldMvlanGroupId, igmpmldMvlanGroupAddressType, IMPLIED igmpmldMvlanGroupAddress }
        ::= { igmpmldMvlanGroupPortTable 1 }

        IgmpmldMvlanGroupPortEntry ::=
        	SEQUENCE {
			igmpmldMvlanGroupCreateTime    DisplayString,
			igmpmldMvlanGroupPortBandwidth INTEGER,
			igmpmldMvlanGroupPortPrivilege INTEGER,
			igmpmldMvlanGroupPortState INTEGER
			}

        igmpmldMvlanGroupCreateTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "createTime of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 1 }

        igmpmldMvlanGroupPortBandwidth OBJECT-TYPE
        SYNTAX INTEGER (0..100)
		UNITS "Mbps"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "bandwidth of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 2 }

		igmpmldMvlanGroupPortPrivilege OBJECT-TYPE
        SYNTAX INTEGER {
			forbid(0),
			preview(1),
			permit(2)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "privilege of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 3 }

        igmpmldMvlanGroupPortState OBJECT-TYPE
        SYNTAX INTEGER {
			null(0),
			active(1),
			last-member-query(2),
			preview(3),
			preview-last-member-query(4),
			preview-forbid(5)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "state of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 4 }

-- mgmdQuerierIpTable

        mgmdQuerierIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MgmdQuerierIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes querier IP by mvlan information."
        ::= { group 5 }

		mgmdQuerierIpEntry OBJECT-TYPE
        SYNTAX MgmdQuerierIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in mgmdQuerierIpTable."
        INDEX { mgmdQuerierIpVid, mgmdQuerierIpAddressType, IMPLIED mgmdQuerierIpAddress }
        ::= { mgmdQuerierIpTable 1 }

        MgmdQuerierIpEntry ::=
        	SEQUENCE {
        	mgmdQuerierIpVid							VlanIndex,
			mgmdQuerierIpAddressType				InetAddressType,
			mgmdQuerierIpAddress					InetAddress
           	}

		mgmdQuerierIpVid OBJECT-TYPE
		SYNTAX VlanIndex (1..4094)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Specified MVLAN ID."
		::= { mgmdQuerierIpEntry 1 }

        mgmdQuerierIpAddressType OBJECT-TYPE
        SYNTAX InetAddressType {ipv4(1), ipv6(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The type of address format used for the
			mgmdQuerierIpAddress object."
        ::= { mgmdQuerierIpEntry 2 }

        mgmdQuerierIpAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "igmpmld QuerierIp address"
        ::= { mgmdQuerierIpEntry 3 }

-- mgmdClientSrcIpTable

        mgmdClientSrcIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MgmdClientSrcIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes client source IP on per Group."
        ::= { group 6 }

		mgmdClientSrcIpEntry OBJECT-TYPE
        SYNTAX MgmdClientSrcIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in mgmdClientSrcIpTable."
        INDEX { ifIndex, igmpmldMvlanGroupId, igmpmldMvlanGroupAddressType, IMPLIED igmpmldMvlanGroupAddress, mgmdClientSrcIpIndex}
        ::= { mgmdClientSrcIpTable 1 }

        MgmdClientSrcIpEntry ::=
        SEQUENCE {
        	mgmdClientSrcIpIndex    INTEGER,
    			mgmdClientSrcIpAddressType				InetAddressType,
    			mgmdClientSrcIpAddress					InetAddress

         }

        mgmdClientSrcIpIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { mgmdClientSrcIpEntry 1 }


        mgmdClientSrcIpAddressType OBJECT-TYPE
        SYNTAX InetAddressType {ipv4(1), ipv6(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		      ""
        ::= { mgmdClientSrcIpEntry 2 }

        mgmdClientSrcIpAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                ""
        ::= { mgmdClientSrcIpEntry 3 }




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

-- igmpmldStatsTable

--        igmpmldStatisticsRxQuery OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMP query messages received."
--        ::= { igmpmldStatistics 1 }
--
--        igmpmldStatisticstTxQuery OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMP query messages transmitted."
--        ::= { igmpmldStatistics 2 }
--
--        igmpmldStatisticsRxReport OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMP report messages received."
--        ::= { igmpmldStatistics 3 }
--
--        igmpmldStatisticsTxReport OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMP report messages transmitted."
--        ::= { igmpmldStatistics 4 }


-- igmpmldStatsPortTable

        igmpmldStatisticsPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP/MLD port statistics information"
        ::= { igmpmldStatistics 5 }

		igmpmldStatisticsPortEntry OBJECT-TYPE
        SYNTAX IgmpmldStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldStatisticsPortTable"
        INDEX { ifIndex }
        ::= { igmpmldStatisticsPortTable 1 }

        IgmpmldStatisticsPortEntry ::=
        	SEQUENCE {
--			igmpmldStatisticsPortChannelCreateSuccess 	INTEGER,
--			igmpmldStatisticsPortChannelCreateFail 		INTEGER,
--			igmpmldStatisticsPortChannelRemoveLeave		INTEGER,
--			igmpmldStatisticsPortChannelRemoveTimeout	INTEGER,
			igmpmldStatisticsPortQueryRx		 		INTEGER,
			igmpmldStatisticsPortQueryTx 				INTEGER,
--			igmpmldStatisticsPortGeneralQueryIgmpv2		INTEGER,
--			igmpmldStatisticsPortGeneralQueryIgmpv3		INTEGER,
--			igmpmldStatisticsPortGeneralQueryMldv1 		INTEGER,
--			igmpmldStatisticsPortGeneralQueryMldv2		INTEGER,
--			igmpmldStatisticsPortSpecificQueryIgmpv2	INTEGER,
--			igmpmldStatisticsPortSpecificQueryIgmpv3	INTEGER,
--			igmpmldStatisticsPortSpecificQueryMldv1 	INTEGER,
--			igmpmldStatisticsPortSpecificQueryMldv2		INTEGER,
			igmpmldStatisticsPortReportRx		 		INTEGER,
			igmpmldStatisticsPortReportTx 				INTEGER,
			igmpmldStatisticsPortReportJoinIgmpv2 		INTEGER,
			igmpmldStatisticsPortReportLeaveIgmpv2		INTEGER,
			igmpmldStatisticsPortReportDropIgmp			INTEGER,
--			igmpmldStatisticsPortCompatibleMode			INTEGER,
			igmpmldStatisticsPortReportJoinMldv1 		INTEGER,
			igmpmldStatisticsPortReportLeaveMldv1		INTEGER,
			igmpmldStatisticsPortReportDropMld			INTEGER,
			igmpmldStatisticsPortReportIgmpv3			INTEGER,
			igmpmldStatisticsPortReportMldv2			INTEGER,
			igmpmldStatisticsPortQueryDropIgmp			INTEGER,
			igmpmldStatisticsPortQueryDropMld			INTEGER,
			igmpmldStatisticsPortQueryIgmpv2		INTEGER,
			igmpmldStatisticsPortQueryIgmpv3		INTEGER,
			igmpmldStatisticsPortQueryMldv1		INTEGER,
			igmpmldStatisticsPortQueryMldv2		INTEGER
			}

--        igmpmldStatisticsPortChannelCreateSuccess OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of channel group created successfully"
--        ::= { igmpmldStatisticsPortEntry 1 }
--
--        igmpmldStatisticsPortChannelCreateFail OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of channel group created fail"
--        ::= { igmpmldStatisticsPortEntry 2 }
--
--		igmpmldStatisticsPortChannelRemoveLeave OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of channel group removed due to user leave"
--        ::= { igmpmldStatisticsPortEntry 3 }
--
--        igmpmldStatisticsPortChannelRemoveTimeout OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of channel group removed due to time out"
--        ::= { igmpmldStatisticsPortEntry 4 }

        igmpmldStatisticsPortQueryRx OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages received."
        ::= { igmpmldStatisticsPortEntry 5 }

		igmpmldStatisticsPortQueryTx OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 6 }

--		igmpmldStatisticsPortGeneralQueryIgmpv2 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMPv2 general query messages"
--        ::= { igmpmldStatisticsPortEntry 7 }
--
--        igmpmldStatisticsPortGeneralQueryIgmpv3 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMPv3 general query messages"
--        ::= { igmpmldStatisticsPortEntry 8 }
--
--		igmpmldStatisticsPortGeneralQueryMldv1 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of MLDv1 general query messages"
--        ::= { igmpmldStatisticsPortEntry 9 }
--
--		igmpmldStatisticsPortGeneralQueryMldv2 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of MLDv2 general query messages"
--        ::= { igmpmldStatisticsPortEntry 10 }
--
--        igmpmldStatisticsPortSpecificQueryIgmpv2 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMPv2 specific query messages"
--        ::= { igmpmldStatisticsPortEntry 11 }
--
--		igmpmldStatisticsPortSpecificQueryIgmpv3 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of IGMPv3 specific query messages"
--        ::= { igmpmldStatisticsPortEntry 12 }
--
--        igmpmldStatisticsPortSpecificQueryMldv1 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of MLDv1 specific query messages"
--        ::= { igmpmldStatisticsPortEntry 14 }
--
--        igmpmldStatisticsPortSpecificQueryMldv2 OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION "The total number of MLDv2 specific query messages"
--        ::= { igmpmldStatisticsPortEntry 15 }

		igmpmldStatisticsPortReportRx OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP/MLD report messages received"
        ::= { igmpmldStatisticsPortEntry 16 }

		igmpmldStatisticsPortReportTx OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP/MLD report messages transmitted"
        ::= { igmpmldStatisticsPortEntry 17 }

        igmpmldStatisticsPortReportJoinIgmpv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 join type report messages "
        ::= { igmpmldStatisticsPortEntry 18 }

		igmpmldStatisticsPortReportLeaveIgmpv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 leave type report messages "
        ::= { igmpmldStatisticsPortEntry 19 }

        igmpmldStatisticsPortReportDropIgmp OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP dropped report messages "
        ::= { igmpmldStatisticsPortEntry 20 }

--		igmpmldStatisticsPortCompatibleMode OBJECT-TYPE
--        SYNTAX INTEGER{
--			none(0),
--			igmpOnly(1),
--			mldOnly(2),
--			igmpAndMld(3)
--		}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--		"The old version compatible mode of specific port.
--		 The uplink ports (enet1 & enet2) share the same mode."
--        ::= { igmpmldStatisticsPortEntry 21 }

        igmpmldStatisticsPortReportJoinMldv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 join type report messages "
        ::= { igmpmldStatisticsPortEntry 22 }

        igmpmldStatisticsPortReportLeaveMldv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 leave type report messages "
        ::= { igmpmldStatisticsPortEntry 23 }

		igmpmldStatisticsPortReportDropMld OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLD dropped report messages "
        ::= { igmpmldStatisticsPortEntry 24 }

        igmpmldStatisticsPortReportIgmpv3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 report messages "
        ::= { igmpmldStatisticsPortEntry 25 }

        igmpmldStatisticsPortReportMldv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 report messages "
        ::= { igmpmldStatisticsPortEntry 26 }

        igmpmldStatisticsPortQueryDropIgmp OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP dropped query messages "
        ::= { igmpmldStatisticsPortEntry 27 }

        igmpmldStatisticsPortQueryDropMld OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLD dropped query messages "
        ::= { igmpmldStatisticsPortEntry 28 }

        igmpmldStatisticsPortQueryIgmpv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 query messages"
        ::= { igmpmldStatisticsPortEntry 29 }

        igmpmldStatisticsPortQueryIgmpv3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 query messages"
        ::= { igmpmldStatisticsPortEntry 30 }

        igmpmldStatisticsPortQueryMldv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 query messages"
        ::= { igmpmldStatisticsPortEntry 31 }

        igmpmldStatisticsPortQueryMldv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of Mldv2 query messages"
        ::= { igmpmldStatisticsPortEntry 32 }


-- mgmdCounterPortTable

        mgmdStatisticsPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MgmdStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP/MLD port statistics information"
        ::= { igmpmldStatistics 6 }

		    mgmdStatisticsPortEntry OBJECT-TYPE
        SYNTAX MgmdStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		    "An entry in mgmdStatisticsPortTable"
        INDEX { ifIndex }
        ::= { mgmdStatisticsPortTable 1 }

        MgmdStatisticsPortEntry ::=
        	SEQUENCE {
          igmpCounterPortRxQueryTotal		INTEGER,
          igmpCounterPortRxQueryV1		INTEGER,
          igmpCounterPortRxQueryV2		INTEGER,
          igmpCounterPortRxQueryV3		INTEGER,
          igmpCounterPortRxQuerySpecific		INTEGER,
          igmpCounterPortRxQueryDrop		INTEGER,

          igmpCounterPortRxReportTotal		INTEGER,
          igmpCounterPortRxReportV1		INTEGER,
          igmpCounterPortRxReportV2		INTEGER,
          igmpCounterPortRxReportV3		INTEGER,
          igmpCounterPortRxReportV2Leave		INTEGER,
          igmpCounterPortRxReportDropByRate		INTEGER,
          igmpCounterPortRxReportDrop		INTEGER,
          igmpCounterPortRxReportUnknown		INTEGER,

          igmpCounterPortTxQueryTotal		INTEGER,
          igmpCounterPortTxQueryV1		INTEGER,
          igmpCounterPortTxQueryV2		INTEGER,
          igmpCounterPortTxQueryV3		INTEGER,
          igmpCounterPortTxQuerySpecific		INTEGER,


          igmpCounterPortTxReportTotal		INTEGER,
          igmpCounterPortTxReportV1		INTEGER,
          igmpCounterPortTxReportV2		INTEGER,
          igmpCounterPortTxReportV3		INTEGER,
          igmpCounterPortTxReportV2Leave		INTEGER,

          igmpCounterPortJoinedGroup		INTEGER,
          igmpCounterPortJoin		INTEGER,
          igmpCounterPortLeave		INTEGER,
          igmpCounterPortDropByMaxGroup		INTEGER,
          igmpCounterPortDropByPrivilege		INTEGER,
          igmpCounterPortDropByMvlan		INTEGER,
          igmpCounterPortDropByOthers		INTEGER,


          mldCounterPortRxQueryTotal		INTEGER,
          mldCounterPortRxQueryV1		INTEGER,
          mldCounterPortRxQueryV2		INTEGER,
          mldCounterPortRxQuerySpecific		INTEGER,
          mldCounterPortRxQueryDrop		INTEGER,

          mldCounterPortRxReportTotal		INTEGER,
          mldCounterPortRxReportV1		INTEGER,
          mldCounterPortRxReportV2		INTEGER,
          mldCounterPortRxReportV1Leave		INTEGER,
          mldCounterPortRxReportDropByRate		INTEGER,
          mldCounterPortRxReportDrop		INTEGER,
          mldCounterPortRxReportUnknown		INTEGER,

          mldCounterPortTxQueryTotal		INTEGER,
          mldCounterPortTxQueryV1		INTEGER,
          mldCounterPortTxQueryV2		INTEGER,
          mldCounterPortTxQuerySpecific		INTEGER,


          mldCounterPortTxReportTotal		INTEGER,
          mldCounterPortTxReportV1		INTEGER,
          mldCounterPortTxReportV2		INTEGER,
          mldCounterPortTxReportV1Leave		INTEGER,

          mldCounterPortJoinedGroup		INTEGER,
          mldCounterPortJoin		INTEGER,
          mldCounterPortLeave		INTEGER,
          mldCounterPortDropByMaxGroup		INTEGER,
          mldCounterPortDropByPrivilege		INTEGER,
          mldCounterPortDropByMvlan		INTEGER,
          mldCounterPortDropByOthers		INTEGER
			}


        igmpCounterPortRxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted IGMP RX query"
        ::= { mgmdStatisticsPortEntry 1 }


        igmpCounterPortRxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V1 query"
        ::= { mgmdStatisticsPortEntry 2 }

        igmpCounterPortRxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 query"
        ::= { mgmdStatisticsPortEntry 3 }

        igmpCounterPortRxQueryV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V3 query"
        ::= { mgmdStatisticsPortEntry 4 }

        igmpCounterPortRxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX specific query"
        ::= { mgmdStatisticsPortEntry 5 }

        igmpCounterPortRxQueryDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMP RX Drop query
        Condition:
          Query from UNI port
          DTag Query
          IGMP Disabled
        "
        ::= { mgmdStatisticsPortEntry 6 }

        igmpCounterPortRxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted IGMP RX report+leave "
        ::= { mgmdStatisticsPortEntry 7 }

        igmpCounterPortRxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V1 report"
        ::= { mgmdStatisticsPortEntry 8 }

        igmpCounterPortRxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 report"
        ::= { mgmdStatisticsPortEntry 9 }

        igmpCounterPortRxReportV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V3 report"
        ::= { mgmdStatisticsPortEntry 10 }

        igmpCounterPortRxReportV2Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 leave"
        ::= { mgmdStatisticsPortEntry 11 }

        igmpCounterPortRxReportDropByRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMP RX report reached max message"
        ::= { mgmdStatisticsPortEntry 12 }

        igmpCounterPortRxReportDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop IGMP Rx report
        Condition:
          DTag report
          Report from NNI
          V3 report under V2 mode"
        ::= { mgmdStatisticsPortEntry 13 }

        igmpCounterPortRxReportUnknown OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop IGMP RX report.
        Not match configured version"
        ::= { mgmdStatisticsPortEntry 14 }

        igmpCounterPortTxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted IGMP query "
        ::= { mgmdStatisticsPortEntry 15 }


        igmpCounterPortTxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V1 query"
        ::= { mgmdStatisticsPortEntry 16 }

        igmpCounterPortTxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 query"
        ::= { mgmdStatisticsPortEntry 17 }

        igmpCounterPortTxQueryV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V3 query"
        ::= { mgmdStatisticsPortEntry 18 }

        igmpCounterPortTxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP specific query"
        ::= { mgmdStatisticsPortEntry 19 }


        igmpCounterPortTxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted IGMP report "
        ::= { mgmdStatisticsPortEntry 20 }

        igmpCounterPortTxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V1 report"
        ::= { mgmdStatisticsPortEntry 21 }

        igmpCounterPortTxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 report"
        ::= { mgmdStatisticsPortEntry 22 }

        igmpCounterPortTxReportV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V3 report"
        ::= { mgmdStatisticsPortEntry 23 }

        igmpCounterPortTxReportV2Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 Leave"
        ::= { mgmdStatisticsPortEntry 24 }

        igmpCounterPortJoinedGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Number of current IGMP joined group"
        ::= { mgmdStatisticsPortEntry 25 }

        igmpCounterPortJoin OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Condition:
          V2: accepted IGMP report
          V3: join group record
        "
        ::= { mgmdStatisticsPortEntry 26 }

        igmpCounterPortLeave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Condition:
          V2: accepted IGMP leave
          V3: leave group record
          "
        ::= { mgmdStatisticsPortEntry 27 }

        igmpCounterPortDropByMaxGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Reached max group
        "
        ::= { mgmdStatisticsPortEntry 28 }

        igmpCounterPortDropByPrivilege OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          forbid privilege
        "
        ::= { mgmdStatisticsPortEntry 29 }

        igmpCounterPortDropByMvlan OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Condition:
          Port doesnot join mvlan
          Group doesnot match mvlan range
        "
        ::= { mgmdStatisticsPortEntry 30 }

        igmpCounterPortDropByOthers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Condition:
            Reached max bandwidth
            Disable privilege profile
            No privilege profile
            Preview forbid
            Preview max count
            Preview max group(16 per port)
            Match static multicast IP
            Mode disabled
            Invalid group IP

        "
        ::= { mgmdStatisticsPortEntry 31 }

        mldCounterPortRxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted MLD RX query"
        ::= { mgmdStatisticsPortEntry 32 }

        mldCounterPortRxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 query"
        ::= { mgmdStatisticsPortEntry 33 }

        mldCounterPortRxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V2 query"
        ::= { mgmdStatisticsPortEntry 34 }

        mldCounterPortRxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX specific query"
        ::= { mgmdStatisticsPortEntry 35 }

        mldCounterPortRxQueryDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLD RX Drop query
        Condition:
          Query from UNI port
          DTag Query
          IGMP Disabled
        "
        ::= { mgmdStatisticsPortEntry 36 }

        mldCounterPortRxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted MLD RX report+leave "
        ::= { mgmdStatisticsPortEntry 37 }

        mldCounterPortRxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 report"
        ::= { mgmdStatisticsPortEntry 38 }

        mldCounterPortRxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V2 report"
        ::= { mgmdStatisticsPortEntry 39 }

        mldCounterPortRxReportV1Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 leave"
        ::= { mgmdStatisticsPortEntry 40 }

        mldCounterPortRxReportDropByRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLD RX report reached max message"
        ::= { mgmdStatisticsPortEntry 41 }

        mldCounterPortRxReportDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop MLD Rx report
        Condition:
          DTag report
          Report from NNI
          V2 report under V1 mode"
        ::= { mgmdStatisticsPortEntry 42 }

        mldCounterPortRxReportUnknown OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop MLD RX report.
        Not match configured version"
        ::= { mgmdStatisticsPortEntry 43 }

        mldCounterPortTxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted MLD query "
        ::= { mgmdStatisticsPortEntry 44 }


        mldCounterPortTxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 query"
        ::= { mgmdStatisticsPortEntry 45 }

        mldCounterPortTxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V2 query"
        ::= { mgmdStatisticsPortEntry 46 }


        mldCounterPortTxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD specific query"
        ::= { mgmdStatisticsPortEntry 47 }


        mldCounterPortTxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted MLD report "
        ::= { mgmdStatisticsPortEntry 48 }

        mldCounterPortTxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 report"
        ::= { mgmdStatisticsPortEntry 49 }

        mldCounterPortTxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V2 report"
        ::= { mgmdStatisticsPortEntry 50 }


        mldCounterPortTxReportV1Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 Leave"
        ::= { mgmdStatisticsPortEntry 51}

        mldCounterPortJoinedGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Number of current MLD joined group"
        ::= { mgmdStatisticsPortEntry 52 }

        mldCounterPortJoin OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Condition:
          V1: accepted MLD report
          V2: join group record
        "
        ::= { mgmdStatisticsPortEntry 53 }

        mldCounterPortLeave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Condition:
          V1: accepted MLD leave
          V2: leave group record
          "
        ::= { mgmdStatisticsPortEntry 54 }

        mldCounterPortDropByMaxGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Reached max group
        "
        ::= { mgmdStatisticsPortEntry 55 }

        mldCounterPortDropByPrivilege OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          forbid privilege
        "
        ::= { mgmdStatisticsPortEntry 56 }

        mldCounterPortDropByMvlan OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Condition:
          Port doesnot join mvlan
          Group doesnot match mvlan range
        "
        ::= { mgmdStatisticsPortEntry 57 }

        mldCounterPortDropByOthers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Condition:
            Reached max bandwidth
            Disable privilege profile
            No privilege profile
            Preview forbid
            Preview max count
            Preview max group(16 per port)
            Match static multicast IP
            Mode disabled
            Invalid group IP

        "
        ::= { mgmdStatisticsPortEntry 58 }

-- mgmdCounterVlanTable

        mgmdStatisticsVlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MgmdStatisticsVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP/MLD VLAN statistics information"
        ::= { igmpmldStatistics 7 }

		    mgmdStatisticsVlanEntry OBJECT-TYPE
        SYNTAX MgmdStatisticsVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		    "An entry in mgmdStatisticsVlanTable"
        INDEX { mgmdCounterVlanId }
        ::= { mgmdStatisticsVlanTable 1 }


        MgmdStatisticsVlanEntry ::=
        	SEQUENCE {
        	mgmdCounterVlanId VlanIndex,
          igmpCounterVlanRxQueryTotal		INTEGER,
          igmpCounterVlanRxQueryV1		INTEGER,
          igmpCounterVlanRxQueryV2		INTEGER,
          igmpCounterVlanRxQueryV3		INTEGER,
          igmpCounterVlanRxQuerySpecific		INTEGER,
          igmpCounterVlanRxQueryDrop		INTEGER,

          igmpCounterVlanRxReportTotal		INTEGER,
          igmpCounterVlanRxReportV1		INTEGER,
          igmpCounterVlanRxReportV2		INTEGER,
          igmpCounterVlanRxReportV3		INTEGER,
          igmpCounterVlanRxReportV2Leave		INTEGER,
          igmpCounterVlanRxReportDropByRate		INTEGER,
          igmpCounterVlanRxReportDrop		INTEGER,
          igmpCounterVlanRxReportUnknown		INTEGER,

          igmpCounterVlanTxQueryTotal		INTEGER,
          igmpCounterVlanTxQueryV1		INTEGER,
          igmpCounterVlanTxQueryV2		INTEGER,
          igmpCounterVlanTxQueryV3		INTEGER,
          igmpCounterVlanTxQuerySpecific		INTEGER,


          igmpCounterVlanTxReportTotal		INTEGER,
          igmpCounterVlanTxReportV1		INTEGER,
          igmpCounterVlanTxReportV2		INTEGER,
          igmpCounterVlanTxReportV3		INTEGER,
          igmpCounterVlanTxReportV2Leave		INTEGER,

          igmpCounterVlanJoinedGroup		INTEGER,
          igmpCounterVlanJoin		INTEGER,
          igmpCounterVlanLeave		INTEGER,
          igmpCounterVlanDropByMaxGroup		INTEGER,
          igmpCounterVlanDropByPrivilege		INTEGER,
          igmpCounterVlanDropByMvlan		INTEGER,
          igmpCounterVlanDropByOthers		INTEGER,


          mldCounterVlanRxQueryTotal		INTEGER,
          mldCounterVlanRxQueryV1		INTEGER,
          mldCounterVlanRxQueryV2		INTEGER,
          mldCounterVlanRxQuerySpecific		INTEGER,
          mldCounterVlanRxQueryDrop		INTEGER,

          mldCounterVlanRxReportTotal		INTEGER,
          mldCounterVlanRxReportV1		INTEGER,
          mldCounterVlanRxReportV2		INTEGER,
          mldCounterVlanRxReportV1Leave		INTEGER,
          mldCounterVlanRxReportDropByRate		INTEGER,
          mldCounterVlanRxReportDrop		INTEGER,
          mldCounterVlanRxReportUnknown		INTEGER,

          mldCounterVlanTxQueryTotal		INTEGER,
          mldCounterVlanTxQueryV1		INTEGER,
          mldCounterVlanTxQueryV2		INTEGER,
          mldCounterVlanTxQuerySpecific		INTEGER,


          mldCounterVlanTxReportTotal		INTEGER,
          mldCounterVlanTxReportV1		INTEGER,
          mldCounterVlanTxReportV2		INTEGER,
          mldCounterVlanTxReportV1Leave		INTEGER,

          mldCounterVlanJoinedGroup		INTEGER,
          mldCounterVlanJoin		INTEGER,
          mldCounterVlanLeave		INTEGER,
          mldCounterVlanDropByMaxGroup		INTEGER,
          mldCounterVlanDropByPrivilege		INTEGER,
          mldCounterVlanDropByMvlan		INTEGER,
          mldCounterVlanDropByOthers		INTEGER

			}

        mgmdCounterVlanId OBJECT-TYPE
        SYNTAX VlanIndex (1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "VLAN id"
        ::= { mgmdStatisticsVlanEntry 1 }


        igmpCounterVlanRxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted IGMP RX query"
        ::= { mgmdStatisticsVlanEntry 2 }


        igmpCounterVlanRxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V1 query"
        ::= { mgmdStatisticsVlanEntry 3 }

        igmpCounterVlanRxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 query"
        ::= { mgmdStatisticsVlanEntry 4 }

        igmpCounterVlanRxQueryV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V3 query"
        ::= { mgmdStatisticsVlanEntry 5 }

        igmpCounterVlanRxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX specific query"
        ::= { mgmdStatisticsVlanEntry 6 }

        igmpCounterVlanRxQueryDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMP RX Drop query
        Condition:
          Query from UNI port
          DTag Query
          IGMP Disabled
        "
        ::= { mgmdStatisticsVlanEntry 7 }

        igmpCounterVlanRxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted IGMP RX report+leave "
        ::= { mgmdStatisticsVlanEntry 8 }

        igmpCounterVlanRxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V1 report"
        ::= { mgmdStatisticsVlanEntry 9 }

        igmpCounterVlanRxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 report"
        ::= { mgmdStatisticsVlanEntry 10 }

        igmpCounterVlanRxReportV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V3 report"
        ::= { mgmdStatisticsVlanEntry 11 }

        igmpCounterVlanRxReportV2Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted IGMP RX V2 leave"
        ::= { mgmdStatisticsVlanEntry 12 }

        igmpCounterVlanRxReportDropByRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMP RX report reached max message"
        ::= { mgmdStatisticsVlanEntry 13 }

        igmpCounterVlanRxReportDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop IGMP Rx report
        Condition:
          DTag report
          Report from NNI
          V3 report under V2 mode"
        ::= { mgmdStatisticsVlanEntry 14 }

        igmpCounterVlanRxReportUnknown OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop IGMP RX report.
        Not match configured version"
        ::= { mgmdStatisticsVlanEntry 15 }

        igmpCounterVlanTxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted IGMP query "
        ::= { mgmdStatisticsVlanEntry 16 }


        igmpCounterVlanTxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V1 query"
        ::= { mgmdStatisticsVlanEntry 17 }

        igmpCounterVlanTxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 query"
        ::= { mgmdStatisticsVlanEntry 18 }

        igmpCounterVlanTxQueryV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V3 query"
        ::= { mgmdStatisticsVlanEntry 19 }

        igmpCounterVlanTxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP specific query"
        ::= { mgmdStatisticsVlanEntry 20 }


        igmpCounterVlanTxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted IGMP report "
        ::= { mgmdStatisticsVlanEntry 21 }

        igmpCounterVlanTxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V1 report"
        ::= { mgmdStatisticsVlanEntry 22 }

        igmpCounterVlanTxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 report"
        ::= { mgmdStatisticsVlanEntry 23 }

        igmpCounterVlanTxReportV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V3 report"
        ::= { mgmdStatisticsVlanEntry 24 }

        igmpCounterVlanTxReportV2Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted IGMP V2 Leave"
        ::= { mgmdStatisticsVlanEntry 25 }

        igmpCounterVlanJoinedGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Number of current IGMP joined group"
        ::= { mgmdStatisticsVlanEntry 26 }

        igmpCounterVlanJoin OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Condition:
          V2: accepted IGMP report
          V3: join group record
        "
        ::= { mgmdStatisticsVlanEntry 27 }

        igmpCounterVlanLeave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
        Condition:
          V2: accepted IGMP leave
          V3: leave group record
          "
        ::= { mgmdStatisticsVlanEntry 28 }

        igmpCounterVlanDropByMaxGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Reached max group
        "
        ::= { mgmdStatisticsVlanEntry 29 }

        igmpCounterVlanDropByPrivilege OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          forbid privilege
        "
        ::= { mgmdStatisticsVlanEntry 30 }

        igmpCounterVlanDropByMvlan OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Condition:
          Port doesnot join mvlan
          Group doesnot match mvlan range
        "
        ::= { mgmdStatisticsVlanEntry 31 }

        igmpCounterVlanDropByOthers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V3 record or V2 report)
          Condition:
            Reached max bandwidth
            Disable privilege profile
            No privilege profile
            Preview forbid
            Preview max count
            Preview max group(16 per port)
            Match static multicast IP
            Mode disabled
            Invalid group IP

        "
        ::= { mgmdStatisticsVlanEntry 32 }

        mldCounterVlanRxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted MLD RX query"
        ::= { mgmdStatisticsVlanEntry 33 }

        mldCounterVlanRxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 query"
        ::= { mgmdStatisticsVlanEntry 34 }

        mldCounterVlanRxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V2 query"
        ::= { mgmdStatisticsVlanEntry 35 }

        mldCounterVlanRxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX specific query"
        ::= { mgmdStatisticsVlanEntry 36 }

        mldCounterVlanRxQueryDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLD RX Drop query
        Condition:
          Query from UNI port
          DTag Query
          IGMP Disabled
        "
        ::= { mgmdStatisticsVlanEntry 37 }

        mldCounterVlanRxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total accepted MLD RX report+leave "
        ::= { mgmdStatisticsVlanEntry 38 }

        mldCounterVlanRxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 report"
        ::= { mgmdStatisticsVlanEntry 39 }

        mldCounterVlanRxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V2 report"
        ::= { mgmdStatisticsVlanEntry 40 }

        mldCounterVlanRxReportV1Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Accepted MLD RX V1 leave"
        ::= { mgmdStatisticsVlanEntry 41 }

        mldCounterVlanRxReportDropByRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLD RX report reached max message"
        ::= { mgmdStatisticsVlanEntry 42 }

        mldCounterVlanRxReportDrop OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop MLD Rx report
        Condition:
          DTag report
          Report from NNI
          V2 report under V1 mode"
        ::= { mgmdStatisticsVlanEntry 43 }

        mldCounterVlanRxReportUnknown OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Drop MLD RX report.
        Not match configured version"
        ::= { mgmdStatisticsVlanEntry 44 }

        mldCounterVlanTxQueryTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted MLD query "
        ::= { mgmdStatisticsVlanEntry 45 }


        mldCounterVlanTxQueryV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 query"
        ::= { mgmdStatisticsVlanEntry 46 }

        mldCounterVlanTxQueryV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V2 query"
        ::= { mgmdStatisticsVlanEntry 47 }


        mldCounterVlanTxQuerySpecific OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD specific query"
        ::= { mgmdStatisticsVlanEntry 48 }


        mldCounterVlanTxReportTotal OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Total transmitted MLD report "
        ::= { mgmdStatisticsVlanEntry 49 }

        mldCounterVlanTxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 report"
        ::= { mgmdStatisticsVlanEntry 50 }

        mldCounterVlanTxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V2 report"
        ::= { mgmdStatisticsVlanEntry 51 }


        mldCounterVlanTxReportV1Leave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmitted MLD V1 Leave"
        ::= { mgmdStatisticsVlanEntry 52}

        mldCounterVlanJoinedGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Number of current MLD joined group"
        ::= { mgmdStatisticsVlanEntry 53 }

        mldCounterVlanJoin OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Condition:
          V1: accepted MLD report
          V2: join group record
        "
        ::= { mgmdStatisticsVlanEntry 54 }

        mldCounterVlanLeave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
        Condition:
          V1: accepted MLD leave
          V2: leave group record
          "
        ::= { mgmdStatisticsVlanEntry 55 }

        mldCounterVlanDropByMaxGroup OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Reached max group
        "
        ::= { mgmdStatisticsVlanEntry 56 }

        mldCounterVlanDropByPrivilege OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          forbid privilege
        "
        ::= { mgmdStatisticsVlanEntry 57 }

        mldCounterVlanDropByMvlan OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Condition:
          Port doesnot join mvlan
          Group doesnot match mvlan range
        "
        ::= { mgmdStatisticsVlanEntry 58 }

        mldCounterVlanDropByOthers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Specific counter(count by each V2 record or V1 report)
          Condition:
            Reached max bandwidth
            Disable privilege profile
            No privilege profile
            Preview forbid
            Preview max count
            Preview max group(16 per port)
            Match static multicast IP
            Mode disabled
            Invalid group IP

        "
        ::= { mgmdStatisticsVlanEntry 59 }



-- mgmdOlderVerCompatibleTable

        mgmdStatisticsOldVerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MgmdStatisticsOldVerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP/MLD port older version compatible information"
        ::= { igmpmldStatistics 8 }

		    mgmdStatisticsOldVerEntry OBJECT-TYPE
        SYNTAX MgmdStatisticsOldVerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		    "An entry in mgmdStatisticsOldVerTable"
        INDEX { ifIndex }
        ::= { mgmdStatisticsOldVerTable 1 }

        MgmdStatisticsOldVerEntry ::=
        	SEQUENCE {
          mgmdOlderVerQuerierIGMPv2		INTEGER,
          mgmdOlderVerQuerierMLDv1		INTEGER,
          mgmdOlderVerHostIGMPv2		INTEGER,
          mgmdOlderVerHostMLDv1		INTEGER
			}


        mgmdOlderVerQuerierIGMPv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMPv2 report ever received. 1 means had received."
        ::= { mgmdStatisticsOldVerEntry 1 }


        mgmdOlderVerQuerierMLDv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLDv1 report ever received. 1 means had received"
        ::= { mgmdStatisticsOldVerEntry 2 }

        mgmdOlderVerHostIGMPv2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "IGMPv2 Query ever received. 1 means had received"
        ::= { mgmdStatisticsOldVerEntry 3 }

        mgmdOlderVerHostMLDv1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "MLDv1 Query ever received. 1 means had received"
        ::= { mgmdStatisticsOldVerEntry 4 }


----------------------------------------
-- logs
----------------------------------------


	igmpmldLogsPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldLogsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table includes IGMP/MLD port statistics information"
	::= { igmpmldLogs 1 }

	igmpmldLogsPortEntry OBJECT-TYPE
	SYNTAX IgmpmldLogsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"An entry in igmpmldStatisticsPortTable"
	INDEX { ifIndex,igmpmldLogsPortTime,igmpmldLogsPortSerialNo }
	::= { igmpmldLogsPortTable 1 }

	IgmpmldLogsPortEntry ::=
		SEQUENCE {
		igmpmldLogsPortTime				Unsigned32,
		igmpmldLogsPortSerialNo			INTEGER,
		igmpmldLogsPortEvent 				INTEGER,
		igmpmldLogsPortGroupAddressType	InetAddressType,
		igmpmldLogsPortGroupAddress		InetAddress
		}

	igmpmldLogsPortTime OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The time of a log entry"
	::= { igmpmldLogsPortEntry 1 }

	igmpmldLogsPortSerialNo OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The serial number is used to identify the order of logs in the same seconds"
	::= { igmpmldLogsPortEntry 2 }

	igmpmldLogsPortEvent OBJECT-TYPE
	SYNTAX INTEGER{
		join(0),
		leave(1),
		drop(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	  "The event type of a log entry:
	   join(0) - event of user join a multicast group
	   leave(1) - event of user leave a multicast group
	   drop(2) - event of system drop a multicast goup
	   "
	::= { igmpmldLogsPortEntry 3 }


	igmpmldLogsPortGroupAddressType OBJECT-TYPE
	SYNTAX InetAddressType {ipv4(1), ipv6(2)}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The type of address format used for the igmpmldLogsPortGroupAddress"
	::= { igmpmldLogsPortEntry 4 }


	igmpmldLogsPortGroupAddress OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The group address of a log entry"
	::= { igmpmldLogsPortEntry 5 }



----------------------------------------
-- igmpmldOps
----------------------------------------

    igmpmldTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Specifies the target NNI/UNI ifindex or vid for igmpmldmldOperation"
    ::= { igmpmldOps 1 }

    igmpmldOperation OBJECT-TYPE
    SYNTAX INTEGER {
		clearIGMPMLDPacketStatistics(1),
		clearIGMPMLDPacketStatisticsOnSpecifiedUNIPorts(2),
		--clearIGMPMLDLogOnSpecifiedUNIPorts(3),
		clearIGMPMLDPacketStatisticsOnSpecifiedNNIPorts(4),
		clearIGMPMLDPacketStatisticsOnSpecifiedVlan(5)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Clear packet statistics
			clearIGMPMLDPacketStatistics(1) - clear system-wized packet counters
			clearIGMPMLDPacketStatisticsOnSpecifiedUNIports(2) - clear packet counter on specified UNI ifindex
			clearIGMPMLDPacketStatisticsOnSpecifiedNNIports(4) - clear packet counter on specified NNI ifindex
			clearIGMPMLDPacketStatisticsOnSpecifiedVlan(5) - clear packet counter on specified VLAN
			"
	--		Clear Logs
	--	clearIGMPMLDLogOnSpecifiedUNIPorts(3) - clear IGMP/MLD logs on specified UNI ifindex
    ::= { igmpmldOps 2 }

--igmpmldPbit

	igmpmldPbit OBJECT-TYPE
    SYNTAX  INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configure the priority for non-mvlan group proxy report/leave/query, snooping report/leave/LMQ.
   <pbit>: 0~8. default 8.
   8 stands for using incoming vlan, but auto-genetated query/report uses priority 7."
    ::= { igmpmld 16 }

--igmpmldMvlanMode

	igmpmldMvlanMode OBJECT-TYPE
    SYNTAX  INTEGER{
       disable(0),
       snooping(2),
       proxy(3),
       proxyReport(4)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"IGMP or MLD packet mvlan handling mode.
	disable(0) -	disable IGMP or MLD function
	snooping(2) - packets are handled IGMP or MLD snopping function
	proxy(3) - packets are handled IGMP or MLD proxy function
	proxyReport(4) - packets are handled IGMP or MLD proxy Report function
	"
    ::= { igmpmld 17 }

-- igmpmldGenniPortTable

	igmpmldGenniPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldGenniPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"igmp/mld Genni Configure the NNI port query  behavior."
	::= { igmpmld 18 }

	igmpmldGenniPortEntry OBJECT-TYPE
	SYNTAX IgmpmldGenniPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { igmpmldGenniPortTable 1 }

	IgmpmldGenniPortEntry ::=
		SEQUENCE {
			igmpmldGenniPortStaticQuerier				INTEGER
		}

	igmpmldGenniPortStaticQuerier OBJECT-TYPE
	SYNTAX INTEGER (0..3)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"0 - auto :become a query channel after received query.
    1 - static : always a query channel;
    2 - edge : drop query"
	::= { igmpmldGenniPortEntry 1 }




--------------------------------------------------------------------------------------------------------
-- ip
--------------------------------------------------------------------------------------------------------

		ipArp		 	OBJECT IDENTIFIER ::= { ip 1 }
		ipInband	 	OBJECT IDENTIFIER ::= { ip 2 }
		ipOutband 	OBJECT IDENTIFIER ::= { ip 3 }
		ipRoute 		OBJECT IDENTIFIER ::= { ip 5 }
		ipStatistic  OBJECT IDENTIFIER ::= { ip 6 }
--		ipv6Destination  OBJECT IDENTIFIER ::= { ip 7 }
--		ipv6Neighbor  OBJECT IDENTIFIER ::= { ip 8 }
		ipv6Prefix  OBJECT IDENTIFIER ::= { ip 9 }


		ipArpOps OBJECT-TYPE
        SYNTAX INTEGER {
        							flushTheARPxTableEntries(1)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Flush ARP table."
        ::= { ipArp 1 }

		ipArpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpArpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Display the arp table."
        ::= { ipArp 2 }

        ipArpEntry OBJECT-TYPE
        SYNTAX IpArpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipAddress}
        ::= { ipArpTable 1 }

        IpArpEntry ::=
			SEQUENCE {
				ipAddress				IpAddress,
				macAddress				PhysAddress,
				ipInterface				DisplayString
           	}

        ipAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The IP that is learned in ARP table."
        ::= { ipArpEntry 1 }

        macAddress OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The correspond mac address of the ipAddress."
        ::= { ipArpEntry 2 }

        ipInterface OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The interface that the ipAddress is learned."
        ::= { ipArpEntry 3 }

--ipInband

        ipInbandAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band management interface
		IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipInband 1 }

        ipInbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band management interface subnet mask."
        ::= { ipInband 2 }

        ipInbandMgmtVlan OBJECT-TYPE
        SYNTAX VlanIndex (1..4094)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets in-band mangement VLAN (1~4094)."
        ::= { ipInband 3 }

        ipInbandGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band default gateway's IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipInband 4 }

		ipv6InbandTable OBJECT-TYPE
		SYNTAX SEQUENCE OF Ipv6InbandEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"The table contains ipv6 inband status."
		::= { ipInband 5 }

		ipv6InbandEntry OBJECT-TYPE
		SYNTAX Ipv6InbandEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ipv6InbandIndex }
		::= { ipv6InbandTable 1 }

		Ipv6InbandEntry ::=
			SEQUENCE {
				ipv6InbandIndex					INTEGER,
				ipv6InbandAddress	        	InetAddress,
				ipv6InbandNetmask	        	INTEGER
			}

		ipv6InbandIndex OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The ip inband index."
		::= { ipv6InbandEntry 1 }

        ipv6InbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures in-band management interface with
		global IPv6 address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
		or IPv6 address with all zeros (::)."
        ::= { ipv6InbandEntry 2 }

        ipv6InbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (0..127)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures in-band management interface IPv6 global address
		subnet mask."
        ::= { ipv6InbandEntry 3 }

        ipv6InbandGateway OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures global IPv6 address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) or
        	IPv6 address with all zeros (::) for the inband IPv6 default outgoing gateway."
        ::= { ipInband 7 }

--	    ipInbandDhcpBootpEnable OBJECT-TYPE
--	    SYNTAX  INTEGER {
--	    	enable(1),
--	    	disable(2)
--		}
--	    MAX-ACCESS read-write
--	    STATUS current
--	    DESCRIPTION
--			"Enable DHCP client to MGMT inband interface. disable(2) is only for status display."
--	    ::= { ipInband 8 }

--	    ipInbandDhcpOperation OBJECT-TYPE
--	    SYNTAX  INTEGER {
--	    	release(1),
--	    	renew(2)
--	    }
--	    MAX-ACCESS read-write
--	    STATUS current
--	    DESCRIPTION
--			"Performs DHCP operations on MGMT inband interface.
--			release: release dynamic IP address
--			renew: renew dynamic IP address
--			Value changes to be zero after setting successfully"
--	    ::= { ipInband 9 }

        ipInbandMgmtPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets in-band mangement pbit."
        ::= { ipInband 10 }

        ipv6InbandLinkLocalAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"In-of-band IPv6 Link-local Address"
        ::= { ipInband 11 }

		ipInbandDhcpClientConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disable(0),
	    	enable(1)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to MGMT inband interface. disable(0) is only for status display."
	    ::= { ipInband 15 }

		ipInbandDhcpClientOption OBJECT-TYPE
	    SYNTAX  INTEGER {
			none(0),
	    	renew(1),
	    	release(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Renew or release DHCP client to MGMT inband interface."
	    ::= { ipInband 16 }

		ipv6InbandDhcpClientConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disable(0),
	    	enable(1)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to MGMT inband v6 interface. disable(0) is only for status display."
	    ::= { ipInband 17 }

		ipv6InbandDhcpClientOption OBJECT-TYPE
	    SYNTAX  INTEGER {
			none(0),
	    	renew(1),
	    	release(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Renew or release DHCP client to MGMT inband v6 interface."
	    ::= { ipInband 18 }

        ipInbandDynamicAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Gets the in-band management interface
		IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipInband 19 }

        ipInbandDynamicGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Gets the in-band dynamic gateway's IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipInband 20 }

        ipOutbandAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the out-of-band management interface
		IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipOutband 1 }

        ipOutbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the out-of-band management interface subnet mask."
        ::= { ipOutband 2 }

		ipv6OutbandTable OBJECT-TYPE
		SYNTAX SEQUENCE OF Ipv6OutbandEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"The table contains ipv6 outband status."
		::= { ipOutband 3 }

		ipv6OutbandEntry OBJECT-TYPE
		SYNTAX Ipv6OutbandEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ipv6OutbandIndex }
		::= { ipv6OutbandTable 1 }

		Ipv6OutbandEntry ::=
			SEQUENCE {
				ipv6OutbandIndex				INTEGER,
				ipv6OutbandAddress	        	InetAddress,
				ipv6OutbandNetmask	        	INTEGER
			}

		ipv6OutbandIndex OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The ipv6 outband index."
		::= { ipv6OutbandEntry 1 }

        ipv6OutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures out-of-band management interface with
		IPv6 global address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
		or IPv6 address with all zeros (::)."
        ::= { ipv6OutbandEntry 2 }

        ipv6OutbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (0..127)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures  out-of-band management interface IPv6 global address
		subnet mask."
        ::= { ipv6OutbandEntry 3 }

        ipoutbandGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the out-band default gateway's IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipOutband 5 }

		ipoutbandDhcpClientConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disable(0),
	    	enable(1)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to MGMT outband interface. disable(0) is only for status display."
	    ::= { ipOutband 6 }

		ipoutbandDhcpClientOption OBJECT-TYPE
	    SYNTAX  INTEGER {
			none(0),
	    	renew(1),
	    	release(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Renew or release DHCP client to MGMT outband interface."
	    ::= { ipOutband 7 }

		ipv6outbandDhcpClientConfig OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disable(0),
	    	enable(1)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to MGMT outband v6 interface. disable(0) is only for status display."
	    ::= { ipOutband 8 }

		ipv6outbandDhcpClientOption OBJECT-TYPE
	    SYNTAX  INTEGER {
			none(0),
	    	renew(1),
	    	release(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Renew or release DHCP client to MGMT outband v6 interface."
	    ::= { ipOutband 9 }

		ipv6OutbandLinkLocalAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Out-of-band IPv6 Link-local Address"
        ::= { ipOutband 10 }

		ipOutbandDynamicAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Gets the out-of-band management interface
		IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipOutband 11 }

        ipoutbandDynamicGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Gets the out-band dynamic gateway's IP address (0.0.0.1 ~ 223.255.255.255)."
        ::= { ipOutband 12 }

        ipv6DefaultMgmt OBJECT-TYPE
        SYNTAX INTEGER {
        								inband(1),
        								outband(2)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets which traffic flow (in-band or out-of-band) the Switch sends
		packet originating from itself (such as SNMP traps) or packets
		with unknown source."
        ::= { ip 4 }

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

        ipStaticRouteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Configures a static route."
        ::= { ipRoute 2 }

        ipStaticRouteEntry OBJECT-TYPE
        SYNTAX IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipStaticRouteDest, ipStaticRouteMask }
        ::= { ipStaticRouteTable 1 }

        IpStaticRouteEntry ::=
			SEQUENCE {
				ipStaticRouteDest					IpAddress,
				ipStaticRouteMask					INTEGER,
				ipStaticRouteNextHop			IpAddress,
				ipStaticRouteRowStatus			RowStatus,
				ipStaticRouteIfName				DisplayString,
                ipStaticRouteMetric             INTEGER
           	}

        ipStaticRouteDest OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipStaticRouteEntry 1 }

        ipStaticRouteMask OBJECT-TYPE
        SYNTAX INTEGER (1..32)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet mask"
        ::= { ipStaticRouteEntry 2 }

        ipStaticRouteNextHop OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
			"Next hop address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipStaticRouteEntry 3 }

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

        ipStaticRouteIfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination interface name"
        ::= { ipStaticRouteEntry 5 }

        ipStaticRouteMetric OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
			"Destination interface metric"
        ::= { ipStaticRouteEntry 6 }

       ipRouteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Display routing table."
        ::= { ipRoute 3 }

        ipRouteEntry OBJECT-TYPE
        SYNTAX IpRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipRouteDest, ipRouteMask }
        ::= { ipRouteTable 1 }

        IpRouteEntry ::=
			SEQUENCE {
				ipRouteDest				IpAddress,
				ipRouteMask				INTEGER,
				ipRouteNextHop			IpAddress,
				ipRouteIfName			DisplayString,
				ipRouteMetric			INTEGER
           	}

        ipRouteDest OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipRouteEntry 1 }

        ipRouteMask OBJECT-TYPE
        SYNTAX INTEGER (1..32)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet mask"
        ::= { ipRouteEntry 2 }

        ipRouteNextHop OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Next hop address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipRouteEntry 3 }

        ipRouteIfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination interface name"
        ::= { ipRouteEntry 4 }

        ipRouteMetric OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination interface metric"
        ::= { ipRouteEntry 5 }


        ipv6DefaultRouterInbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DefaultRouterInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband default-router."
        ::= { ipRoute 4 }

        ipv6DefaultRouterInbandEntry OBJECT-TYPE
        SYNTAX Ipv6DefaultRouterInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DefaultRouterInbandAddress }
        ::= { ipv6DefaultRouterInbandTable 1 }

        Ipv6DefaultRouterInbandEntry ::=
			SEQUENCE {
				ipv6DefaultRouterInbandAddress		InetAddress,
				ipv6DefaultRouterInbandPreference		DisplayString,
				ipv6DefaultRouterInbandLifetime		INTEGER,
				ipv6DefaultRouterInbandExpire			DisplayString,
				ipv6DefaultRouterInbandFlag			DisplayString
           	}

        ipv6DefaultRouterInbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband Address."
        ::= { ipv6DefaultRouterInbandEntry 1 }

        ipv6DefaultRouterInbandPreference OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband Preference"
        ::= { ipv6DefaultRouterInbandEntry 2 }

        ipv6DefaultRouterInbandLifetime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband lifetime
			 (Unit: sec)"
        ::= { ipv6DefaultRouterInbandEntry 3 }

        ipv6DefaultRouterInbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router inband expire"
        ::= { ipv6DefaultRouterInbandEntry 4 }

        ipv6DefaultRouterInbandFlag OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router inband flag"
        ::= { ipv6DefaultRouterInbandEntry 5 }


        ipv6DefaultRouterOutbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DefaultRouterOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband default-router."
        ::= { ipRoute 5 }

        ipv6DefaultRouterOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6DefaultRouterOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DefaultRouterOutbandAddress }
        ::= { ipv6DefaultRouterOutbandTable 1 }

        Ipv6DefaultRouterOutbandEntry ::=
			SEQUENCE {
				ipv6DefaultRouterOutbandAddress		InetAddress,
				ipv6DefaultRouterOutbandPreference		DisplayString,
				ipv6DefaultRouterOutbandLifetime		INTEGER,
				ipv6DefaultRouterOutbandExpire			DisplayString,
				ipv6DefaultRouterOutbandFlag			DisplayString
           	}

        ipv6DefaultRouterOutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband Address."
        ::= { ipv6DefaultRouterOutbandEntry 1 }

        ipv6DefaultRouterOutbandPreference OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband Preference"
        ::= { ipv6DefaultRouterOutbandEntry 2 }

        ipv6DefaultRouterOutbandLifetime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband lifetime.
			 (Unit: sec)"
        ::= { ipv6DefaultRouterOutbandEntry 3 }

        ipv6DefaultRouterOutbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router outband expire"
        ::= { ipv6DefaultRouterOutbandEntry 4 }

        ipv6DefaultRouterOutbandFlag OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router outband flag"
        ::= { ipv6DefaultRouterOutbandEntry 5 }

        ipv6RouteInbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6RouteInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route"
        ::= { ipRoute 6 }

        ipv6RouteInbandEntry OBJECT-TYPE
        SYNTAX Ipv6RouteInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6RouteInbandAddress, ipv6RouteInbandMask }
        ::= { ipv6RouteInbandTable 1 }

        Ipv6RouteInbandEntry ::=
			SEQUENCE {
				ipv6RouteInbandAddress		InetAddress,
				ipv6RouteInbandMask			INTEGER,
				ipv6RouteInbandName			DisplayString
           	}

        ipv6RouteInbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route Address."
        ::= { ipv6RouteInbandEntry 1 }

        ipv6RouteInbandMask OBJECT-TYPE
		SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route address mask."
        ::= { ipv6RouteInbandEntry 2 }


        ipv6RouteInbandName OBJECT-TYPE
		SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route Gateway/Interface Name"
        ::= { ipv6RouteInbandEntry 3 }

        ipv6RouteOutbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6RouteOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband route"
        ::= { ipRoute 7 }

        ipv6RouteOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6RouteOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6RouteOutbandAddress }
        ::= { ipv6RouteOutbandTable 1 }

        Ipv6RouteOutbandEntry ::=
			SEQUENCE {
				ipv6RouteOutbandAddress		InetAddress,
				ipv6RouteOutbandMask			INTEGER,
				ipv6RouteOutbandName		DisplayString
           	}

        ipv6RouteOutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband route Address."
        ::= { ipv6RouteOutbandEntry 1 }

       ipv6RouteOutbandMask OBJECT-TYPE
		SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route address mask."
        ::= { ipv6RouteOutbandEntry 2 }

        ipv6RouteOutbandName OBJECT-TYPE
		SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 Outband route Gateway/Interface Name"
        ::= { ipv6RouteOutbandEntry 3 }

-- ip statistic
       ipInbandInOctetCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 1 }

       ipInbandInUnicastCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 2 }

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

       ipInbandInDiscardCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 4 }

       ipInbandInErrorCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 5 }

--       ipInUnknowProtocolCount OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			""
--        ::= { ipStatistic 6 }

       ipInbandOutOctetCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 7 }

       ipInbandOutUnicastCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 8 }

--       ipOutMulticastCount OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			""
--        ::= { ipStatistic 9 }

       ipInbandOutDiscardCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 10 }

       ipInbandOutErrorCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 11 }

       ipOutbandInOctetCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 12 }

       ipOutbandInUnicastCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 13 }

       ipOutbandInMulticastCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 14 }

       ipOutbandInDiscardCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 15 }

       ipOutbandInErrorCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 16 }

       ipOutbandOutOctetCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 17 }

       ipOutbandOutUnicastCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 18 }

       ipOutbandOutDiscardCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 19 }

       ipOutbandOutErrorCount OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 20 }

-- ipv6 Destination
--        ipv6DestInbandTable  OBJECT-TYPE
--        SYNTAX SEQUENCE OF Ipv6DestInbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband destination"
--        ::= { ipv6Destination 1 }

--        ipv6DestInbandEntry OBJECT-TYPE
--        SYNTAX Ipv6DestInbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			""
--        INDEX  { ipv6DestInbandDestAddress }
--        ::= { ipv6DestInbandTable 1 }

--        Ipv6DestInbandEntry ::=
--			SEQUENCE {
--				ipv6DestInbandDestAddress		InetAddress,
--				ipv6DestInbandNextHopAddress			InetAddress
--           	}

--        ipv6DestInbandDestAddress OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband destination Address."
--        ::= { ipv6DestInbandEntry 1 }

--        ipv6DestInbandNextHopAddress OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband destination next hop address."
--        ::= { ipv6DestInbandEntry 2 }


--        ipv6DestOutbandTable  OBJECT-TYPE
--        SYNTAX SEQUENCE OF Ipv6DestOutbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband destination"
--        ::= { ipv6Destination 2 }

--        ipv6DestOutbandEntry OBJECT-TYPE
--        SYNTAX Ipv6DestOutbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			""
--        INDEX  { ipv6DestOutbandDestAddress }
--        ::= { ipv6DestOutbandTable 1 }

--        Ipv6DestOutbandEntry ::=
--			SEQUENCE {
--				ipv6DestOutbandDestAddress		InetAddress,
--				ipv6DestOutbandNextHopAddress			InetAddress
--           	}

--        ipv6DestOutbandDestAddress OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband destination Address."
--        ::= { ipv6DestOutbandEntry 1 }

--        ipv6DestOutbandNextHopAddress OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband destination next hop address."
--        ::= { ipv6DestOutbandEntry 2 }

-- ipv6 Neighbor
--        ipv6NeighborInbandTable  OBJECT-TYPE
--        SYNTAX SEQUENCE OF Ipv6NeighborInbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband neighbor"
--        ::= { ipv6Neighbor 1 }

--        ipv6NeighborInbandEntry OBJECT-TYPE
--        SYNTAX Ipv6NeighborInbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			""
--        INDEX  { ipv6NeighborInbandNeighbor }
--        ::= { ipv6NeighborInbandTable 1 }

--        Ipv6NeighborInbandEntry ::=
--			SEQUENCE {
--				ipv6NeighborInbandNeighbor				InetAddress,
--				ipv6NeighborInbandLinklayerAddress		PhysAddress,
--				ipv6NeighborInbandExpire                DisplayString,
--				ipv6NeighborInbandFlags                 DisplayString
--           	}

--        ipv6NeighborInbandNeighbor OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband neighbor address."
--        ::= { ipv6NeighborInbandEntry 1 }

--        ipv6NeighborInbandLinklayerAddress OBJECT-TYPE
--        SYNTAX PhysAddress (SIZE (6))
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband neighbor linklayer address.
--			00:00:00:00:00:00 means incomplete"
--        ::= { ipv6NeighborInbandEntry 2 }

--        ipv6NeighborInbandExpire OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband neighbor expire."
--        ::= { ipv6NeighborInbandEntry 3 }

--        ipv6NeighborInbandFlags OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband neighbor flag."
--        ::= { ipv6NeighborInbandEntry 4 }


--        ipv6NeighborOutbandTable  OBJECT-TYPE
--        SYNTAX SEQUENCE OF Ipv6NeighborOutbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband neighbor"
--        ::= { ipv6Neighbor 2 }

--        ipv6NeighborOutbandEntry OBJECT-TYPE
--        SYNTAX Ipv6NeighborOutbandEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			""
--        INDEX  { ipv6NeighborOutbandNeighbor }
--        ::= { ipv6NeighborOutbandTable 1 }

--        Ipv6NeighborOutbandEntry ::=
--			SEQUENCE {
--				ipv6NeighborOutbandNeighbor				InetAddress,
--				ipv6NeighborOutbandLinklayerAddress		PhysAddress,
--				ipv6NeighborOutbandExpire                DisplayString,
--				ipv6NeighborOutbandFlags                 DisplayString
--           	}

--        ipv6NeighborOutbandNeighbor OBJECT-TYPE
--        SYNTAX InetAddress
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband neighbor address."
--        ::= { ipv6NeighborOutbandEntry 1 }

--        ipv6NeighborOutbandLinklayerAddress OBJECT-TYPE
--        SYNTAX PhysAddress (SIZE (6))
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband neighbor linklayer address.
--			 00:00:00:00:00:00 means incomplete"
--        ::= { ipv6NeighborOutbandEntry 2 }

--        ipv6NeighborOutbandExpire OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband neighbor expire."
--        ::= { ipv6NeighborOutbandEntry 3 }

--        ipv6NeighborOutbandFlags OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband neighbor flag."
--        ::= { ipv6NeighborOutbandEntry 4 }

-- ipv6 Prefix
        ipv6PrefixInbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6PrefixInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix"
        ::= { ipv6Prefix 1 }

        ipv6PrefixInbandEntry OBJECT-TYPE
        SYNTAX Ipv6PrefixInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6PrefixInbandPrefix, ipv6PrefixInbandPrefixLength}
        ::= { ipv6PrefixInbandTable 1 }

        Ipv6PrefixInbandEntry ::=
			SEQUENCE {
				ipv6PrefixInbandPrefix       InetAddress,
				ipv6PrefixInbandPrefixLength       INTEGER
			--	ipv6PrefixInbandVLtime       DisplayString,
			--	ipv6PrefixInbandPLtime       DisplayString,
			--	ipv6PrefixInbandExpire       DisplayString,
			--	ipv6PrefixInbandOnlink       INTEGER,
			--	ipv6PrefixInbandAutonomous   INTEGER
           	}

        ipv6PrefixInbandPrefix OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix address."
        ::= { ipv6PrefixInbandEntry 1 }

        ipv6PrefixInbandPrefixLength OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix length."
        ::= { ipv6PrefixInbandEntry 2 }


--        ipv6PrefixInbandVLtime OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband prefix vltime."
--        ::= { ipv6PrefixInbandEntry 3 }

--        ipv6PrefixInbandPLtime OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband prefix pltime."
--        ::= { ipv6PrefixInbandEntry 4 }

--        ipv6PrefixInbandExpire OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband prefix expire."
--        ::= { ipv6PrefixInbandEntry 5 }

--        ipv6PrefixInbandOnlink OBJECT-TYPE
--        SYNTAX INTEGER {
--            	false(0),
--            	true(1)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband prefix onlink."
--        ::= { ipv6PrefixInbandEntry 6 }

--        ipv6PrefixInbandAutonomous OBJECT-TYPE
--        SYNTAX INTEGER {
--            	false(0),
--            	true(1)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 inband prefix autonomous."
--        ::= { ipv6PrefixInbandEntry 7 }

        ipv6PrefixOutbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6PrefixOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix"
        ::= { ipv6Prefix 2 }

        ipv6PrefixOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6PrefixOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6PrefixOutbandPrefix, ipv6PrefixOutbandPrefixLength}
        ::= { ipv6PrefixOutbandTable 1 }

        Ipv6PrefixOutbandEntry ::=
			SEQUENCE {
				ipv6PrefixOutbandPrefix       InetAddress,
				ipv6PrefixOutbandPrefixLength       INTEGER
--				ipv6PrefixOutbandVLtime       DisplayString,
--				ipv6PrefixOutbandPLtime       DisplayString,
--				ipv6PrefixOutbandExpire       DisplayString,
--				ipv6PrefixOutbandOnlink       INTEGER,
--				ipv6PrefixOutbandAutonomous   INTEGER
           	}

        ipv6PrefixOutbandPrefix OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix address."
        ::= { ipv6PrefixOutbandEntry 1 }

        ipv6PrefixOutbandPrefixLength OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix length."
        ::= { ipv6PrefixOutbandEntry 2 }

--        ipv6PrefixOutbandVLtime OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband prefix vltime."
--        ::= { ipv6PrefixOutbandEntry 3 }

--        ipv6PrefixOutbandPLtime OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband prefix pltime."
--        ::= { ipv6PrefixOutbandEntry 4 }

--        ipv6PrefixOutbandExpire OBJECT-TYPE
--        SYNTAX DisplayString
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband prefix expire."
--        ::= { ipv6PrefixOutbandEntry 5 }

--        ipv6PrefixOutbandOnlink OBJECT-TYPE
--        SYNTAX INTEGER {
--            	false(0),
--            	true(1)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband prefix expire."
--        ::= { ipv6PrefixOutbandEntry 6 }

--        ipv6PrefixOutbandAutonomous OBJECT-TYPE
--        SYNTAX INTEGER {
--            	false(0),
--            	true(1)
--        	}
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--			"Show IPv6 outband prefix autonomous."
--        ::= { ipv6PrefixOutbandEntry 7 }

		ipDefaultGateway OBJECT-TYPE
        SYNTAX INTEGER {
        	outband(0),
			inband(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set the inband or outband gateway as the default gateway"
        ::= { ip 10 }

--------------------------------------------------------------------------------------------------------
-- login
--------------------------------------------------------------------------------------------------------
	loginMaxNumOfUsers OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of login user accounts supported by the system."
	::= { login 1 }

	loginUserTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF LoginUserEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Login account configuration table."
    ::= { login 2 }

    loginUserEntry	OBJECT-TYPE
    SYNTAX LoginUserEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
	INDEX { IMPLIED loginUserName }
    ::= { loginUserTable 1 }

    LoginUserEntry ::=
    	SEQUENCE {
    		loginUserName		DisplayString,
    		loginUserPassword	DisplayString,
    		loginUserPrivilege	INTEGER,
    		loginUserRowStatus	RowStatus
    	}

    loginUserName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Name of user account."
    ::= { loginUserEntry 1 }

    loginUserPassword OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..128))
--    MAX-ACCESS read-create
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Password of user account."
    ::= { loginUserEntry 2 }

    loginUserPrivilege OBJECT-TYPE
    SYNTAX INTEGER (0..14)
--    MAX-ACCESS read-create
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Assigns a privilege level to the specified account. The privilege level is applied the next time the user logs in."
    DEFVAL { 1 }
    ::= { loginUserEntry 3 }

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

--	loginPrecedence OBJECT-TYPE
--	SYNTAX INTEGER {
--		localOnly(1),
--		localAndRadius(2),
--		radiusOnly(3)
--	}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Sets the login precedence.

--		local-only: authenticate via local user account DB
--		local-and-radius: authenticate via local first, then via RADIUS server
--		radius-only: authenticate via RADIUS server"
--	::= { login 3 }

--------------------------------------------------------------------------------------------------------
-- loopguard
--------------------------------------------------------------------------------------------------------
	loopguardConfPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LoopguardConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Loop guard configuration table"
	::= { loopguard 1 }

	loopguardConfPortEntry OBJECT-TYPE
	SYNTAX LoopguardConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { loopguardConfPortTable 1 }

	LoopguardConfPortEntry ::=
		SEQUENCE {
			loopguardConfPortEnable			INTEGER,
			loopguardConfPortPolicy			INTEGER,
			loopguardConfPortRecoverTime	INTEGER
		}

	loopguardConfPortEnable OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/Disable loop guard function for specific port."
	::= { loopguardConfPortEntry 1 }

	loopguardConfPortPolicy OBJECT-TYPE
	SYNTAX INTEGER {
		fix(1),
		dynamic(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures the policy when loop condition is detected.

		fix : shutdown the port, user needs to enable the port manually
		dynamic : shutdown the port, and recovered after recover time"
	::= { loopguardConfPortEntry 2 }

	loopguardConfPortRecoverTime OBJECT-TYPE
	SYNTAX INTEGER (60..600)
	UNITS "seconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures the recover time for dynamic policy."
	::= { loopguardConfPortEntry 3 }

--	loopguardStatsSysStatus OBJECT-TYPE
--	SYNTAX INTEGER {
--		enable(1),
--		disable(2)
--	}
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"Displays if there is any port on the device loopguard enabled."
--	::= { loopguard 2 }

	loopguardStatsPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LoopguardStatsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Loop guard port statistics table"
	::= { loopguard 3 }

	loopguardStatsPortEntry OBJECT-TYPE
	SYNTAX LoopguardStatsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { loopguardStatsPortTable 1 }

	LoopguardStatsPortEntry ::=
		SEQUENCE {
			loopguardStatsPortLinkedState			INTEGER,
			loopguardStatsPortTxPkts				Counter32,
			loopguardStatsPortRxPkts				Counter32,
			loopguardStatsPortBadPkts				Counter32,
			loopguardStatsPortShutdownTime          DisplayString,
			loopguardStatsPortOperation				INTEGER
		}

	loopguardStatsPortLinkedState OBJECT-TYPE
	SYNTAX INTEGER {
		active(1),
		inactive(2),
		blocked(3)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays linked state on specific port."
	::= { loopguardStatsPortEntry 1 }

	loopguardStatsPortTxPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of transmited loopguard probe packet on specific port."
	::= { loopguardStatsPortEntry 2 }

	loopguardStatsPortRxPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of received loopguard probe packet on specific port."
	::= { loopguardStatsPortEntry 3 }

	loopguardStatsPortBadPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of received bad loopguard probe packet on specific port.
		The bad loopguard probe packet will not trigger loopguard block port mechanism.
		loopguardStatsPortRxPkts minus loopguardStatsPortBadPkts represents the number of received loopguard packet which will trigger loopguard block port mechanism.
		The bad loopguard probe packet includes the loopguard packet with incorrect checksum, the loopguard packet with time-out time stamp, and the loopguard packet with wrong content in TLV fields."
	::= { loopguardStatsPortEntry 4 }

	loopguardStatsPortShutdownTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays port shutdown time for loopguard detection on specific port."
	::= { loopguardStatsPortEntry 5 }

	loopguardStatsPortOperation OBJECT-TYPE
	SYNTAX INTEGER {
		clearLoopguardStatistics(1)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"1 : Clears loopguard statistics (packet counter) on specific port."
	::= { loopguardStatsPortEntry 6 }

	loopguardUniVlanTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LoopguardUniVlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Loop guard configuration table"
	::= { loopguard 4 }

	loopguardUniVlanEntry OBJECT-TYPE
	SYNTAX LoopguardUniVlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, loopguardUniVlanVid }
	::= { loopguardUniVlanTable 1 }

	LoopguardUniVlanEntry ::=
		SEQUENCE {
			loopguardUniVlanVid			INTEGER,
			loopguardUniVlanPbit		INTEGER,
			loopguardUniVlanRowStatus	RowStatus
		}

	loopguardUniVlanVid OBJECT-TYPE
	SYNTAX INTEGER (1..4094)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"1 to 4094 is normal vlan id"
	::= { loopguardUniVlanEntry 1 }

	loopguardUniVlanPbit OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		""
	::= { loopguardUniVlanEntry 2 }

	loopguardUniVlanRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"use 4(create and go) to create new row"
	::= { loopguardUniVlanEntry 3 }

--------------------------------------------------------------------------------------------------------
-- L3 routing function
--------------------------------------------------------------------------------------------------------

	ipL3Routing  OBJECT IDENTIFIER ::= { ip 21 }

	routingIfaceSetup		OBJECT IDENTIFIER ::= { ipL3Routing 1 }

--	routing inteface setup
	maxNumOfRouterIp OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		""
	::= { routingIfaceSetup 5 }

	routerIpTable	OBJECT-TYPE
	SYNTAX	SEQUENCE OF RouterIpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
		""
	::= { routingIfaceSetup 6 }

	routerIpEntry OBJECT-TYPE
	SYNTAX	RouterIpEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION    	"An entry in inbandIpTable."
	INDEX          	{ routerIpEntryVid, routingEntryIp, routingEntrySubnetMask }
	::= { routerIpTable 1 }

	RouterIpEntry ::=
	SEQUENCE {
		routerIpEntryVid	INTEGER,
		routerIpEntryIp		IpAddress,
		routerIpEntrySubnetMask	IpAddress,
		routerIpEntryRowStatus	RowStatus
	}

	routerIpEntryVid OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { routerIpEntry 1 }

	routerIpEntryIp OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { routerIpEntry 2 }

	routerIpEntrySubnetMask OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { routerIpEntry 3 }


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

--	routing protocol global settings
	layer3Setup		OBJECT IDENTIFIER ::= { ipL3Routing 2 }

	routerRipDistance OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		"The administrative distance of RIP routes"
	::= { layer3Setup 1 }

	routerRipUpdateTimer OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The update timer of RIP routes"
	::= { layer3Setup 2 }

	routerRipInvalidTimer OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The invalid timer of RIP routes"
	::= { layer3Setup 3 }

	routerRipFlushTimer OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		"The flush timer of RIP routes"
	::= { layer3Setup 4 }

	--	ripRoutingTable
	ripRoutingTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF RipRoutingTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
				""
	::= { layer3Setup 5 }

	ripRoutingTableEntry OBJECT-TYPE
	SYNTAX  RipRoutingTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION     "An entry in ripRoutingTable."
	INDEX           { ripRoutingIndex }
	::= { ripRoutingTable 1 }

	RipRoutingTableEntry ::=
	SEQUENCE {
		ripRoutingIndex		INTEGER,
		ripRoutingDest		IpAddress,
		ripRoutingMask		INTEGER,
		ripRoutingGateway	IpAddress,
		ripRoutingMetric	INTEGER,
		ripRoutingFrom		IpAddress,
		ripRoutingTime		DisplayString,
		ripRoutingType		DisplayString
	}

	ripRoutingIndex OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		""
	::= { ripRoutingTableEntry 1 }

	ripRoutingDest OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		""
	::= { ripRoutingTableEntry 2 }

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

	ripRoutingGateway OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ripRoutingTableEntry 4 }

	ripRoutingMetric OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ripRoutingTableEntry 5 }

	ripRoutingFrom OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ripRoutingTableEntry 6 }

	ripRoutingTime OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ripRoutingTableEntry 7 }

	ripRoutingType OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ripRoutingTableEntry 8 }

	ospfSettings		OBJECT IDENTIFIER ::= { layer3Setup 6 }

	ospfRouterId OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF router id.
					Range: 0.0.0.1 ~ 255.255.255.255
					Set 0.0.0.0 to remove router id setting"
	::= { ospfSettings 1 }

	ospfDistance OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF distance, range: 1 ~ 255
					Default: 15"
	::= { ospfSettings 2 }

	ospfRedistributeStatic OBJECT-TYPE
	SYNTAX  INTEGER{
			disable(0),
			enable(1)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Enable redistribute static route,
					need to be set via multiple variable binding with
					ospfRedistributeStaticMetricType and ospfRedistributeStaticMetric"
	::= { ospfSettings 3 }

	ospfRedistributeStaticMetricType OBJECT-TYPE
	SYNTAX  INTEGER{
			1(1),
			2(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Set redistribute static route metric type
					Default: 1
					1(1): External Type 1, add up the cost toward the destination
					2(2): External Type 2, with default metric of 20 and will never change/increment through every hops"
	::= { ospfSettings 4 }

	ospfRedistributeStaticMetric OBJECT-TYPE
	SYNTAX  INTEGER(0..16777214)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Set redistribute static route metric
					Default: 15"
	::= { ospfSettings 5 }

	ospfRedistributeRip OBJECT-TYPE
	SYNTAX  INTEGER{
			disable(0),
			enable(1)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Enable redistribute RIP,
					need to be set via multiple variable binding with
					ospfRedistributeRipMetricType and ospfRedistributeRipMetric"
	::= { ospfSettings 6 }

	ospfRedistributeRipMetricType OBJECT-TYPE
	SYNTAX  INTEGER{
			1(1),
			2(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Set redistribute RIP metric type
					Default: 1
					1(1): External Type 1, add up the cost toward the destination
					2(2): External Type 2, with default metric of 20 and will never change/increment through every hops"
	::= { ospfSettings 7 }

	ospfRedistributeRipMetric OBJECT-TYPE
	SYNTAX  INTEGER(0..16777214)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Set redistribute RIP metric
					Default: 15"
	::= { ospfSettings 8 }

		--	ospfNetworkTable
	ospfNetworkTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF OspfNetworkTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
				""
	::= { layer3Setup 7 }

	ospfNetworkTableEntry OBJECT-TYPE
	SYNTAX  OspfNetworkTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION     "An entry in ospfNetworkTable."
	INDEX           { ospfNetworkAddress, ospfNetworkMask, ospfNetworkAreaId }
	::= { ospfNetworkTable 1 }

	OspfNetworkTableEntry ::=
	SEQUENCE {
		ospfNetworkAddress				IpAddress,
		ospfNetworkMask					INTEGER,
		ospfNetworkAreaId				IpAddress,
		ospfNetworkRowStatus			RowStatus
	}

	ospfNetworkAddress OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"OSPF network IP address.
					Range: 0.0.0.1 ~ 223.255.255.255"
	::= { ospfNetworkTableEntry 1 }

	ospfNetworkMask OBJECT-TYPE
	SYNTAX  INTEGER (1..32)
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"OSPF network mask.
					Range: 1 ~ 32"
	::= { ospfNetworkTableEntry 2 }

	ospfNetworkAreaId OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"OSPF network area ID.
					Range: 0.0.0.0 ~ 255.255.255.255"
	::= { ospfNetworkTableEntry 3 }

	ospfNetworkRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS  read-create
	STATUS  current
	DESCRIPTION
					"Row status of OSPF network."
	::= { ospfNetworkTableEntry 4 }

	--	ospfAreaTable
	ospfAreaTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF OspfAreaTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
				""
	::= { layer3Setup 8 }

	ospfAreaTableEntry OBJECT-TYPE
	SYNTAX  OspfAreaTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION     "An entry in ospfAreaTable."
	INDEX           { ospfAreaEntry }
	::= { ospfAreaTable 1 }

	OspfAreaTableEntry ::=
	SEQUENCE {
		ospfAreaEntry					IpAddress,
		ospfAreaEntryType				INTEGER,
		ospfAreaEntryDefaultCost		INTEGER,
		ospfAreaEntryAuthProtocol		INTEGER,
		ospfArearEntryRowStatus			RowStatus
	}

	ospfAreaEntry OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"OSPF area ID."
	::= { ospfAreaTableEntry 1 }

	ospfAreaEntryType OBJECT-TYPE
	SYNTAX  INTEGER{
			normal(1),
			stub(2),
			nssa(3),
			totally-stubby-area(4),
			nssa-totally-stub-area(5)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF area type."
	::= { ospfAreaTableEntry 2 }

	ospfAreaEntryDefaultCost OBJECT-TYPE
	SYNTAX  INTEGER (1..16777215)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF area default cost,
					can be set only when current area is stub or NSSA area.
					Default: 15"
	::= { ospfAreaTableEntry 3 }

	ospfAreaEntryAuthProtocol OBJECT-TYPE
	SYNTAX  INTEGER{
			none(0),
			simple(1),
			md5(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF area authentication type."
	::= { ospfAreaTableEntry 4 }

	ospfArearEntryRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS  read-create
	STATUS  current
	DESCRIPTION
					"Row status of OSPF area"
	::= { ospfAreaTableEntry 5 }

	--	ospfRoutingTable
	ospfRoutingTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF OspfRoutingTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
				""
	::= { layer3Setup 9 }

	ospfRoutingTableEntry OBJECT-TYPE
	SYNTAX  OspfRoutingTableEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION     "An entry in ospfRoutingTable."
	INDEX           { ospfRoutingIndex }
	::= { ospfRoutingTable 1 }

	OspfRoutingTableEntry ::=
	SEQUENCE {
		ospfRoutingIndex		INTEGER,
		ospfRoutingRouteType	INTEGER,
		ospfRoutingAreaType		INTEGER,
		ospfRoutingDest			IpAddress,
		ospfRoutingMask			INTEGER,
		ospfRoutingGateway		IpAddress,
		ospfRoutingMetric		INTEGER,
		ospfRoutingVia			DisplayString,
		ospfRoutingRouterType	DisplayString
	}

	ospfRoutingIndex OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Index of OSPF routing table"
	::= { ospfRoutingTableEntry 1 }

	ospfRoutingRouteType OBJECT-TYPE
	SYNTAX  INTEGER{
			network(0),
			router(1),
			discard(2),
			unknown(3)
	}
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Route type"
	::= { ospfRoutingTableEntry 2 }

	ospfRoutingAreaType OBJECT-TYPE
	SYNTAX  INTEGER{
			inter(0),
			intra(1),
			external1(2),
			external2(3),
			unknown(4)
	}
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Routing area type"
	::= { ospfRoutingTableEntry 3 }

	ospfRoutingDest OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Prefix/router ID"
	::= { ospfRoutingTableEntry 4 }

	ospfRoutingMask OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ospfRoutingTableEntry 5 }

	ospfRoutingGateway OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ospfRoutingTableEntry 6 }

	ospfRoutingMetric OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					""
	::= { ospfRoutingTableEntry 7 }

	ospfRoutingVia OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Routing interface where ospfRoutingDest from"
	::= { ospfRoutingTableEntry 8 }

	ospfRoutingRouterType OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
					"Neighboring router type"
	::= { ospfRoutingTableEntry 9 }

	routerDomainSetup OBJECT IDENTIFIER ::= { ipL3Routing 3 }

--	routing protocol per VLAN settings
--	routerDomainIpTable
	routerDomainIpTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF RouterDomainIpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION
				""
	::= { routerDomainSetup 1 }

	routerDomainIpEntry OBJECT-TYPE
	SYNTAX  RouterDomainIpEntry
	MAX-ACCESS  not-accessible
	STATUS  current
	DESCRIPTION     "An entry in routerDomainIpTable."
	INDEX           { routerDomainIpVid }
	::= { routerDomainIpTable 1 }

	RouterDomainIpEntry ::=
	SEQUENCE {
		routerDomainIpVid                    INTEGER,
		routerDomainIpRipDirection           INTEGER,
		routerDomainIpRipVersion             INTEGER,
		routerDomainIpOspfCost               INTEGER,
		routerDomainIpOspfPriority           INTEGER,
		routerDomainIpOspfRetransmitInterval INTEGER,
		routerDomainIpOspfTransmitDelay      INTEGER,
		routerDomainIpOspfDeadInterval       INTEGER,
		routerDomainIpOspfHelloInterval      INTEGER,
		routerDomainIpOspfPassive            INTEGER,
		routerDomainIpOspfAuth               INTEGER,
		routerDomainIpOspfAuthSimpleKey      DisplayString,
		routerDomainIpOspfMd5KeyId           INTEGER,
		routerDomainIpOspfMd5Key             DisplayString
	}

	routerDomainIpVid OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS  read-only
	STATUS  current
	DESCRIPTION
		""
	::= { routerDomainIpEntry 1 }

	routerDomainIpRipDirection OBJECT-TYPE
	SYNTAX  INTEGER {
		none(0),
		outgoing(1),
		incoming(2),
		both(3)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					""
	::= { routerDomainIpEntry 2 }

	routerDomainIpRipVersion OBJECT-TYPE
	SYNTAX  INTEGER {
		v1(0),
		v1c(1),
		v2(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					""
	::= { routerDomainIpEntry 3 }

	routerDomainIpOspfCost OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface cost.
					Range: 1 ~ 65535
					Default: 15"
	::= { routerDomainIpEntry 4 }

	routerDomainIpOspfPriority OBJECT-TYPE
	SYNTAX  INTEGER (0..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface priority.
					Range: 0 ~ 255
					Default: 1"
	::= { routerDomainIpEntry 5 }

	routerDomainIpOspfRetransmitInterval OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface retransmit interval.
					Range: 1 ~ 65535
					Default: 5"
	::= { routerDomainIpEntry 6 }

	routerDomainIpOspfTransmitDelay OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface transmit delay.
					Range: 1 ~ 65535
					Default: 1"
	::= { routerDomainIpEntry 7 }

	routerDomainIpOspfDeadInterval OBJECT-TYPE
	SYNTAX  INTEGER(1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface dead interval.
					Range: 1 ~ 65535
					Default: 40"
	::= { routerDomainIpEntry 8 }

	routerDomainIpOspfHelloInterval OBJECT-TYPE
	SYNTAX  INTEGER (1..65535)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface hello interval.
					Range: 1 ~ 65535
					Default: 10"
	::= { routerDomainIpEntry 9 }

	routerDomainIpOspfPassive OBJECT-TYPE
	SYNTAX  INTEGER {
		disable(0),
		enable(1)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"Set OSPF passive interface"
	::= { routerDomainIpEntry 10 }

	routerDomainIpOspfAuth OBJECT-TYPE
	SYNTAX  INTEGER {
		none(0),
		simple(1),
		md5(2)
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface authentication type."
	::= { routerDomainIpEntry 11 }

	routerDomainIpOspfAuthSimpleKey OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF simple key, 8 printable characters.
					Simple key can only be set when authentication method is set as 'simple(1)'
					Set null string to remove simple key setting"
	::= { routerDomainIpEntry 12 }

	routerDomainIpOspfMd5KeyId OBJECT-TYPE
	SYNTAX  INTEGER (1..255)
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface message-digest key ID.
					Range: 1 ~ 255
					0 indicates key ID is not set."
	::= { routerDomainIpEntry 13 }

	routerDomainIpOspfMd5Key OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
					"OSPF interface message-digest key, 16 printable characters.
					MD5 key can only be set when authentication method is set as 'md5(2)',
					key id and key must can be set only via variable binding option.
					Set null string to remove message-digest key setting"
	::= { routerDomainIpEntry 14 }

	--	routerDomainIpOspfMd5KeyTable
--	routerDomainIpOspfMd5KeyTable OBJECT-TYPE
--	SYNTAX  SEQUENCE OF RouterDomainIpOspfMd5KeyEntry
--	MAX-ACCESS  not-accessible
--	STATUS  current
--	DESCRIPTION
--				""
--	::= { routerDomainSetup 2 }

--	routerDomainIpOspfMd5KeyEntry OBJECT-TYPE
--	SYNTAX  RouterDomainIpOspfMd5KeyEntry
--	MAX-ACCESS  not-accessible
--	STATUS  current
--	DESCRIPTION     "An entry in routerDomainIpOspfMd5KeyTable."
--	INDEX           { routerDomainIpVid }
--	::= { routerDomainIpOspfMd5KeyTable 1 }

--	RouterDomainIpOspfMd5KeyEntry ::=
--	SEQUENCE {
--		routerDomainIpOspfMd5KeyId           INTEGER,
--		routerDomainIpOspfMd5Key             DisplayString,
--		routerDomainIpOspfMd5KeyRowStatus    RowStatus
--	}

--	routerDomainIpOspfMd5KeyId OBJECT-TYPE
--	SYNTAX  INTEGER (1..255)
--	MAX-ACCESS  read-write
--	STATUS  current
--	DESCRIPTION
--					"OSPF interface message-digest key ID.
--					Range: 1 ~ 255"
--	::= { routerDomainIpOspfMd5KeyEntry 1 }

--	routerDomainIpOspfMd5Key OBJECT-TYPE
--	SYNTAX  DisplayString
--	MAX-ACCESS  read-write
--	STATUS  current
--	DESCRIPTION
--					"OSPF interface message-digest key, 16 printable characters.
--					Set null string to remove message-digest key setting"
--	::= { routerDomainIpOspfMd5KeyEntry 2 }

--	routerDomainIpOspfMd5KeyRowStatus OBJECT-TYPE
--	SYNTAX  RowStatus
--	MAX-ACCESS  read-create
--	STATUS  current
--	DESCRIPTION
--					"Row status of OSPF interface message-digest key"
--	::= { routerDomainIpOspfMd5KeyEntry 3 }
--------------------------------------------------------------------------------------------------------
-- interworking
--------------------------------------------------------------------------------------------------------
	atmvc				OBJECT IDENTIFIER ::= { interworking 1 }
	portIsolation		OBJECT IDENTIFIER ::= { interworking 2 }
	vlanGlobal			OBJECT IDENTIFIER ::= { interworking 3 }
--	vlanUplink			OBJECT IDENTIFIER ::= { interworking 4 }
--	vlanTransparent		OBJECT IDENTIFIER ::= { interworking 5 }
	vlanTrunk			OBJECT IDENTIFIER ::= { interworking 6 }
	vlanTranslation		OBJECT IDENTIFIER ::= { interworking 7 }
	vlanTls				OBJECT IDENTIFIER ::= { interworking 8 }
	fdb					OBJECT IDENTIFIER ::= { interworking 9 }
-- { interworking 10 } is used by mtu
	smcast				OBJECT IDENTIFIER ::= { interworking 12 }
	mirror              OBJECT IDENTIFIER ::= { interworking 13 }
    vlanIsolation		OBJECT IDENTIFIER ::= { interworking 14 }

----------------------------------------
-- atmvc
----------------------------------------
-- atmMaxNumOfVcPerPort
    	atmMaxNumOfVcPerPort OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
			"The maximum number of VC per port."
    	::= { atmvc 1 }

-- atmvcTable
		atmvcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtmvcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"ATM VC configuration table"
		::= { atmvc 2 }

		atmvcEntry OBJECT-TYPE
		SYNTAX AtmvcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci}
		::= { atmvcTable 1 }

		AtmvcEntry ::=
			SEQUENCE {
				atmvcVpi				INTEGER,
				atmvcVci				INTEGER,
				atmvcPriority           INTEGER,
				atmvcEncap				INTEGER,
				atmvcRowStatus         	RowStatus
--				atmvcMvlan              INTEGER
			}

	    	atmvcVpi OBJECT-TYPE
	    	SYNTAX INTEGER (0..255)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				""
	    	::= { atmvcEntry 1 }

	    	atmvcVci OBJECT-TYPE
	    	SYNTAX INTEGER (32..65535)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				""
	    	::= { atmvcEntry 2 }

	    	atmvcPriority OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"The QoS priority of the ATM VC. The QoS priority must be unique
				 in the VCs in the same UNI port."
	    	::= { atmvcEntry 3 }

		    atmvcEncap OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	llc(1),
		    	vc(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"llc: LLC encapsulation
				vc: VC-MUX encapsulation"
		    ::= { atmvcEntry 4 }

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

--	    	atmvcMvlan OBJECT-TYPE
--		    	SYNTAX  INTEGER {
--		    	join(1),
--		    	nojoin(2)
--			}
--			MAX-ACCESS read-create
--			STATUS current
--			DESCRIPTION
--				"this pvc join mvlan or not."
--			::= { atmvcEntry 8 }

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


----------------------------------------
-- vlanGlobal
----------------------------------------
-- vlanStagTpid
		vlanStagTpid OBJECT-TYPE
		SYNTAX  Unsigned32 (32768..65535)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures S-tag TPID value"
		::= { vlanGlobal 1 }

-- vlanSingleTagMode
--		vlanSingleTagMode OBJECT-TYPE
--		SYNTAX  INTEGER {
--			stag(1),
--			ctag(2)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Configures vlan single tag mode"
--		::= { vlanGlobal 2 }

		vlanCtagTpid OBJECT-TYPE
		SYNTAX  Unsigned32 (32768..65535)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures C-tag TPID value"
		::= { vlanGlobal 3 }

	vlanPortPvidTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanPortPvidEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Display the arp table."
        ::= { vlanGlobal 4 }

    vlanPortPvidEntry OBJECT-TYPE
        SYNTAX VlanPortPvidEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ifIndex }
        ::= { vlanPortPvidTable 1 }

    VlanPortPvidEntry ::=
		SEQUENCE {
			vlanPortPvidValue				INTEGER,
			vlanPortPbitValue               INTEGER
        }

    vlanPortPvidValue OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"port PVID"
        ::= { vlanPortPvidEntry 1 }

     vlanPortPbitValue OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"port pbit"
        ::= { vlanPortPvidEntry 2 }

	vlanPortCopyCpbitTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanPortCopyCpbitEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Copy Cpbit to Spbit"
        ::= { vlanGlobal 5 }

		   vlanPortCopyCpbitEntry OBJECT-TYPE
        SYNTAX VlanPortCopyCpbitEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ifIndex }
        ::= { vlanPortCopyCpbitTable 1 }

    VlanPortCopyCpbitEntry ::=
		SEQUENCE {
			vlanPortCopyCpbitValue		INTEGER
        }

	vlanPortCopyCpbitValue OBJECT-TYPE
		SYNTAX INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"port copy Cpbit to Spbit"
        ::= { vlanPortCopyCpbitEntry 1 }

-- vlanTagMode
		vlanTagMode OBJECT-TYPE
		SYNTAX  INTEGER {
			stag(1),
			ctag(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures vlan tag mode. Packets sent from NNI tagged with S or C tag"
		::= { vlanGlobal 6 }

-- vlanMgmtTagMode
--		vlanMgmtTagMode OBJECT-TYPE
--		SYNTAX  INTEGER {
--			stag(1),
--			ctag(2)
--		}
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Configures management tag mode. Packets sent from MGMT port tagged with S or C tag"
--		::= { vlanGlobal 7 }

	vlanPortFrameTypeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF VlanPortFrameTypeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Configures accepted frame type incoming to this interface."
        ::= { vlanGlobal 8 }

    vlanPortFrameTypeEntry OBJECT-TYPE
        SYNTAX VlanPortFrameTypeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "Configures accepted frame type incoming to this interface."
        INDEX  { ifIndex }
        ::= { vlanPortFrameTypeTable 1 }

    VlanPortFrameTypeEntry ::=
		SEQUENCE {
			vlanPortFrameType    INTEGER
    }

      vlanPortFrameType OBJECT-TYPE
        SYNTAX INTEGER {
          all(1),
          tag(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
          "Configures accepted frame type incoming to this interface."
        ::= { vlanPortFrameTypeEntry 1 }

----------------------------------------
-- vlanTransparent
----------------------------------------
-- vlanTransparentPortTable
--		vlanTransparentPortTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF VlanTransparentPortEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			"Enable/disable VLAN transparent on the specified UNI PTM ports."
--		::= { vlanTransparent 1 }

--		vlanTransparentPortEntry OBJECT-TYPE
--		SYNTAX VlanTransparentPortEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--		INDEX { ifIndex }
--		::= { vlanTransparentPortTable 1 }

--		VlanTransparentPortEntry ::=
--			SEQUENCE {
--				vlanTransparentPortRowStatus         	RowStatus
--			}
--
--	    	vlanTransparentPortRowStatus OBJECT-TYPE
--			SYNTAX RowStatus
--			MAX-ACCESS read-create
--			STATUS current
--			DESCRIPTION
--				""
--			::= { vlanTransparentPortEntry 1 }

----------------------------------------
-- vlanTrunk
----------------------------------------
-- vlanTrunkUntagPortTable
		vlanTrunkUntagPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet in the specified UNI PTM ports
			to the specified S VLAN or S + C VLAN on NNI ports."
		::= { vlanTrunk 1 }

		vlanTrunkUntagPortEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanTrunkUntagPortTable 1 }

		VlanTrunkUntagPortEntry ::=
			SEQUENCE {
				vlanTrunkUntagPortMode    		INTEGER,
				vlanTrunkUntagPortNniSvlan      VlanIndex,
				vlanTrunkUntagPortNniSpbit      INTEGER,
				vlanTrunkUntagPortNniCvlan      VlanIndex,
				vlanTrunkUntagPortNniCpbit      INTEGER,
				vlanTrunkUntagPortRowStatus     RowStatus
			}

			vlanTrunkUntagPortMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagPortEntry 1 }

			vlanTrunkUntagPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagPortEntry 2 }

	    	vlanTrunkUntagPortNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagPortEntry 3 }

			vlanTrunkUntagPortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagPortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagPortEntry 4 }

	    	vlanTrunkUntagPortNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagPortMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagPortEntry 5 }

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

-- vlanTrunkUntagEtypePortTable
		vlanTrunkUntagEtypePortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagEtypePortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI PTM ports
			to the specified S VLAN or S + C VLAN on NNI ports per Etyer Type
			field in the packet."
		::= { vlanTrunk 2 }

		vlanTrunkUntagEtypePortEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagEtypePortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTrunkUntagEtypePortEtype}
		::= { vlanTrunkUntagEtypePortTable 1 }

		VlanTrunkUntagEtypePortEntry ::=
			SEQUENCE {
				vlanTrunkUntagEtypePortEtype   	     Unsigned32,
				vlanTrunkUntagEtypePortMode    	     INTEGER,
				vlanTrunkUntagEtypePortNniSvlan      VlanIndex,
				vlanTrunkUntagEtypePortNniSpbit      INTEGER,
				vlanTrunkUntagEtypePortNniCvlan      VlanIndex,
				vlanTrunkUntagEtypePortNniCpbit      INTEGER,
				vlanTrunkUntagEtypePortRowStatus     RowStatus
			}

			vlanTrunkUntagEtypePortEtype OBJECT-TYPE
		    SYNTAX  Unsigned32 (1536..65535)
		    MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
				"Ether type"
		    ::= { vlanTrunkUntagEtypePortEntry 1 }

			vlanTrunkUntagEtypePortMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagEtypePortEntry 2 }

			vlanTrunkUntagEtypePortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagEtypePortEntry 3 }

	    	vlanTrunkUntagEtypePortNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagEtypePortEntry 4 }

			vlanTrunkUntagEtypePortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagEtypePortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagEtypePortEntry 5 }

	    	vlanTrunkUntagEtypePortNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagEtypePortMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagEtypePortEntry 6 }

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

-- vlanTrunkTagPortTable
		vlanTrunkTagPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkTagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI PTM ports to the
			S(uni-vid) VLAN if S VLAN is not specified or S(svid) + C(uni-vid) on NNI
			ports if S VLAN is specified."
		::= { vlanTrunk 3 }

		vlanTrunkTagPortEntry OBJECT-TYPE
		SYNTAX VlanTrunkTagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTrunkTagPortUniNniVlan }
		::= { vlanTrunkTagPortTable 1 }

		VlanTrunkTagPortEntry ::=
			SEQUENCE {
				vlanTrunkTagPortUniNniVlan      VlanIndex,
				vlanTrunkTagPortMode      		INTEGER,
				vlanTrunkTagPortNniSvlan      	VlanIndex,
				vlanTrunkTagPortRowStatus     	RowStatus
			}

			vlanTrunkTagPortUniNniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID. This VLAN is also used as S VLAN ID or C VLAN ID
				depends on which NNI VLAN tagging mode is configured."
		    ::= { vlanTrunkTagPortEntry 1 }

	    	vlanTrunkTagPortMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTrunkTagPortEntry 2 }

			vlanTrunkTagPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID. This field is used when vlanTrunkTagPortMode
				is configured as sPlusCxVlan(2)."
		    ::= { vlanTrunkTagPortEntry 3 }

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

-- vlanTrunkUntagSubnetPortTable
		vlanTrunkUntagSubnetPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagSubnetPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI PTM ports
			to the specified S VLAN or S + C VLAN on NNI ports for specified
			IP subnet in the packet."
		::= { vlanTrunk 4 }

		vlanTrunkUntagSubnetPortEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagSubnetPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTrunkUntagSubnetPortIpAddressType, vlanTrunkUntagSubnetPortIpAddress, vlanTrunkUntagSubnetPortIpMask}
		::= { vlanTrunkUntagSubnetPortTable 1 }

		VlanTrunkUntagSubnetPortEntry ::=
			SEQUENCE {
				vlanTrunkUntagSubnetPortIpAddressType	InetAddressType,
        		vlanTrunkUntagSubnetPortIpAddress		InetAddress,
        		vlanTrunkUntagSubnetPortIpMask			INTEGER,
				vlanTrunkUntagSubnetPortMode    	    INTEGER,
				vlanTrunkUntagSubnetPortNniSvlan      VlanIndex,
				vlanTrunkUntagSubnetPortNniSpbit      INTEGER,
				vlanTrunkUntagSubnetPortNniCvlan      VlanIndex,
				vlanTrunkUntagSubnetPortNniCpbit      INTEGER,
				vlanTrunkUntagSubnetPortRowStatus     RowStatus
			}

			vlanTrunkUntagSubnetPortIpAddressType OBJECT-TYPE
		    	SYNTAX InetAddressType {
		    		ipv4(1),
		    		ipv6(2)
		    		}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
				"VLAN trunk subnet IP address type"
				::= { vlanTrunkUntagSubnetPortEntry 1 }

			vlanTrunkUntagSubnetPortIpAddress OBJECT-TYPE
				SYNTAX InetAddress
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"VLAN trunk subnet IP address
					<ipv4-address> 0.0.0.0 ~ 223.255.255.255
					<ipv6-address> ::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
					ipv4 address input format: # 0x00 0x00 0x00 0x00
					ipv6 address input format: # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
					Limit: vlanTrunkUntagSubnetPortIpAddressType must be set before vlanTrunkUntagSubnetPortIpAddress."
				::= { vlanTrunkUntagSubnetPortEntry 2 }

			vlanTrunkUntagSubnetPortIpMask OBJECT-TYPE
		        SYNTAX INTEGER (0..128)
		        MAX-ACCESS read-only
		        STATUS current
		        DESCRIPTION
					"The netmask of the IP address."
		        ::= { vlanTrunkUntagSubnetPortEntry 3 }

			vlanTrunkUntagSubnetPortMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagSubnetPortEntry 4 }

			vlanTrunkUntagSubnetPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagSubnetPortEntry 5 }

	    	vlanTrunkUntagSubnetPortNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagSubnetPortEntry 6 }

			vlanTrunkUntagSubnetPortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagSubnetPortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagSubnetPortEntry 7 }

	    	vlanTrunkUntagSubnetPortNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagSubnetPortMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagSubnetPortEntry 8 }

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

 -- vlanTrunkUntagVcTable
		vlanTrunkUntagVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet in the specified UNI ATM virtual circuits to
			the specified S VLAN or S + C VLAN on NNI ports."
		::= { vlanTrunk 5 }

		vlanTrunkUntagVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci }
		::= { vlanTrunkUntagVcTable 1 }

		VlanTrunkUntagVcEntry ::=
			SEQUENCE {
				vlanTrunkUntagVcMode    		INTEGER,
				vlanTrunkUntagVcNniSvlan      	VlanIndex,
				vlanTrunkUntagVcNniSpbit      	INTEGER,
				vlanTrunkUntagVcNniCvlan      	VlanIndex,
				vlanTrunkUntagVcNniCpbit      	INTEGER,
				vlanTrunkUntagVcRowStatus     	RowStatus
			}

			vlanTrunkUntagVcMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagVcEntry 1 }

			vlanTrunkUntagVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagVcEntry 2 }

	    	vlanTrunkUntagVcNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagVcEntry 3 }

			vlanTrunkUntagVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagVcEntry 4 }

	    	vlanTrunkUntagVcNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagVcMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagVcEntry 5 }

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

-- vlanTrunkUntagEtypeVcTable
		vlanTrunkUntagEtypeVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagEtypeVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI ATM virtual circuits
			to the specified S VLAN or S + C VLAN on NNI ports per Etyer Type field in
			the packet."
		::= { vlanTrunk 6 }

		vlanTrunkUntagEtypeVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagEtypeVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci, vlanTrunkUntagEtypeVcEtype}
		::= { vlanTrunkUntagEtypeVcTable 1 }

		VlanTrunkUntagEtypeVcEntry ::=
			SEQUENCE {
				vlanTrunkUntagEtypeVcEtype   	     Unsigned32,
				vlanTrunkUntagEtypeVcMode    	     INTEGER,
				vlanTrunkUntagEtypeVcNniSvlan      VlanIndex,
				vlanTrunkUntagEtypeVcNniSpbit      INTEGER,
				vlanTrunkUntagEtypeVcNniCvlan      VlanIndex,
				vlanTrunkUntagEtypeVcNniCpbit      INTEGER,
				vlanTrunkUntagEtypeVcRowStatus     RowStatus
			}

			vlanTrunkUntagEtypeVcEtype OBJECT-TYPE
		    SYNTAX  Unsigned32 (1536..65535)
		    MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
				"Ether type"
		    ::= { vlanTrunkUntagEtypeVcEntry 1 }

			vlanTrunkUntagEtypeVcMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagEtypeVcEntry 2 }

			vlanTrunkUntagEtypeVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagEtypeVcEntry 3 }

	    	vlanTrunkUntagEtypeVcNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagEtypeVcEntry 4 }

			vlanTrunkUntagEtypeVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagEtypeVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagEtypeVcEntry 5 }

	    	vlanTrunkUntagEtypeVcNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagEtypeVcMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagEtypeVcEntry 6 }

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

-- vlanTrunkTagVcTable
		vlanTrunkTagVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkTagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI ATM virtual
			circuits to the S(uni-vid) VLAN if svlan is not specified or S(svid) +
			C(uni-vid) on NNI ports if svlan is specified."
		::= { vlanTrunk 7 }

		vlanTrunkTagVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkTagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex,  atmvcVpi, atmvcVci, vlanTrunkTagVcUniNniVlan }
		::= { vlanTrunkTagVcTable 1 }

		VlanTrunkTagVcEntry ::=
			SEQUENCE {
				vlanTrunkTagVcUniNniVlan      	VlanIndex,
				vlanTrunkTagVcMode      		INTEGER,
				vlanTrunkTagVcNniSvlan      	VlanIndex,
				vlanTrunkTagVcRowStatus     	RowStatus
			}

			vlanTrunkTagVcUniNniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID. This VLAN is also used as S VLAN ID or C VLAN ID
				depends on which NNI VLAN tagging mode is configured."
		    ::= { vlanTrunkTagVcEntry 1 }

	    	vlanTrunkTagVcMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTrunkTagVcEntry 2 }

			vlanTrunkTagVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID. This field is used when vlanTrunkTagPortMode
				is configured as sPlusCxVlan(2)."
		    ::= { vlanTrunkTagVcEntry 3 }

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

-- vlanTrunkUntagSubnetVcTable
		vlanTrunkUntagSubnetVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagSubnetVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI ATM virtual circuits
			to the specified S VLAN or S + C VLAN on NNI ports for specified
			IP subnet in the packet."
		::= { vlanTrunk 8 }

		vlanTrunkUntagSubnetVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagSubnetVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci, vlanTrunkUntagSubnetVcIpAddressType, vlanTrunkUntagSubnetVcIpAddress, vlanTrunkUntagSubnetVcIpMask}
		::= { vlanTrunkUntagSubnetVcTable 1 }

		VlanTrunkUntagSubnetVcEntry ::=
			SEQUENCE {
				vlanTrunkUntagSubnetVcIpAddressType	InetAddressType,
        		vlanTrunkUntagSubnetVcIpAddress		InetAddress,
        		vlanTrunkUntagSubnetVcIpMask			INTEGER,
				vlanTrunkUntagSubnetVcMode    	    INTEGER,
				vlanTrunkUntagSubnetVcNniSvlan      VlanIndex,
				vlanTrunkUntagSubnetVcNniSpbit      INTEGER,
				vlanTrunkUntagSubnetVcNniCvlan      VlanIndex,
				vlanTrunkUntagSubnetVcNniCpbit      INTEGER,
				vlanTrunkUntagSubnetVcRowStatus     RowStatus
			}

			vlanTrunkUntagSubnetVcIpAddressType OBJECT-TYPE
		    	SYNTAX InetAddressType {
		    		ipv4(1),
		    		ipv6(2)
		    		}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
				"VLAN trunk subnet IP address type"
				::= { vlanTrunkUntagSubnetVcEntry 1 }

			vlanTrunkUntagSubnetVcIpAddress OBJECT-TYPE
				SYNTAX InetAddress
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"VLAN trunk subnet IP address
					<ipv4-address> 0.0.0.0 ~ 223.255.255.255
					<ipv6-address> ::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
					ipv4 address input format: # 0x00 0x00 0x00 0x00
					ipv6 address input format: # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
					Limit: vlanTrunkUntagSubnetVcIpAddressType must be set before vlanTrunkUntagSubnetVcIpAddress."
				::= { vlanTrunkUntagSubnetVcEntry 2 }

			vlanTrunkUntagSubnetVcIpMask OBJECT-TYPE
		        SYNTAX INTEGER (0..128)
		        MAX-ACCESS read-only
		        STATUS current
		        DESCRIPTION
					"The netmask of the IP address."
		        ::= { vlanTrunkUntagSubnetVcEntry 3 }

			vlanTrunkUntagSubnetVcMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagSubnetVcEntry 4 }

			vlanTrunkUntagSubnetVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagSubnetVcEntry 5 }

	    	vlanTrunkUntagSubnetVcNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagSubnetVcEntry 6 }

			vlanTrunkUntagSubnetVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagSubnetVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagSubnetVcEntry 7 }

	    	vlanTrunkUntagSubnetVcNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagSubnetVcMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagSubnetVcEntry 8 }

	    	vlanTrunkUntagSubnetVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkUntagSubnetVcEntry 9 }
----------------------------------------
-- vlanTranslation
----------------------------------------
-- vlanTranslationPortTable
		vlanTranslationPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTranslationPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI PTM ports to the
			S(svid) VLAN or S(svid) + C(cvid) on NNI ports."
		::= { vlanTranslation 1 }

		vlanTranslationPortEntry OBJECT-TYPE
		SYNTAX VlanTranslationPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTranslationPortUniVlan}
		::= { vlanTranslationPortTable 1 }

		VlanTranslationPortEntry ::=
			SEQUENCE {
				vlanTranslationPortUniVlan      	VlanIndex,
				vlanTranslationPortMode      		INTEGER,
				vlanTranslationPortNniSvlan      	VlanIndex,
				vlanTranslationPortNniCvlan      	VlanIndex,
				vlanTranslationPortRowStatus     	RowStatus,
				vlanTranslationPortNniSPrio		INTEGER
			}

			vlanTranslationPortUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID"
		    ::= { vlanTranslationPortEntry 1 }

	    	vlanTranslationPortMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTranslationPortEntry 2 }

			vlanTranslationPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTranslationPortEntry 3 }

			vlanTranslationPortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI C VLAN ID"
		    ::= { vlanTranslationPortEntry 4 }

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

	    	vlanTranslationPortNniSPrio OBJECT-TYPE
			SYNTAX INTEGER (0..8)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI priority 0~7. Specify 8 to not replace the priority."
			::= { vlanTranslationPortEntry 6 }
 -- vlanTranslationVcTable
		vlanTranslationVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTranslationVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI ATM virtual
			circuits to the  S(svid) VLAN or S(svid) + C(cvid) on NNI ports."
		::= { vlanTranslation 2}

		vlanTranslationVcEntry OBJECT-TYPE
		SYNTAX VlanTranslationVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex,  atmvcVpi, atmvcVci, vlanTranslationVcUniVlan }
		::= { vlanTranslationVcTable 1 }

		VlanTranslationVcEntry ::=
			SEQUENCE {
				vlanTranslationVcUniVlan      	VlanIndex,
				vlanTranslationVcMode      		INTEGER,
				vlanTranslationVcNniSvlan      	VlanIndex,
				vlanTranslationVcNniCvlan      	VlanIndex,
				vlanTranslationVcRowStatus     	RowStatus,
				vlanTranslationVcNniSPrio       INTEGER
			}

			vlanTranslationVcUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID"
		    ::= { vlanTranslationVcEntry 1 }

	    	vlanTranslationVcMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTranslationVcEntry 2 }

			vlanTranslationVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTranslationVcEntry 3 }

			vlanTranslationVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID.
				 if vlanTranslationVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTranslationVcEntry 4 }

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

			vlanTranslationVcNniSPrio OBJECT-TYPE
			SYNTAX INTEGER (0..8)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI priority 0~7. Specify 8 to not replace the priority."
			::= { vlanTranslationVcEntry 6 }
----------------------------------------
-- vlanTls
----------------------------------------
-- vlanTlsPortTable
		vlanTlsPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTlsPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enables Transparent LAN service on the specified UNI PTM ports. The
			packets are tagged with S tag on NNI ports."
		::= { vlanTls 1 }

		vlanTlsPortEntry OBJECT-TYPE
		SYNTAX VlanTlsPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanTlsPortTable 1 }

		VlanTlsPortEntry ::=
			SEQUENCE {
				vlanTlsPortNniSvlan			VlanIndex,
				vlanTlsPortNniSpbit			INTEGER,
				vlanTlsPortNniForceSpbit	INTEGER,
				vlanTlsPortRowStatus		RowStatus
			}

			vlanTlsPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTlsPortEntry 1 }

		    vlanTlsPortNniSpbit OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S PBIT. Used when vlanTlsPortNniForceSpbit is set to enable(1)"
		    ::= { vlanTlsPortEntry 2 }

		    vlanTlsPortNniForceSpbit OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Force SPBIT per vlanTlsPortNniSpbit"
		    ::= { vlanTlsPortEntry 3 }

	    	vlanTlsPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTlsPortEntry 4 }
-- vlanTlsVcTable
		vlanTlsVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTlsVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enables Transparent LAN service on the specified UNI ATM virtual circuits.
			The packets is tagged with S tag on NNI ports."
		::= { vlanTls 2 }

		vlanTlsVcEntry OBJECT-TYPE
		SYNTAX VlanTlsVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci }
		::= { vlanTlsVcTable 1 }

		VlanTlsVcEntry ::=
			SEQUENCE {
				vlanTlsVcNniSvlan		VlanIndex,
				vlanTlsVcNniSpbit		INTEGER,
				vlanTlsVcNniForceSpbit	INTEGER,
				vlanTlsVcRowStatus		RowStatus
			}

			vlanTlsVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTlsVcEntry 1 }

		    vlanTlsVcNniSpbit OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"NNI S PBIT. Used when vlanTlsVcNniForceSpbit is set to enable(1)"
		    ::= { vlanTlsVcEntry 2 }

		    vlanTlsVcNniForceSpbit OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Force SPBIT per vlanTlsVcNniSpbit"
		    ::= { vlanTlsVcEntry 3 }

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

----------------------------------------
-- fdb
----------------------------------------
-- fdbAgingTime
	    fdbAgingTime OBJECT-TYPE
	    SYNTAX INTEGER (10..3600)
	    UNITS "second"
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures FDB aging time from 10 to 3600s. (OLC minimum aging-time is 30s)"
		::= { fdb 1 }

-- fdbOps
        fdbOps	OBJECT IDENTIFIER ::= { fdb 2 }
			fdbTarget OBJECT-TYPE
	        SYNTAX PortList
	        MAX-ACCESS read-write
	        STATUS current
	        DESCRIPTION
	        	"Specifies the target ifindex for fdbOperation"
	        ::= { fdbOps 1 }

	    	fdbOperation OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		flushFDBxAddressTable(1),
	    		flushFDBAddressTableForSpecifiedPorts(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Flush FDB
				flushFDBxAddressTable(1) - flush all entries in FDB table
				flushFDBAddressTableForSpecifiedPorts(1) - flush entries on specified port in FDB table
				"
	    	::= { fdbOps 2 }

-- fdbPortConfTable
		fdbPortConfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbPortConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		::= { fdb 3 }

		fdbPortConfEntry OBJECT-TYPE
		SYNTAX FdbPortConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { fdbPortConfTable 1 }

		FdbPortConfEntry ::=
			SEQUENCE {
				fdbPortConfMaxNumOfMacEntries	INTEGER,
				fdbPortConfMacMode		INTEGER
			}

	    	fdbPortConfMaxNumOfMacEntries OBJECT-TYPE
	    	SYNTAX INTEGER (1..256)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures FDB maximum MAC entry counts for speicifed UNI ports"
	    	::= { fdbPortConfEntry 1 }

--	    	fdbPortConfMacMode OBJECT-TYPE
--	    	SYNTAX INTEGER {
--	    	    dynamicAndStaticMac(1),
--	    	    staticMacOnly(2)
--		    }
--	    	MAX-ACCESS read-write
--	    	STATUS current
--	    	DESCRIPTION
--				"Configures FDB MAC learning mode
--
--				dynamicAndStaticMac(1) - allow both static and dynamic MAC
--				staticMacOnly(2) - allow static MAC only"
--	    	::= { fdbPortConfEntry 2 }


-- fdbPortUniVlanConfTable
		fdbPortUniVlanConfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbPortUniVlanConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		::= { fdb 5 }

		fdbPortUniVlanConfEntry OBJECT-TYPE
		SYNTAX FdbPortUniVlanConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, fdbPortVlanConfUniVlan }
		::= { fdbPortUniVlanConfTable 1 }

		FdbPortUniVlanConfEntry ::=
			SEQUENCE {
				fdbPortVlanConfUniVlan             VlanIndex,
				fdbPortVlanConfMaxNumOfMacEntries  INTEGER,
				fdbPortVlanConfRowStatus           RowStatus
			}

        fdbPortVlanConfUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4094)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"speicifed UNI VLAN"
		    ::= { fdbPortUniVlanConfEntry 1 }

	        fdbPortVlanConfMaxNumOfMacEntries OBJECT-TYPE
	    	SYNTAX INTEGER (1..256)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures FDB maximum MAC entry counts for speicifed UNI ports and UNI VLAN"
	    	::= { fdbPortUniVlanConfEntry 2 }

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

-- fdbStaticMacTable
		fdbStaticMacTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbStaticMacEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures static MAC entry on specified UNI ports."
		::= { fdb 6 }

		fdbStaticMacEntry OBJECT-TYPE
		SYNTAX FdbStaticMacEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, fdbStaticMacPhysAddress, fdbStaticMacVlanId }
		::= { fdbStaticMacTable 1 }

		FdbStaticMacEntry ::=
			SEQUENCE {
				fdbStaticMacVlanId				VlanIndex,
				fdbStaticMacPhysAddress			PhysAddress,
				fdbStaticMacRowStatus			RowStatus
			}

		fdbStaticMacVlanId OBJECT-TYPE
		SYNTAX VlanIndex (0..4094)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"vlan id:1 ~ 4094, determined by VLAN model
			  VLAN model        |  <vlan>
			  ----------------------------------
			  Trunk uni-vlan    | uni-vid
			  Trunk uni-untag   | svlan
			  Trunk etype(S)    | svlan
			  Trunk etype(S+C)  | cvlan
			  Translation       | uni-vid
			  Transparent       | no support
			  TLS               | no support"
		::= { fdbStaticMacEntry 1 }

	    	fdbStaticMacPhysAddress OBJECT-TYPE
	    	SYNTAX PhysAddress (SIZE (6))
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				"MAC address"
	    	::= { fdbStaticMacEntry 2 }

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

-- fdbMacLearningVlanTable
		fdbMacLearningVlanTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbMacLearningVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"MAC learning entry sorted by VLAN ID."
		::= { fdb 7 }

		fdbMacLearningVlanEntry OBJECT-TYPE
		SYNTAX FdbMacLearningVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { fdbMacLearningVlanPort, fdbMacLearningVlanPhysAddress, fdbMacLearningVlanVlanId}
		::= { fdbMacLearningVlanTable 1 }

		FdbMacLearningVlanEntry ::=
			SEQUENCE {
--				fdbMacLearningVlanMode			INTEGER,
--				fdbMacLearningVlanNniSVlan		VlanIndex,
--				fdbMacLearningVlanNniCVlan		VlanIndex,
				fdbMacLearningVlanPhysAddress	PhysAddress,
--				fdbMacLearningVlanUniVlan		VlanIndex,
				fdbMacLearningVlanPort			INTEGER,
				fdbMacLearningVlanType			INTEGER,
				fdbMacLearningVlanVlanId		VlanIndex
			}

--		fdbMacLearningVlanMode OBJECT-TYPE
--		SYNTAX  INTEGER {
--		    sVlan(1),
--		    sPlusCxVlan(2),
--		    untag(3)
--		    }
--	    	MAX-ACCESS read-only
--	    	STATUS current
--	    	DESCRIPTION
--			"VLAN Mode
--			sVlan(1) - S tag only
--			sPlusCxVlan(2) - S plus C tag
--			untag(3) - untag"
--	    	::= { fdbMacLearningVlanEntry 1 }

--		fdbMacLearningVlanNniSVlan OBJECT-TYPE
--		SYNTAX  VlanIndex (0..4094)
--	    	MAX-ACCESS read-only
--	    	STATUS current
--	    	DESCRIPTION
--			"NNI S VLAN ID 0 ~ 4094."
--	    	::= { fdbMacLearningVlanEntry 2 }
--
--		fdbMacLearningVlanNniCVlan OBJECT-TYPE
--		SYNTAX  VlanIndex (0..4094)
--	    	MAX-ACCESS read-only
--	    	STATUS current
--	    	DESCRIPTION
--			"NNI C VLAN ID 1 ~ 4094.
--			if fdbMacLearningVlanMode is sVlan(1), this OID is don't care,
--			and the returned value is always 0"
--	    	::= { fdbMacLearningVlanEntry 3 }

		fdbMacLearningVlanPhysAddress OBJECT-TYPE
		SYNTAX  PhysAddress (SIZE (6))
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"MAC address"
	    	::= { fdbMacLearningVlanEntry 4 }

--		fdbMacLearningVlanUniVlan OBJECT-TYPE
--		SYNTAX  VlanIndex (0..4094)
--	    	MAX-ACCESS read-only
--	    	STATUS current
--	    	DESCRIPTION
--			"UNI VLAN ID 0 ~ 4094, 0 stands for no VLAN tag"
--	    	::= { fdbMacLearningVlanEntry 5 }

		fdbMacLearningVlanPort OBJECT-TYPE
		SYNTAX  INTEGER
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"ifIndex the MAC is learnt on"
	    	::= { fdbMacLearningVlanEntry 6 }

		fdbMacLearningVlanType OBJECT-TYPE
		SYNTAX  INTEGER {
		    dynamic(1),
		    staic(2)
		    }
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"MAC learning type"
	    	::= { fdbMacLearningVlanEntry 7 }

		fdbMacLearningVlanVlanId OBJECT-TYPE
		SYNTAX  VlanIndex (0..4094)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"S VLAN ID 0 ~ 4094."
	    	::= { fdbMacLearningVlanEntry 8 }


-- fdbAntiSpoofingTable

	fdbAntiSpoofingTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FdbAntiSpoofingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains anti MAC spoofing configuration per interface."
        ::= { fdb 8 }

	fdbAntiSpoofingEntry OBJECT-TYPE
        SYNTAX FdbAntiSpoofingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of fdbAntiSpoofingTable."
        INDEX { ifIndex }
        ::= { fdbAntiSpoofingTable 1 }

        FdbAntiSpoofingEntry ::=
           SEQUENCE {
          		fdbAntiSpoofing         INTEGER,
          		fdbSpoofingAction		INTEGER
           	}

	    fdbAntiSpoofing OBJECT-TYPE
	    SYNTAX INTEGER {
	    enable(1),
	    disable(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	    "Enable/Disable fdb anti-spoofing.
	    enable: the anti-spoofing mac will be learned on the first port which receives the packet with it as source mac. When anti-spoofing is detected, anti-spoofing alarm will be issued.
	    disable: the anti-spoofing mac will be learned on the latest port which receives the packet with it as source mac. When anti-spoofing is detected, anti-spoofing alarm will be issued."
	    ::= { fdbAntiSpoofingEntry 1 }

	    fdbSpoofingAction OBJECT-TYPE
	    SYNTAX INTEGER {
	    enable(1),
	    disable(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	    "Enable/Disable spoofing action function.
	    enable: disable port when anti-spoofing is detected.
	    disable: do nothing when anti-spoofing is detected."
	    ::= { fdbAntiSpoofingEntry 2 }


-- mtu
--		mtu OBJECT-TYPE
--		SYNTAX  INTEGER (512..2112)
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Configures maximum transmission unit.
--			Unit is bytes"
--		::= { interworking 10 }

-- etherMtuTable
	etherMtuTable OBJECT-TYPE
        SYNTAX SEQUENCE OF EtherMtuEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains Ethernet Frame Size configuration per interface."
        ::= { interworking 11 }

	etherMtuEntry OBJECT-TYPE
        SYNTAX EtherMtuEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of etherMtuTable."
        INDEX { ifIndex }
        ::= { etherMtuTable 1 }

        EtherMtuEntry ::=
           SEQUENCE {
          		mtuSize          INTEGER
           	}

	mtuSize OBJECT-TYPE
		SYNTAX  INTEGER (512..9216)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures maximum frame size in unit of bytes"
		::= { etherMtuEntry 1 }

--------------------
-- static multicast MAC/IP
--------------------

  		smcastMacTable OBJECT-TYPE
  		SYNTAX SEQUENCE OF SmcastMacEntry
  		MAX-ACCESS not-accessible
  		STATUS current
  		DESCRIPTION
  			"Configures static Multicast MAC on Uni port."
  		::= { smcast 1 }

  		smcastMacEntry OBJECT-TYPE
  		SYNTAX SmcastMacEntry
  		MAX-ACCESS not-accessible
  		STATUS current
  		DESCRIPTION
  				"A table entry for static Multicast MAC table."
  		INDEX { ifIndex,smcastMacAddress,smcastMacVlan }
  		::= { smcastMacTable 1 }

  		SmcastMacEntry ::=
  			SEQUENCE {
  				smcastMacAddress				PhysAddress,
  				smcastMacVlan         VlanIndex,
  				smcastMacRowStatus   RowStatus
  			}

      smcastMacAddress OBJECT-TYPE
      SYNTAX PhysAddress
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
      "Static multicast group mac address,
    	can be any multicast MAC except the following:
			01:80:c2:00:00:00~01:80:c2:00:00:3f,
			01:00:5e:00:00:00~01:00:5e:ff:ff:ff."
      ::= { smcastMacEntry 1 }


      smcastMacVlan OBJECT-TYPE
      SYNTAX VlanIndex (1..4094)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "Specifies NNI VLAN ID"
      ::= { smcastMacEntry 2 }

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


  		smcastMacNniTable OBJECT-TYPE
  		SYNTAX SEQUENCE OF SmcastMacNniEntry
  		MAX-ACCESS not-accessible
  		STATUS current
  		DESCRIPTION
  			"Configures static Multicast MAC for MSC card."
  		::= { smcast 2 }


  		smcastMacNniEntry OBJECT-TYPE
  		SYNTAX SmcastMacNniEntry
  		MAX-ACCESS not-accessible
  		STATUS current
  		DESCRIPTION
  				"A table entry for static Multicast MAC table for MSC card."
  		INDEX { ifIndex,smcastMacNniAddress,smcastMacNniVlan }
  		::= { smcastMacNniTable 1 }

  		SmcastMacNniEntry ::=
  			SEQUENCE {
  				smcastMacNniAddress				PhysAddress,
  				smcastMacNniVlan   VlanIndex,
  				smcastMacNniRowStatus   RowStatus
  			}

      smcastMacNniAddress OBJECT-TYPE
      SYNTAX PhysAddress
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
      "Static multicast group mac address,
    	can be any multicast MAC except the following:
			01:80:c2:00:00:00~01:80:c2:00:00:ff,
			01:00:5e:00:00:00~01:00:5e:7f:ff:ff."
      ::= { smcastMacNniEntry 1 }


      smcastMacNniVlan OBJECT-TYPE
      SYNTAX VlanIndex (1..4094)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "Specifies NNI VLAN ID"
      ::= { smcastMacNniEntry 2 }

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

--
--	smcast ip (static multicast by IP)
--
	smcastIpTable OBJECT-TYPE
		SYNTAX SEQUENCE OF SmcastIpEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures static Multicast IP for MSC card."
		::= { smcast 3 }


	smcastIpEntry OBJECT-TYPE
		SYNTAX SmcastIpEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A table entry for static Multicast IP table for MSC card."
		INDEX { ifIndex, smcastIpAddress, smcastIpVlan }
		::= { smcastIpTable 1 }

	SmcastIpEntry ::=
		SEQUENCE {
			smcastIpAddress		IpAddress,
			smcastIpVlan		VlanIndex,
			smcastIpRole		INTEGER,
			smcastIpRowStatus	RowStatus
		}

	smcastIpAddress OBJECT-TYPE
		SYNTAX IpAddress
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"
			Static multicast group IP address.
			(224.0.0.0 ~ 239.255.255.255)
			"
		::= { smcastIpEntry 1 }


	smcastIpVlan OBJECT-TYPE
		SYNTAX VlanIndex (1..4094)
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"
			NNI VLAN ID
			(1~4094)
			"
		::= { smcastIpEntry 2 }

	smcastIpRole OBJECT-TYPE
		SYNTAX  INTEGER{
				forbid(0),
				--normal(1),
				fix(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"
			forbid: block multicast traffic and IGMP,
			fix: allow multicast traffic and drop IGMP
			"
		::= { smcastIpEntry 3 }

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

--------------------
-- mirror
--------------------

-- mirrorEnable
	mirrorEnable OBJECT-TYPE
    SYNTAX  INTEGER {
    			enable(1),
    			disable(2)
    	}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "set to 'enable' to enable mirroring"
        ::= { mirror 1 }

   mirrorMonitorPort OBJECT-TYPE
   SYNTAX  INTEGER
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
            "monitor port"
        ::= { mirror 2 }

-- mirrorPortTable
	mirrorPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MirrorPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table is supported by R5.06 and later versions."
        ::= { mirror 3 }

	mirrorPortEntry OBJECT-TYPE
        SYNTAX MirrorPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in mirrorPortTable."
        INDEX { ifIndex }
        ::= { mirrorPortTable 1 }

	MirrorPortEntry ::= SEQUENCE {
        	mirrorPortDirection 	INTEGER,
			mirrorPortVlan		 	INTEGER
        }

	mirrorPortDirection OBJECT-TYPE
    	SYNTAX  INTEGER{
    			ingress(1),
    			egress(2),
    			both(3),
    			none(4)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
        	"Set to 'ingress' to mirror ingress traffic,
        	'egress' to mirror egress traffic,
        	'both' to mirror bi-directional traffic,
        	'none' to disable mirroring in this port"
    	::= { mirrorPortEntry 1 }

	mirrorPortVlan OBJECT-TYPE
    	SYNTAX  INTEGER(0..4094)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
        	"Specific the vlan which want to monitored.
			If the vlan value is 9999 denotes monitor all data traffic from specific port.
			If the vlan value is 0 denotes monitor untag data traffic from specific vdsl port."
    	::= { mirrorPortEntry 2 }

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



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

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

        PppoeAgentEntry ::=
           SEQUENCE {
           		pppoeAgentVlanId				VlanIndex,
          		pppoeAgentMode					INTEGER,
--          		pppoeAgentCircuitIDEnable		INTEGER,
        		pppoeAgentCircuitIDInfo			DisplayString,
--        		pppoeAgentRemoteIDEnable		INTEGER,
        		pppoeAgentRemoteIDInfo			DisplayString,
        		pppoeAgentOptPolicyVlan     INTEGER,
        		pppoeAgentRowStatus				RowStatus,
        		pppoeAgentOptLinechar     INTEGER
           	}

	pppoeAgentVlanId OBJECT-TYPE
        SYNTAX  VlanIndex (1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Specify the VLAN ID for the pppoeAgent configuration"
        ::= { pppoeAgentEntry 1 }

-- PPPoE Agent statistic
	pppoeStatisticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF PppoeStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { pppoe 2 }

	pppoeStatisticEntry OBJECT-TYPE
	SYNTAX PppoeStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { pppoeStatisticTable 1 }

	PppoeStatisticEntry ::=
		SEQUENCE {
			pppoeStatisticRxPADi				Counter32,
			pppoeStatisticRxPADo				Counter32,
			pppoeStatisticRxPADr				Counter32,
			pppoeStatisticRxPADs				Counter32,
			pppoeStatisticRxPADt				Counter32,
			pppoeStatisticRxErrSvcName			Counter32,
			pppoeStatisticRxErrAcSys			Counter32,
			pppoeStatisticRxErrGeneric			Counter32,
			pppoeStatisticTxPADi				Counter32,
			pppoeStatisticTxPADo				Counter32,
			pppoeStatisticTxPADr				Counter32,
			pppoeStatisticTxPADs				Counter32,
			pppoeStatisticTxPADt				Counter32,
			pppoeStatisticTxErrGeneric			Counter32,
			pppoeStatisticOperation				INTEGER
		}

	pppoeStatisticRxPADi OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADi"
	::= { pppoeStatisticEntry 1 }

	pppoeStatisticRxPADo OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADo"
	::= { pppoeStatisticEntry 2 }

	pppoeStatisticRxPADr OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADr"
	::= { pppoeStatisticEntry 3 }

	pppoeStatisticRxPADs OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADs"
	::= { pppoeStatisticEntry 4 }

	pppoeStatisticRxPADt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADt"
	::= { pppoeStatisticEntry 5 }

	pppoeStatisticRxErrSvcName OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for service name error"
	::= { pppoeStatisticEntry 6 }

	pppoeStatisticRxErrAcSys OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for AC system error"
	::= { pppoeStatisticEntry 7 }

	pppoeStatisticRxErrGeneric OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for generic error"
	::= { pppoeStatisticEntry 8 }

	pppoeStatisticTxPADi OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADi"
	::= { pppoeStatisticEntry 9 }

	pppoeStatisticTxPADo OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADo"
	::= { pppoeStatisticEntry 10 }

	pppoeStatisticTxPADr OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADr"
	::= { pppoeStatisticEntry 11 }

	pppoeStatisticTxPADs OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADs"
	::= { pppoeStatisticEntry 12 }

	pppoeStatisticTxPADt OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for PADt"
	::= { pppoeStatisticEntry 13 }

	pppoeStatisticTxErrGeneric OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"counter for generic error"
	::= { pppoeStatisticEntry 14 }

	pppoeStatisticOperation OBJECT-TYPE
	SYNTAX INTEGER {
		clearPppoeStatistic(1)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Clears pppoe statistic on specific port."
	::= { pppoeStatisticEntry 15 }


-- SPRID 150402109, remove DHCP/PPPoE transparent setting
-- 	pppoeAgentMode OBJECT-TYPE
--         SYNTAX  INTEGER {
-- 			pppoeTransparent(1),
-- 			pppoeIA(2)
-- 		}
--         MAX-ACCESS read-create
--         STATUS current
--         DESCRIPTION
-- 		"pppoeTransparent(1) - PPPoE frames are transparent
-- 		 pppoeIA(2) - PPPoE intermediate agent function is enabled"
--         ::= { pppoeAgentEntry 2 }

	pppoeAgentMode OBJECT-TYPE
        SYNTAX  INTEGER {
			pppoeIA(1)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"pppoeIA(1) - PPPoE intermediate agent function is enabled"
        ::= { pppoeAgentEntry 2 }

--	pppoeAgentCircuitIDEnable OBJECT-TYPE
--        SYNTAX  INTEGER {
--			enable(1),
--			disable(2)
--		}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--		"Enable/disable insert the circuit ID to PPPoE packet in intermediate agent mode."
--        ::= { pppoeAgentEntry 3 }

    pppoeAgentCircuitIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific PPPoE circuit ID info.
		Note: When transform info to circuit ID, the transform result
		      will be truncated to 63 characters
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%ptel: configured port telephone No.
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%chid : in non DSL ATM channel, this field represents UNI VLAN ID,
		        in DSL ATM channel, this field represents %chvpi.%chvci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which PPPoE client runs on
		%cvlan: CVLAN ID which PPPoE client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character
		%ont: ont ID
		%ontc: ont card ID
		%uniport: uniport ID
		%sn: ont serial number"
        ::= { pppoeAgentEntry 4 }

--	pppoeAgentRemoteIDEnable OBJECT-TYPE
--        SYNTAX  INTEGER {
--			enable(1),
--			disable(2)
--		}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--		"Enable/disable insert the remote ID to PPPoE packet in intermediate agent mode."
--        ::= { pppoeAgentEntry 5 }

    pppoeAgentRemoteIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific PPPoE remote ID info.
		Note: When transform info to remote ID, the transform result
		      will be truncated to 63 characters
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%ptel: configured port telephone No.
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%chid : in non DSL ATM channel, this field represents UNI VLAN ID,
		        in DSL ATM channel, this field represents %chvpi.%chvci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which PPPoE client runs on
		%cvlan: CVLAN ID which PPPoE client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character
		%ont: ont ID
		%ontc: ont card ID
		%uniport: uniport ID
		%sn: ont serial number"
        ::= { pppoeAgentEntry 6 }

	pppoeAgentOptPolicyVlan OBJECT-TYPE
	SYNTAX INTEGER {
	drop(1),
	replace(2),
	keep(3)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Select PPPoE option policy in specified VLAN."
	::= { pppoeAgentEntry 7 }

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

	pppoeAgentOptLinechar OBJECT-TYPE
		SYNTAX INTEGER {
			disable(0),
			rate(1),
			full(2)
		}
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Select PPPoE option linechar in specified VLAN."
		::= { pppoeAgentEntry 9 }

-- pppoeAgentPortTable

  pppoeAgentPortTable OBJECT-TYPE
  SYNTAX SEQUENCE OF PppoeAgentPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "A table that contains PPPoE agent configuration for specified linecard ports."
  ::= { pppoe 3 }

  pppoeAgentPortEntry OBJECT-TYPE
  SYNTAX PppoeAgentPortEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Configures PPPoE agent for specified linecard ports."
  INDEX { ifIndex }
  ::= { pppoeAgentPortTable 1 }

  PppoeAgentPortEntry ::=
  SEQUENCE {
    pppoeAgentOptPolicyPort    INTEGER
  }

  pppoeAgentOptPolicyPort OBJECT-TYPE
  SYNTAX INTEGER {
    drop(1),
    replace(2),
    keep(3)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Select PPPoE option policy on specified linecard ports."
  ::= { pppoeAgentPortEntry 1 }

-- pppoeAgentOptPolicyMode

  pppoeAgentOptPolicyMode OBJECT-TYPE
  SYNTAX INTEGER {
    vlan(1),
    port(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
    "Select PPPoE option policy mode."
  ::= { pppoe 4 }

-- pppoeTest
--    pppoeTest	OBJECT IDENTIFIER ::= { pppoe 2  }

--	pppoeTestPort OBJECT-TYPE
--	SYNTAX INTEGER
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--	"Setting the port of the test PPPoE session."
--	::= { pppoeTest 1 }

--	pppoeTestVlanMode OBJECT-TYPE
--	SYNTAX  INTEGER {
--			untag(1),
--			singletag(2),
--			doubletag(3)
--	}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--	"Setting the VLAN mode of the test PPPoE session."
--	::= { pppoeTest 2 }

--	pppoeTestSvid OBJECT-TYPE
--	SYNTAX VlanIndex (1..4094)
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--	"Setting the SVID of the test PPPoE session."
--	::= { pppoeTest 3 }

--	pppoeTestCvid OBJECT-TYPE
--	SYNTAX VlanIndex (1..4094)
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--	"Setting the CVID of the test PPPoE session."
--	::= { pppoeTest 4 }

--    pppoeTestOps OBJECT-TYPE
--	SYNTAX INTEGER
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--	"Set the object to 1 to test PPPoE session."
--	::= { pppoeTest 5 }

--   	pppoeTestStatus OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--	"Display status of testing PPPoE session."
--	::= { pppoeTest 6 }

--------------------------------------------------------------------------------------------------------
-- qos
--------------------------------------------------------------------------------------------------------

-- qosAtmVcShapingEnable
	qosAtmVcShapingEnable OBJECT-TYPE
    SYNTAX  INTEGER {
    	enable(1),
		disable(2)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Enable/Disable per-VC shaping for ATM VC."
    ::= { qos 1 }

-- qosMaxNumOfShapingProfiles
	qosMaxNumOfShapingProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of shaping profiles supported by the system."
    ::= { qos 2 }

-- qosShapingProfile
	qosShapingProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures shaping profiles."
	::= { qos 3 }

	qosShapingProfileEntry OBJECT-TYPE
	SYNTAX QosShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED qosShapingProfileName }
	::= { qosShapingProfileTable 1 }

	QosShapingProfileEntry ::=
		SEQUENCE {
			qosShapingProfileName					DisplayString,
			qosShapingProfileQueue7Rate				INTEGER,
			qosShapingProfileQueue6Rate				INTEGER,
			qosShapingProfileQueue5Rate				INTEGER,
			qosShapingProfileQueue4Rate				INTEGER,
			qosShapingProfileQueue3Rate				INTEGER,
			qosShapingProfileQueue2Rate				INTEGER,
			qosShapingProfileQueue1Rate				INTEGER,
			qosShapingProfileQueue0Rate				INTEGER,
			qosShapingProfileRowStatus				RowStatus
		}

		qosShapingProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name"
		::= { qosShapingProfileEntry 1 }

    	qosShapingProfileQueue7Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 7."
    	::= { qosShapingProfileEntry 2 }

    	qosShapingProfileQueue6Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 6."
    	::= { qosShapingProfileEntry 3 }

    	qosShapingProfileQueue5Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 5."
    	::= { qosShapingProfileEntry 4 }

    	qosShapingProfileQueue4Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 4."
    	::= { qosShapingProfileEntry 5 }

    	qosShapingProfileQueue3Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 3."
    	::= { qosShapingProfileEntry 6 }

    	qosShapingProfileQueue2Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 2."
    	::= { qosShapingProfileEntry 7 }

    	qosShapingProfileQueue1Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 1."
    	::= { qosShapingProfileEntry 8 }

    	qosShapingProfileQueue0Rate OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The guarenteed minumun bandwidth of queue 0."
    	::= { qosShapingProfileEntry 9 }

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

-- qosMaxNumOfVcShapingProfiles
    qosMaxNumOfVcShapingProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of VC shaping profiles supported by the system."
    ::= { qos 6 }

-- qosVcShapingProfile
	qosVcShapingProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosVcShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ATM shaping profiles."
	::= { qos 7 }

	qosVcShapingProfileEntry OBJECT-TYPE
	SYNTAX QosVcShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED qosVcShapingProfileName }
	::= { qosVcShapingProfileTable 1 }

	QosVcShapingProfileEntry ::=
		SEQUENCE {
			qosVcShapingProfileName						DisplayString,
			qosVcShapingProfileMaxRate					INTEGER,
			qosVcShapingProfileQueueDepth					INTEGER,
			qosVcShapingProfileRowStatus 				RowStatus
		}

		qosVcShapingProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name"
		::= { qosVcShapingProfileEntry 1 }

    	qosVcShapingProfileMaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The max rate of VC shaping profile."
    	::= { qosVcShapingProfileEntry 2 }

    	qosVcShapingProfileQueueDepth OBJECT-TYPE
    	SYNTAX INTEGER (30..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of VC shaping profile."
    	::= { qosVcShapingProfileEntry 3 }

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

-- qosPortConfTable
	qosPortConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures referenced QoS algorithm and QoS profile to UNI ports"
	::= { qos 8 }

	qosPortConfEntry OBJECT-TYPE
	SYNTAX QosPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { qosPortConfTable 1 }

	QosPortConfEntry ::=
		SEQUENCE {
			qosPortConfShapingProfile				DisplayString,
			qosPortConfAlgorithm 					INTEGER,
--			qosPortConfMaxRate						INTEGER,
			qosPortConfWeightProfile                DisplayString,
			qosPortConfRateLimitProfile             DisplayString,
--			qosPortConfVlanLimitProfile             DisplayString,
--			qosPortConfRedProfile                   DisplayString
			qosPortConfHybridspq                    INTEGER
		}

	qosPortConfShapingProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures shaping profile on specified UNI port."
		::= { qosPortConfEntry 1 }

    qosPortConfAlgorithm OBJECT-TYPE
        SYNTAX  INTEGER {
			sp(1),
			rr(2),
			wrr(3),
			drr(4),
			wfq(5),
			spWfq(6),
			shaping(7)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
			"Configures QoS algorithm on specified UNI port."
        ::= { qosPortConfEntry 3 }

--    qosPortConfMaxRate OBJECT-TYPE
--    	SYNTAX INTEGER (32..400000)
--    	UNITS "kbps"
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--			"Configures maximum rate on specified UNI port."
--    	::= { qosPortConfEntry 4 }

	qosPortConfWeightProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures wrr/wfq profile on specified UNI port."
		::= { qosPortConfEntry 5 }

	qosPortConfRateLimitProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures Rate limit profile on specified UNI port."
		::= { qosPortConfEntry 6 }

--	qosPortConfVlanLimitProfile OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (1..31))
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Configures Vlan limit profile on specified UNI port."
--		::= { qosPortConfEntry 7 }

--	qosPortConfRedProfile OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (1..31))
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Configures RED profile on specified UNI port."
--		::= { qosPortConfEntry 8 }

	qosPortConfHybridspq OBJECT-TYPE
		SYNTAX INTEGER (0..7)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures Hybrid-Spq on specified UNI port."
	::= { qosPortConfEntry 9 }

-- qosVcConfTable
	qosVcConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosVcConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { qos 9 }

	qosVcConfEntry OBJECT-TYPE
	SYNTAX QosVcConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, atmvcVpi, atmvcVci }
	::= { qosVcConfTable 1 }

	QosVcConfEntry ::=
		SEQUENCE {
			qosVcConfShapingProfile					DisplayString
		}

		qosVcConfShapingProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures ATM shaping profile on specified ATM VC."
		::= { qosVcConfEntry 1 }

-- queueMapping

	queueMapping		OBJECT IDENTIFIER ::= { qos 10 }

    queueMappingPbit7QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 7 mapping to specified queue ID."
	DEFVAL { 7 }
    ::= { queueMapping 1 }

    queueMappingPbit6QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 6 mapping to specified queue ID."
	DEFVAL { 6 }
    ::= { queueMapping 2 }

    queueMappingPbit5QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 5 mapping to specified queue ID."
	DEFVAL { 5 }
    ::= { queueMapping 3 }

    queueMappingPbit4QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 4 mapping to specified queue ID."
	DEFVAL { 4 }
    ::= { queueMapping 4 }

    queueMappingPbit3QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 3 mapping to specified queue ID."
	DEFVAL { 3 }
    ::= { queueMapping 5 }

    queueMappingPbit2QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 2 mapping to specified queue ID."
	DEFVAL { 2 }
    ::= { queueMapping 6 }

    queueMappingPbit1QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 1 mapping to specified queue ID."
	DEFVAL { 1 }
    ::= { queueMapping 7 }

    queueMappingPbit0QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 0 mapping to specified queue ID."
	DEFVAL { 0 }
    ::= { queueMapping 8 }

-- dscp
		dscp		OBJECT IDENTIFIER ::= { qos 11 }
		-- dscpMappingTable
		dscpMappingTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DscpMappingEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
				"The table contains DSCP mapping configuration."
		::= { 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,
				dscpMapPriority		INTEGER
			}

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

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

		-- dscpPortTable
		dscpPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DscpPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"The table contains DSCP mapping configuration for the xDSL 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 }

-- qosShapingProfile

-- qosMaxNumOfWeightProfiles
	qosMaxNumOfWeightProfiles OBJECT-TYPE
    	SYNTAX  INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
			"The maximum number of WRR/WFQ profiles supported by the system."
    	::= { qos 12 }


	qosWeightProfileTable OBJECT-TYPE
		SYNTAX SEQUENCE OF QosWeightProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures wrr/wfq profiles."
		::= { qos 13 }

	qosWeightProfileEntry OBJECT-TYPE
		SYNTAX QosWeightProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { IMPLIED qosWeightProfileName }
		::= { qosWeightProfileTable 1 }

	QosWeightProfileEntry ::=
		SEQUENCE {
			qosWeightProfileName						DisplayString,
			qosWeightProfileQueue7Weight				INTEGER,
			qosWeightProfileQueue6Weight				INTEGER,
			qosWeightProfileQueue5Weight				INTEGER,
			qosWeightProfileQueue4Weight				INTEGER,
			qosWeightProfileQueue3Weight				INTEGER,
			qosWeightProfileQueue2Weight				INTEGER,
			qosWeightProfileQueue1Weight				INTEGER,
			qosWeightProfileQueue0Weight				INTEGER,
--			qosWeightProfileQueue7Depth				INTEGER,
--			qosWeightProfileQueue6Depth				INTEGER,
--			qosWeightProfileQueue5Depth				INTEGER,
--			qosWeightProfileQueue4Depth				INTEGER,
--			qosWeightProfileQueue3Depth				INTEGER,
--			qosWeightProfileQueue2Depth				INTEGER,
--			qosWeightProfileQueue1Depth				INTEGER,
--			qosWeightProfileQueue0Depth				INTEGER,
			qosWeightProfileRowStatus					RowStatus
		}

	qosWeightProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Name of WRR/WFG profile. This is a table index."
		::= { qosWeightProfileEntry 1 }

    qosWeightProfileQueue7Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 7, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 2 }

    qosWeightProfileQueue6Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 6, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 3 }

    qosWeightProfileQueue5Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 5, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 4 }

    qosWeightProfileQueue4Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 4, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 5 }

    qosWeightProfileQueue3Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 3, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 6 }

    qosWeightProfileQueue2Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 2, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 7 }

    qosWeightProfileQueue1Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 1, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 8 }

    qosWeightProfileQueue0Weight OBJECT-TYPE
    	SYNTAX INTEGER (0..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 0, use 0 to specify SP mode.
			For VLC, 0 is equal to 1 because VLC not support SP+Weight algorithm."
    	::= { qosWeightProfileEntry 9 }

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

-- qosMaxNumOfRateLimitProfiles
	qosMaxNumOfRateLimitProfiles OBJECT-TYPE
    	SYNTAX  INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
			"The maximum number of ratelimit profiles supported by the system."
    	::= { qos 14 }

	qosRatelimitProfileTable OBJECT-TYPE
		SYNTAX SEQUENCE OF QosRatelimitProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures rate limit profiles."
		::= { qos 15 }

	qosRatelimitProfileEntry OBJECT-TYPE
		SYNTAX QosRatelimitProfileEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { IMPLIED qosRatelimitProfileName }
		::= { qosRatelimitProfileTable 1 }

	QosRatelimitProfileEntry ::=
		SEQUENCE {
			qosRatelimitProfileName					DisplayString,
			qosRatelimitProfileIngressCIR				INTEGER,
			qosRatelimitProfileIngressCBS				INTEGER,
			qosRatelimitProfileIngressEIR				INTEGER,
			qosRatelimitProfileIngressEBS				INTEGER,
--			qosRatelimitProfileIngressMode				INTEGER,
			qosRatelimitProfileIngressActive			INTEGER,
			qosRatelimitProfileEgressRate				INTEGER,
			qosRatelimitProfileEgressBurst				INTEGER,
			qosRatelimitProfileEgressActive			INTEGER,
			qosRatelimitProfileRowStatus				RowStatus
		}

	qosRatelimitProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Name of ratelimit profile. This is a table index."
		::= { qosRatelimitProfileEntry 1 }

    qosRatelimitProfileIngressCIR OBJECT-TYPE
    	SYNTAX INTEGER (64..10000000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Ingress CIR threshold of this rate limit profile.
      Unit is Kbps(minimum scale is 64 Kbps. If value is not a multiple of 64, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 2 }

    qosRatelimitProfileIngressCBS OBJECT-TYPE
    	SYNTAX INTEGER (64..16000000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Ingress CBS threshold of this rate limit profile.
      Unit is Kbits(minimum scale is 64 Kbits. If value is not a multiple of 64, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 3 }

    qosRatelimitProfileIngressEIR OBJECT-TYPE
    	SYNTAX INTEGER (0..10000000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Ingress EIR threshold of this rate limit profile.
      Unit is Kbps(minimum scale is 64 Kbps. If value is not a multiple of 64, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 4 }

    qosRatelimitProfileIngressEBS OBJECT-TYPE
    	SYNTAX INTEGER (0..16000000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Ingress EBS threshold of this rate limit profile.
      Unit is Kbits(minimum scale is 64 Kbits. If value is not a multiple of 64, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 5 }

--    qosRatelimitProfileIngressMode OBJECT-TYPE
--    	SYNTAX INTEGER {
--	    	hierarchical(1),
--	    	independent(2)
--		}
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"hierarchical mode: vlanlimit profile would be aggregated to ratelimit profile and limited by CIR/CBS. EIR/EBS value do not have effect.
--			independent mode: independent rate limit with vlanlimit profile with lower priority"
--    	::= { qosRatelimitProfileEntry 6 }

    qosRatelimitProfileIngressActive OBJECT-TYPE
    	SYNTAX INTEGER {
	    	active(1),
	    	inactive(2)
		}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Enable/disable ingress rate limit."
    	::= { qosRatelimitProfileEntry 7 }

    qosRatelimitProfileEgressRate OBJECT-TYPE
    	SYNTAX INTEGER (64..10000000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Egress Rate of this rate limit profile.
      Unit is Kbps(minimum scale is 64 Kbps. If value is not a multiple of 64, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 8 }

    qosRatelimitProfileEgressBurst OBJECT-TYPE
    	SYNTAX INTEGER (32..128000)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Egress Burst of this rate limit profile.
      Unit is Kbits(minimum scale is 32 Kbits. If value is not a multiple of 32, a nearly value is applied.)"
    	::= { qosRatelimitProfileEntry 9 }


    qosRatelimitProfileEgressActive OBJECT-TYPE
    	SYNTAX INTEGER {
	    	active(1),
	    	inactive(2)
		}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Enable/disable egress rate limit."
    	::= { qosRatelimitProfileEntry 10 }

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

--	vlanlimitProfileListTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF VlanlimitProfileList
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			"Configures VLAN limit profiles name."
--		::= { qos 16 }

--	vlanlimitProfileList OBJECT-TYPE
--		SYNTAX VlanlimitProfileList
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--		INDEX { vlanlimitProfileListName}
--		::= { vlanlimitProfileListTable 1  }

--	VlanlimitProfileList ::=
--		SEQUENCE {
--			vlanlimitProfileListName					DisplayString,
--			vlanlimitProfileListRowStatus				RowStatus
--		}

--	vlanlimitProfileListName OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (1..31))
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Name of vlanlimit profile. This is a table index."
--		::= { vlanlimitProfileList 1 }

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

--	vlanlimitProfileEntryTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF VlanlimitProfileEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			"Configures VLAN limit profiles."
--		::= { qos 17 }

--	vlanlimitProfileEntry OBJECT-TYPE
--		SYNTAX VlanlimitProfileEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--		INDEX { vlanlimitProfileName,
--          vlanlimitProfileVID,
--			   vlanlimitProfilePriority}
--		::= { vlanlimitProfileEntryTable 1  }


--  VlanlimitProfileEntry ::=
--		SEQUENCE {
--			vlanlimitProfileName					DisplayString,
--			vlanlimitProfileVID						INTEGER,
--			vlanlimitProfilePriority				INTEGER,
--			vlanlimitProfileCIR						INTEGER,
--			vlanlimitProfileCBS						INTEGER,
--			vlanlimitProfileEIR						INTEGER,
--			vlanlimitProfileEBS						INTEGER,
--			vlanlimitProfileRowStatus				RowStatus
--		}

--	vlanlimitProfileName OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (1..31))
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Name of vlanlimit profile. This is a table index."
--		::= { vlanlimitProfileEntry 1 }

--    vlanlimitProfileVID OBJECT-TYPE
--    	SYNTAX INTEGER (1..4094)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"VLAN ID of vlanlimit profile. "
--    	::= { vlanlimitProfileEntry 2 }

--    vlanlimitProfilePriority OBJECT-TYPE
--    	SYNTAX INTEGER (0..8)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Priority Bit of vlanlimit profile."
--    	::= { vlanlimitProfileEntry 3 }

--    vlanlimitProfileCIR OBJECT-TYPE
--    	SYNTAX INTEGER (64..10000000)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Committed Information Rate of vlanlimit profile.
--      Unit is Kbps(minimum scale is 64 Kbps. If value is not a multiple of 64, a nearly value is applied.)"
--    	::= { vlanlimitProfileEntry 4 }

--    vlanlimitProfileCBS OBJECT-TYPE
--    	SYNTAX INTEGER (64..16000000)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Committed Burst Size of vlanlimit profile.
--      Unit is Kbits(minimum scale is 64 Kbits. If value is not a multiple of 64, a nearly value is applied.)"
--    	::= { vlanlimitProfileEntry 5 }

--    vlanlimitProfileEIR OBJECT-TYPE
--    	SYNTAX INTEGER (0..10000000)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Exceed Information Rate of vlanlimit profile.
--      Unit is Kbps(minimum scale is 64 Kbps. If value is not a multiple of 64, a nearly value is applied.)"
--    	::= { vlanlimitProfileEntry 6 }

--    vlanlimitProfileEBS OBJECT-TYPE
--    	SYNTAX INTEGER (0..16000000)
--    	MAX-ACCESS read-create
--    	STATUS current
--    	DESCRIPTION
--			"Exceed Burst Rate of vlanlimit profile.
--      Unit is Kbits(minimum scale is 64 Kbits. If value is not a multiple of 64, a nearly value is applied.)"
--    	::= { vlanlimitProfileEntry 7 }

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


--------------------------------------------------------------------------------------------------------
-- service-(Access Control)
-------------------------------------------------------------------------------------------------------

-- Access Control Table

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

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

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

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

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

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

-- Secured Client IP Table

        securedClientIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SecuredClientIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about IPv4 secured clients."
        ::= { service 2 }

        securedClientIpEntry OBJECT-TYPE
        SYNTAX SecuredClientIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of secured client entry."
        INDEX { securedClientIpIndex }
        ::= { securedClientIpTable 1 }

        SecuredClientIpEntry ::=
        	SEQUENCE {
			securedClientIpIndex			INTEGER,
			securedClientIpStartIpAddress		IpAddress,
			securedClientIpEndIpAddress		IpAddress,
			securedClientIpService			BITS,
			securedClientIpEnable			INTEGER
           	}

        securedClientIpIndex OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The index of the entry."
        ::= { securedClientIpEntry 1 }

        securedClientIpStartIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The start IP address (0.0.0.0 ~ 223.255.255.255) of the secured client settings."
        ::= { securedClientIpEntry 2 }

        securedClientIpEndIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The end IP address (0.0.0.0 ~ 223.255.255.255) of the secured client settings."
        ::= { securedClientIpEntry 3 }

        securedClientIpService OBJECT-TYPE
      	SYNTAX BITS {
          icmp(0),
          telnet(1),
          ftp(2),
          snmp(3),
          web(4),
          https(5),
          ssh(6)
        }
		MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Each bit corresponds to a service. The bit is settings to 1 if the
		service is enabled, and settings to 0 if the service is disabled.
		The various bit positions are:
		BIT 0: icmp
		BIT 1: telnet
		BIT 2: ftp
		BIT 3: snmp
		BIT 4: web
		BIT 5: https
		BIT 6: ssh
		"
        ::= { securedClientIpEntry 4 }

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

-- Secured Client IPv6 Table

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

        securedClientIpv6Entry OBJECT-TYPE
        SYNTAX SecuredClientIpv6Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of IPv6 secured client entry."
        INDEX { securedClientIpv6Index }
        ::= { securedClientIpv6Table 1 }

        SecuredClientIpv6Entry ::=
        	SEQUENCE {
			securedClientIpv6Index			INTEGER,
			securedClientIpv6IpAddress		InetAddress,
			securedClientIpv6IpMask			INTEGER,
			securedClientIpv6Service		BITS,
			securedClientIpv6Enable			INTEGER
           	}

        securedClientIpv6Index OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The index of the entry."
        ::= { securedClientIpv6Entry 1 }

        securedClientIpv6IpAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address (:: ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) of the IPv6 secured client settings."
        ::= { securedClientIpv6Entry 2 }

        securedClientIpv6IpMask OBJECT-TYPE
        SYNTAX INTEGER (0..128)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
			"The Mask of the IPv6 secured client settings."
        ::= { securedClientIpv6Entry 3 }

        securedClientIpv6Service OBJECT-TYPE
      	SYNTAX BITS {
          icmp(0),
          telnet(1),
          ftp(2),
          snmp(3)
          web(4),
          https(5),
          ssh(6)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Each bit corresponds to a service. The bit is settings to 1 if the
		service is enabled, and settings to 0 if the service is disabled.
		The various bit positions are:
		BIT 0: icmp
		BIT 1: telnet
		BIT 2: ftp
		BIT 3: snmp
		BIT 4: web
		BIT 5: https
		BIT 6: ssh
		"
        ::= { securedClientIpv6Entry 4 }

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


-------------------------------------------------------------------------------
-- snmp
-------------------------------------------------------------------------------
    --------------------
	-- snmpTrapDestTable
    --------------------
	snmpTrapDestTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SnmpTrapDestEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
    		"Sets the IP addresses of up to four SNMP managers (stations to send your SNMP traps to).
    		You can configure up to four managers."
    	::= { snmp 1 }

	snmpTrapDestEntry OBJECT-TYPE
        SYNTAX SnmpTrapDestEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        INDEX { snmpTrapDestIndex }
        ::= { snmpTrapDestTable 1 }

   	SnmpTrapDestEntry ::=
        SEQUENCE {
        	snmpTrapDestIndex			INTEGER,
        	snmpTrapDestIpAddressType	InetAddressType,
        	snmpTrapDestIpAddress		InetAddress,
        	snmpTrapDestUdpPort			INTEGER,
        	snmpTrapDestVersion			INTEGER,
            snmpTrapDestUserName		DisplayString
			}

	snmpTrapDestIndex OBJECT-TYPE
		SYNTAX INTEGER (1..4)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"index (1..4) of the trap destination table"
		::= { snmpTrapDestEntry 1 }

	snmpTrapDestIpAddressType OBJECT-TYPE
    	SYNTAX InetAddressType {
    		ipv4(1),
    		ipv6(2)
    		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"SNMP trap destination IP address type"
		::= { snmpTrapDestEntry 2 }

	snmpTrapDestIpAddress OBJECT-TYPE
		SYNTAX InetAddress
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"SNMP trap destination IP address
			<ipv4-address> 0.0.0.0 ~ 223.255.255.255
			<ipv6-address> ::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
			ipv4 address input format: # 0x00 0x00 0x00 0x00
			ipv6 address input format: # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
			Limit: snmpTrapDestIpAddressType must be set before snmpTrapDestIpAddress."
		::= { snmpTrapDestEntry 3 }

	snmpTrapDestUdpPort OBJECT-TYPE
		SYNTAX INTEGER (1..65535)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"SNMP manager UDP port."
		::= { snmpTrapDestEntry 4 }

	snmpTrapDestVersion OBJECT-TYPE
		SYNTAX  INTEGER {
			v1(1),
			v2c(2),
			v3(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"SNMP version."
		::= { snmpTrapDestEntry 5 }

	snmpTrapDestUserName OBJECT-TYPE
		SYNTAX DisplayString (SIZE(0..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Must match an existing account on the Switch."
		::= { snmpTrapDestEntry 6 }


	snmpGetCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..127))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the get community. Only for SNMPv2c or lower."
	::= { snmp 2 }

	snmpSetCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..127))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the set community. Only for SNMPv2c or lower."
	::= { snmp 3 }

	snmpTrapCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..127))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the trap community. Only for SNMPv2c or lower."
	::= { snmp 4 }


    ----------------
	-- snmpUserTable
	----------------

	snmpUserTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SnmpUserEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
    		"Sets the authentication level for SNMP v3 user authentication.
    		Optionally, specifies the authentication and encryption methods for communication with the SNMP manager."
    	::= { snmp 5 }

    snmpUserEntry OBJECT-TYPE
        SYNTAX SnmpUserEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"SNMP user table entry"
        INDEX { IMPLIED snmpUserName }
        ::= { snmpUserTable 1 }

   	SnmpUserEntry ::=
       	SEQUENCE {
    		snmpUserName		DisplayString,
    		snmpUserSecurityLevel	INTEGER,
    		snmpUserAuthProtocol	INTEGER,
    		snmpUserPrivProtocol	INTEGER
    	   	}

	snmpUserName OBJECT-TYPE
		SYNTAX DisplayString (SIZE(1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"User name"
		::= { snmpUserEntry 1 }

	snmpUserSecurityLevel OBJECT-TYPE
		SYNTAX  INTEGER {
			noauth(1),
			auth(2),
			priv(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"noauth: Use the username as the password string sent to the SNMP manager.
			This is equivalent to the Get, Set and Trap Community in SNMP v2c. This is the lowest security level.
			auth: Implement an authentication algorithm for SNMP messages sent by this user.
			priv: Implement authentication and encryption for SNMP messages sent by this user. This is the highest security level."
		::= { snmpUserEntry 2 }

	snmpUserAuthProtocol OBJECT-TYPE
		SYNTAX  INTEGER {
			md5(1),
			sha(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Specify MD5 or SHA authentication algorithm."
		::= { snmpUserEntry 3 }

	snmpUserPrivProtocol OBJECT-TYPE
		SYNTAX 	INTEGER {
			des(1),
			aes(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Specify DES or AES encryption algorithm."
		::= { snmpUserEntry 4 }

	snmpVersion OBJECT-TYPE
	SYNTAX 	INTEGER {
			v2c(1)
			,v3(2),
			v3v2c(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the SNMP version to use for communication with the SNMP manager."
	::= { snmp 6 }


-------------------------------------------------------------------------------
-- sys
-------------------------------------------------------------------------------

	sysBootupFwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Display the version of the running firmware."
        ::= { sys 1 }

	sysImage1FwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Display the firmware version of image1 which was installed at first partition of the flash memory."
        ::= { sys 2 }

	sysImage2FwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Display the firmware version of image2 which was installed at second partition of the flash memory."
        ::= { sys 3 }

	sysBootupImage OBJECT-TYPE
        SYNTAX INTEGER {
    		image1(1),
    		image2(2)
	    	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Current firmware image which was used for system boot up."
        ::= { sys 4 }

	sysBootupConfig OBJECT-TYPE
        SYNTAX INTEGER {
        	config1(1),
        	config2(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Current configuration file the system booted up."
        ::= { sys 5 }

	sysOps OBJECT IDENTIFIER ::= { sys 6 }

	sysTarget OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Specifies target interface ifIndex for sysOperation.
        	0 - represent the system, others: same as ifIndex definition
        	10000: represent slot 1 system
        	20000: represent slot 2 system
        	40000: represent slot 4 system
        	50000: represent slot 5 system
        	60000: represent slot 6 system"
        ::= { sysOps 1 }

	sysOperation OBJECT-TYPE
        SYNTAX INTEGER {
        	resetByIntf(1),
			saveConfigToBootConfig(2),
			saveConfigToConfig1(3),
			saveConfigToConfig2(4),
			loadFactoryDefault(5),
			loadFactoryDefaultByIntf(6),
			rebootSystem(7),
			loadFactoryDefaultAll(8)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The agent will reset the object's value to zero when the operation is done.
        	resetByIntf(1) - applicable to ifIndex.
        	saveConfigToBootConfig(2),
        	saveConfigToConfig1(3),
        	saveConfigToConfig2(4),
        	loadFactoryDefault(5) - resets all config excluding management related settings.
        	loadFactoryDefaultByIntf(6) - applicable to ifIndex.
        	rebootSystem(7) - reboot the target system, unable to reboot target system when firmware upgrade is not ready.
        	loadFactoryDefaultAll(8) - resets all config."
        ::= { sysOps 2 }

	sysRebootCountdownTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"system reboot with specified time, the value 0 is set to cancel the operation, unable to set when line card firmware upgrade is not ready"
        ::= { sysOps 3 }

    ---------------
	-- sysTimeSetup
    ---------------

	sysTimeSetup OBJECT IDENTIFIER ::= { sys 7 }

	sysTimeServerMode OBJECT-TYPE
		SYNTAX INTEGER {
			none(1),
--			daytime(2),
--			time(3),
			ntp(4)
		}
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The mechanism of Time Server when the system boots up."
		::= { sysTimeSetup 1 }

	sysTimeServerIPType OBJECT-TYPE
		SYNTAX InetAddressType {
			ipv4(1),
			ipv6(2)
		}
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The IP Address type"
		::= { sysTimeSetup 2 }

	sysTimeServerIP OBJECT-TYPE
		SYNTAX InetAddress
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The IP Address of Time Server"
		::= { sysTimeSetup 3 }

	sysTimeSystemTime OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The system time in hh/mm/ss format
			hh: 0 ~ 23
			mm: 0 ~ 59
			ss: 0 ~ 59"
		::= { sysTimeSetup 4 }

	sysTimeSystemDate OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The system date in mm/dd/yyyy format
			mm: 1 ~ 12
			dd: 1 ~ 31
			yyyy: 1970 ~ 2037"
		::= { sysTimeSetup 5 }

	sysTimeSystemTimeZone OBJECT-TYPE
		SYNTAX INTEGER {
			utcMinus1200(1),
			utcMinus1100(2),
			utcMinus1000(3),
			utcMinus0900(4),
			utcMinus0800(5),
			utcMinus0700(6),
			utcMinus0600(7),
			utcMinus0500(8),
			utcMinus0400(9),
			utcMinus0300(10),
			utcMinus0200(11),
			utcMinus0100(12),
			utc0000(13),
			utcPlus0100(14),
			utcPlus0200(15),
			utcPlus0300(16),
			utcPlus0400(17),
			utcPlus0500(18),
			utcPlus0600(19),
			utcPlus0700(20),
			utcPlus0800(21),
			utcPlus0900(22),
			utcPlus1000(23),
			utcPlus1100(24),
			utcPlus1200(25),
			utcMinus0330(26),
            utcPlus0330(27),
            utcPlus0430(28),
            utcPlus0530(29),
            utcPlus0545(30),
            utcPlus0630(31),
            utcPlus0930(32),
            utcPlus1300(33)
            }
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The system time zone"
		::= { sysTimeSetup 6 }

	sysTimeServerSynchronize OBJECT-TYPE
	SYNTAX INTEGER {
		synchronize(1)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Synchronize current system time with time server"
	::= { sysTimeSetup 7 }

	sysTimeDaylightSaveEnable OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Enables/Disables daylight saving on the Switch."
	::= { sysTimeSetup 8 }

	sysTimeDaylightSaveStartDateWeek OBJECT-TYPE
	SYNTAX INTEGER (1..5)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date week."
	::= { sysTimeSetup 9 }

	sysTimeDaylightSaveStartDateDay OBJECT-TYPE
	SYNTAX INTEGER {
		sun(1),
		mon(2),
		tue(3),
		wed(4),
		thu(5),
		fri(6),
		sat(7)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date day."
	::= { sysTimeSetup 10 }

	sysTimeDaylightSaveStartDateMonth OBJECT-TYPE
	SYNTAX INTEGER (1..12)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date month."
	::= { sysTimeSetup 11 }

	sysTimeDaylightSaveStartDateClock OBJECT-TYPE
	SYNTAX INTEGER (0..23)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date o'clock."
	::= { sysTimeSetup 12 }

	sysTimeDaylightSaveEndDateWeek OBJECT-TYPE
	SYNTAX INTEGER (1..5)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date week."
	::= { sysTimeSetup 13 }

	sysTimeDaylightSaveEndDateDay OBJECT-TYPE
	SYNTAX INTEGER {
		sun(1),
		mon(2),
		tue(3),
		wed(4),
		thu(5),
		fri(6),
		sat(7)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date day."
	::= { sysTimeSetup 14 }

	sysTimeDaylightSaveEndDateMonth OBJECT-TYPE
	SYNTAX INTEGER (1..12)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date month."
	::= { sysTimeSetup 15 }

	sysTimeDaylightSaveEndDateClock OBJECT-TYPE
	SYNTAX INTEGER (0..23)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date o'clock."
	::= { sysTimeSetup 16 }

	sysTimeServerLastSynchronizeStatus OBJECT-TYPE
	SYNTAX INTEGER {
		idle(1),
		successfully(2),
		failed(3),
		ongoing(4)
		}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The status of the last synchronization with time server"
	::= { sysTimeSetup 17 }

	sysTimeServerLastSynchronizeTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Last time synchronization with time server"
	::= { sysTimeSetup 18 }

    ------------
	-- sysCmSync
    ------------

--	sysCmSync OBJECT IDENTIFIER ::= { sys 8 }

--	sysCmSyncUrl OBJECT-TYPE
--		SYNTAX DisplayString
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"The FTP URL to get/put CM file.
--			The format is ftp://<user>:<password>@<host>[:<port>]/<path and filename>
--			Max string length of <path and filename> is 127."
--		::= { sysCmSync 1 }
--
--	sysCmSyncCommand OBJECT-TYPE
--		SYNTAX INTEGER {
--			cmBackupIndication(1),
--			cmRestoreIndication(2)
--			}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"After setting FTP URL in sysCmSyncUrl,
--			The management system issues cmBackupIndication(1) to ask device sync CM file to management system.
--			The management system issues cmRestoreIndication(2) to ask device sync CM file from management system.
--			Device returns the last value configured."
--		::= { sysCmSync 2 }
--
--	sysCmSyncStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--			cmUploading(1),
--			cmUploadedSuccessfully(2),
--			cmUploadedTimeout(3),
--			cmGeneratingFileError(4),
--			cmDownloading(5),
--			cmDownloadedSuccessfully(6),
--			cmDownloadedTimeout(7),
--			cmValidatingFileError(8),
--			cmValidatingFileSuccessfully(9),
--			idle(10),
--			cmApplyingFileError(11),
--			cmApplyingFileSuccessfully(12)
--			}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Device returns cmUploading(1) if the uploading process is on going.
--			Device returns cmUploadedSuccessfully(2) if the uploading process is done.
--			Device returns cmUploadedTimeout(3) if the uploading process is timeout.
--			Device returns cmGeneratingFileError(4) if the EAN failed to generate CM file.
--			Device returns cmDownloading(5) if the downloading process is on going.
--			Device returns cmDownloadedSuccessfully(6) if the downloading process is done.
--			Device returns cmDownloadedTimeout(7) if the downloading process is timeout.
--			Device returns cmValidatingFileError(8) if the downloaded CM file validating error.
--			Device returns cmValidatingFileSuccessfully(9) if the downloaded CM file validating successful.
--			Device returns idle(10) if no CM sync process was requested after device booted up.
--			Device returns cmApplyingFileError(11) if failed to apply downloaded CM file.
--			Device returns cmApplyingFileSuccessfully(12) if apply downloaded CM file successfully."
--		::= { sysCmSync 3 }

--	sysCmSyncRefCounter OBJECT-TYPE
--		SYNTAX INTEGER
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"CM sync reference counter for device.
--			Device increases the counter everytime it got configuration request
--			either from SNMP or CLI. If the counter is not synchronized, the
--			configuration between EMS and device must resync."
--		::= { sysCmSync 4 }

    ------------
	-- sysPmSync
	------------

--	sysPmSync OBJECT IDENTIFIER ::= { sys 9 }
--
--	sysPmSyncUrl OBJECT-TYPE
--		SYNTAX DisplayString
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"The FTP URL to sync PM file to FTP server. The URL only contians
--			the path to put the PM file.
--			The format is ftp://<user>:<password>@<host>[:<port>]/<path>
--
--			The PM file name format is <IP>_<time>. For example: 192.168.1.1_1316565000
--			<time> is the start time of the 15 min period. The unit is second.
--			In the notification, the URL also contains the file name.
--			Max string length of <path> is 127."
--		::= { sysPmSync 1 }
--
--	sysPmSyncEnable OBJECT-TYPE
--		SYNTAX INTEGER {
--			enable(1),
--			disable(2)
--		}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"If sysPmSyncEnable is enable(1), EAN sync PM file to EMS every
--			15 min. The file location and file name is per sysPmSyncUrl."
--		::= { sysPmSync 2 }
--
--	sysPmSyncDelay OBJECT-TYPE
--		SYNTAX INTEGER (0..899)
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Sets the delay time of PM file uploading after 15-min boundary"
--		::= { sysPmSync 3 }
--
--	sysPmSyncStatus OBJECT-TYPE
--		SYNTAX INTEGER {
--		idle(1),
--			uploaded(2),
--			uploading(3),
--			uploadingTimeout(4),
--			uploadingSuccessfully(5)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Returns the PM sync state machine state.
--		 idle(1) - PM sync disabled
--		 	uploaded(2) - PM sync enabled or PM file uploaded down
--		 	uploading(3) - PM file is uploading
--		 	uploadingTimeout(4) - PM file uploading timeout
--		 	uploadingSuccessfully(5) - PM file uploading successfully"
--		::= { sysPmSync 4 }
--
    ---------------
	-- sysFwUpgrade
    ---------------

	sysFwUpgrade OBJECT IDENTIFIER ::= { sys 10 }

--	sysFwUpgradeUrl OBJECT-TYPE
--		SYNTAX DisplayString
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"The FTP/SFTP URL to upgrade FW image from FTP/SFTP server.
--			FTP server format is ftp://<user>:<password>@<host>[:<port>]/<path and file name>
--			SFTP server format is sftp://<user>:<password>@<host>[:<port>]/<path and file name>
--			Max string length of <path and filename> is 127"
--		::= { sysFwUpgrade 1 }

--	sysFwUpgradeCommand OBJECT-TYPE
--		SYNTAX INTEGER {
--			swDownloadIndication(1),
--			swInstallIndication(2),
--			swCommitIndication(3),
--			swRestoreIndication(4),
--			swRevertIndication(5)
--			}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Management system issues swDownloadIndication(1) - to ask EAN download SW from EMS
--		 	Management system issues swInstallIndication(2) - to ask EAN install the downloaded SW image
--		 	Management system issues swCommitIndication(3) - to ask EAN accept the installed SW image
--		 	Management system issues swRestoreIndication(4) - to ask EAN restore SW image
--		 	Management system issues swRevertIndication(5) - to ask EAN revert to old SW image
--		 	Device returns last value configured"
--	::= { sysFwUpgrade 2 }

	sysFwUpgradeStatus OBJECT-TYPE
		SYNTAX INTEGER {
			swDownloading(1),
			swDownloadedSuccessfully(2),
			swDownloadedTimeout(3),
			swImageFileError(4),
--			swInstalling(5),
			swInstallingError(6),
			swInstallSuccessfully(7),
			swRestoreSuccessfully(8),
			swRevertSuccessfully(9),
			idle(10),
			unknownError(11)
			}
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"Device returns swDownloading(1) - if the downloading process is on going.
		 	Device returns swDownloadedSuccessfully(2) - if the downloading process is successfully.
		 	Device returns swDownloadedTimeout(3) - if the downloading process is timeout.
		 	Device returns swImageFileError(4) - if the downloaded image file has error CRC.
		 	Device returns swInstalling(5) - if the downloaded image file is installing (EAN is restarting).
		 	Device returns swInstallingError(6) - if EAN failed to installing downloaded image file.
		 	Device returns swInstallSuccessfully(7) - if EAN installed downloaded image file successfully.
		 	Device returns swRestoreSuccessfully(8) - if EAN restored SW successfully.
		 	Device returns swRevertSuccessfully(9) - if EAN reverted to old SW successfully.
		 	Device returns idle(10) - if EAN didn't get any SW downloading command after system booted up.
		 	Device returns unKnownError(11) - if the installing process is terminated due to NE restart by unknown reason"
		::= { sysFwUpgrade 3 }

--	sysFwUpgradeVersion OBJECT-TYPE
--		SYNTAX DisplayString
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Display the version of running/installed/reverted/restored firmware."
--		::= { sysFwUpgrade 4 }

    --------------
    -- sysNniType
    --------------
	--sysNniType OBJECT-TYPE
	--SYNTAX INTEGER {
	--	ge(1),
	--	gpon(2)
	--}
	--MAX-ACCESS read-only
	--STATUS current
	--DESCRIPTION
	--	"The NNI port type. GE or GPON uplink."
	--::= { sys 11 }

    ---------------
	-- sysFwUpgrade
    ---------------

	sysProductData OBJECT IDENTIFIER ::= { sys 12 }

	sysProductName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..20))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The product name is 'IES5206' by default."
		::= { sysProductData 1 }

	sysProductDescr OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..32))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The brief description of the product."
		::= { sysProductData 2 }

	sysProductNumber OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..24))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The product number for IES5206"
		::= { sysProductData 3 }

	sysProductRevision OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..13))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The product number is for example 'R1A', 'R1B', 'R2A', etc. according to product development and assignment."
		::= { sysProductData 4 }

	sysSerialNumber OBJECT-TYPE
		SYNTAX DisplayString (SIZE (3..31))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The product number assigned during manufacturing process.
			Serial number is in the format <factory code><7 digit decimal number>, e.g. 'Axx0001234'."
		::= { sysProductData 5 }

	sysManufacturingDate OBJECT-TYPE
		SYNTAX DisplayString (SIZE (8..8))
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The product maunfacturing date in format of '<YYYY><MM><DD>, e.g. '20120611'.
			<YYYY>	- 2012~ ....
			<MM>	- 01~12
			<DD>	- 01~31"
		::= { sysProductData 6 }

--	cardModuleTable is used for IES5206

--	sysMaintenance OBJECT IDENTIFIER ::= { sys 13 }

--	sysCardOpStatus OBJECT-TYPE
--	SYNTAX INTEGER {
--		up(1),
--		down(2)
--		}
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"Operational status of the card. Values: 'up(1)', 'down(2)'.
--		This status goes to 'up' if the card is able to forward
--		traffic in both directions."
--	::= { sysMaintenance 1 }

--	sysCardAlarmStatus	OBJECT-TYPE
--	SYNTAX INTEGER {
--		alarm(1),
--		noAlarm(2)
--		}
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"This variable indicates the alarm status of the module.
--		hasAlarm(1) there are current alarms related to the module
--		noAlarm(2) there are no current alarms related to the module."
--	::= { sysMaintenance 2 }

--	sysCardMaintenanceState OBJECT-TYPE
--	SYNTAX	INTEGER {
--		enable(1),
--		disable(2)
--		}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Enable - enable the card, the interfaces would try to initialize according to per interface setting.
--		Disable - disable the card, all interfaces would not allow traffic any more.
--		Remark: this is to reflect maintenance status"
--	::= { sysMaintenance 3 }

--	sysCardReset OBJECT-TYPE
--	SYNTAX	INTEGER {
--		noAction(0),
--		reset(1)
--		}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Write reset(1) to restart the system. Always return noAction(0)."
--	::= { sysMaintenance 4 }

    ----------------
    -- sysTimeRef --
    ----------------

--	sysTimeRef OBJECT IDENTIFIER ::= { sys 14 }

--	sysTimeRef1PPSSync OBJECT-TYPE
--		SYNTAX INTEGER {
--			false(0),
--			true(1)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Timing reference is in sync state on 1PPS or others.
--			)."
--		::= { sysTimeRef 1 }

--	sysTimeRefToDSync OBJECT-TYPE
--		SYNTAX INTEGER {
--			false(0),
--			true(1)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Timing reference ToD input is in sync state.
--			NMEA sentence from GPS interface is recognized."
--		::= { sysTimeRef 2 }

--	sysTimeRef1PPSPresent OBJECT-TYPE
--		SYNTAX INTEGER {
--			false(0),
--			true(1)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Timing reference from 1PPS input is present or not."
--		::= { sysTimeRef 3 }

--	sysTimeRefToDPresent OBJECT-TYPE
--		SYNTAX INTEGER {
--			false(0),
--			true(1)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Timing reference ToD input is present."
--		::= { sysTimeRef 4 }


--	sysTimeRefSyncEConfig OBJECT IDENTIFIER ::= { sysTimeRef 5 }

--	sysTimeRefSyncEPrimaryPort OBJECT-TYPE
--		SYNTAX INTEGER (1..24)
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Primary port of SyncE, value 1~24."
--		::= { sysTimeRefSyncEConfig 1 }

--	sysTimeRefSyncESecondaryPort OBJECT-TYPE
--		SYNTAX INTEGER (0..24)
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Secondary port of SyncE, value 1~24. 0 means no secondary port."
--		::= { sysTimeRefSyncEConfig 2 }

--	sysTimeRefSyncEQLThreshold OBJECT-TYPE
--		SYNTAX INTEGER {
--			eec1-prc(1),
--			eec1-ssu-a(2),
--			eec1-ql-ssu-b(3),
--			eec1-ql-eec1(4),
--			eec1-ql-stu(6),
--			eec2-prs(7),
--			eec2-tnc(8),
--			eec2-st2(9),
--			eec2-eec2(10),
--			eec2-smc(11),
--			eec2-st3e(12),
--			eec2-prov(13)
--		}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Quality level threshold of this system."
--		::= { sysTimeRefSyncEConfig 3 }

--	sysTimeRefSyncEWaitToRestoreTime OBJECT-TYPE
--		SYNTAX INTEGER (0..12)
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Wait to restore time(minutes). When primary gets better signal,
--			 this is the waiting time before restore to primary port."
--		::= { sysTimeRefSyncEConfig 4 }

--	sysTimeRefSyncEStatus OBJECT IDENTIFIER ::= { sysTimeRef 6 }

--	sysTimeRefSyncESync OBJECT-TYPE
--		SYNTAX INTEGER {
--			lockToPrimary(1),
--			lockToSecondary(2),
--			holdover(3),
--			freerun(4)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Synchronization status of SyncE."
--		::= { sysTimeRefSyncEStatus 1 }

--	sysTimeRefSyncESource OBJECT-TYPE
--		SYNTAX INTEGER
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Synchronization source interface of SyncE. The value follows ifIndex format."
--		::= { sysTimeRefSyncEStatus 2 }

--	sysTimeRefSyncEQL OBJECT-TYPE
--		SYNTAX INTEGER {
--			ql-prc(1),
--			ql-ssu-a(2),
--			ql-ssu-b(3),
--			ql-eec1(4),
--			ql-dnu(5),
--			ql-stu(6),
--			ql-prs(7),
--			ql-tnc(8),
--			ql-st2(9),
--			ql-eec2(10),
--			ql-smc(11),
--			ql-st3e(12),
--			ql-prov(13),
--			ql-dus(14)
--		}
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Received quality level of SyncE."
--		::= { sysTimeRefSyncEStatus 3 }



--		sysTimeRefPTPConfig OBJECT IDENTIFIER ::= { sysTimeRef 7 }

--		sysTimeRefPTPMode OBJECT-TYPE
--		SYNTAX INTEGER {
--			enable(1),
--			disable(2)
--		}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Status of IEEE1588."
--		::= { sysTimeRefPTPConfig 1 }

--		sysTimeRefPTPDomain OBJECT-TYPE
--		SYNTAX INTEGER
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Domain of PTP"
--		::= { sysTimeRefPTPConfig 2 }

--		sysTimeRefPTPPriority1 OBJECT-TYPE
--		SYNTAX INTEGER
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Priority1 of PTP"
--		::= { sysTimeRefPTPConfig 3 }

--		sysTimeRefPTPPriority2 OBJECT-TYPE
--		SYNTAX INTEGER
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Priority2 of PTP"
--		::= { sysTimeRefPTPConfig 4 }

--		sysTimeRefPTPType OBJECT-TYPE
--		SYNTAX INTEGER {
--			one-step(1),
--			two-step(2)
--		}
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Type of PTP"
--		::= { sysTimeRefPTPConfig 5 }


--    --------------------
--	   sysTimeRefPTPGrandmasterTable
--    --------------------

--        sysTimeRefPTPGrandmasterTable OBJECT-TYPE
--    	SYNTAX SEQUENCE OF SysTimeRefPTPGrandmasterEntry
--    	MAX-ACCESS not-accessible
--    	STATUS current
--    	DESCRIPTION
--    		""
--    	::= { sysTimeRefPTPConfig 6 }

--        sysTimeRefPTPGrandmasterEntry OBJECT-TYPE
--        SYNTAX SysTimeRefPTPGrandmasterEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	""
--        INDEX { sysTimeRefPTPGrandmasterIndex }
--        ::= { sysTimeRefPTPGrandmasterTable 1 }
--
--        SysTimeRefPTPGrandmasterEntry ::=
--            SEQUENCE {
--                sysTimeRefPTPGrandmasterIndex      INTEGER,
--                sysTimeRefPTPGrandmasterIpv4       InetAddress
--            }

--        sysTimeRefPTPGrandmasterIndex OBJECT-TYPE
--		SYNTAX INTEGER (1..4)
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"Grandmaster index of PTP"
--		::= { sysTimeRefPTPGrandmasterEntry 1 }

--		sysTimeRefPTPGrandmasterIpv4 OBJECT-TYPE
--		SYNTAX InetAddress
--		MAX-ACCESS	read-write
--		STATUS	current
--		DESCRIPTION
--			"Grandmaster ipv4 address of PTP"
--		::= { sysTimeRefPTPGrandmasterEntry 2 }


--    sysTimeRefSourceConfig OBJECT IDENTIFIER ::= { sysTimeRef 8 }

--    sysTimeRefSource OBJECT-TYPE
--        SYNTAX INTEGER {
--            synE(1),
--            gps(2),
--            ptp-bc(3),
--            hybrid(4),
--            local(5)
--        }
--        MAX-ACCESS read-write
--        STATUS	current
--		DESCRIPTION
--			"Synchronization status of SyncE."
--		::= { sysTimeRefSourceConfig 1 }

--    sysTimeRefInformation OBJECT IDENTIFIER ::= { sysTimeRef 9 }

--    sysTimeRefInfo OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-only
--        STATUS	current
--		DESCRIPTION
--			"Displays the timing information."
--		::= { sysTimeRefInformation 1 }

--		sysTimeRefPTPGroupTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF SysTimeRefPTPGroupEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			"Configures PTP Group."
--		::= { sysTimeRefPTPConfig 2 }

--		sysTimeRefPTPGroupEntry OBJECT-TYPE
--		SYNTAX SysTimeRefPTPGroupEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			"Entry for PTP Group"
--		INDEX { sysTimeRefPTPGroupID }
--		::= { sysTimeRefPTPGroupTable 1 }

--		SysTimeRefPTPGroupEntry ::=
--		SEQUENCE {
--			sysTimeRefPTPGroupID					INTEGER,
--			sysTimeRefPTPGroupIPort					PortList,
--			sysTimeRefPTPGroupMembers					PortList,
--			sysTimeRefPTPGroupRowStatus					RowStatus
--		}

--		sysTimeRefPTPGroupID OBJECT-TYPE
--		SYNTAX INTEGER (1..4)
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Group Id of PTP Group."
--		::= { sysTimeRefPTPGroupEntry 1 }

--		sysTimeRefPTPGroupIPort OBJECT-TYPE
--		SYNTAX PortList
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"Ingress Interface of PTP Group."
--		::= { sysTimeRefPTPGroupEntry 2 }

--		sysTimeRefPTPGroupMembers OBJECT-TYPE
--		SYNTAX	PortList
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"members (bitmap) of PTP Group."
--		::= { sysTimeRefPTPGroupEntry 3 }

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

-------------------------------
-- aaa
-------------------------------
aaa			OBJECT IDENTIFIER ::= { sys 15 }

authen			OBJECT IDENTIFIER ::= { aaa 1 }
acct			OBJECT IDENTIFIER ::= { aaa 2 }
author			OBJECT IDENTIFIER ::= { aaa 3 }
radius			OBJECT IDENTIFIER ::= { aaa 4 }
tacacsplus		OBJECT IDENTIFIER ::= { aaa 5 }

-- authen

	loginMethod1 OBJECT-TYPE
		SYNTAX  INTEGER {
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The first method of login authentication"
		::= { authen 1 }

	loginMethod2 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The second method of enable authentication."
		::= { authen 2 }

	loginMethod3 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The third method of enable authentication."
		::= { authen 3 }

	enableMethod1 OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				tacacsplus(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The first method of enable authentication."
		::= { authen 4 }

	enableMethod2 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				enable(1),
				tacacsplus(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The second method of enable authentication."
		::= { authen 5 }

	enableTryContinue OBJECT-TYPE
		SYNTAX  EnabledStatus
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Enable: The system will still try next enable method even the current one method return failed by authentication.
		 Disable: The system will only try next enable method while timeout."
		::= { authen 6 }

	loginTryContinue OBJECT-TYPE
		SYNTAX  EnabledStatus
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Enable: The system will still try next login method even the current one method return failed by authentication.
		 Disable: The system will only try next login method while timeout."
		::= { authen 7 }
		
		
-- acct
	systemMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				radius(1),
				tacacsplus(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the accounting method for system level recording"
		::= { acct 1 }

	execMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				radius(1),
				tacacsplus(2)

		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the accounting method for exec level accounting."
		::= { acct 2 }

	execMode OBJECT-TYPE
		SYNTAX  INTEGER {
				start-stop(1),
				stop-only(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the update mode for exec level accounting.
			 start-stop: Send start, stop event to server during administrator log in and
			 			 log out the shell, and periodically update the session status to server.
			 stop-only: Send only stop event to server when the administrator ends the session."
		::= { acct 3 }

	commandsPrivilege OBJECT-TYPE
		SYNTAX  INTEGER (0..14)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the command privilege level(1~14) for accounting
			 command privilege 0 means disable "
		::= { acct 4 }

	updatePeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..2147483647)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the update interval of accounting, 1~2147483647 minutes"
		::= { acct 5 }

	commandsMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				tacacsplus(0)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"show the accounting method for commands level accounting."
		::= { acct 6 }


-- author

	authorPrivModeTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF AuthorPrivModeEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "This table is to configure the mode of authorization for each privilege"
    	::= { author 1 }

    	authorPrivModeEntry OBJECT-TYPE
        SYNTAX AuthorPrivModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of authorPrivModeEntry."
        INDEX { authorPrivilege  }
        ::= { authorPrivModeTable 1 }

   	AuthorPrivModeEntry ::=
        	SEQUENCE {
            		authorPrivilege		INTEGER,
            		authorMode			INTEGER
      	   	}


	authorPrivilege OBJECT-TYPE
		SYNTAX  INTEGER (1..14)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the privilege level for authorization, every command will have its assigned privilege,
			  authorization happens when user executes a command which privilege is specified here.
			  Accepted value is 1~14 "
		::= { authorPrivModeEntry 1 }

	authorMode OBJECT-TYPE
		SYNTAX  INTEGER {
				none(1),
				local(2),
				tacacsplus(3),
				tacacsplus-then-none(4),
				tacacsplus-then-local(5)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the authorization mode when authorization occurred.
			 none: no authorization
			 local: commands will be authorized with default privilege
			 tacacs+: authorization will be sent to remote tacacs+ server.
			 tacacs+ then none: authorization will be granted if there is no response from tacacs+ server.
			 tacacs+ then local: local authorization will take place if there is no reponse from tacacs+ server."
		::= { authorPrivModeEntry 2 }


-- radius
radiusAuthen		OBJECT IDENTIFIER ::= { radius 1 }
radiusAcct			OBJECT IDENTIFIER ::= { radius 2 }

	-- radiusAuthen
	radiusAuthenRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index-priority(1),
				round-robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { radiusAuthen 1 }

	radiusAuthenTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
			 1~300 seconds
			 When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { radiusAuthen 2 }

	radiusAuthenServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF RadiusAuthenServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { radiusAuthen 3 }

    	radiusAuthenServerEntry OBJECT-TYPE
        SYNTAX RadiusAuthenServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of radiusAuthenServerTable."
        INDEX { radiusAuthenServerIndex  }
        ::= { radiusAuthenServerTable 1 }

   	RadiusAuthenServerEntry ::=
        	SEQUENCE {
            		radiusAuthenServerIndex		INTEGER,
            		radiusAuthenServerIP		InetAddress,
            		radiusAuthenServerPort		INTEGER,
            		radiusAuthenServerSecret		DisplayString
    	   	}

	radiusAuthenServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { radiusAuthenServerEntry 1 }

	radiusAuthenServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified radius server."
	::= { radiusAuthenServerEntry 2 }

	radiusAuthenServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of specified radius server"
	::= { radiusAuthenServerEntry 3 }

	radiusAuthenServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the radius server"
	::= { radiusAuthenServerEntry 4 }

	-- radiusAcct
	radiusAcctRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index-priority(1),
				round-robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { radiusAcct 1 }

	radiusAcctTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Set the timeout interval in seconds that the device waits for response from the server.
		 1~300 seconds.
		 When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { radiusAcct 2 }

	radiusAcctServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF RadiusAcctServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { radiusAcct 3 }

    	radiusAcctServerEntry OBJECT-TYPE
        SYNTAX RadiusAcctServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of radiusAcctServerTable."
        INDEX { radiusAcctServerIndex  }
        ::= { radiusAcctServerTable 1 }

   	RadiusAcctServerEntry ::=
        	SEQUENCE {
            		radiusAcctServerIndex		INTEGER,
            		radiusAcctServerIP			InetAddress,
            		radiusAcctServerPort		INTEGER,
            		radiusAcctServerSecret		DisplayString
    	   	}

	radiusAcctServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { radiusAcctServerEntry 1 }

	radiusAcctServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified radius server."
	::= { radiusAcctServerEntry 2 }

	radiusAcctServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of specified radius server"
	::= { radiusAcctServerEntry 3 }

	radiusAcctServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the radius server"
	::= { radiusAcctServerEntry 4 }


-- tacacsplus
tacacsplusAuthen		OBJECT IDENTIFIER ::= { tacacsplus 1 }
tacacsplusAcct			OBJECT IDENTIFIER ::= { tacacsplus 2 }
tacacsplusAuthor		OBJECT IDENTIFIER ::= { tacacsplus 3 }

	-- tacacsplusAuthen
	tacacsplusAuthenRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index-priority(1),
				round-robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."

		::= { tacacsplusAuthen 1 }

	tacacsplusAuthenTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
		 	1~300 seconds.
		 	When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAuthen 2 }

	tacacsplusAuthenServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAuthenServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { tacacsplusAuthen 3 }

    	tacacsplusAuthenServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAuthenServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAuthServerTable."
        INDEX { tacscsplusAuthenServerIndex   }
        ::= { tacacsplusAuthenServerTable 1 }

   	TacacsplusAuthenServerEntry ::=
        	SEQUENCE {
            		tacscsplusAuthenServerIndex		INTEGER,
            		tacscsplusAuthenServerIP		InetAddress,
            		tacscsplusAuthenServerPort		INTEGER,
            		tacscsplusAuthenServerSecret	DisplayString
    	   	}

	tacscsplusAuthenServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAuthenServerEntry 1 }

	tacscsplusAuthenServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified tacacs+ server."
	::= { tacacsplusAuthenServerEntry 2 }

	tacscsplusAuthenServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The TCP port of specified tacacs+ server"
	::= { tacacsplusAuthenServerEntry 3 }

	tacscsplusAuthenServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the tacacs+ server"
	::= { tacacsplusAuthenServerEntry 4 }

	-- tacacsplusAcct
	tacacsplusAcctRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index-priority(1),
				round-robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { tacacsplusAcct 1 }

	tacacsplusAcctTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
		 	1~300 seconds.
		 	When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAcct 2 }

	tacacsplusAcctServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAcctServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { tacacsplusAcct 3 }

    	tacacsplusAcctServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAcctServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAcctServerTable."
        INDEX { tacacsplusAcctServerIndex  }
        ::= { tacacsplusAcctServerTable 1 }

   	TacacsplusAcctServerEntry ::=
        	SEQUENCE {
            		tacacsplusAcctServerIndex		INTEGER,
            		tacacsplusAcctServerIP			InetAddress,
            		tacacsplusAcctServerPort		INTEGER,
            		tacacsplusAcctServerSecret		DisplayString
    	   	}

	tacacsplusAcctServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAcctServerEntry 1 }

	tacacsplusAcctServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified tacacs+ server."
	::= { tacacsplusAcctServerEntry 2 }

	tacacsplusAcctServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The TCP port of specified tacacs+ server"
	::= { tacacsplusAcctServerEntry 3 }

	tacacsplusAcctServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the tacacs+ server"
	::= { tacacsplusAcctServerEntry 4 }

-- tacacsplusAuthor
	tacacsplusAuthorRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index-priority(1),
				round-robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { tacacsplusAuthor 1 }

	tacacsplusAuthorTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Timeout period (second) of command authorization via TACACS+. 1~300 seconds
			When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAuthor 2 }

	tacacsplusAuthorServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAuthorServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "This table is supported by R5.06 and later versions."
    	::= { tacacsplusAuthor 3 }

    	tacacsplusAuthorServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAuthorServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAuthorServerEntry.
        	This table is supported by R5.06 and later versions."
        INDEX { tacacsplusAuthorServerIndex   }
        ::= { tacacsplusAuthorServerTable 1 }

   	TacacsplusAuthorServerEntry ::=
        	SEQUENCE {
            		tacacsplusAuthorServerIndex		INTEGER,
            		tacacsplusAuthorServerIP		InetAddress,
            		tacacsplusAuthorServerPort		INTEGER,
            		tacacsplusAuthorServerSecret	DisplayString
    	   	}

	tacacsplusAuthorServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAuthorServerEntry 1 }

	tacacsplusAuthorServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server IP for command authorization."
	::= { tacacsplusAuthorServerEntry 2 }

	tacacsplusAuthorServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server port for command authorization."
	::= { tacacsplusAuthorServerEntry 3 }

	tacacsplusAuthorServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server secret key for command authorization."
	::= { tacacsplusAuthorServerEntry 4 }

-- author , NOT SUPPORT YET.
--	authorCmdMethodTable OBJECT-TYPE
--    	SYNTAX SEQUENCE OF AuthorCmdMethodEntry
--  	MAX-ACCESS not-accessible
--  	STATUS current
--	DESCRIPTION
--              "This table is supported by R5.06 and later versions."
--  	::= { author 1 }

--  	authorCmdMethodEntry OBJECT-TYPE
--     SYNTAX AuthorCmdMethodEntry
--      MAX-ACCESS not-accessible
--      STATUS current
--      DESCRIPTION
--      	"An entry of authorCmdMethodEntry."
--      INDEX { ifIndex   }
--      ::= { authorCmdMethodTable 1 }

-- 	AuthorCmdMethodEntry ::=
--      	SEQUENCE {
--          		authorCmdMethod		INTEGER
--  	   	}

--	authorCmdMethod OBJECT-TYPE
--	SYNTAX INTEGER {
--				none(1),
--				local(2),
--				tacacsPlus(3),
--				tacacsPlus-then-none(4),
--				tacacsPlus-then-local(5)
--			}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Method mode of command authorization in each privilege level."
--	::= { authorCmdMethodEntry 1 }


    ----------------
    -- sysInfo --
    ----------------

--	sysInfo OBJECT IDENTIFIER ::= { sys 15 }

--	sysInfoVersionMIB OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (0..8))
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"To indicate what MIB file version for this firmware release."
--		::= { sysInfo 1 }

--	sysInfoVersionCPE OBJECT-TYPE
--		SYNTAX DisplayString (SIZE (0..8))
--		MAX-ACCESS	read-only
--		STATUS	current
--		DESCRIPTION
--			"To indicate what CPEV4 or this firmware release."
--		::= { sysInfo 1 }


-------------------------------
-- systemStatus
-------------------------------
	systemStatus OBJECT IDENTIFIER ::= { sys 16 }


-- powerInfoTable


		chassisStats OBJECT IDENTIFIER ::= { systemStatus 1 }

			powerinfoTable OBJECT-TYPE
				SYNTAX SEQUENCE OF PowerinfoEntry
				MAX-ACCESS not-accessible
				STATUS current
				DESCRIPTION
					"A table that display the status information for power module"
				::= { chassisStats 1 }

			powerinfoEntry OBJECT-TYPE
				SYNTAX PowerinfoEntry
				MAX-ACCESS not-accessible
				STATUS current
				DESCRIPTION
					"The entry for powerinfoTable"
				INDEX {
						index
				}
				::= { powerinfoTable 1 }

				PowerinfoEntry ::=
					SEQUENCE {
						powerinfoIndex	INTEGER,
						powerinfoMode	DisplayString,
						powerinfoStatus	DisplayString
						}

						powerinfoIndex OBJECT-TYPE
							SYNTAX  INTEGER {
									input-A(1),
									input-B(2)
							}
							MAX-ACCESS not-accessible
							STATUS current
							DESCRIPTION
								"The index for the power module"
						::= { powerinfoEntry 1 }

						powerinfoMode OBJECT-TYPE
							SYNTAX DisplayString
							MAX-ACCESS read-only
							STATUS current
							DESCRIPTION
								"Display the AC/DC mode for the power module"
							::= { powerinfoEntry 2 }

						powerinfoStatus OBJECT-TYPE
							SYNTAX  DisplayString
							MAX-ACCESS read-only
							STATUS current
							DESCRIPTION
								"Display the status for the power module.
								 up:        the module is exist and voltage is well.
								 down:      the module is exist and voltage is fault.
								 not exist: the module is not exist
								 "
							::= { powerinfoEntry 3 }

			faninfoTable OBJECT-TYPE
				SYNTAX SEQUENCE OF FaninfoEntry
				MAX-ACCESS not-accessible
				STATUS current
				DESCRIPTION
					"A table that display the status information for fan module"
				::= { chassisStats 2 }

			faninfoEntry OBJECT-TYPE
				SYNTAX FaninfoEntry
				MAX-ACCESS not-accessible
				STATUS current
				DESCRIPTION
					"The entry for faninfoTable"
				INDEX { fanModuleStatus  }
				::= { faninfoTable 1 }

				FaninfoEntry ::=
					SEQUENCE {
						fanModuleStatus	INTEGER,
						fanAlarmStatus	INTEGER
						}

						fanModuleStatus OBJECT-TYPE
							SYNTAX  INTEGER {
									exist(1),
									noExist(0)
							}
							MAX-ACCESS read-only
							STATUS current
							DESCRIPTION
								"The fan module exist or not"
						::= { faninfoEntry 1 }

						fanAlarmStatus OBJECT-TYPE
							SYNTAX  INTEGER {
									hasAlarm(1),
									noAlarm(0)
							}
							MAX-ACCESS read-only
							STATUS current
							DESCRIPTION
								"The alarm status of the fan module"
							::= { faninfoEntry 2 }

			-- SPR 170908080 : [UB] No battery status table MIB objects in attached IES5206 MIB file
			acPowerCardInfo OBJECT IDENTIFIER ::= { chassisStats 3 }

			acCardPowerSource OBJECT-TYPE
				SYNTAX  INTEGER {
						dc(0),
						ac(1),
						battery(2),
						"dc+ac"(3),
						"dc+battery"(4),
						"ac+battery"(5),
						all(6)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The power source that provides power currently."
				::= { acPowerCardInfo 1 }

			acCardSysPowerConsumption OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The system power consumption.
					Unit: mW"
				::= { acPowerCardInfo 2 }

			acCardBatChargingPower OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The power that is used by charging feature.
					Unit: mW"
				::= { acPowerCardInfo 3 }

			acCardBatStatus OBJECT-TYPE
				SYNTAX  INTEGER {
						on(1),
						off(0)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The status of battery."
				::= { acPowerCardInfo 4 }

			acCardBatTemperature OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The temperature of battery.
					Unit: Celsius
					*Note that this value will always be 0 when battery does not exist."
				::= { acPowerCardInfo 5 }

			acCardBatRemainingPower OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The remaining power of battery.
					Unit: percentage (%)
					*Note that this value will always be 0 when battery does not exist."
				::= { acPowerCardInfo 6 }

			acCardBatVoltage OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The voltage of battery.
					Unit: mV
					*Note that this value will always be 0 when battery does not exist."
				::= { acPowerCardInfo 7 }

			acCardBatVoltageCondition OBJECT-TYPE
				SYNTAX  INTEGER {
						invalid(0),
						valid(1)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The validation of battery information (status).
					*Note that this value will always be invalid(0) when battery does not exist."
				::= { acPowerCardInfo 8 }

			acCardBatCapacityValidation OBJECT-TYPE
				SYNTAX  INTEGER {
						invalid(0),
						valid(1)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The validation of battery information (capacity).
					*Note that this value will always be invalid(0) when battery does not exist."
				::= { acPowerCardInfo 9 }

			acCardChargerStatus OBJECT-TYPE
				SYNTAX  INTEGER {
						on(1),
						off(0)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The status of charger."
				::= { acPowerCardInfo 10 }

			acCardChargingCurrent OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The charging current of charger.
					Unit: mA
					*Note that this value will always be 0 when charger is off."
				::= { acPowerCardInfo 11 }

			acCardChargingVoltageTarget OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The charging voltage of charger.
					Unit: mV
					*Note that this value will always be 0 when charger is off."
				::= { acPowerCardInfo 12 }

			acCardChargingTime OBJECT-TYPE
				SYNTAX  INTEGER
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The time period since charger has been enabled.
					Unit: second
					*Note that this value will always be 0 when charger is off."
				::= { acPowerCardInfo 13 }

			acCardTrickleCharge OBJECT-TYPE
				SYNTAX  INTEGER {
						off(0),
						on(1),
						"-"(2)
				}
				MAX-ACCESS read-only
				STATUS current
				DESCRIPTION
					"The status of trickle charger.
					*Note that this value will always be '-' when charger is off."
				::= { acPowerCardInfo 14 }

	sysMgmtOnlineUser OBJECT IDENTIFIER ::= { sys 17 }
        onlineUserTable      OBJECT-TYPE
        SYNTAX    SEQUENCE OF OnlineUserEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			""
        ::= { sysMgmtOnlineUser 1 }

        onlineUserEntry OBJECT-TYPE
        SYNTAX    OnlineUserEntry
        MAX-ACCESS   not-accessible
        STATUS    current
        DESCRIPTION
			"An entry in onlineUserTable."
        INDEX {
			onlineUserIndex
		}
        ::= { onlineUserTable 1 }

        OnlineUserEntry ::=
           SEQUENCE {
				onlineUserIndex     INTEGER,
                onlineUserSession   DisplayString,
                onlineUserUser		DisplayString,
                onlineUserAddrType	InetAddressType,
				onlineUserAddr		InetAddress,
				onlineUserLoginTime	DisplayString
           }

        onlineUserIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			""
        ::= { onlineUserEntry 1 }

        onlineUserSession OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "user login service"
        ::= { onlineUserEntry 2 }

        onlineUserUser OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"user name"
        ::= { onlineUserEntry 3 }

        onlineUserAddrType OBJECT-TYPE
        SYNTAX  InetAddressType{
			none(0),
    		ipv4(1),
    		ipv6(2)
    		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"addr type"
        ::= { onlineUserEntry 4 }

        onlineUserAddr OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"addr"
        ::= { onlineUserEntry 5 }

		onlineUserLoginTime OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"user login time"
        ::= { onlineUserEntry 6 }

	sysStdioDefault OBJECT-TYPE
        SYNTAX INTEGER (1..120)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"stdio default setting."
        ::= { sys 18 }

	acPowerCardSetting OBJECT IDENTIFIER ::= { sys 19 }

	acCardBatteryCapacity OBJECT-TYPE
        SYNTAX INTEGER (7..92)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set battery capacity, user has to set this value to enable charger feature.
            When battery information is invalid, user needs to re-enter the batter capacity to continue charging procedure."
        ::= { acPowerCardSetting 1 }

	acCardBatteryTempThresholdHigh OBJECT-TYPE
        SYNTAX INTEGER (-15..50)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Battery high temperature threshold."
        ::= { acPowerCardSetting 2 }

	acCardBatteryTempThresholdLow OBJECT-TYPE
        SYNTAX INTEGER (-15..50)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Battery low temperature threshold."
        ::= { acPowerCardSetting 3 }

	sysReloadConfig OBJECT-TYPE
        SYNTAX INTEGER {
        	config1(1),
        	config2(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Reload the system with the specified configuration file.
        	This operation may take a while, please set SNMP timeout to 30 or above.
        	And pleasse note that if you reload a config and its IP is different to current IP, you may not get response."
        ::= { sys 20 }

--------------------------------------------------------------------------------
-- vdsl
--------------------------------------------------------------------------------
    ----------
	-- selt --
	----------
	selt OBJECT IDENTIFIER ::= { vdsl 1 }

	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 not in progress."
		::= { 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 }

	-- vdslOps

    vdslOps	OBJECT IDENTIFIER ::= { vdsl 2 }

    vdslTarget OBJECT-TYPE
    	SYNTAX PortList
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"The target interface specified by ifindex to clear packet statistics.
    		This is allowed for interface 1..48, 101..148 for TIU V48 system."
    	::= { vdslOps 1 }

    vdslOperation OBJECT-TYPE
    	SYNTAX INTEGER {
    		clearPacketStatistics(1)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Clear packet statistics on the target ifindex specified by vdslTarget.
    		The value will return to '0' when clear operation has done."
    	::= { vdslOps 2 }

	-- Subscriber Port Table, 20120612 removed

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

-- vdsl2Profile

    vdsl2Profile	OBJECT IDENTIFIER ::= { vdsl 4 }

-- Vdsl2LineProfileExtendedTable

	vdsl2LineConfProfileExtendedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2LineConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"This table contains information on the VDSL2 line profile extension configuration."
        ::= { vdsl2Profile 1 }

	vdsl2LineConfProfileExtendedEntry OBJECT-TYPE
        SYNTAX Vdsl2LineConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"An entry extends the xdsl2LineConfProfEntry defined in RFC5650."
        AUGMENTS { xdsl2LineConfProfEntry }
        ::= { vdsl2LineConfProfileExtendedTable 1 }

	Vdsl2LineConfProfileExtendedEntry ::=
		SEQUENCE {
			vdsl2LineConfProfileDpboEPsdID			INTEGER,
			vdsl2LineConfProfileBitSwapDs			INTEGER,
			vdsl2LineConfProfileBitSwapUs			INTEGER,
			--vdsl2LineConfProfileTransmissionType	BITS,
				--use standard mib xdsl2LConfProfXtuTransSysEna now
			vdsl2LineConfProfileVectoring			BITS,
				--extend mib-xdsl2LConfProfXtuTransSysEna
			vdsl2LineConfProfileRfiMode				INTEGER,
			vdsl2LineConfProfileDpboMode			INTEGER,
			vdsl2LineConfProfileDpboEselmin		Unsigned32,
			vdsl2LineConfProfileCompatible			INTEGER,
			vdsl2LineConfProfileAdslCarrierMaskUs	OCTET STRING,
			vdsl2LineConfProfileAdslCarrierMaskDs0	OCTET STRING,
			vdsl2LineConfProfileAdslCarrierMaskDs1	OCTET STRING,
			vdsl2LineConfProfilePMMode				INTEGER,
			vdsl2LineConfProfilePMl0Time			Unsigned32,
			vdsl2LineConfProfilePMl2Time			Unsigned32,
			vdsl2LineConfProfilePMl2atpr			Unsigned32,
			vdsl2LineConfProfilePMl2atprt			Unsigned32,
			vdsl2LineConfProfileSosCrcDs			INTEGER,
			vdsl2LineConfProfileSosCrcUs			INTEGER,
			vdsl2LineConfProfileSosMaxSuccessDs		INTEGER,
			vdsl2LineConfProfileSosMaxSuccessUs		INTEGER,
			vdsl2LineConfProfileSosMonTimeDs		INTEGER,
			vdsl2LineConfProfileSosMonTimeUs		INTEGER,
			vdsl2LineConfProfileSosNToneDs			INTEGER,
			vdsl2LineConfProfileSosNToneUs			INTEGER,
			vdsl2LineConfProfileRocEnableDs			INTEGER,
			vdsl2LineConfProfileRocEnableUs			INTEGER,
			vdsl2LineConfProfileRocMinInpDs			INTEGER,
			vdsl2LineConfProfileRocMinInpUs			INTEGER,
			vdsl2LineConfProfileRocSnrmDs			INTEGER,
			vdsl2LineConfProfileRocSnrmUs			INTEGER,
			vdsl2LineConfProfileRocDynamicdtg		DisplayString,
			vdsl2LineConfProfileAdsl2CustomPsd		DisplayString
           	}

	vdsl2LineConfProfileDpboEPsdID OBJECT-TYPE
		SYNTAX  INTEGER {
			psd-co(1),
			psd-flat(2),
			psd-cab-ansi(3),
			psd-cab-etsi(4),
			psd-exch-etsi(5),
			psd-exch-ansi(6),
			psd-default(100),
			psd-custom(101)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"standard psd shape id for psd toolbox"
		::= { vdsl2LineConfProfileExtendedEntry 1 }

	vdsl2LineConfProfileBitSwapDs OBJECT-TYPE
		SYNTAX  INTEGER {
			enable(1),
			disable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Enable or disable downstream bit swap."
		::= { vdsl2LineConfProfileExtendedEntry 2 }

	vdsl2LineConfProfileBitSwapUs OBJECT-TYPE
		SYNTAX  INTEGER {
			enable(1),
			disable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Enable or disable upstream bit swap."
		::= { vdsl2LineConfProfileExtendedEntry 3 }

--use standard mib-xdsl2LConfProfXtuTransSysEna now
--	vdsl2LineConfProfileTransmissionType OBJECT-TYPE
--      	SYNTAX BITS {
--          vdsl2(0),
--          adsl2plus(1),
--          adsl2(2),
--          gdmt(3),
--          t1413(4),
--          glite(5),
--          annex-b(6),
--          annex-m(7),
--          annex-l(8),
--          annex-j(9)
--          auto(10),
--          annex-a(11)
--        }
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"The transmission mode when link up."
--		::= { vdsl2LineConfProfileExtendedEntry 4 }

	vdsl2LineConfProfileVectoring OBJECT-TYPE
      	SYNTAX BITS {
		  g9932AnnexYVectoringFriendly(0),
          g9935GVector(1)
        }
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A table containing the G.Vector information for each profile"
		::= { vdsl2LineConfProfileExtendedEntry 4 }

	vdsl2LineConfProfileRfiMode OBJECT-TYPE
		SYNTAX  INTEGER {
			notch(1),
			gap(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures Radio Frequency Intereference (RFI) mode."
		::= { vdsl2LineConfProfileExtendedEntry 5 }

	vdsl2LineConfProfileDpboMode OBJECT-TYPE
		SYNTAX  INTEGER {
			g9971(1),
			tcom(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures DPBO mode for different procedure."
		::= { vdsl2LineConfProfileExtendedEntry 6 }

	vdsl2LineConfProfileDpboEselmin  OBJECT-TYPE
   SYNTAX      Unsigned32 (0..511)
   UNITS       "0.5 dB"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures DPBO E-side cable Electrical Length minimun.tcom mode only.
       Range from 0 dB (coded as 0) to 255.5 dB (coded as 511) in steps of 0.5 dB."
   DEFVAL      { 0 }
  ::= { vdsl2LineConfProfileExtendedEntry 7 }

	vdsl2LineConfProfileCompatible  OBJECT-TYPE
		SYNTAX  INTEGER {
			none(1),
			adsl2(2),
			adsl2plus(3)
			}
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Configures ADSL compatible mode. <mode>: none|adsl2|adsl2+"
  ::= { vdsl2LineConfProfileExtendedEntry 8 }

  	vdsl2LineConfProfileAdslCarrierMaskUs OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Configures ADSL upstream carrier mask"
	::= { vdsl2LineConfProfileExtendedEntry 9 }

   	vdsl2LineConfProfileAdslCarrierMaskDs0 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Configures ADSL downstream carrier mask 0"
	::= { vdsl2LineConfProfileExtendedEntry 10 }

	vdsl2LineConfProfileAdslCarrierMaskDs1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Configures ADSL downstream carrier mask 1"
	::= { vdsl2LineConfProfileExtendedEntry 11 }

	vdsl2LineConfProfilePMMode  OBJECT-TYPE
	SYNTAX  INTEGER {
			disable(0),
			allow-l3(1),
			allow-l2(2),
			allow-both(3)
			}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Configures Power Management mode. <mode>: disable|allow-l3|allow-l2|allow-both"
	::= { vdsl2LineConfProfileExtendedEntry 12 }

	vdsl2LineConfProfilePMl0Time  OBJECT-TYPE
	SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the l0-time value. Range from 0 to 65535 sec."
	::= { vdsl2LineConfProfileExtendedEntry 13 }

	vdsl2LineConfProfilePMl2Time  OBJECT-TYPE
	SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the l2-time value. Range from 0 to 65535 sec."
	::= { vdsl2LineConfProfileExtendedEntry 14 }

	vdsl2LineConfProfilePMl2atpr  OBJECT-TYPE
	SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the l2-atpr value. Range from 0 to 15 dB."
	::= { vdsl2LineConfProfileExtendedEntry 15 }

	vdsl2LineConfProfilePMl2atprt  OBJECT-TYPE
	SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the l2-atprt value. Range from 0 to 15 dB."
	::= { vdsl2LineConfProfileExtendedEntry 16 }

	vdsl2LineConfProfileSosCrcDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream SOS CRC trigger condiftion
			<sos-crc> 0 ~ 65535 in unit of 0.02 normalized CRC"
	    ::= { vdsl2LineConfProfileExtendedEntry 19 }

	vdsl2LineConfProfileSosCrcUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream SOS CRC trigger condiftion
			<sos-crc> 0 ~ 65535 in unit of 0.02 normalized CRC"
	    ::= { vdsl2LineConfProfileExtendedEntry 20 }

	vdsl2LineConfProfileSosMaxSuccessDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream SOS max number of successful SOS procedures allowed in a 120 seconds interval before a full reinitialization is triggered
			<sos-max-success> 0 ~ 15, 0 is a special value indicating no limit on the maximum number of SOS recoveries within this time interval"
	    ::= { vdsl2LineConfProfileExtendedEntry 21 }

	vdsl2LineConfProfileSosMaxSuccessUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream SOS max number of successful SOS procedures allowed in a 120 seconds interval before a full reinitialization is triggered
			<sos-max-success> 0 ~ 15, 0 is a special value indicating no limit on the maximum number of SOS recoveries within this time interval"
	    ::= { vdsl2LineConfProfileExtendedEntry 22 }

	vdsl2LineConfProfileSosMonTimeDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream SOS monitoring time used to trigger and SOS operation
			<sos-mon-time> 64 ~ 16320 in ms"
	    ::= { vdsl2LineConfProfileExtendedEntry 23 }

	vdsl2LineConfProfileSosMonTimeUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream SOS monitoring time used to trigger and SOS operation
			<sos-mon-time> 64 ~ 16320 in ms"
	    ::= { vdsl2LineConfProfileExtendedEntry 24 }

	vdsl2LineConfProfileSosNToneDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream SOS tone degrade condition
			<sos-ntone> 0 ~ 100 in percent"
	    ::= { vdsl2LineConfProfileExtendedEntry 25 }

	vdsl2LineConfProfileSosNToneUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream SOS tone degrade condition
			<sos-ntone> 0 ~ 100 in percent"
	    ::= { vdsl2LineConfProfileExtendedEntry 26 }

	vdsl2LineConfProfileRocEnableDs OBJECT-TYPE
		SYNTAX  INTEGER {
			disable(1),
			enable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configuration of upstream ROC
   			 Enable or disable downstream ROC"
		::= { vdsl2LineConfProfileExtendedEntry 27 }

	vdsl2LineConfProfileRocEnableUs OBJECT-TYPE
		SYNTAX  INTEGER {
			disable(1),
			enable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configuration of upstream ROC
			 Enable or disable upstream ROC"
		::= { vdsl2LineConfProfileExtendedEntry 28 }

	vdsl2LineConfProfileRocMinInpDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream minimum INP to be insured on the ROC channel
			<roc-min-inp-ds> 0 ~ 16 symbols in 0.5 symbol steps"
	    ::= { vdsl2LineConfProfileExtendedEntry 29 }

	vdsl2LineConfProfileRocMinInpUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream minimum INP to be insured on the ROC channel
			<roc-min-inp-ds> 0 ~ 16 symbols in 0.5 symbol steps"
	    ::= { vdsl2LineConfProfileExtendedEntry 30 }

	vdsl2LineConfProfileRocSnrmDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of downstream SNRM for the ROC
			<roc-snrm-ds> 0 ~ 310 in unit of 0.1 dB"
	    ::= { vdsl2LineConfProfileExtendedEntry 31 }

	vdsl2LineConfProfileRocSnrmUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configuration of upstream SNRM for the ROC
			<roc-snrm-ds> 0 ~ 310 in unit of 0.1 dB"
	    ::= { vdsl2LineConfProfileExtendedEntry 32 }

	vdsl2LineConfProfileRocDynamicdtg OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"00~3f in hex
			 01: enable SRA US Dynamic D.
			 02: enable SRA DS Dynamic D.
			 04: enable SRA US Dynamic T & G when ROC is disabled.
			 08: enable SRA DS Dynamic T & G when ROC is disabled.
			 10: enable SRA US Dynamic T & G when ROC is enabled.
			 20: enable SRA DS Dynamic T & G when ROC is enabled."
		::= { vdsl2LineConfProfileExtendedEntry 33 }

	vdsl2LineConfProfileAdsl2CustomPsd OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
	  "Configuration of ADSL2/2+ custom downstream PSD template.
	   There should be at least one psd value less than or equal to 160
	   The set of breakpoints can then be represented as:
	   [(ToneIndex1.PSD1)], [(ToneIndex2.PSD2)], ... , [(ToneIndexN.PSDN)].
	   example:[(00.01).(00.50)],[00.02.00.A0],..."
	::= { vdsl2LineConfProfileExtendedEntry 36 }

-- vdsl2LineAlarmConfProfileExtendedTable

--	vdsl2LineAlarmConfProfileExtendedTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF Vdsl2LineAlarmConfProfileExtendedEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--                "This table contains information on the VDSL2 line alarm profile extension configuration."
--        ::= { vdsl2Profile 2 }

--	vdsl2LineAlarmConfProfileExtendedEntry OBJECT-TYPE
--        SYNTAX Vdsl2LineAlarmConfProfileExtendedEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--			"An entry extends xdsl2LineAlarmConfProfileEntry defined in RFC5650."
--        AUGMENTS { xdsl2LineAlarmConfProfileEntry  }
--        ::= { vdsl2LineAlarmConfProfileExtendedTable 1 }

--	Vdsl2LineAlarmConfProfileExtendedEntry ::=
--		SEQUENCE {
--			vdsl2LineAlarmConfProfileXtucThresh15MinLofs		Unsigned32,
--			vdsl2LineAlarmConfProfileXturThresh15MinLofs		Unsigned32,
--			vdsl2LineAlarmConfProfileThresh15MinLprs   			Unsigned32
--			}

--	vdsl2LineAlarmConfProfileXtucThresh15MinLofs OBJECT-TYPE
--		SYNTAX  Unsigned32
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"A threshold for the xdsl2PMLCurr15MLofs counter, when xdsl2PMLCurrUnit is xtuc 1.
--			The value 0 means that no threshold is specified for the associated counter.
--			Units:seconds"
--		::= { vdsl2LineAlarmConfProfileExtendedEntry 1 }

--	vdsl2LineAlarmConfProfileXturThresh15MinLofs OBJECT-TYPE
--		SYNTAX  Unsigned32
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"A threshold for the xdsl2PMLCurr15MLofs counter, when xdsl2PMLCurrUnit is xtur 2.
--			The value 0 means that no threshold is specified for the associated counter.
--			Units:seconds"
--		::= { vdsl2LineAlarmConfProfileExtendedEntry 2 }

--	vdsl2LineAlarmConfProfileThresh15MinLprs OBJECT-TYPE
--		SYNTAX  Unsigned32
--		MAX-ACCESS read-write
--		STATUS current
--		DESCRIPTION
--			"A threshold for the xdsl2PMLCurr15MLprs counter.
--			The value 0 means that no threshold is specified for the associated counter.
--			Units:seconds"
--		::= { vdsl2LineAlarmConfProfileExtendedEntry 3 }

-- vdsl2ChanConfProfileExtendedTable,	20120612 removed & reserved for T780

--        vdsl2ChanConfProfileExtendedTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF Vdsl2ChanConfProfileExtendedEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--                "This table contains information on the VDSL2 channel profile extension configuration."
--        ::= { vdsl2Profile 3 }

	---------------------------------------
	-- Vdsl2ChanConfProfileExtendedTable --
  	---------------------------------------

 	vdsl2ChanConfProfileExTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2ChanConfProfileExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table contains information on the VDSL2 channel profile extension configuration for G.inp."
        ::= { vdsl2Profile 3 }

	vdsl2ChanConfProfileExEntry OBJECT-TYPE
        SYNTAX Vdsl2ChanConfProfileExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"An entry in vdsl2ChanConfProfileExtendedEntry."
        INDEX { xdsl2ChConfProfProfileName  }
        ::= { vdsl2ChanConfProfileExTable 1 }

    Vdsl2ChanConfProfileExEntry ::=
        	SEQUENCE {
--			vdsl2ChanConfProfilePhyRDs		INTEGER,	 this was resolved for T780
--			vdsl2ChanConfProfilePhyRUs		INTEGER,     this was resolved for T780
			vdsl2ChanConfProfGinpRtxModeDs        	Xdsl2ConfigRtxMode,
  	        vdsl2ChanConfProfGinpRtxModeUs        	Xdsl2ConfigRtxMode,
	        vdsl2ChanConfProfGinpEtrMaxDs        	Unsigned32,
	        vdsl2ChanConfProfGinpEtrMaxUs        	Unsigned32,
	        vdsl2ChanConfProfGinpEtrMinDs        	Unsigned32,
	        vdsl2ChanConfProfGinpEtrMinUs        	Unsigned32,
	        vdsl2ChanConfProfGinpNdrMaxDs        	Unsigned32,
	        vdsl2ChanConfProfGinpNdrMaxUs        	Unsigned32,
	        vdsl2ChanConfProfGinpShineRatioDs       Unsigned32,
	        vdsl2ChanConfProfGinpShineRatioUs       Unsigned32,
	        vdsl2ChanConfProfGinpLeftrThresholdDs   Unsigned32,
	        vdsl2ChanConfProfGinpLeftrThresholdUs   Unsigned32,
	        vdsl2ChanConfProfGinpMaxDelayDs        	Unsigned32,
	        vdsl2ChanConfProfGinpMaxDelayUs        	Unsigned32,
	        vdsl2ChanConfProfGinpMinDelayDs        	Unsigned32,
	        vdsl2ChanConfProfGinpMinDelayUs        	Unsigned32,
	        vdsl2ChanConfProfGinpInpMinDs        	Unsigned32,
	        vdsl2ChanConfProfGinpInpMinUs        	Unsigned32,
	        vdsl2ChanConfProfGinpReinCfgInpDs       Unsigned32,
	        vdsl2ChanConfProfGinpReinCfgInpUs       Unsigned32,
	        vdsl2ChanConfProfGinpReinCfgFreqDs      Unsigned32,
	        vdsl2ChanConfProfGinpReinCfgFreqUs      Unsigned32,
--	        vdsl2ChanConfProfSosMinRateB0Ds			Unsigned32,
--	        vdsl2ChanConfProfSosMinRateB0Us			Unsigned32,
 			vdsl2ChanConfProfTpstcAdsl      			INTEGER,
-- 			vdsl2ChanConfProfTpstcVdsl     				INTEGER,
			vdsl2ChanConfProfSosMinRateDs			Unsigned32,
			vdsl2ChanConfProfSosMinRateUs			Unsigned32
           	}

	vdsl2ChanConfProfGinpRtxModeDs OBJECT-TYPE
	    SYNTAX Xdsl2ConfigRtxMode
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp(G.998.4) support setting on downstream direction.
	        The possible values are:
	        Forbidden(0) - Support for G998.4 is disabled.
	        Preferred(1) - If G998.4 is supported by the far-end, it is enabled.
	        Forced(2)    - The line will only train if G998.4 can be enabled.
	        Test(3)      - G998.4 is enabled in test mode (refer to G998.4, Clause 10.4)."
	    ::= { vdsl2ChanConfProfileExEntry 4 }

	vdsl2ChanConfProfGinpRtxModeUs OBJECT-TYPE
	    SYNTAX Xdsl2ConfigRtxMode
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp(G.998.4) support setting on upstream direction.
	        The possible values are:
	        Forbidden(0) - Support for G998.4 is disabled.
	        Preferred(1) - If G998.4 is supported by the far-end, it is enabled.
	        Forced(2)    - The line will only train if G998.4 can be enabled.
	        Test(3)      - G998.4 is enabled in test mode (refer to G998.4, Clause 10.4)."
	    ::= { vdsl2ChanConfProfileExEntry 5 }

	vdsl2ChanConfProfGinpEtrMaxDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the maximum allowed value for the ETR (Effective Throughput Rate)."
	    ::= { vdsl2ChanConfProfileExEntry 6 }

	vdsl2ChanConfProfGinpEtrMaxUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	    	"Defines the maximum allowed value for the ETR (Effective Throughput Rate)."
	    ::= { vdsl2ChanConfProfileExEntry 7 }

	vdsl2ChanConfProfGinpEtrMinDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the minimum value for the ETR (Effective Throughput Rate)."
	    ::= { vdsl2ChanConfProfileExEntry 8 }

	vdsl2ChanConfProfGinpEtrMinUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Defines the minimum value for the ETR (Effective Throughput Rate)."
	    ::= { vdsl2ChanConfProfileExEntry 9 }

	vdsl2ChanConfProfGinpNdrMaxDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Overrules the wanted downstream maximum data rate provided in the SetLineTrafficConfiguration"
	    ::= { vdsl2ChanConfProfileExEntry 10 }

	vdsl2ChanConfProfGinpNdrMaxUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Overrules the wanted upstream maximum data rate provided in the SetLineTrafficConfiguration"
	    ::= { vdsl2ChanConfProfileExEntry 11 }

	vdsl2ChanConfProfGinpShineRatioDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "The assumed downstream fraction range from 1 to 255 (in unit of 0.001) of NDR necessary to correct SHINE noise."
	    ::= { vdsl2ChanConfProfileExEntry 12 }

	vdsl2ChanConfProfGinpShineRatioUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "The assumed upstream fraction range from 1 to 255 (in unit of 0.001) of NDR necessary to correct SHINE noise."
	    ::= { vdsl2ChanConfProfileExEntry 13 }

	vdsl2ChanConfProfGinpLeftrThresholdDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "The downstream rate threshold (fraction of NDR) below which the Low Error Free Rate (LEFTR) defect is declared."
	    ::= { vdsl2ChanConfProfileExEntry 14 }

	vdsl2ChanConfProfGinpLeftrThresholdUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "The upstream rate threshold (fraction of NDR) below which the Low Error Free Rate (LEFTR) defect is declared."
	    ::= { vdsl2ChanConfProfileExEntry 15 }

	vdsl2ChanConfProfGinpMaxDelayDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting in downstream direction."
	    ::= { vdsl2ChanConfProfileExEntry 16 }

	vdsl2ChanConfProfGinpMaxDelayUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting in upstream direction."
	    ::= { vdsl2ChanConfProfileExEntry 17 }

	vdsl2ChanConfProfGinpMinDelayDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules minimum-delay-ds in channel profile setting."
	    ::= { vdsl2ChanConfProfileExEntry 18 }

	    vdsl2ChanConfProfGinpMinDelayUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules minimum-delay-us in channel profile setting."
	    ::= { vdsl2ChanConfProfileExEntry 19 }

	    vdsl2ChanConfProfGinpInpMinDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules INPmin-ds in channel profile setting.
	        The possible values are: 0~63 in unit of 1 DMT symbol.
	        Remark: current implementation is 0~31"
	    ::= { vdsl2ChanConfProfileExEntry 20 }

	vdsl2ChanConfProfGinpInpMinUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules INPmin-ds in channel profile setting. Unit is symbol.
	        The possible values are: 0~63 in unit of 1 DMT symbol.
	        Remark: current implementation is 0~31"
	    ::= { vdsl2ChanConfProfileExEntry 21 }

	vdsl2ChanConfProfGinpReinCfgInpDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting. Unit is symbol.
	        The possible values are: 0~7 in unit of 1 DMT symbol."
	    ::= { vdsl2ChanConfProfileExEntry 22 }

	vdsl2ChanConfProfGinpReinCfgInpUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting. Unit is symbol.
	        The possible values are: 0~7 in unit of a DMT symbol."
	    ::= { vdsl2ChanConfProfileExEntry 23 }

	vdsl2ChanConfProfGinpReinCfgFreqDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting.
	        The possible values is 100 or 120 in unit of Hz.
	        100 - 100Hz
	        120 - 120Hz"
	    ::= { vdsl2ChanConfProfileExEntry 24 }

	vdsl2ChanConfProfGinpReinCfgFreqUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "G.inp-specific value that overrules the traffic configuration setting.
	        The possible value is 100 or 120 in unit of Hz.
	        100 - 100Hz
	        120 - 120Hz"
	    ::= { vdsl2ChanConfProfileExEntry 25 }

	vdsl2ChanConfProfTpstcAdsl OBJECT-TYPE
			SYNTAX  INTEGER {
			atm(1),
			ptm(2)
			}
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	    	"Configures TPSTC type for ADSL."
	    ::= { vdsl2ChanConfProfileExEntry 26 }

--  vdsl2ChanConfProfTpstcVdsl OBJECT-TYPE
--			SYNTAX  INTEGER {
--			atm(1),
--			ptm(2)
--			}
--	    MAX-ACCESS  read-write
--	    STATUS  current
--	    DESCRIPTION
--	    	"Configures TPSTC type for VDSL."
--	    ::= { vdsl2ChanConfProfileExEntry 27 }

	vdsl2ChanConfProfSosMinRateDs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configure downstream SOS minimumrate
			<min-rate> 32 ~ 100032 in kbps"
	    ::= { vdsl2ChanConfProfileExEntry 28 }

	vdsl2ChanConfProfSosMinRateUs OBJECT-TYPE
	    SYNTAX Unsigned32
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "Configure upstream SOS minimumrate
			<min-rate> 32 ~ 100032 in kbps"
	    ::= { vdsl2ChanConfProfileExEntry 29 }

    vdsl2InmConfProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2InmConfProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table contains information on the VDSL2 Inm profile configuration."
        ::= { vdsl2Profile 4 }

	vdsl2InmConfProfileEntry OBJECT-TYPE
        SYNTAX Vdsl2InmConfProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"An entry in Vdsl2InmConfProfileEntry."
        INDEX { xdsl2InmConfProfProfileName  }
        ::= { vdsl2InmConfProfileTable 1 }

    Vdsl2InmConfProfileEntry ::=
        	SEQUENCE {
			vdsl2InmConfProfName		    DisplayString,
  	        vdsl2InmConfProfEimNe        	INTEGER,
	        vdsl2InmConfProfEimFe        	INTEGER,
	        vdsl2InmConfProfCcpNe        	INTEGER,
	        vdsl2InmConfProfCcpFe       	INTEGER,
	        vdsl2InmConfProfIatoNe        	INTEGER,
	        vdsl2InmConfProfIatoFe        	INTEGER,
	        vdsl2InmConfProfIatsNe        	INTEGER,
	        vdsl2InmConfProfIatsFe       	INTEGER,
	        vdsl2InmConfProfIsdbNe       	INTEGER,
	        --vdsl2InmConfProfIsdbFe   		INTEGER,
	        vdsl2InmConfProfEifNe   		INTEGER,
	        vdsl2InmConfProfEifFe        	INTEGER,
	        vdsl2InmConfProfRowStatus       RowStatus
           	}

	vdsl2InmConfProfName OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (1..31))
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "Name of Inm profile."
	    ::= { vdsl2InmConfProfileEntry 1 }

	vdsl2InmConfProfEimNe OBJECT-TYPE
        SYNTAX INTEGER (0..3)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end equivalent INP mode."
        ::= { vdsl2InmConfProfileEntry 2 }

	vdsl2InmConfProfEimFe OBJECT-TYPE
        SYNTAX INTEGER (0..3)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures far end equivalent INP mode."
        ::= { vdsl2InmConfProfileEntry 3 }

	vdsl2InmConfProfCcpNe OBJECT-TYPE
        SYNTAX INTEGER (0..64)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end cluster continuation parameter."
        ::= { vdsl2InmConfProfileEntry 4 }

	vdsl2InmConfProfCcpFe OBJECT-TYPE
        SYNTAX INTEGER (0..64)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures far end cluster continuation parameter."
        ::= { vdsl2InmConfProfileEntry 5 }

	vdsl2InmConfProfIatoNe OBJECT-TYPE
        SYNTAX INTEGER (3..511)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end inter-arrival time offset."
        ::= { vdsl2InmConfProfileEntry 6 }

	vdsl2InmConfProfIatoFe OBJECT-TYPE
        SYNTAX INTEGER (3..511)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures far end inter-arrival time offset."
        ::= { vdsl2InmConfProfileEntry 7 }

	vdsl2InmConfProfIatsNe OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end inter-arrival time step."
        ::= { vdsl2InmConfProfileEntry 8 }

	vdsl2InmConfProfIatsFe OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures far end inter-arrival time step."
        ::= { vdsl2InmConfProfileEntry 9 }

	vdsl2InmConfProfIsdbNe OBJECT-TYPE
        SYNTAX INTEGER (-128..127)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end ISDD sensitivity."
        ::= { vdsl2InmConfProfileEntry 10 }

--	vdsl2InmConfProfIsdbFe OBJECT-TYPE
--        SYNTAX INTEGER (-128..127)
--        MAX-ACCESS read-create
--       STATUS current
--        DESCRIPTION
--        	"Configures far end ISDD sensitivity."
--        ::= { vdsl2InmConfProfileEntry 11 }

	vdsl2InmConfProfEifNe OBJECT-TYPE
        SYNTAX INTEGER {
			linear-scale(0),
			logarithmic-scale(1)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures near end equivalent INP format."
        ::= { vdsl2InmConfProfileEntry 12 }

	vdsl2InmConfProfEifFe OBJECT-TYPE
        SYNTAX INTEGER {
			linear-scale(0),
			logarithmic-scale(1)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Configures far end equivalent INP format."
        ::= { vdsl2InmConfProfileEntry 13 }

	vdsl2InmConfProfRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	""
        ::= { vdsl2InmConfProfileEntry 14 }

    vdsl2TemplateConfProfileExTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2TemplateConfProfileExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table contains information on the VDSL2 template profile configuration."
        ::= { vdsl2Profile 5 }

	vdsl2TemplateConfProfileExEntry OBJECT-TYPE
        SYNTAX Vdsl2TemplateConfProfileExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"An entry in vdsl2TemplateConfProfileExEntry."
        INDEX { xdsl2LConfTempTemplateName  }
        ::= { vdsl2TemplateConfProfileExTable 1 }

		Vdsl2TemplateConfProfileExEntry ::=
        	SEQUENCE {
			vdsl2TemplateConfProfileInmProf DisplayString,
           	}

     vdsl2TemplateConfProfileInmProf OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Inm profile for template proflie."
        ::= { vdsl2TemplateConfProfileExEntry 1 }
	------------------
	-- gvector port --
	------------------
	gvector		OBJECT IDENTIFIER ::= { vdsl 7 }

--  gvectorPortTable
--
--  gvectorPortTable OBJECT-TYPE
--      SYNTAX SEQUENCE OF GvectorPortEntry
--      MAX-ACCESS not-accessible
--      STATUS current
--      DESCRIPTION
--          "A table containing the G.Vector information for
--          each dsl port of the device."
--      ::= { gvector 1 }
--
--  gvectorPortEntry OBJECT-TYPE
--      SYNTAX GvectorPortEntry
--      MAX-ACCESS not-accessible
--      STATUS current
--      DESCRIPTION
--          "An entry of gvectorPortTable. The allowed ifIndex is 1..48."
--      INDEX { ifIndex }
--      ::= { gvectorPortTable 1 }
--
--  GvectorPortEntry ::=
--  	SEQUENCE {
--  		gvectorPortEnable	INTEGER,
--  		gvectorPortState	INTEGER
--  		}
--
--  gvectorPortEnable OBJECT-TYPE
--      SYNTAX INTEGER {
--      	enable(1),
--          disable(2)
--          }
--
--      MAX-ACCESS read-write
--      STATUS current
--      DESCRIPTION
--          "Enable/disable G.Vector for each dsl port of the device."
--      ::= { gvectorPortEntry 1 }
--
--  gvectorPortState OBJECT-TYPE
--      SYNTAX INTEGER {
--      	yes(1),
--          no(2)
--          }
--      MAX-ACCESS read-only
--      STATUS current
--      DESCRIPTION
--          "Each dsl port of the device is achieved in G.Vector showtime."
--      ::= { gvectorPortEntry 2 }
--

	-- gvectorModeTable

    gvectorModeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF GvectorModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table containing the G.Vector information for
            each VDSL cards."
        ::= { gvector 2 }

    gvectorModeEntry OBJECT-TYPE
        SYNTAX GvectorModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry of gvectorModeTable. The index is slotModuleId."
        INDEX { slotModuleId }
        ::= { gvectorModeTable 1 }

    GvectorModeEntry ::=
    	SEQUENCE {
    		gvectorMode	INTEGER,
			runningGvectorMode	INTEGER
    	}

    gvectorMode OBJECT-TYPE
        SYNTAX INTEGER {
			slv(1),
            blv(2),
        	dlv(3)
            }

        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Configure G.Vector mode for each VDSL cards.
			blv supports all types of chassis.
			slv is not supported on IES4204 only.
			dlv is supported on IES4204 only.
			"
        ::= { gvectorModeEntry 1 }

    runningGvectorMode OBJECT-TYPE
        SYNTAX INTEGER {
        	slv(1),
            blv(2),
        	dlv(3)
            }

        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Current running G.Vector mode of each VDSL cards."
        ::= { gvectorModeEntry 2 }

--------------------
-- ldm
--------------------
	ldm		OBJECT IDENTIFIER ::= { vdsl 8 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	ldmAtucHlog1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement could
		be done for the sub-carrier group."
	::= { ldm 21 }

	ldmAtucHlog2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides Hlog for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement could
		be done for the sub-carrier group."
	::= { ldm 22 }

	ldmAtucQln1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides QLN for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value 0 indicates that no measurement could
		be done for the sub-carrier group."
	::= { ldm 23 }

	ldmAtucQln2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides QLN for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value 0 indicates that no measurement could
		be done for the sub-carrier group."
	::= { ldm 24 }

	ldmAtucSnr1 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides SNR for the first 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement
		could be done for the sub-carrier group."
	::= { ldm 25 }

	ldmAtucSnr2 OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The object provides SNR for the last 256 subcarriers.
		Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement
		could be done for the sub-carrier group."
	::= { ldm 26 }

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

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

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

	ldmAturHlog OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Hlog of subcarrier. Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement could be done for
		the sub-carrier group."
	::= { ldm 30 }

	ldmAturQln OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"QLN of subcarrier. Each subcarrier takes two octets to store the value.
		A special value 0 indicates that no measurement could be done for the
		sub-carrier group."
	::= { ldm 31 }

	ldmAturSnr OBJECT-TYPE
	SYNTAX OCTET STRING
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"SNR of subcarrier. Each subcarrier takes two octets to store the value.
		A special value -32768 indicates that no measurement could be done for
		the sub-carrier group."
	::= { ldm 32 }


------------------
-- pintransform --
------------------
	pintransform		OBJECT IDENTIFIER ::= { vdsl 9 }
-- pintransform
    pinTransFormModeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PinTransFormModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table containing the PIN to port mapping for
            each VDSL cards."
        ::= { pintransform 1 }

    pinTransFormModeEntry OBJECT-TYPE
        SYNTAX PinTransFormModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry of pinTransFormModeTable. The index is slotModuleId."
        INDEX { slotModuleId }
        ::= { pinTransFormModeTable 1 }

    PinTransFormModeEntry ::=
    	SEQUENCE {
    		pinTransFormMode	INTEGER
    	}

    pinTransFormMode OBJECT-TYPE
        SYNTAX INTEGER {
        		normal(1),
            reverse(2)
            }

        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Configure PIN to port mapping for each VDSL cards."
        ::= { pinTransFormModeEntry 1 }
-- vdsl2Stats

    vdsl2Stats	OBJECT IDENTIFIER ::= { vdsl 5 }

    ----------------------------------
	-- Extended Line Bandplan Table --
	----------------------------------

	xdsl2LineBandExtTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Xdsl2LineBandExtEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table show tx power of band."
        ::= { vdsl2Stats 1 }

	xdsl2LineBandExtEntry OBJECT-TYPE
        SYNTAX Xdsl2LineBandExtEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry extends xdsl2LineBandEntry defined in RFC5650."
        AUGMENTS { xdsl2LineBandEntry }
        ::= { xdsl2LineBandExtTable 1 }

	Xdsl2LineBandExtEntry ::=
		SEQUENCE {
			xdsl2LineBandTxPower			INTEGER
			}

	xdsl2LineBandTxPower OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Xdsl line band transmitted power (in unit of 0.1 dBm, -1280 indicates that power is empty)"
		::= { xdsl2LineBandExtEntry 1 }

    ------------------------------
	-- Extended channel status --
    ------------------------------

	xdsl2ChannelStatusExTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Xdsl2ChannelStatusExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The table displays VDSL2 channel Status. This table is supported by R5.06 and later versions."
        ::= { vdsl2Stats 2 }

        xdsl2ChannelStatusExEntry OBJECT-TYPE
        SYNTAX Xdsl2ChannelStatusExEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of vdslChanExtendedTable."
        AUGMENTS { xdsl2ChannelStatusEntry }
        ::= { xdsl2ChannelStatusExTable 1 }

        Xdsl2ChannelStatusExEntry ::=
        	SEQUENCE {
--          xdsl2ChanPrevTxRate							Unsigned32,
            xdsl2ChannelActualRaMode    				Xdsl2StatusActualRaMode,
       		xdsl2ChannelRtxMode    						Xdsl2StatusRtxMode,
       		xdsl2ChannelRtxOverhead    					Unsigned32,
       		xdsl2ChannelGinpFramingType					Unsigned32,
       		xdsl2ChannelActualInpAgainstREIN			Unsigned32
--     		xdsl2ChannelRSCodeWordPerDtu    			Unsigned32
           }

--	xdsl2ChanPrevTxRate OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS current
--		DESCRIPTION
--			"Units: kbps"
--		::= { xdsl2ChannelStatusExEntry 1 }

	xdsl2ChannelActualRaMode  OBJECT-TYPE
	    SYNTAX      Xdsl2StatusActualRaMode
    	UNITS       ""
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
     		"The actual RA mode. The possible values are:
        	fixedRateMode(1) - Fixed rate mode
        	raInit(2)        - Adaptive rate mode at initialization
        	dynamicRa(3)     - Dynamic rate adaptation
        	sosEnabled(4)    - SOS enabled"
    	::= { xdsl2ChannelStatusExEntry 2 }

    xdsl2ChannelRtxMode  OBJECT-TYPE
    	SYNTAX      Xdsl2StatusRtxMode
    	UNITS       ""
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
     		"RTX_USED operational data parameter. The possible values are:
        	rtxInUse(1)            - RTX in use.
        	rtxForbidden(2)        - RTX not in use because RTX_MODE = FORBIDDEN.
        	rtxNotSupportedXtuC(3) - RTX not in use because it is not supported by the XTU-C.
        	rtxNotSupportedXtuR(4) - RTX not in use because it is not supported by the XTU-R.
        	rtxNotSupportedBoth(5) - RTX not in use because it is not supported by the XTU-C and XTU-R."
    	::= { xdsl2ChannelStatusExEntry 3 }

    xdsl2ChannelRtxOverhead  OBJECT-TYPE
    	SYNTAX      Unsigned32
    	UNITS       "kbps"
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
			"Expected retransmission overhead in G.inp due to REIN and SHINE noise. Unit is kbps."
    	::= { xdsl2ChannelStatusExEntry 4 }

    xdsl2ChannelGinpFramingType  OBJECT-TYPE
    	SYNTAX      Unsigned32
    	UNITS       ""
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
			"This parameter is equal to zero if G.inp is
        	not enabled. If G.inp is enabled, it reports
        	the framing type in use (1, 2, 3, or 4)."
    	::= { xdsl2ChannelStatusExEntry 5 }

    xdsl2ChannelActualInpAgainstREIN  OBJECT-TYPE
    	SYNTAX      Unsigned32
    	UNITS       "0.5 symbol"
    	MAX-ACCESS  read-only
    	STATUS      current
    	DESCRIPTION
			"This parameter reports the actual INP against REIN noise in unit of 0.5 symbol."
    	::= { xdsl2ChannelStatusExEntry 6 }

--    xdsl2ChannelRSCodeWordPerDtu  OBJECT-TYPE
--    	SYNTAX      Unsigned32
--    	UNITS       "RS CodeWord"
--    	MAX-ACCESS  read-only
--    	STATUS      current
--    	DESCRIPTION
--			"This parameter reports the number of RS codewords per DTU.
--        	It is equal to D when PhyR is enabled."
--    	::= { xdsl2ChannelStatusExEntry 7 }

-- xdsl2LineUsResultMaskTable

        xdsl2LineUsResultMaskTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Xdsl2LineUsResultMaskEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The table displays VDSL line actual PSD mask. This table is supported by R5.01 and later versions."
        ::= { vdsl2Stats 3 }

        xdsl2LineUsResultMaskEntry OBJECT-TYPE
        SYNTAX Xdsl2LineUsResultMaskEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of xdsl2LineUsResultMaskTable."
        INDEX { ifIndex, xdsl2LineUsMaskId }
        ::= { xdsl2LineUsResultMaskTable 1 }

        Xdsl2LineUsResultMaskEntry ::=
        	SEQUENCE {
			xdsl2LineUsMaskId		INTEGER,
			xdsl2LineUsMaskTone		INTEGER,
			xdsl2LineUsMaskPsd		INTEGER
              	}

	xdsl2LineUsMaskId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The id of the turning point of the mask, starting from 1."
	::= { xdsl2LineUsResultMaskEntry 1 }

	xdsl2LineUsMaskTone OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The tone id."
	::= { xdsl2LineUsResultMaskEntry 2 }

	xdsl2LineUsMaskPsd OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The psd, in 0.1 dBm/Hz."
	::= { xdsl2LineUsResultMaskEntry 3 }

-- xdsl2LineDsResultMaskTable

        xdsl2LineDsResultMaskTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Xdsl2LineDsResultMaskEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The table displays VDSL line actual PSD mask. This table is supported by R5.01 and later versions."
        ::= { vdsl2Stats 4 }

        xdsl2LineDsResultMaskEntry OBJECT-TYPE
        SYNTAX Xdsl2LineDsResultMaskEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of xdsl2LineDsResultMaskTable."
        INDEX { ifIndex, xdsl2LineDsMaskId }
        ::= { xdsl2LineDsResultMaskTable 1 }

        Xdsl2LineDsResultMaskEntry ::=
        	SEQUENCE {
			xdsl2LineDsMaskId		INTEGER,
			xdsl2LineDsMaskTone		INTEGER,
			xdsl2LineDsMaskPsd		INTEGER
              	}

	xdsl2LineDsMaskId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The id of the turning point of the mask, starting from 1."
	::= { xdsl2LineDsResultMaskEntry 1 }

	xdsl2LineDsMaskTone OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The tone id."
	::= { xdsl2LineDsResultMaskEntry 2 }

	xdsl2LineDsMaskPsd OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The psd, in 0.1 dBm/Hz."
	::= { xdsl2LineDsResultMaskEntry 3 }
	-------------------------------------------
	-- Extended PM Line Counters
	-------------------------------------------

    xdsl2ExtPM	OBJECT IDENTIFIER ::= { vdsl 6 }

	xdsl2ExtPMLineTable  OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  Xdsl2ExtPMLineEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"The table xdsl2ExtPMLineTable is a an extension of xdsl2PMLineCurrTable,
			which contains current Performance Monitoring results for DSL lines
			since system restarted."
		::= { xdsl2ExtPM 1 }

	xdsl2ExtPMLineEntry  OBJECT-TYPE
		SYNTAX      Xdsl2ExtPMLineEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"an entry extends the xdsl2PMLinecurrEntry defined in RFC5650.
			One index of this table is an interface index where the
			interface has an ifType of vdsl2(251). A second index of
       		this table is the termination unit."
		AUGMENTS  { xdsl2PMLineCurrEntry }
		::= { xdsl2ExtPMLineTable 1 }

	Xdsl2ExtPMLineEntry  ::=
		SEQUENCE {
			xdsl2ExtPMLineFecs                 Unsigned32,
			xdsl2ExtPMLineEs                   Unsigned32,
			xdsl2ExtPMLineSes                  Unsigned32,
			xdsl2ExtPMLineLoss                 Unsigned32,
			xdsl2ExtPMLineUas                  Unsigned32
			}

	xdsl2ExtPMLineFecs  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "seconds"
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of seconds since system restarted that there was at
			least one FEC correction event for one or more bearer channels in
			this line.  This parameter is inhibited during UAS or SES."
	::= { xdsl2ExtPMLineEntry 1 }

	xdsl2ExtPMLineEs  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "seconds"
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of seconds since system restarted that there was:
				xTU-C: CRC-8 >= 1 for one or more bearer channels OR
					LOS >= 1 OR SEF >=1 OR LPR >= 1.
				xTU-R: FEBE >= 1 for one or more bearer channels OR
					LOS-FE >=1 OR RDI >=1 OR LPR-FE >=1 .
			This parameter is inhibited during UAS."
		::= { xdsl2ExtPMLineEntry 2 }

	xdsl2ExtPMLineSes  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "seconds"
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of seconds since system restarts that there was:
			xTU-C: (CRC-8 anomalies in one or more of the
				received bearer channels) >= 18 OR LOS >= 1 OR SEF >= 1 OR LPR >= 1.
			xTU-R: (FEBE anomalies in one or more of the
				received bearer channels) >= 18 OR LOS-FE >= 1 OR RDI >= 1 OR LPR-FE >= 1 .
			This parameter is inhibited during UAS."
		::= { xdsl2ExtPMLineEntry 3 }

	xdsl2ExtPMLineLoss  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "seconds"
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of seconds since system restarted that there was LOS (or LOS-FE for xTU-R)."
		::= { xdsl2ExtPMLineEntry 4 }

	xdsl2ExtPMLineUas  OBJECT-TYPE
		SYNTAX      Unsigned32
		UNITS       "seconds"
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of seconds in Unavailability State since system restarted.
			Unavailability begins at the onset of 10 contiguous	severely
			errored seconds, and ends at the onset of 10 contiguous	seconds
			with no severely errored seconds."
		::= { xdsl2ExtPMLineEntry 5 }

	-------------------------------------------
	-- Extended PM line init counters
	-------------------------------------------

	xdsl2ExtPMLineInitTable       OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  Xdsl2ExtPMLineInitEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"The table xdsl2ExtPMLineInitTable contains PM line
			initialization history for DSL lines since system restarted."
		::= { xdsl2ExtPM 2 }

	xdsl2ExtPMLineInitEntry  OBJECT-TYPE
		SYNTAX      Xdsl2ExtPMLineInitEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry extends xdsl2PMLineInitCurrEntry defined in RFC5650."
		AUGMENTS  { xdsl2PMLineInitCurrEntry }
		::= { xdsl2ExtPMLineInitTable 1 }

	Xdsl2ExtPMLineInitEntry  ::=
		SEQUENCE {
			xdsl2ExtPMLInitFullInits             Unsigned32,
			xdsl2ExtPMLInitFailedFullInits       Unsigned32	--,
--			xdsl2ExtPMLInitShortInits            Unsigned32,
--			xdsl2ExtPMLInitFailedShortInits      Unsigned32
			}

	xdsl2ExtPMLInitFullInits  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of full initializations attempted on the line
			(successful and failed) since system restarted."
		::= { xdsl2ExtPMLineInitEntry 1 }

	xdsl2ExtPMLInitFailedFullInits  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of failed full initializations on the line since system restarted."
		::= { xdsl2ExtPMLineInitEntry 2 }

--	xdsl2ExtPMLInitShortInits  OBJECT-TYPE
--		SYNTAX      Unsigned32
--		MAX-ACCESS  read-only
--		STATUS      current
--		DESCRIPTION
--			"Count of short initializations attempted on the line
--			(successful and failed) since system restarts."
--		::= { xdsl2ExtPMLineInitEntry 3 }

--	xdsl2ExtPMLInitFailedShortInits  OBJECT-TYPE
--		SYNTAX      Unsigned32
--		MAX-ACCESS  read-only
--		STATUS      current
--		DESCRIPTION
--			"Count of failed short initializations on the line since system restarted."
--		::= { xdsl2ExtPMLineInitEntry 4 }

	---------------------------------------------------
	-- Extended PM channel counters
	---------------------------------------------------

	xdsl2ExtPMChTable        OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  Xdsl2ExtPMChEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"The table contains Performance Monitoring results for DSL channels since system restarted."
		::= { xdsl2ExtPM 3 }

	xdsl2ExtPMChEntry  OBJECT-TYPE
		SYNTAX      Xdsl2ExtPMChEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry extends xdsl2PMChCurrEntry defined in RFC5650"
		AUGMENTS  { xdsl2PMChCurrEntry }
		::= { xdsl2ExtPMChTable 1 }

	Xdsl2ExtPMChEntry  ::=
		SEQUENCE {
			xdsl2ExtPMChCodingViolations	Unsigned32,
			xdsl2ExtPMChCorrectedBlocks		Unsigned32,
			xdsl2ExtPMChUncorrectBlocks		Unsigned32,
			xdsl2ExtPMChRtxCW				Unsigned32,
			xdsl2ExtPMChRtxCorrectedCW		Unsigned32,
			xdsl2ExtPMChRtxUncorrectedCW		Unsigned32
			}

	xdsl2ExtPMChCodingViolations  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of CRC-8 (FEBE for xTU-R) anomalies occurring in the
			channel during the interval.  This parameter is inhibited during
			UAS or SES.  If the CRC is applied over multiple channels, then
			each related CRC-8 (or FEBE) anomaly SHOULD increment each of the
			counters related to the individual channels."
		::= { xdsl2ExtPMChEntry 1 }

	xdsl2ExtPMChCorrectedBlocks  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of FEC (FFEC for xTU-R) anomalies (corrected code
			words) occurring in the channel during the interval.  This
			parameter is inhibited during UAS or SES.  If the FEC is applied
			over multiple channels, then each related FEC (or FFEC) anomaly
			SHOULD increment each of the counters related to the individual
			channels."
		::= { xdsl2ExtPMChEntry 2 }

	xdsl2ExtPMChUncorrectBlocks  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Performance channel uncorrected blocks."
		::= { xdsl2ExtPMChEntry 3 }

	xdsl2ExtPMChRtxCW  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Performance channel Rtx code word."
		::= { xdsl2ExtPMChEntry 4 }

	xdsl2ExtPMChRtxCorrectedCW  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Performance channel Rtx corrected code word."
		::= { xdsl2ExtPMChEntry 5 }

	xdsl2ExtPMChRtxUncorrectedCW  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Performance channel Rtx uncorrected code word."
		::= { xdsl2ExtPMChEntry 6 }

------------------------------------------------
--      Extended PM line current counters     --
------------------------------------------------
    xdsl2ExtPMLineCurrTable  OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMLineCurrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineCurrTable extends xdsl2PMLineCurrTable."
    ::= { xdsl2ExtPM 4 }

    xdsl2ExtPMLineCurrEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMLineCurrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineCurrTable extends xdsl2PMLineCurrTable."
    INDEX  { ifIndex, xdsl2PMLCurrUnit }
    ::= { xdsl2ExtPMLineCurrTable 1 }

    Xdsl2ExtPMLineCurrEntry  ::=
    SEQUENCE {
       xdsl2PMLCurr15MLofs     INTEGER,
       xdsl2PMLCurr15MLol      INTEGER,
       xdsl2PMLCurr15MLols     INTEGER,
       xdsl2PMLCurr15MLpr      INTEGER,
       xdsl2PMLCurr15MLprs     INTEGER,
       xdsl2PMLCurr1DayLofs    INTEGER,
       xdsl2PMLCurr1DayLol     INTEGER,
       xdsl2PMLCurr1DayLols    INTEGER,
       xdsl2PMLCurr1DayLpr     INTEGER,
       xdsl2PMLCurr1DayLprs    INTEGER
    }

    xdsl2PMLCurr15MLofs  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was LOF."
    ::= { xdsl2ExtPMLineCurrEntry 1 }

    xdsl2PMLCurr15MLol  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineCurrEntry 2 }

    xdsl2PMLCurr15MLols  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was Loss of Link."
    ::= { xdsl2ExtPMLineCurrEntry 3 }

    xdsl2PMLCurr15MLpr  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineCurrEntry 4 }

    xdsl2PMLCurr15MLprs  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was Loss of Power."
    ::= { xdsl2ExtPMLineCurrEntry 5 }

    xdsl2PMLCurr1DayLofs  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was LOF."
    ::= { xdsl2ExtPMLineCurrEntry 6 }

    xdsl2PMLCurr1DayLol  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineCurrEntry 7 }

    xdsl2PMLCurr1DayLols  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was Loss of Link."
    ::= { xdsl2ExtPMLineCurrEntry 8 }

    xdsl2PMLCurr1DayLpr  OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineCurrEntry 9 }

    xdsl2PMLCurr1DayLprs  OBJECT-TYPE
    SYNTAX      INTEGER
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was Loss of Power."
    ::= { xdsl2ExtPMLineCurrEntry 10 }

-------------------------------------------
-- xdsl2 ext PM line history 15 Minutes  --
-------------------------------------------
    xdsl2ExtPMLineHist15MinTable    OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMLineHist15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineHist15MinTable extends xdsl2PMLineHist15MinTable."
    ::= { xdsl2ExtPM 5 }

    xdsl2ExtPMLineHist15MinEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMLineHist15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineHist15MinTable extends xdsl2PMLineHist15MinTable."
    INDEX  { ifIndex,
            xdsl2PMLHist15MUnit,
             xdsl2PMLHist15MInterval }
    ::= { xdsl2ExtPMLineHist15MinTable 1 }

    Xdsl2ExtPMLineHist15MinEntry  ::=
    SEQUENCE {
       xdsl2PMLHist15MLofs                Counter32,
       xdsl2PMLHist15MLol                 Counter32,
       xdsl2PMLHist15MLols                Counter32,
       xdsl2PMLHist15MLpr                 Counter32,
       xdsl2PMLHist15MLprs                Counter32
    }

    xdsl2PMLHist15MLofs  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was LOF."
    ::= { xdsl2ExtPMLineHist15MinEntry 1 }

    xdsl2PMLHist15MLol  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineHist15MinEntry 2 }

    xdsl2PMLHist15MLols  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineHist15MinEntry 3 }

    xdsl2PMLHist15MLpr  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineHist15MinEntry 4 }

    xdsl2PMLHist15MLprs  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineHist15MinEntry 5 }

---------------------------------------
--  Extended  PM line history 1 Day  --
---------------------------------------
    xdsl2ExtPMLineHist1DayTable     OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMLineHist1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineHist1DayTable extends xdsl2PMLineHist1DayTable."
    ::= { xdsl2ExtPM 6 }

    xdsl2ExtPMLineHist1DayEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMLineHist1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMLineHist1DayTable extends xdsl2PMLineHist1DayTable."
    INDEX  { ifIndex,
             xdsl2PMLHist1DUnit,
             xdsl2PMLHist1DInterval }
    ::= { xdsl2ExtPMLineHist1DayTable 1 }

    Xdsl2ExtPMLineHist1DayEntry  ::=
    SEQUENCE {
       xdsl2PMLHist1DLofs             Counter32,
       xdsl2PMLHist1DLol              Counter32,
       xdsl2PMLHist1DLols             Counter32,
       xdsl2PMLHist1DLpr              Counter32,
       xdsl2PMLHist1DLprs             Counter32
    }

    xdsl2PMLHist1DLofs  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that there was LOF."
    ::= { xdsl2ExtPMLineHist1DayEntry 1 }

    xdsl2PMLHist1DLol  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineHist1DayEntry 2 }

    xdsl2PMLHist1DLols  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that the line Loss of Link."
    ::= { xdsl2ExtPMLineHist1DayEntry 3 }

    xdsl2PMLHist1DLpr  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of times during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineHist1DayEntry 4 }

    xdsl2PMLHist1DLprs  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Count of seconds during this interval that the line Loss of Power."
    ::= { xdsl2ExtPMLineHist1DayEntry 5 }

------------------------------------------------
--      Extended PM Channel current counters  --
------------------------------------------------
    xdsl2ExtPMChCurrTable  OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMChCurrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChCurrTable extends xdsl2PMChCurrTable."
    ::= { xdsl2ExtPM 7 }

    xdsl2ExtPMChCurrEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMChCurrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChCurrTable extends xdsl2PMChCurrTable."
    INDEX  { ifIndex, xdsl2PMChCurrUnit }
    ::= { xdsl2ExtPMChCurrTable 1 }

    Xdsl2ExtPMChCurrEntry  ::=
    SEQUENCE {
       xdsl2PMChCurr15MUncorrectBlocks	Unsigned32,
       xdsl2PMChCurr15MRtxCW			Unsigned32,
       xdsl2PMChCurr15MRtxCorrectedCW	Unsigned32,
       xdsl2PMChCurr15MRtxUnorrectedCW	Unsigned32,
       xdsl2PMChCurr1DayUncorrectBlocks	Unsigned32,
       xdsl2PMChCurr1DayRtxCW			Unsigned32,
       xdsl2PMChCurr1DayRtxCorrectedCW	Unsigned32,
       xdsl2PMChCurr1DayRtxUnorrectedCW	Unsigned32
    }

    xdsl2PMChCurr15MUncorrectBlocks  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel uncorrected blocks."
    ::= { xdsl2ExtPMChCurrEntry 1 }

    xdsl2PMChCurr15MRtxCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx code word."
    ::= { xdsl2ExtPMChCurrEntry 2 }

    xdsl2PMChCurr15MRtxCorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx corrected code word."
    ::= { xdsl2ExtPMChCurrEntry 3 }

    xdsl2PMChCurr15MRtxUnorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx uncorrected code word."
    ::= { xdsl2ExtPMChCurrEntry 4 }

    xdsl2PMChCurr1DayUncorrectBlocks  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel uncorrected blocks."
    ::= { xdsl2ExtPMChCurrEntry 5 }

    xdsl2PMChCurr1DayRtxCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx code word."
    ::= { xdsl2ExtPMChCurrEntry 6 }

    xdsl2PMChCurr1DayRtxCorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx corrected code word."
    ::= { xdsl2ExtPMChCurrEntry 7 }

    xdsl2PMChCurr1DayRtxUnorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx uncorrected code word."
    ::= { xdsl2ExtPMChCurrEntry 8 }

-------------------------------------------
-- xdsl2 ext PM Ch history 15 Minutes    --
-------------------------------------------
    xdsl2ExtPMChHist15MinTable    OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMChHist15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChHist15MinTable extends xdsl2PMChHist15MinTable."
    ::= { xdsl2ExtPM 8 }

    xdsl2ExtPMChHist15MinEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMChHist15MinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChHist15MinTable extends xdsl2PMChHist15MinTable."
    INDEX  { ifIndex, xdsl2PMChHist15MUnit, xdsl2PMChHist15MInterval }
    ::= { xdsl2ExtPMChHist15MinTable 1 }

    Xdsl2ExtPMChHist15MinEntry  ::=
    SEQUENCE {
       xdsl2PMChHist15MUncorrectBlocks		Unsigned32,
       xdsl2PMChHist15MRtxCW				Unsigned32,
       xdsl2PMChHist15MRtxCorrectedCW		Unsigned32,
       xdsl2PMChHist15MRtxUncorrectedCW		Unsigned32
    }

    xdsl2PMChHist15MUncorrectBlocks  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel uncorrected blocks."
    ::= { xdsl2ExtPMChHist15MinEntry 1 }

    xdsl2PMChHist15MRtxCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx code word."
    ::= { xdsl2ExtPMChHist15MinEntry 2 }

    xdsl2PMChHist15MRtxCorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx corrected code word."
    ::= { xdsl2ExtPMChHist15MinEntry 3 }

    xdsl2PMChHist15MRtxUncorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx uncorrected code word."
    ::= { xdsl2ExtPMChHist15MinEntry 4 }

-------------------------------------------
-- xdsl2 ext PM Ch history 1 Day         --
-------------------------------------------
    xdsl2ExtPMChHist1DayTable    OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtPMChHist1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChHist1DayTable extends xdsl2PMChHist1DayTable."
    ::= { xdsl2ExtPM 9 }

    xdsl2ExtPMChHist1DayEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtPMChHist1DayEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtPMChHist1DayTable extends xdsl2PMChHist1DayTable."
    INDEX  { ifIndex, xdsl2PMChHist1DUnit, xdsl2PMChHist1DInterval }
    ::= { xdsl2ExtPMChHist1DayTable 1 }

    Xdsl2ExtPMChHist1DayEntry  ::=
    SEQUENCE {
       xdsl2PMChHist1DayUncorrectBlocks		Unsigned32,
       xdsl2PMChHist1DayRtxCW				Unsigned32,
       xdsl2PMChHist1DayRtxCorrectedCW		Unsigned32,
       xdsl2PMChHist1DayRtxUncorrectedCW	Unsigned32
    }

    xdsl2PMChHist1DayUncorrectBlocks  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel uncorrected blocks."
    ::= { xdsl2ExtPMChHist1DayEntry 1 }

    xdsl2PMChHist1DayRtxCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx code word."
    ::= { xdsl2ExtPMChHist1DayEntry 2 }

    xdsl2PMChHist1DayRtxCorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx corrected code word."
    ::= { xdsl2ExtPMChHist1DayEntry 3 }

    xdsl2PMChHist1DayRtxUncorrectedCW  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Performance channel Rtx uncorrected code word."
    ::= { xdsl2ExtPMChHist1DayEntry 4 }

	----------------------
	-- selt calibration --
	----------------------
	seltCalibration OBJECT IDENTIFIER ::= { vdsl 10 }

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

	seltCalibrationOps OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The manager sets the object to 1 to start the selt calibration
        	and the agent clears the object to zero when selt is not in progress."
		::= { seltCalibration 2 }

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

	seltCalibrationFrontEndGain OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { seltCalibration 4 }


	seltCalibrationShortSeltDelay OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { seltCalibration 5 }

	seltCalibrationGain1 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { seltCalibration 6 }

	seltCalibrationGain2 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { seltCalibration 7 }

	seltCalibrationL0 OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { seltCalibration 8 }

	vdslInmCounter OBJECT IDENTIFIER ::= { vdsl 11 }

	vdslInmCountCurrent  OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  VdslInmCountCurrentEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"Displays current DSL line status on specified UNI ports line Displays DSL detail line information on specified"
		::= { vdslInmCounter 1 }

	vdslInmCountCurrentEntry  OBJECT-TYPE
		SYNTAX      VdslInmCountCurrentEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"an entry displays current DSL line status on specified UNI ports line Displays DSL detail line information on specified, when vdslInmCountUnit is 1 mean xtuc, 2 mean xtur"
		INDEX  { ifIndex, vdslInmCountUnit }
		::= { vdslInmCountCurrent 1 }

	VdslInmCountCurrentEntry  ::=
		SEQUENCE {
			vdslInmCountCurEQINP1                 Unsigned32,
			vdslInmCountCurEQINP2                 Unsigned32,
			vdslInmCountCurEQINP3                 Unsigned32,
			vdslInmCountCurEQINP4                 Unsigned32,
			vdslInmCountCurEQINP5                 Unsigned32,
			vdslInmCountCurEQINP6                 Unsigned32,
			vdslInmCountCurEQINP7                 Unsigned32,
			vdslInmCountCurEQINP8                 Unsigned32,
			vdslInmCountCurEQINP9                 Unsigned32,
			vdslInmCountCurEQINP10                Unsigned32,
			vdslInmCountCurEQINP11                Unsigned32,
			vdslInmCountCurEQINP12                Unsigned32,
			vdslInmCountCurEQINP13                Unsigned32,
			vdslInmCountCurEQINP14                Unsigned32,
			vdslInmCountCurEQINP15                Unsigned32,
			vdslInmCountCurEQINP16                Unsigned32,
			vdslInmCountCurEQINP17                Unsigned32,
			vdslInmCountCurIAT0                   Unsigned32,
			vdslInmCountCurIAT1                   Unsigned32,
			vdslInmCountCurIAT2                   Unsigned32,
			vdslInmCountCurIAT3                   Unsigned32,
			vdslInmCountCurIAT4                   Unsigned32,
			vdslInmCountCurIAT5                   Unsigned32,
			vdslInmCountCurIAT6                   Unsigned32,
			vdslInmCountCurIAT7                   Unsigned32,
			vdslInmCountCurSYMBOLS                Unsigned32
		}

	vdslInmCountCurEQINP1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP1"
	::= { vdslInmCountCurrentEntry 1 }

	vdslInmCountCurEQINP2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP2"
	::= { vdslInmCountCurrentEntry 2 }

	vdslInmCountCurEQINP3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP3"
	::= { vdslInmCountCurrentEntry 3 }

	vdslInmCountCurEQINP4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP4"
	::= { vdslInmCountCurrentEntry 4 }

	vdslInmCountCurEQINP5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP5"
	::= { vdslInmCountCurrentEntry 5 }

	vdslInmCountCurEQINP6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP6"
	::= { vdslInmCountCurrentEntry 6 }

	vdslInmCountCurEQINP7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP7"
	::= { vdslInmCountCurrentEntry 7 }

	vdslInmCountCurEQINP8  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP8"
	::= { vdslInmCountCurrentEntry 8 }

	vdslInmCountCurEQINP9  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP9"
	::= { vdslInmCountCurrentEntry 9 }

	vdslInmCountCurEQINP10  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP10"
	::= { vdslInmCountCurrentEntry 10 }

	vdslInmCountCurEQINP11  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP11"
	::= { vdslInmCountCurrentEntry 11 }

	vdslInmCountCurEQINP12  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP12"
	::= { vdslInmCountCurrentEntry 12 }

	vdslInmCountCurEQINP13  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP13"
	::= { vdslInmCountCurrentEntry 13 }

	vdslInmCountCurEQINP14  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP14"
	::= { vdslInmCountCurrentEntry 14 }

	vdslInmCountCurEQINP15  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP15"
	::= { vdslInmCountCurrentEntry 15 }

	vdslInmCountCurEQINP16  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP16"
	::= { vdslInmCountCurrentEntry 16 }

	vdslInmCountCurEQINP17  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP17"
	::= { vdslInmCountCurrentEntry 17 }

	vdslInmCountCurIAT0  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT0"
	::= { vdslInmCountCurrentEntry 18 }

	vdslInmCountCurIAT1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT1"
	::= { vdslInmCountCurrentEntry 19 }

	vdslInmCountCurIAT2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT2"
	::= { vdslInmCountCurrentEntry 20 }

	vdslInmCountCurIAT3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT3"
	::= { vdslInmCountCurrentEntry 21 }

	vdslInmCountCurIAT4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT4"
	::= { vdslInmCountCurrentEntry 22 }

	vdslInmCountCurIAT5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT5"
	::= { vdslInmCountCurrentEntry 23 }

	vdslInmCountCurIAT6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT6"
	::= { vdslInmCountCurrentEntry 24 }

	vdslInmCountCurIAT7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT7"
	::= { vdslInmCountCurrentEntry 25 }

	vdslInmCountCurSYMBOLS  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"SYMBOLS"
	::= { vdslInmCountCurrentEntry 26 }

	vdslInmCount15min  OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  VdslInmCount15minEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"Displays 15-min DSL line status on specified UNI ports line Displays DSL detail line information on specified"
		::= { vdslInmCounter 2 }

	vdslInmCount15minEntry  OBJECT-TYPE
		SYNTAX      VdslInmCount15minEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"an entry displays 15-min DSL line status on specified UNI ports line Displays DSL detail line information on specified, when vdslInmCountUnit is 1 mean xtuc, 2 mean xtur, bucket 0 mean current 15 min"
		INDEX  { ifIndex, bucket, vdslInmCountUnit }
		::= { vdslInmCount15min 1 }

	VdslInmCount15minEntry  ::=
		SEQUENCE {
			vdslInmCount15minEQINP1                 Unsigned32,
			vdslInmCount15minEQINP2                 Unsigned32,
			vdslInmCount15minEQINP3                 Unsigned32,
			vdslInmCount15minEQINP4                 Unsigned32,
			vdslInmCount15minEQINP5                 Unsigned32,
			vdslInmCount15minEQINP6                 Unsigned32,
			vdslInmCount15minEQINP7                 Unsigned32,
			vdslInmCount15minEQINP8                 Unsigned32,
			vdslInmCount15minEQINP9                 Unsigned32,
			vdslInmCount15minEQINP10                Unsigned32,
			vdslInmCount15minEQINP11                Unsigned32,
			vdslInmCount15minEQINP12                Unsigned32,
			vdslInmCount15minEQINP13                Unsigned32,
			vdslInmCount15minEQINP14                Unsigned32,
			vdslInmCount15minEQINP15                Unsigned32,
			vdslInmCount15minEQINP16                Unsigned32,
			vdslInmCount15minEQINP17                Unsigned32,
			vdslInmCount15minIAT0                   Unsigned32,
			vdslInmCount15minIAT1                   Unsigned32,
			vdslInmCount15minIAT2                   Unsigned32,
			vdslInmCount15minIAT3                   Unsigned32,
			vdslInmCount15minIAT4                   Unsigned32,
			vdslInmCount15minIAT5                   Unsigned32,
			vdslInmCount15minIAT6                   Unsigned32,
			vdslInmCount15minIAT7                   Unsigned32,
			vdslInmCount15minSYMBOLS                Unsigned32
		}

	vdslInmCount15minEQINP1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP1"
	::= { vdslInmCount15minEntry 1 }

	vdslInmCount15minEQINP2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP2"
	::= { vdslInmCount15minEntry 2 }

	vdslInmCount15minEQINP3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP3"
	::= { vdslInmCount15minEntry 3 }

	vdslInmCount15minEQINP4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP4"
	::= { vdslInmCount15minEntry 4 }

	vdslInmCount15minEQINP5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP5"
	::= { vdslInmCount15minEntry 5 }

	vdslInmCount15minEQINP6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP6"
	::= { vdslInmCount15minEntry 6 }

	vdslInmCount15minEQINP7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP7"
	::= { vdslInmCount15minEntry 7 }

	vdslInmCount15minEQINP8  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP8"
	::= { vdslInmCount15minEntry 8 }

	vdslInmCount15minEQINP9  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP9"
	::= { vdslInmCount15minEntry 9 }

	vdslInmCount15minEQINP10  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP10"
	::= { vdslInmCount15minEntry 10 }

	vdslInmCount15minEQINP11  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP11"
	::= { vdslInmCount15minEntry 11 }

	vdslInmCount15minEQINP12  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP12"
	::= { vdslInmCount15minEntry 12 }

	vdslInmCount15minEQINP13  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP13"
	::= { vdslInmCount15minEntry 13 }

	vdslInmCount15minEQINP14  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP14"
	::= { vdslInmCount15minEntry 14 }

	vdslInmCount15minEQINP15  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP15"
	::= { vdslInmCount15minEntry 15 }

	vdslInmCount15minEQINP16  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP16"
	::= { vdslInmCount15minEntry 16 }

	vdslInmCount15minEQINP17  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP17"
	::= { vdslInmCount15minEntry 17 }

	vdslInmCount15minIAT0  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT0"
	::= { vdslInmCount15minEntry 18 }

	vdslInmCount15minIAT1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT1"
	::= { vdslInmCount15minEntry 19 }

	vdslInmCount15minIAT2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT2"
	::= { vdslInmCount15minEntry 20 }

	vdslInmCount15minIAT3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT3"
	::= { vdslInmCount15minEntry 21 }

	vdslInmCount15minIAT4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT4"
	::= { vdslInmCount15minEntry 22 }

	vdslInmCount15minIAT5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT5"
	::= { vdslInmCount15minEntry 23 }

	vdslInmCount15minIAT6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT6"
	::= { vdslInmCount15minEntry 24 }

	vdslInmCount15minIAT7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT7"
	::= { vdslInmCount15minEntry 25 }

	vdslInmCount15minSYMBOLS  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"SYMBOLS"
	::= { vdslInmCount15minEntry 26 }

	vdslInmCount1day  OBJECT-TYPE
		SYNTAX      SEQUENCE  OF  VdslInmCount1dayEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"Displays 1-day DSL line status on specified UNI ports line Displays DSL detail line information on specified"
		::= { vdslInmCounter 3 }

	vdslInmCount1dayEntry  OBJECT-TYPE
		SYNTAX      VdslInmCount1dayEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"an entry displays 1-day DSL line status on specified UNI ports line Displays DSL detail line information on specified, when vdslInmCountUnit is 1 mean xtuc, 2 mean xtur. bucket 0 mean current 1day"
		INDEX  { ifIndex, bucket, vdslInmCountUnit }
		::= { vdslInmCount1day 1 }

	VdslInmCount1dayEntry  ::=
		SEQUENCE {
			vdslInmCount1dayEQINP1                 Unsigned32,
			vdslInmCount1dayEQINP2                 Unsigned32,
			vdslInmCount1dayEQINP3                 Unsigned32,
			vdslInmCount1dayEQINP4                 Unsigned32,
			vdslInmCount1dayEQINP5                 Unsigned32,
			vdslInmCount1dayEQINP6                 Unsigned32,
			vdslInmCount1dayEQINP7                 Unsigned32,
			vdslInmCount1dayEQINP8                 Unsigned32,
			vdslInmCount1dayEQINP9                 Unsigned32,
			vdslInmCount1dayEQINP10                Unsigned32,
			vdslInmCount1dayEQINP11                Unsigned32,
			vdslInmCount1dayEQINP12                Unsigned32,
			vdslInmCount1dayEQINP13                Unsigned32,
			vdslInmCount1dayEQINP14                Unsigned32,
			vdslInmCount1dayEQINP15                Unsigned32,
			vdslInmCount1dayEQINP16                Unsigned32,
			vdslInmCount1dayEQINP17                Unsigned32,
			vdslInmCount1dayIAT0                   Unsigned32,
			vdslInmCount1dayIAT1                   Unsigned32,
			vdslInmCount1dayIAT2                   Unsigned32,
			vdslInmCount1dayIAT3                   Unsigned32,
			vdslInmCount1dayIAT4                   Unsigned32,
			vdslInmCount1dayIAT5                   Unsigned32,
			vdslInmCount1dayIAT6                   Unsigned32,
			vdslInmCount1dayIAT7                   Unsigned32,
			vdslInmCount1daySYMBOLS                Unsigned32
		}

	vdslInmCount1dayEQINP1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP1"
	::= { vdslInmCount1dayEntry 1 }

	vdslInmCount1dayEQINP2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP2"
	::= { vdslInmCount1dayEntry 2 }

	vdslInmCount1dayEQINP3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP3"
	::= { vdslInmCount1dayEntry 3 }

	vdslInmCount1dayEQINP4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP4"
	::= { vdslInmCount1dayEntry 4 }

	vdslInmCount1dayEQINP5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP5"
	::= { vdslInmCount1dayEntry 5 }

	vdslInmCount1dayEQINP6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP6"
	::= { vdslInmCount1dayEntry 6 }

	vdslInmCount1dayEQINP7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP7"
	::= { vdslInmCount1dayEntry 7 }

	vdslInmCount1dayEQINP8  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP8"
	::= { vdslInmCount1dayEntry 8 }

	vdslInmCount1dayEQINP9  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP9"
	::= { vdslInmCount1dayEntry 9 }

	vdslInmCount1dayEQINP10  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP10"
	::= { vdslInmCount1dayEntry 10 }

	vdslInmCount1dayEQINP11  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP11"
	::= { vdslInmCount1dayEntry 11 }

	vdslInmCount1dayEQINP12  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP12"
	::= { vdslInmCount1dayEntry 12 }

	vdslInmCount1dayEQINP13  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP13"
	::= { vdslInmCount1dayEntry 13 }

	vdslInmCount1dayEQINP14  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP14"
	::= { vdslInmCount1dayEntry 14 }

	vdslInmCount1dayEQINP15  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP15"
	::= { vdslInmCount1dayEntry 15 }

	vdslInmCount1dayEQINP16  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP16"
	::= { vdslInmCount1dayEntry 16 }

	vdslInmCount1dayEQINP17  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"EQINP17"
	::= { vdslInmCount1dayEntry 17 }

	vdslInmCount1dayIAT0  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT0"
	::= { vdslInmCount1dayEntry 18 }

	vdslInmCount1dayIAT1  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT1"
	::= { vdslInmCount1dayEntry 19 }

	vdslInmCount1dayIAT2  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT2"
	::= { vdslInmCount1dayEntry 20 }

	vdslInmCount1dayIAT3  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT3"
	::= { vdslInmCount1dayEntry 21 }

	vdslInmCount1dayIAT4  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT4"
	::= { vdslInmCount1dayEntry 22 }

	vdslInmCount1dayIAT5  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT5"
	::= { vdslInmCount1dayEntry 23 }

	vdslInmCount1dayIAT6  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT6"
	::= { vdslInmCount1dayEntry 24 }

	vdslInmCount1dayIAT7  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"IAT7"
	::= { vdslInmCount1dayEntry 25 }

	vdslInmCount1daySYMBOLS  OBJECT-TYPE
		SYNTAX      Unsigned32
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"SYMBOLS"
	::= { vdslInmCount1dayEntry 26 }


	xturInfo	OBJECT IDENTIFIER ::= { vdsl 12 }

	xturInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF XturInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"xtur info table"
	::= { xturInfo 1 }

	xturInfoEntry OBJECT-TYPE
	SYNTAX XturInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { xturInfoTable 1 }

	XturInfoEntry ::=
		SEQUENCE {
			xturInfoHsCountryCode		DisplayString,
			xturInfoHsProviderCode		DisplayString,
			xturInfoHsVendorInfo		DisplayString,
			xturInfoFeSysCountryCode	DisplayString,
			xturInfoFeSysProviderCode	DisplayString,
			xturInfoFeSysVendorInfo		DisplayString,
			xturInfoFeSysVersion		DisplayString,
			xturInfoFeSysSerial			DisplayString
		}

	xturInfoHsCountryCode OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR HS country code on specific port."
	::= { xturInfoEntry 1 }
	
	xturInfoHsProviderCode OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR HS provider code on specific port."
	::= { xturInfoEntry 2 }
	
	xturInfoHsVendorInfo OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR HS vendor info on specific port."
	::= { xturInfoEntry 3 }
	
	xturInfoFeSysCountryCode OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR FE system country code on specific port."
	::= { xturInfoEntry 4 }
	
	xturInfoFeSysProviderCode OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR FE system provider code on specific port."
	::= { xturInfoEntry 5 }
	
	xturInfoFeSysVendorInfo OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR FE system vendor info on specific port."
	::= { xturInfoEntry 6 }
	
	xturInfoFeSysVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR FE system version on specific port."
	::= { xturInfoEntry 7 }
	
	xturInfoFeSysSerial OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays XTUR FE system serial number on specific port."
	::= { xturInfoEntry 8 }




--------------------------------------------------------------------------------
-- coa
--------------------------------------------------------------------------------

    coaConfIssueThreshold OBJECT-TYPE
    	SYNTAX Unsigned32 (0..100)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"CPU overload alarm issue threshold.
			CPU overload alarm issue threshold should be higher
			than CPU overload alarm clear threshold.
			The default one will be 90% CPU load."
    	::= { coa 1 }

    coaConfClearThreshold OBJECT-TYPE
    	SYNTAX Unsigned32 (0..100)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"CPU overload alarm clear threshold.
			CPU overload alarm clear threshold should be lower
			than CPU overload alarm issue threshold.
			The default one will be 60% CPU load"
    	::= { coa 2 }

    coaConfSampleSeconds OBJECT-TYPE
    	SYNTAX Unsigned32 (1..60)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Sample seconds of cpu overload alarm. The default sample rate is 35 seconds"
    	::= { coa 3 }

    coaConfAnalyticMethod OBJECT-TYPE
    	SYNTAX INTEGER{
        	continuous(1),
        	average(2)
        	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Analytic method of cpu overload alarm. 'continous(1)' is the default value."
    	::= { coa 4 }

--------------------------------------------------------------------------------
-- performance monitor tables
--------------------------------------------------------------------------------
    --------------------------
    -- rmonPmCurr15minTable --
    --------------------------

--	rmonPmCurr15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF RmonPmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A list of Ethernet performance monitoring statistics entries."
--		::= { performance 1 }
--
--	rmonPmCurr15minEntry OBJECT-TYPE
--		SYNTAX RmonPmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A collection of statistics PM kept for a particular
--			Ethernet interface."
--		INDEX { ifIndex }
--		::= { rmonPmCurr15minTable 1 }
--
--	RmonPmCurr15minEntry ::= SEQUENCE {
--		rmonPmCurr15minTxDrop				Unsigned32,
--		rmonPmCurr15minTxOctets				Counter64,
--		rmonPmCurr15minTxPkts				Unsigned32,
--		rmonPmCurr15minTxBroadcastPkts		Unsigned32,
--		rmonPmCurr15minTxMulticastPkts		Unsigned32,
--		rmonPmCurr15minRxDrop				Unsigned32,
--		rmonPmCurr15minRxOctets				Counter64,
--		rmonPmCurr15minRxPkts				Unsigned32,
--		rmonPmCurr15minRxBroadcastPkts		Unsigned32,
--		rmonPmCurr15minRxMulticastPkts		Unsigned32,
--		rmonPmCurr15minRxUndersizePkts		Unsigned32,
--		rmonPmCurr15minRxFragments			Unsigned32,
--		rmonPmCurr15minRxJabbers			Unsigned32,
--		rmonPmCurr15minPkts64Octets			Unsigned32,
--		rmonPmCurr15minPkts65to127Octets	Unsigned32,
--		rmonPmCurr15minPkts128to255Octets	Unsigned32,
--		rmonPmCurr15minPkts256to511Octets	Unsigned32,
--		rmonPmCurr15minPkts512to1023Octets	Unsigned32,
--		rmonPmCurr15minPkts1024to1518Octets	Unsigned32,
--		rmonPmCurr15minElapsed				Unsigned32
--	}
--
--	rmonPmCurr15minTxDrop OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packet transmitted on the
--			network and drop events happens."
--		::= { rmonPmCurr15minEntry 1 }
--
--	rmonPmCurr15minTxOctets OBJECT-TYPE
--		SYNTAX Counter64
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of octets of data (including
--			those in bad packets) transmitted on the
--			network (excluding framing bits but including
--			FCS octets)."
--		::= { rmonPmCurr15minEntry 2 }
--
--	rmonPmCurr15minTxPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad packets,
--			broadcast packets, and multicast packets) transmitted."
--		::= { rmonPmCurr15minEntry 3 }
--
--	rmonPmCurr15minTxBroadcastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of broadcast packets transmitted. Note that
--			this does not include multicast packets."
--		::= { rmonPmCurr15minEntry 4 }
--
--	rmonPmCurr15minTxMulticastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of multicast packets transmitted. Note that this
--			number does not include packets directed to the
--			broadcast address."
--		::= { rmonPmCurr15minEntry 5 }
--
--	rmonPmCurr15minRxDrop OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packet received on the
--			network and discarded events happens."
--		::= { rmonPmCurr15minEntry 6 }
--
--	rmonPmCurr15minRxOctets OBJECT-TYPE
--		SYNTAX Counter64
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of octets of data (including
--			those in bad packets) received on the
--			network (excluding framing bits but including
--			FCS octets)."
--		::= { rmonPmCurr15minEntry 7 }
--
--	rmonPmCurr15minRxPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad packets,
--			broadcast packets, and multicast packets) received."
--		::= { rmonPmCurr15minEntry 8 }
--
--	rmonPmCurr15minRxBroadcastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of good packets received that were
--			directed to the broadcast address.  Note that this
--			does not include multicast packets."
--		::= { rmonPmCurr15minEntry 9 }
--
--	rmonPmCurr15minRxMulticastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of good packets received that were
--			directed to a multicast address.  Note that this
--			number does not include packets directed to the
--			broadcast address."
--		::= { rmonPmCurr15minEntry 10 }
--
--	rmonPmCurr15minRxUndersizePkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets received that were
--			less than 64 octets long (excluding framing bits,
--			but including FCS octets) and were otherwise well
--			formed."
--		::= { rmonPmCurr15minEntry 11 }
--
--	rmonPmCurr15minRxFragments OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets received that were less
--			than 64 octets in length (excluding framing bits but
--			including FCS octets) and had either a bad Frame
--			Check Sequence (FCS) with an integral number of
--			octets (FCS Error) or a bad FCS with a non-integral
--			number of octets (Alignment Error).
--
--			Note that it is entirely normal for
--			rmonPmCurr15minFragments to increment.  This is because
--			it counts both runts (which are normal occurrences
--			due to collisions) and noise hits."
--		::= { rmonPmCurr15minEntry 12 }
--
--	rmonPmCurr15minRxJabbers OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The of frames received which exceed 1518 (non VLAN) or 1522 (VLAN) bytes
--			in length and contain an invalid FCS, including alignment errors."
--		::= { rmonPmCurr15minEntry 13 }
--
--	rmonPmCurr15minPkts64Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were 64 octets in length
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 14 }
--
--	rmonPmCurr15minPkts65to127Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were between
--			65 and 127 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 15 }
--
--	rmonPmCurr15minPkts128to255Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were between
--			128 and 255 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 16 }
--
--	rmonPmCurr15minPkts256to511Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were between
--			256 and 511 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 17 }
--
--	rmonPmCurr15minPkts512to1023Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were between
--			512 and 1023 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 18 }
--
--	rmonPmCurr15minPkts1024to1518Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received that were between
--			1024 and 1518 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmCurr15minEntry 19 }
--
--	rmonPmCurr15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the current 15 minutes interval"
--		::= { rmonPmCurr15minEntry 20 }

    --------------------------
	-- rmonPmHist15minTable --
    --------------------------

--	rmonPmHist15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF RmonPmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A list of Ethernet statistics historical 15-min PM entries."
--		::= { performance 2 }
--
--	rmonPmHist15minEntry OBJECT-TYPE
--		SYNTAX RmonPmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A collection of statistics historical 15-min PM kept for a particular
--			Ethernet interface."
--		INDEX { ifIndex, rmonPmHist15minIndex }
--		::= { rmonPmHist15minTable 1 }
--
--	RmonPmHist15minEntry ::= SEQUENCE {
--		rmonPmHist15minIndex				Unsigned32,
--		rmonPmHist15minTxDrop				Unsigned32,
--		rmonPmHist15minTxOctets				Counter64,
--		rmonPmHist15minTxPkts				Unsigned32,
--		rmonPmHist15minTxBroadcastPkts		Unsigned32,
--		rmonPmHist15minTxMulticastPkts		Unsigned32,
--		rmonPmHist15minRxDrop				Unsigned32,
--		rmonPmHist15minRxOctets				Counter64,
--		rmonPmHist15minRxPkts				Unsigned32,
--		rmonPmHist15minRxBroadcastPkts		Unsigned32,
--		rmonPmHist15minRxMulticastPkts		Unsigned32,
--		rmonPmHist15minRxUndersizepkts		Unsigned32,
--		rmonPmHist15minRxFragments			Unsigned32,
--		rmonPmHist15minRxJabbers			Unsigned32,
--		rmonPmHist15minPkts64Octets			Unsigned32,
--		rmonPmHist15minPkts65to127Octets	Unsigned32,
--		rmonPmHist15minPkts128to255Octets	Unsigned32,
--		rmonPmHist15minPkts256to511Octets	Unsigned32,
--		rmonPmHist15minPkts512to1023Octets	Unsigned32,
--		rmonPmHist15minPkts1024to1518Octets	Unsigned32,
--		rmonPmHist15minElapsed				Unsigned32
--	}
--
--	rmonPmHist15minIndex OBJECT-TYPE
--		SYNTAX Unsigned32 (1..96)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The index of 15-min historical record in one day"
--		::= { rmonPmHist15minEntry 1 }
--
--	rmonPmHist15minTxDrop OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packet transmitted on the
--			network and drop events happens."
--		::= { rmonPmHist15minEntry 2 }
--
--	rmonPmHist15minTxOctets OBJECT-TYPE
--		SYNTAX Counter64
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of octets of data
--			(including those in bad packets) transmitted on the
--			network (excluding framing bits but including
--			FCS octets) in historical 15-min interval."
--		::= { rmonPmHist15minEntry 3 }
--
--	rmonPmHist15minTxPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad packets,
--			broadcast packets, and multicast packets) transmitted
--			in historical 15-min interval."
--		::= { rmonPmHist15minEntry 4 }
--
--	rmonPmHist15minTxBroadcastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of broadcast packets transmitted.
--			Note that this does not include multicast packets
--			in historical 15-min interval."
--		::= { rmonPmHist15minEntry 5 }
--
--	rmonPmHist15minTxMulticastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of multicast packets transmitted in historical 15-min interval.
--			Note that this number does not include packets directed to the
--			broadcast address."
--		::= { rmonPmHist15minEntry 6 }
--
--	rmonPmHist15minRxDrop OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packet received on the
--			network and discarded events happens."
--		::= { rmonPmHist15minEntry 7 }
--
--	rmonPmHist15minRxOctets OBJECT-TYPE
--		SYNTAX Counter64
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of octets of data (including
--			those in bad packets) received on the
--			network (excluding framing bits but including
--			FCS octets) in historical 15-min interval."
--		::= { rmonPmHist15minEntry 8 }
--
--	rmonPmHist15minRxPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad packets,
--			broadcast packets, and multicast packets) received
--			 in historical 15-min interval."
--		::= { rmonPmHist15minEntry 9 }
--
--	rmonPmHist15minRxBroadcastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of good packets received
--			that were directed to the broadcast address
--			in historical 15-min interval.  Note that this
--			does not include multicast packets."
--		::= { rmonPmHist15minEntry 10 }
--
--	rmonPmHist15minRxMulticastPkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of good packets received in historical 15-min interval
--			that were directed to a multicast address.  Note that this
--			number does not include packets directed to the
--			broadcast address."
--		::= { rmonPmHist15minEntry 11 }
--
--	rmonPmHist15minRxUndersizepkts OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets received in historical 15-min interval
--			that were less than 64 octets long (excluding framing bits,
--			but including FCS octets) and were otherwise well
--			formed."
--		::= { rmonPmHist15minEntry 12 }
--
--	rmonPmHist15minRxFragments OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets received in historical 15-min interval
--			that were less than 64 octets in length (excluding framing bits but
--			including FCS octets) and had either a bad Frame
--			Check Sequence (FCS) with an integral number of
--			octets (FCS Error) or a bad FCS with a non-integral
--			number of octets (Alignment Error).
--
--			Note that it is entirely normal for
--			rmonPmHist15minFragments to increment.  This is because
--			it counts both runts (which are normal occurrences
--			due to collisions) and noise hits."
--		::= { rmonPmHist15minEntry 13 }
--
--	rmonPmHist15minRxJabbers OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			""
--		::= { rmonPmHist15minEntry 14 }
--
--	rmonPmHist15minPkts64Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were 64 octets in length
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 15 }
--
--	rmonPmHist15minPkts65to127Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were between
--			65 and 127 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 16 }
--
--	rmonPmHist15minPkts128to255Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were between
--			128 and 255 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 17 }
--
--	rmonPmHist15minPkts256to511Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were between
--			256 and 511 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 18 }
--
--	rmonPmHist15minPkts512to1023Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were between
--			512 and 1023 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 19 }
--
--	rmonPmHist15minPkts1024to1518Octets OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The total number of packets (including bad
--			packets) received in historical 15-min interval
--			that were between
--			1024 and 1518 octets in length inclusive
--			(excluding framing bits but including FCS octets)."
--		::= { rmonPmHist15minEntry 20 }
--
--	rmonPmHist15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the historical 15-min interval"
--		::= { rmonPmHist15minEntry 21 }

    --------------------------
	-- ethPmCurr15minTable --
    --------------------------

--	ethPmCurr15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF EthPmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A list of Ethernet performance monitoring statistics entries."
--		::= { performance 3 }
--
--	ethPmCurr15minEntry OBJECT-TYPE
--		SYNTAX EthPmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A collection of statistics PM kept for a particular
--			Ethernet interface."
--		INDEX { ifIndex }
--		::= { ethPmCurr15minTable 1 }
--
--	EthPmCurr15minEntry ::= SEQUENCE {
--		ethPmCurr15minTxUcastFrames			Unsigned32,
--		ethPmCurr15minTxMcastFrames			Unsigned32,
--		ethPmCurr15minTxBcastFrames			Unsigned32,
--		ethPmCurr15minRxUcastFrames			Unsigned32,
--		ethPmCurr15minRxMcastFrames			Unsigned32,
--		ethPmCurr15minRxBcastFrames			Unsigned32,
--		ethPmCurr15minFcsError				Unsigned32,
--		ethPmCurr15minExcessCollision		Unsigned32,
--		ethPmCurr15minLateCollision			Unsigned32,
--		ethPmCurr15minFrameTooLong			Unsigned32,
--		ethPmCurr15minRxOverflow			Unsigned32,
--		ethPmCurr15minTxOverflow			Unsigned32,
--		ethPmCurr15minSingleCollision		Unsigned32,
--		ethPmCurr15minMultipleCollision		Unsigned32,
--		ethPmCurr15minSQE					Unsigned32,
--		ethPmCurr15minDeferredTransmission	Unsigned32,
--		ethPmCurr15minInternallMacTxError	Unsigned32,
--		ethPmCurr15minCarrierSenseError		Unsigned32,
--		ethPmCurr15minAlignmentError		Unsigned32,
--		ethPmCurr15minInternallMacRxError	Unsigned32,
--        ethPmCurr15minElapsed				Unsigned32
--		}
--
--	ethPmCurr15minTxUcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of unicast frames transmitted by ethernet uplink."
--		::= { ethPmCurr15minEntry 1 }
--
--	ethPmCurr15minTxMcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of multicast frames transmitted by ethernet uplink."
--		::= { ethPmCurr15minEntry 2 }
--
--	ethPmCurr15minTxBcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of broadcast frames transmitted by ethernet uplink."
--		::= { ethPmCurr15minEntry 3 }
--
--	ethPmCurr15minRxUcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of unicast frames received by ethernet uplink."
--		::= { ethPmCurr15minEntry 4 }
--
--	ethPmCurr15minRxMcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of multicast frames received by ethernet uplink."
--		::= { ethPmCurr15minEntry 5 }
--
--	ethPmCurr15minRxBcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of broadcast frames received by ethernet uplink."
--		::= { ethPmCurr15minEntry 6 }
--
--	ethPmCurr15minFcsError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with FCS error received by ethernet uplink."
--		::= { ethPmCurr15minEntry 7 }
--
--	ethPmCurr15minExcessCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with excess collisions (tx_excess_collsion) transmitted by ethernet uplink.
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 8 }
--
--	ethPmCurr15minLateCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with late collisions (tx_late_collision) transmitted by ethernet uplink.
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 9 }
--
--	ethPmCurr15minFrameTooLong OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of oversize frames (rx_oversize, exceeds 1518 (non VLAN) or 1522 (VLAN) bytes in length and
--			contain a valid FCS received by ethernet uplink."
--		::= { ethPmCurr15minEntry 10 }
--
--	ethPmCurr15minRxOverflow OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The nunmber of received Ethernet frames (rx_err_overrun) which were closed (in a middle of a frame) or discarded due to
--			a receive buffer overrun event (no available buffers)."
--		::= { ethPmCurr15minEntry 11 }
--
--	ethPmCurr15minTxOverflow OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of times Ethernet transmitter underrun occurred (tx_err_underrun)."
--		::= { ethPmCurr15minEntry 12 }
--
--	ethPmCurr15minSingleCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames transmitted which experienced exactly one collision during transmission (tx_single_collision).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 13 }
--
--	ethPmCurr15minMultipleCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames transmitted which experienced 2-15 collisions (including any late collisions)
--			during transmission (tx_multi_collision). Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 14 }
--
--	ethPmCurr15minSQE OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"SQuench Error - there is no corresponding counter mapping to hardware."
--		::= { ethPmCurr15minEntry 15 }
--
--	ethPmCurr15minDeferredTransmission OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames that were deferred upon first transmission attempt (tx_defer).
--			Does not include frames involved in collisions. Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 16 }
--
--	ethPmCurr15minInternallMacTxError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { ethPmCurr15minEntry 17 }
--
--	ethPmCurr15minCarrierSenseError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of false carriers detected during idle (rx_err_false_carrier).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 18 }
--
--	ethPmCurr15minAlignmentError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of received frames from 64 to 1518 (non VLAN) or 1522 (VLAN) bytes
--			in length that contain an invalid FCS and are not an integral number of bytes (rx_err_alignment).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmCurr15minEntry 19 }
--
--	ethPmCurr15minInternallMacRxError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { ethPmCurr15minEntry 20 }
--
--	ethPmCurr15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32 (0..899)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the current 15-min inerval. The value is in range of 0~900."
--		::= { ethPmCurr15minEntry 21 }

    --------------------------
	-- ethPmHist15minTable --
    --------------------------

--	ethPmHist15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF EthPmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A list of Ethernet performance monitoring statistics entries."
--		::= { performance 4 }
--
--	ethPmHist15minEntry OBJECT-TYPE
--		SYNTAX EthPmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"A collection of statistics PM kept for a particular
--			Ethernet interface."
--		INDEX { ifIndex, ethPmHist15minIndex }
--		::= { ethPmHist15minTable 1 }
--
--	EthPmHist15minEntry ::= SEQUENCE {
--		ethPmHist15minIndex					Unsigned32,
--		ethPmHist15minTxUcastFrames			Unsigned32,
--		ethPmHist15minTxMcastFrames			Unsigned32,
--		ethPmHist15minTxBcastFrames			Unsigned32,
--		ethPmHist15minRxUcastFrames			Unsigned32,
--		ethPmHist15minRxMcastFrames			Unsigned32,
--		ethPmHist15minRxBcastFrames			Unsigned32,
--		ethPmHist15minFcsError				Unsigned32,
--		ethPmHist15minExcessCollision		Unsigned32,
--		ethPmHist15minLateCollision			Unsigned32,
--		ethPmHist15minFrameTooLong			Unsigned32,
--		ethPmHist15minRxOverflow			Unsigned32,
--		ethPmHist15minTxOverflow			Unsigned32,
--		ethPmHist15minSingleCollision		Unsigned32,
--		ethPmHist15minMultipleCollision		Unsigned32,
--		ethPmHist15minSQE					Unsigned32,
--		ethPmHist15minDeferredTransmission	Unsigned32,
--		ethPmHist15minInternallMacTxError	Unsigned32,
--		ethPmHist15minCarrierSenseError		Unsigned32,
--		ethPmHist15minAlignmentError		Unsigned32,
--		ethPmHist15minInternallMacRxError	Unsigned32,
--        ethPmHist15minElapsed				Unsigned32
--		}
--
--	ethPmHist15minIndex OBJECT-TYPE
--		SYNTAX Unsigned32 (1..96)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The index of 15-min historical record in one day."
--		::= { ethPmHist15minEntry 1 }
--
--	ethPmHist15minTxUcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of unicast frames transmitted by ethernet uplink."
--		::= { ethPmHist15minEntry 2 }
--
--	ethPmHist15minTxMcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of multicast frames transmitted by ethernet uplink."
--		::= { ethPmHist15minEntry 3 }
--
--	ethPmHist15minTxBcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of broadcast frames transmitted by ethernet uplink."
--		::= { ethPmHist15minEntry 4 }
--
--	ethPmHist15minRxUcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of unicast frames received by ethernet uplink."
--		::= { ethPmHist15minEntry 5 }
--
--	ethPmHist15minRxMcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of multicast frames received by ethernet uplink."
--		::= { ethPmHist15minEntry 6 }
--
--	ethPmHist15minRxBcastFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of broadcast frames received by ethernet uplink."
--		::= { ethPmHist15minEntry 7 }
--
--	ethPmHist15minFcsError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with FCS error received by ethernet uplink."
--		::= { ethPmHist15minEntry 8 }
--
--	ethPmHist15minExcessCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with excess collisions (tx_excess_collsion) transmitted by ethernet uplink.
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 9 }
--
--	ethPmHist15minLateCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames with late collisions (tx_late_collision) transmitted by ethernet uplink.
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 10 }
--
--	ethPmHist15minFrameTooLong OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of oversize frames (rx_oversize, exceeds 1518 (non VLAN) or 1522 (VLAN) bytes in length and
--			contain a valid FCS received by ethernet uplink."
--		::= { ethPmHist15minEntry 11 }
--
--	ethPmHist15minRxOverflow OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The nunmber of received Ethernet frames (rx_err_overrun) which were closed (in a middle of a frame) or discarded due to
--			a receive buffer overrun event (no available buffers)."
--		::= { ethPmHist15minEntry 12 }
--
--	ethPmHist15minTxOverflow OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of times Ethernet transmitter underrun occurred (tx_err_underrun)."
--		::= { ethPmHist15minEntry 13 }
--
--	ethPmHist15minSingleCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames transmitted which experienced exactly one collision during transmission (tx_single_collision).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 14 }
--
--	ethPmHist15minMultipleCollision OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames transmitted which experienced 2-15 collisions (including any late collisions)
--			during transmission (tx_multi_collision). Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 15 }
--
--	ethPmHist15minSQE OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"SQuench Error - there is no corresponding counter mapping to hardware."
--		::= { ethPmHist15minEntry 16 }
--
--	ethPmHist15minDeferredTransmission OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames that were deferred upon first transmission attempt (tx_defer).
--			Does not include frames involved in collisions. Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 17 }
--
--	ethPmHist15minInternallMacTxError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { ethPmHist15minEntry 18 }
--
--	ethPmHist15minCarrierSenseError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of false carriers detected during idle (rx_err_false_carrier).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 19 }
--
--	ethPmHist15minAlignmentError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of received frames from 64 to 1518 (non VLAN) or 1522 (VLAN) bytes
--			in length that contain an invalid FCS and are not an integral number of bytes (rx_err_alignment).
--			Note: this is applicable to 1Gbps connection mode."
--		::= { ethPmHist15minEntry 20 }
--
--	ethPmHist15minInternallMacRxError OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { ethPmHist15minEntry 21 }
--
--	ethPmHist15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the current 15-min inerval. The value is in range of 0~900."
--		::= { ethPmHist15minEntry 22 }

    ----------------------------
	-- bridgePmCurr15minTable --
    ----------------------------

--	bridgePmCurr15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF BridgePmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"The table of current 15 minutes performance counter for a MAC bridge system."
--		::= { performance 5 }
--
--	bridgePmCurr15minEntry OBJECT-TYPE
--		SYNTAX BridgePmCurr15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"The table entry of current 15 minutes performance counter for a MAC bridge system."
--		INDEX { ifIndex }
--		::= { bridgePmCurr15minTable 1 }
--
--	BridgePmCurr15minEntry ::= SEQUENCE {
--		bridgePmCurr15minForwardedFrames	Unsigned32,
--		bridgePmCurr15minDelayExceedDiscard	Unsigned32,
--		bridgePmCurr15minMtuExceedDiscard	Unsigned32,
--		bridgePmCurr15minRxFrames			Unsigned32,
--		bridgePmCurr15minRxFramesDiscard	Unsigned32,
--		bridgePmCurr15minElapsed			Unsigned32
--	}
--
--	bridgePmCurr15minForwardedFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames forwarded by bridge interworking system (forward_packet)."
--		::= { bridgePmCurr15minEntry 1 }
--
--	bridgePmCurr15minDelayExceedDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { bridgePmCurr15minEntry 2 }
--
--	bridgePmCurr15minMtuExceedDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of dropped packets due to MTU violation (mtu_drop_packets)."
--		::= { bridgePmCurr15minEntry 3 }
--
--	bridgePmCurr15minRxFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames received by bridge port of the bridge interworking system."
--		::= { bridgePmCurr15minEntry 4 }
--
--	bridgePmCurr15minRxFramesDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames discarded by bridge interworking system.
--			Generally, the number is equal to RxFrames minus ForwardedFrames."
--		::= { bridgePmCurr15minEntry 5 }
--
--	bridgePmCurr15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32 (0..899)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the current 15-min inerval."
--		::= { bridgePmCurr15minEntry 6 }

    ----------------------------
	-- bridgePmHist15minTable --
    ----------------------------

--	bridgePmHist15minTable OBJECT-TYPE
--		SYNTAX SEQUENCE OF BridgePmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"The table of current 15 minutes performance counter for a bridge interface."
--		::= { performance 6 }
--
--	bridgePmHist15minEntry OBJECT-TYPE
--		SYNTAX BridgePmHist15minEntry
--		MAX-ACCESS not-accessible
--		STATUS mandatory
--		DESCRIPTION
--			"The table entry of current 15 minutes performance counter for a bridge interface."
--		INDEX { ifIndex }
--		::= { bridgePmHist15minTable 1 }
--
--	BridgePmHist15minEntry ::= SEQUENCE {
--		bridgePmHist15minIndex				Unsigned32,
--		bridgePmHist15minForwardedFrames	Unsigned32,
--		bridgePmHist15minDelayExceedDiscard	Unsigned32,
--		bridgePmHist15minMtuExceedDiscard	Unsigned32,
--		bridgePmHist15minRxFrames			Unsigned32,
--		bridgePmHist15minRxFramesDiscard	Unsigned32,
--		bridgePmHist15minElapsed			Unsigned32
--	}
--
--	bridgePmHist15minIndex OBJECT-TYPE
--		SYNTAX Unsigned32 (1..96)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The index of 15-min historical record in one day."
--		::= { bridgePmHist15minEntry 1 }
--
--	bridgePmHist15minForwardedFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames forwarded by bridge interface (forward_packet)."
--		::= { bridgePmHist15minEntry 2 }
--
--	bridgePmHist15minDelayExceedDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"This is no corresponding counter mapping to hardware."
--		::= { bridgePmHist15minEntry 3 }
--
--	bridgePmHist15minMtuExceedDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of dropped packets due to MTU violation (mtu_drop_packets)."
--		::= { bridgePmHist15minEntry 4 }
--
--	bridgePmHist15minRxFrames OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames received by bridge port of the bridge interface."
--		::= { bridgePmHist15minEntry 5 }
--
--	bridgePmHist15minRxFramesDiscard OBJECT-TYPE
--		SYNTAX Unsigned32
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The number of frames discarded by bridge interworking system.
--			Generally, the number is equal to RxFrames minus ForwardedFrames."
--		::= { bridgePmHist15minEntry 6 }
--
--	bridgePmHist15minElapsed OBJECT-TYPE
--		SYNTAX Unsigned32 (0..899)
--		MAX-ACCESS read-only
--		STATUS mandatory
--		DESCRIPTION
--			"The seconds elapsed in the current 15-min inerval."
--		::= { bridgePmHist15minEntry 7 }
--

    ----------------------
	-- mib-2 extension --
    ----------------------

--	ifXExt		OBJECT IDENTIFIER ::= { ies5206 24 }

	ifXExtTable OBJECT-TYPE
    	SYNTAX      SEQUENCE OF IfXExtEntry
    	MAX-ACCESS  not-accessible
    	STATUS      current
    	DESCRIPTION
            "A table extends IfXTable."
    	::= { ifXExt 8 }

    ifXExtEntry OBJECT-TYPE
        SYNTAX IfXExtEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry to extend IfXEntry and ifIndex could be 1..24."
		AUGMENTS  { ifXEntry }
		::= { ifXExtTable 1 }

	IfXExtEntry  ::=
		SEQUENCE {
			ifXExtHCInError		Counter64,
			ifXExtHCInDrop		Counter64,
			ifXExtHCOutError	Counter64,
			ifXExtHCOutDrop		Counter64
			}

	ifXExtHCInError  OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of error packet received on specified ifterface indexed by ifIndex."
		::= { ifXExtEntry 1 }

	ifXExtHCInDrop  OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of received packet dropped by specified ifterface indexed by ifIndex."
		::= { ifXExtEntry 2 }

	ifXExtHCOutError  OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of error packet transmitted on specified ifterface indexed by ifIndex."
		::= { ifXExtEntry 3 }

	ifXExtHCOutDrop  OBJECT-TYPE
		SYNTAX      Counter64
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"Count of transmitted packet dropped on specified ifterface indexed by ifIndex."
		::= { ifXExtEntry 4 }

--------------------------------------------------------------------------------
-- gBondExt
--------------------------------------------------------------------------------

   gBondPortStatExtTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondPortStatExtEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An extended table of gBondPortStatTable."
     ::= { gbondExt 1 }

   gBondPortStatExtEntry OBJECT-TYPE
     SYNTAX      GBondPortStatExtEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An extended table of gBondPortStatEntry. ifIndex is 101..148."
     AUGMENTS  { gBondPortStatEntry }
     ::= { gBondPortStatExtTable 1 }

   GBondPortStatExtEntry ::=
     SEQUENCE {
       gBondPortStatExtStatus                INTEGER,
       gBondPortStatExtLastSerialNum     	 PhysAddress
     }

	gBondPortStatExtStatus OBJECT-TYPE
	  SYNTAX  INTEGER {
	              up(1),
	              down(2)
	          }
	  ACCESS  read-only
	  STATUS  current
	  DESCRIPTION
	          "The current connection status of the G.Bond port."
	  ::= { gBondPortStatExtEntry 1 }


   gBondPortStatExtLastSerialNum  OBJECT-TYPE
     SYNTAX      PhysAddress (SIZE(5))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "Last serial bumber is the first 5 bytes of Discovery Code of last connected G.Bond port (GBS).
       If last G.Bond port do not exist, would return all-zero."
     ::= { gBondPortStatExtEntry 2 }


--------------------------------------------------------------------------------
-- gBondTemplateConf
--------------------------------------------------------------------------------


   gBondTemplate	OBJECT IDENTIFIER ::= { gbondExt 2 }


   gBondTemplateTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTemplateEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table of G.Bond template configuration derived from gBondPortConfTable"
     ::= { gBondTemplate 1 }

   gBondTemplateEntry OBJECT-TYPE
     SYNTAX      GBondTemplateEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry of G.Bond template configuration derived from gBondPortConfEntry."
     INDEX  { IMPLIED gBondTemplateName }
     ::= { gBondTemplateTable 1 }

   GBondTemplateEntry ::=
     SEQUENCE {
       gBondTemplateName                     SnmpAdminString,
--       gBondTemplateAdminScheme              GBondScheme,
--       gBondTemplatePeerAdminScheme          GBondScheme,
--       gBondTemplateDiscoveryCode            PhysAddress,
--       gBondTemplateTargetUpDataRate         Unsigned32,
--       gBondTemplateTargetDnDataRate         Unsigned32,
       gBondTemplateThreshLowUpRate          Unsigned32,
       gBondTemplateThreshLowDnRate          Unsigned32,
       gBondTemplateLowRateCrossingEnable    TruthValue,
       gBondTemplatePmTcaConfProfile         SnmpAdminString,
       gBondTemplatePmTcaEnable              TruthValue,
       gBondTemplateRowStatus				 RowStatus
     }

	gBondTemplateName OBJECT-TYPE
		SYNTAX SnmpAdminString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"G.Bond template name."
		::= { gBondTemplateEntry 1 }

--   gBondTemplateAdminScheme  OBJECT-TYPE
--     SYNTAX      GBondScheme
--     MAX-ACCESS  read-create
--     STATUS      current
--     DESCRIPTION
--       "A desired bonding scheme for a G.Bond GBS port.
--       The following values instruct the port to use corresponding
--       bonding scheme if supported:
--         none(0)       - instructs the port not to use bonding
--                         (only on single-BCE G.998.2 GBS)
--         g9981(1)      - instructs the port to use G.998.1 bonding
--         g9982(2)      - instructs the port to use G.998.2 bonding
--         g9983(3)      - instructs the port to use G.998.3 bonding
--
--       Changing of gBondTemplateAdminScheme MUST be performed when the
--       link is administratively 'down', as indicated by the
--       ifAdminStatus object in IF-MIB.
--       Attempts to change this object MUST be rejected (in case of SNMP
--       with the error inconsistentValue), if the link is Up or
--       Initializing. Attempts to change this object to an unsupported
--       bonding scheme (see gBondPortCapSchemesSupported) SHALL be
--       rejected (in case of SNMP with the error wrongValue).
--       Setting this object to the value of 'none' must be rejected for
--       GBS ports with multiple BCEs (with the error inconsistentValue).
--
--       This object maps to the TR-159 attribute aGroupAdminBondScheme."
--     REFERENCE
--       "[TR-159] 5.5.1.6; IF-MIB, ifAdminStatus"
--     ::= { gBondTemplateEntry 2 }
--
--   gBondTemplatePeerAdminScheme  OBJECT-TYPE
--     SYNTAX      GBondScheme
--     MAX-ACCESS  read-create
--     STATUS      current
--     DESCRIPTION
--       "A desired bonding scheme for a peer (link partner) G.Bond
--       port (GBS).
--       The following values instruct the peer port to use
--       corresponding bonding scheme if supported:
--         none(0)       - instructs the port not to use bonding
--                         (only on single-BCE G.998.2 GBS)
--         g9981(1)      - instructs the port to use G.998.1 bonding
--         g9982(2)      - instructs the port to use G.998.2 bonding
--         g9983(3)      - instructs the port to use G.998.3 bonding
--
--       Changing of this object MUST be performed when the link is
--       administratively 'down', as indicated by the ifAdminStatus
--       object in IF-MIB.
--       Attempts to change this object MUST be rejected (in case of SNMP
--       with the error inconsistentValue), if the link is Up or
--       Initializing. Attempts to change this object to an unsupported
--       bonding scheme (see gBondPortCapPeerSchemesSupported) SHALL be
--       rejected (in case of SNMP with the error wrongValue).
--
--       This object maps to the TR-159 attribute
--       aGroupPeerAdminBondScheme."
--     REFERENCE
--       "[TR-159] 5.5.1.7; IF-MIB, ifAdminStatus"
--     ::= { gBondTemplateEntry 3 }
--
--   gBondTemplateDiscoveryCode  OBJECT-TYPE
--     SYNTAX      PhysAddress (SIZE(6))
--     MAX-ACCESS  read-create
--     STATUS      current
--     DESCRIPTION
--       "A Discovery Code of the G.Bond port (GBS).
--       A unique 6 octet long code used by the Discovery function.
--       This object MUST be instantiated for the -O subtype GBS before
--       writing operations on the gBondBceConfRemoteDiscoveryCode
--       (Set_if_Clear and Clear_if_Same) are performed by BCEs
--       associated with the GBS.
--       The initial value of this object for -R subtype ports after
--       reset is all zeroes. For -R subtype ports, the value of this
--       object cannot be changed directly. This value may be changed
--       as a result of writing operation on the
--       gBondBceConfRemoteDiscoveryCode object of remote BCE of -O
--       subtype, connected to one of the local BCEs associated with
--       the GBS.
--
--       Discovery MUST be performed when the link is administratively
--       'down', as indicated by the ifAdminStatus object in IF-MIB.
--       Attempts to change this object MUST be rejected (in case of
--       SNMP with the error inconsistentValue), if the link is Up or
--       Initializing.
--
--       This object maps to the TR-159 attribute
--       aGroupDiscoveryCode."
--     REFERENCE
--       "[TR-159] 5.5.1.20; [802.3] 61.2.2.8.3, 61.2.2.8.4,
--       45.2.6.6.1, 45.2.6.8, 61A.2; IF-MIB, ifAdminStatus"
--     ::= { gBondTemplateEntry 4 }

--   gBondTemplateTargetUpDataRate  OBJECT-TYPE
--     SYNTAX      Unsigned32(0|1..10000000)
--     UNITS       "Kbps"
--     MAX-ACCESS  read-create
--     STATUS      current
--     DESCRIPTION
--       "A desired G.Bond port Data Rate in the upstream direction,
--       in Kbps, to be achieved during initialization, under
--       restrictions placed upon the member BCEs by their respective
--       configuration settings.
--       This object represents a sum of individual BCE upstream data
--       rates, modified to compensate for fragmentation and
--       encapsulation overhead (e.g., for an Ethernet service, the
--       target data rate of 10Mbps SHALL allow lossless transmission
--       of full-duplex 10Mbps Ethernet frame stream with minimal
--       inter-frame gap).
--       Note that the target upstream data rate may not be achieved
--       during initialization (e.g., due to unavailability of required
--       BCEs) or the initial bandwidth could deteriorate, so that the
--       actual upstream data rate (gBondPortStatUpDataRate) could be less
--       than gBondTemplateTargetUpDataRate.

--       The value is limited above by 10 Gbps, to accommodate very
--       high speed bonded xDSL interfaces (e.g. 32 x 100Mbps).

--       The value between 1 and 10000000 indicates that the total
--       upstream data rate of the G.Bond port after initialization
--       SHALL be equal to the target data rate or less, if the target
--       upstream data rate cannot be achieved under the restrictions
--       configured for BCEs. In case the copper environment allows to
--       achieve higher upstream data rate than that specified by this
--       object, the excess capability SHALL be either converted to
--       additional SNR margin or reclaimed by minimizing transmit
--       power.

--       The value of 0 means that the target data rate is not
--       fixed and SHALL be set to the maximum attainable rate during
--       initialization (Best Effort), under specified spectral
--       restrictions and with desired SNR Margin per BCE.
--
--       This object is read-write for the -O subtype G.Bond ports.
--       It is irrelevant for the -R subtypes - attempts to read or
--       change this object for such ports MUST be rejected (in case of
--       SNMP with the error inconsistentValue).

--       Changing of the Target Upstream Data Rate MUST be performed
--       when the link is administratively 'down', as indicated by the
--       ifAdminStatus object in IF-MIB.
--       Attempts to change this object MUST be rejected (in case of SNMP
--       with the error inconsistentValue), if the link is Up or
--       Initializing.

--       This object maps to the TR-159 attribute aGroupTargetUpRate."
--     REFERENCE
--       "[TR-159] 5.5.1.17; IF-MIB, ifAdminStatus"
--     ::= { gBondTemplateEntry 5 }

--   gBondTemplateTargetDnDataRate  OBJECT-TYPE
--     SYNTAX      Unsigned32(0|1..10000000)
--     UNITS       "Kbps"
--     MAX-ACCESS  read-create
--     STATUS      current
--     DESCRIPTION
--       "A desired G.Bond port Data Rate in the downstream direction,
--       in Kbps, to be achieved during initialization, under
--       restrictions placed upon the member BCEs by their respective
--       configuration settings.
--       This object represents a sum of individual BCE downstream data
--       rates, modified to compensate for fragmentation and
--       encapsulation overhead (e.g., for an Ethernet service, the
--       target data rate of 10Mbps SHALL allow lossless transmission
--       of full-duplex 10Mbps Ethernet frame stream with minimal
--       inter-frame gap).
--       Note that the target downstream data rate may not be achieved
--       during initialization (e.g., due to unavailability of required
--       BCEs) or the initial bandwidth could deteriorate, so that the
--       actual downstream data rate (gBondPortStatDnDataRate) could be
--       less than gBondTemplateTargetDnDataRate.

--       The value is limited above by 10 Gbps, to accommodate very
--       high speed bonded xDSL interfaces (e.g. 32 x 100Mbps).

--       The value between 1 and 10000000 indicates that the total
--       downstream data rate of the G.Bond port after initialization
--       SHALL be equal to the target data rate or less, if the target
--       downstream data rate cannot be achieved under the restrictions
--       configured for BCEs. In case the copper environment allows to
--       achieve higher downstream data rate than that specified by
--       this object, the excess capability SHALL be either converted
--       to additional SNR margin or reclaimed by minimizing transmit
--       power.

--       The value of 0 means that the target data rate is not
--       fixed and SHALL be set to the maximum attainable rate during
--       initialization (Best Effort), under specified spectral
--       restrictions and with desired SNR Margin per BCE.

--       This object is read-write for the -O subtype G.Bond ports.
--       It is irrelevant for the -R subtypes - attempts to read or
--       change this object for such ports MUST be rejected (in case of
--       SNMP with the error inconsistentValue).

--       Changing of the Target Downstream Data Rate MUST be performed
--       when the link is administratively 'down', as indicated by the
--       ifAdminStatus object in IF-MIB.
--       Attempts to change this object MUST be rejected (in case of SNMP
--       with the error inconsistentValue), if the link is Up or
--       Initializing.

--       This object maps to the TR-159 attribute aGroupTargetDownRate."
--     REFERENCE
--       "[TR-159] 5.5.1.18; IF-MIB, ifAdminStatus"
--     ::= { gBondTemplateEntry 6 }

   gBondTemplateThreshLowUpRate  OBJECT-TYPE
     SYNTAX      Unsigned32(1..10000000)
     UNITS       "Kbps"
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "This object configures the G.Bond port low upstream rate
       crossing alarm threshold. When the current value of
       gBondPortStatUpDataRate for this port reaches/drops below or
       exceeds this threshold, a gBondLowUpRateCrossing notification
       MAY be generated if enabled by
       gBondTemplateLowRateCrossingEnable.

       This object is read-write for the -O subtype G.Bond ports.
       It is irrelevant for the -R subtypes - attempts to read or
       change this object for such ports MUST be rejected (in case of
       SNMP with the error inconsistentValue).

       This object maps to the TR-159 attribute
       aGroupthreshLowUpRate."
     REFERENCE
       "[TR-159] 5.5.1.21"
     ::= { gBondTemplateEntry 7 }

   gBondTemplateThreshLowDnRate  OBJECT-TYPE
     SYNTAX      Unsigned32(1..10000000)
     UNITS       "Kbps"
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "This object configures the G.Bond port low downstream rate
       crossing alarm threshold. When the current value of
       gBondPortStatDnDataRate for this port reaches/drops below or
       exceeds this threshold, a gBondLowDnRateCrossing notification
       MAY be generated if enabled by
       gBondTemplateLowRateCrossingEnable.

       This object is read-write for the -O subtype G.Bond ports.
       It is irrelevant for the -R subtypes - attempts to read or
       change this object for such ports MUST be rejected (in case of
       SNMP with the error inconsistentValue).

       This object maps to the TR-159 attribute
       aGroupThreshDownUpRate."
     REFERENCE
       "[TR-159] 5.5.1.22"
     ::= { gBondTemplateEntry 8 }

   gBondTemplateLowRateCrossingEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "Indicates whether gBondLowUpRateCrossing and
       gBondLowDnRateCrossing notifications should be generated
       for this interface.

       Value of true(1) indicates that the notifications are enabled.
       Value of false(2) indicates that the notifications are
       disabled.

       This object is read-write for the -O subtype G.Bond ports.
       It is irrelevant for the -R subtypes - attempts to read or
       change this object for such ports MUST be rejected (in case of
       SNMP with the error inconsistentValue).

       This object maps to the TR-159 attribute
       aGroupLowRateCrossingEnable."
     REFERENCE
       "[TR-159] 5.5.1.23"
     ::= { gBondTemplateEntry 9 }

   gBondTemplatePmTcaConfProfile  OBJECT-TYPE
     SYNTAX      SnmpAdminString (SIZE(1..32))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "The value of this object is the index of the row in the GBS
       port Alarm Configuration Profile Table for Performance Monitoring
       Threshold Crossing Alerts - gBondPortAlarmConfProfileTable,
       which applies to this GBS port."
     DEFVAL  { "DEFVAL" }
     ::= { gBondTemplateEntry 10 }

   gBondTemplatePmTcaEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "Indicates whether gBondPerfTca*Crossing set of notifications
       should be generated for this interface.

       Value of true(1) indicates that the notifications are enabled.
       Value of false(2) indicates that the notifications are disabled.

       This object maps to the TR-159 attribute aGroupPerfTcaEnable."

     REFERENCE
       "[TR-159] 5.5.1.38"
     ::= { gBondTemplateEntry 11 }


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


	gBondTemplateOps	OBJECT IDENTIFIER ::= { gBondTemplate 3 }

	templateName OBJECT-TYPE
		SYNTAX SnmpAdminString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Select G.Bond template to be copied."
		::= { gBondTemplateOps 1 }

    gBondTarget OBJECT-TYPE
    	SYNTAX PortList
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"The target G.Bond interface 101..148 to copy template settings to."
    	::= { gBondTemplateOps 2 }

    gBondOperation OBJECT-TYPE
    	SYNTAX INTEGER {
    		copyTemplateToIntf(1),
    		copyIntfToTemplate(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Copy the specified G.Bond template to G.Bond target interfaces.
    		The value will return to '0' when clear operation has done."
    	::= { gBondTemplateOps 3 }

	------------------------
	-- gbondLineHistTable --
	------------------------
-- Note: this MIB group is still under discussion and mask it at this moment

--	gbondLineHistTable OBJECT-TYPE
--		SYNTAX      SEQUENCE OF GBondLineHistEntry
--    	MAX-ACCESS  not-accessible
--		STATUS      current
--		DESCRIPTION
--			"A gbond link related table for historical information:
--				- xdsl hist/curr PM counter reset timestamp
--				- xdsl hist/curr PM counter reset cause
--				- last gbond group ID (gbondIfIndex 101~148) the xdsl line joined"
--		::= { gbondExt 3 }

--	gbondLineHistEntry OBJECT-TYPE
--		SYNTAX      GBondLineHistEntry
--		MAX-ACCESS  not-accessible
--		STATUS      current
--		DESCRIPTION
--			"An gbond line entry for historical information. ifIndex is {1..48}."
--		INDEX  { ifIndex }
--     ::= { gbondLineHistTable 1 }

--	GBondLineHistEntry ::=
--		SEQUENCE {
--			timeElapsedSinceCountersReset	INTEGER,
--			countersResetReason				INTEGER,
--			lastJointGroupID 	        	INTEGER
--		}

--	timeElapsedSinceCountersReset OBJECT-TYPE
--		SYNTAX  INTEGER
--		ACCESS  read-only
--		STATUS  current
--		DESCRIPTION
--			""
--		::= { gbondLineHistEntry 1 }

--	countersResetReason OBJECT-TYPE
--		SYNTAX  INTEGER {
--	  		groupIDChanged (1),
--	  		manual (2)
--	  		}
--	  	ACCESS  read-only
--	  	STATUS  current
--	  	DESCRIPTION
--	    	"manual reset is not supported"
--	    ::= { gbondLineHistEntry 2 }

-- 	lastJointGroupID OBJECT-TYPE
--		SYNTAX  INTEGER
--		ACCESS  read-only
--		STATUS  current
--		DESCRIPTION
--			""
--		::= { gbondLineHistEntry 3 }


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

-- dot3adTable

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

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

	Dot3adEntry ::=
		SEQUENCE {
			dot3adGroupId		INTEGER,
			dot3adEnable		INTEGER,
--			dot3adGroupName		DisplayString,
			dot3adGroupPortList	PortList
		}

	dot3adGroupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID of 802.3ad function."
	::= { dot3adEntry 1 }

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

--	dot3adGroupName OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"The trunking group name."
--	::= { dot3adEntry 3 }

	dot3adGroupPortList OBJECT-TYPE
	SYNTAX PortList
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The port list which joins the trunking group."
	::= { dot3adEntry 4 }


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

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

-- dot3adStatusTable

    dot3adStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Dot3adStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"The table contains 802.3ad status."
    ::= { dot3ad 4 }

    dot3adStatusEntry OBJECT-TYPE
    SYNTAX Dot3adStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { dot3adStatusGroupId }
    ::= { dot3adStatusTable 1 }

	Dot3adStatusEntry ::=
		SEQUENCE {
			dot3adStatusGroupId	        	INTEGER,
			dot3adStatusActor	        	PhysAddress,
			dot3adStatusActorPriority		INTEGER,
			dot3adStatusActorKey    		INTEGER,
			dot3adStatusPartner	        	PhysAddress,
			dot3adStatusPartnerPriority	    INTEGER,
			dot3adStatusPartnerKey    		INTEGER,
			dot3adStatusLinks        		DisplayString,
			dot3adStatusSyncs        		DisplayString
		}

    dot3adStatusGroupId OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status group ID."
    ::= { dot3adStatusEntry 1 }

    dot3adStatusActor OBJECT-TYPE
    SYNTAX PhysAddress (SIZE (6))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of actor"
    ::= { dot3adStatusEntry 2 }

    dot3adStatusActorPriority OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of actor priority."
    ::= { dot3adStatusEntry 3 }

    dot3adStatusActorKey OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of actor key."
    ::= { dot3adStatusEntry 4 }

    dot3adStatusPartner OBJECT-TYPE
    SYNTAX PhysAddress (SIZE (6))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of remote system of trunking group."
    ::= { dot3adStatusEntry 5 }

    dot3adStatusPartnerPriority OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of partner priority."
    ::= { dot3adStatusEntry 6 }

    dot3adStatusPartnerKey OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The dot3ad status of partner key."
    ::= { dot3adStatusEntry 7 }

    dot3adStatusLinks OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The ot3ad status of links port."
    ::= { dot3adStatusEntry 8 }

    dot3adStatusSyncs OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The ot3ad status of synchronization state."
    ::= { dot3adStatusEntry 9 }


-- syslog
	syslogServerIpTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SyslogServerIpEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "Sets the IP addresses of Syslog managers (stations to send your Syslog message to).
                You can configure up to four managers."
    	::= { syslog 2 }

    	syslogServerIpEntry OBJECT-TYPE
        SYNTAX SyslogServerIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        INDEX { syslogServerIpIndex }
        ::= { syslogServerIpTable 1 }

   	SyslogServerIpEntry ::=
        	SEQUENCE {
        		syslogServerIpIndex			INTEGER,
        		syslogServerIpAddressType	InetAddressType,
            	syslogServerIpAddress		InetAddress,
                syslogServerIPSeverity      INTEGER
    	   	}

	syslogServerIpIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Index of Syslog servers"
	::= { syslogServerIpEntry 1 }

	syslogServerIpAddressType OBJECT-TYPE
    	SYNTAX  InetAddressType {
                 ipv4(1),
                 ipv6(2)
    	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Syslog server IP address type"
	::= { syslogServerIpEntry 2 }

	syslogServerIpAddress OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Syslog server IP address
		<ipv4-address> 0.0.0.0 ~ 223.255.255.255
		<ipv6-address> :: ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
		Limit: syslogServerIpAddressType must be set before syslogServerIpAddress.
		SyslogServerIpAddress set to default value 0.0.0.0, severity will auto set to none"
	::= { syslogServerIpEntry 3 }

	syslogServerIPSeverity OBJECT-TYPE
    	SYNTAX  INTEGER {
                 critical(1),
                 major(2),
                 minor(3),
                 warning(4),
                 event(5),
                 all(6)
    	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Severity of Syslog server
		 SyslogServerIpAddress set to default value 0.0.0.0, severity will auto set to none"
	::= { syslogServerIpEntry 4 }
--------------------
-- CFM
--------------------

-- cfmLoopbackPortTable

	cfmLoopbackPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CfmLoopbackPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains CFM information.
        	This table is supported by R5.02 and later versions."
        ::= { 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 { dot1agCfmMdIndex, dot1agCfmMaIndex, cfmPort }
        ::= { cfmMIPTable 1 }

        CfmMIPEntry ::=
	SEQUENCE {
		cfmLevel			INTEGER,
		cfmVlanID			INTEGER,
        cfmPort				INTEGER,
        cfmMIPRowStatus		RowStatus,
        cfmMIPMacAddress 	MacAddress
        }

        cfmLevel OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { cfmMIPEntry 1 }

        cfmVlanID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { cfmMIPEntry 2 }

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

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

        cfmMIPMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                      	"MAC address of maintenance domain intermediate point"
        ::= { cfmMIPEntry 5 }

	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 }

    cfmMode OBJECT-TYPE
    	SYNTAX  INTEGER {
    			dot1ag(1),
    			y1731(2)
    		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The compliant CFM standard"
        ::= { cfm 4 }

    cfmMIPRespondMcastLbm OBJECT-TYPE
    	SYNTAX  INTEGER {
    			enable(1),
    			disable(2)
    		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The status indicate whether a MIP respond to mulcast lbms or not."
        ::= { cfm 5 }

    cfmLoopbackTimeout OBJECT-TYPE
    	SYNTAX  INTEGER (1..86400)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"CFM loopback timeout value."
        ::= { cfm 6 }

 -- cfmLbrTable
    cfmLbrTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CfmLbrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                 "This table contains a list of Loopback replies received by a specific MEP in response to a loopback message."
        ::= { cfm 7 }

	cfmLbrEntry OBJECT-TYPE
        SYNTAX CfmLbrEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"The Loopback Reply table entry."
        INDEX { dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, cfmLbrSeqNumber, cfmLbrReceiveOrder }
        ::= { cfmLbrTable 1 }

        CfmLbrEntry ::=
	SEQUENCE {
		    cfmLbrSeqNumber		Unsigned32,
		    cfmLbrReceiveOrder	Unsigned32,
        	cfmLbrSrcMac		MacAddress
        }

        cfmLbrSeqNumber OBJECT-TYPE
        SYNTAX  Unsigned32 (0..4294967295)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"Transaction identifier/Sequence number returned by
                      	a previous transmit loopback message command, indicating
                      	which LBM's response is going to be returned."
        ::= { cfmLbrEntry 1 }

        cfmLbrReceiveOrder OBJECT-TYPE
        SYNTAX  Unsigned32 (0..4294967295)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"An index to distinguish among multiple LBRs with the same
                      	LBR Transaction Identifier field value.  cfmLbrReceiveOrder
                      	are assigned sequentially from 1, in the order that the
                      	Loopback Initiator received the LBRs."
        ::= { cfmLbrEntry 2 }

        cfmLbrSrcMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"Source MAC address returned in the LBR."
        ::= { cfmLbrEntry 3 }

--------------------
-- GPON
--------------------

	ponTable				OBJECT IDENTIFIER ::= { gpon 1 }
	remote     				OBJECT IDENTIFIER ::= { gpon 2 }
	remoteInfo 				OBJECT IDENTIFIER ::= { gpon 3 }
--	antiSpoofSetup			OBJECT IDENTIFIER ::= { gpon 4 }
--	multicastChannelSetup	OBJECT IDENTIFIER ::= { gpon 5 }
--	classifierSetup			OBJECT IDENTIFIER ::= { gpon 6 }
--  policySetup				OBJECT IDENTIFIER ::= { gpon 7 }
	uniPortOpModeSetup		OBJECT IDENTIFIER ::= { gpon 8 }
--	pppoeia     			OBJECT IDENTIFIER ::= { gpon 9 }
--	rateLimitSetup			OBJECT IDENTIFIER ::= { gpon 10 }
--	brLimitSetup			OBJECT IDENTIFIER ::= { gpon 11 }
--	dhcpSetup				OBJECT IDENTIFIER ::= { gpon 12 }
--	dhcpSnp					OBJECT IDENTIFIER ::= { gpon 13 }
    transceiverInfo			OBJECT IDENTIFIER ::= { gpon 14 }
    multicastStatus			OBJECT IDENTIFIER ::= { gpon 15 }
    gponVlanTranslationSetup OBJECT IDENTIFIER ::= { gpon 16 }

	-------------------
	-- gpon ponTable --
	-------------------

	-- gpon ponTable ponSetupTable
	ponSetupTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonSetupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponTable 1 }

	ponSetupEntry OBJECT-TYPE
        SYNTAX      PonSetupEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponSetupTable"
        INDEX { ifIndex }
    	::= { ponSetupTable 1 }

	PonSetupEntry ::=
           SEQUENCE {
            transceiverTxDisable		     	  EnabledStatus,
            inO7State                  DisplayString,
            outO7State                  DisplayString,
            linkState                  INTEGER
           }

		transceiverTxDisable OBJECT-TYPE
		      SYNTAX  EnabledStatus
		      MAX-ACCESS  read-write
		      STATUS  current
		      DESCRIPTION
		                            	"transceiver tx disable"
		      ::= { ponSetupEntry 1 }

		inO7State OBJECT-TYPE
		      SYNTAX  DisplayString
		      MAX-ACCESS  read-write
		      STATUS  current
		      DESCRIPTION
		                            	"ONT Enter Emergency Stop State(07), input serial number"
		      ::= { ponSetupEntry 2 }

		outO7State OBJECT-TYPE
		      SYNTAX  DisplayString
		      MAX-ACCESS  read-write
		      STATUS  current
		      DESCRIPTION
		                            	"ONT Leave Emergency Stop State(07), input serial number"
		      ::= { ponSetupEntry 3 }

		linkState OBJECT-TYPE
		      SYNTAX	INTEGER {
		          off(0),
		          on(1)
		      }
		      MAX-ACCESS	read-only
		      STATUS	current
		      DESCRIPTION     "Show PON link state"
		      ::= { ponSetupEntry 4 }

	-- gpon ponTable ponConfigTable
	ponConfigTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonConfigEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponTable 2 }

	ponConfigEntry OBJECT-TYPE
        SYNTAX      PonConfigEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponConfigTable"
        INDEX { ifIndex }
        ::= { ponConfigTable 1 }

    PonConfigEntry ::=
           SEQUENCE {
            transceiverType             INTEGER,
            registerMethod              INTEGER,
            ponConfigRowStatus          RowStatus,
            templateOption              INTEGER,
            dsFecMode                   EnabledStatus,
            tcaFecCorrByteThres         Unsigned32,
            tcaFecCorrCodeWordThres     Unsigned32,
            tcaFecUncorrCodeWordThres   Unsigned32,
            tcaBipErrThres              Unsigned32,
            tcaReiCounterThres          Unsigned32,
            rangingMax                  INTEGER,
            tcaFecCodeWordErrThres      Unsigned32,
            tcaBipByteThres             Unsigned32,
            tcaRxPloamCrcErrThres       Unsigned32,
            tcaRxPloamNonIdleThres      Unsigned32,
            tcaPositiveDriftThres       Unsigned32,
            tcaNegativeDriftThres       Unsigned32,
            tcaRxOmciPacketCrcErrThres  Unsigned32,
            tcaUnrecievedBurstThres     Unsigned32,
            tcaLcdgiErrThres            Unsigned32,
            tcaRdiErrThres              Unsigned32,
            tcaRxOmciThres              Unsigned32,
            tmplateAction               INTEGER
           }

	    transceiverType OBJECT-TYPE
	        SYNTAX      INTEGER {
	            ligent(0),
	            luminent(1),
	            fiberxon(2),
	            fujitsu(3),
	            ligentA(4),
	            ligentB(5),
	            luminentA(6),
	            luminentB(7),
	            fiberxonA(8),
	            fujitsuA(9),
	            nec(10),
	            neoptec(11),
	            ligentC(12),
	            fiberxonB(13),
	            fujitsu30537(14),
	            neophotonicsA(15),
	            neophotonicsB(16),
	            neophotonicsC(17),
	            superxon(18),
	            wtd(19),
	            delta(20),
	            no1(21),
	            no2(22)
	         -- none(23)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	         	" transceiver Type"
	    	::= { ponConfigEntry 1 }

	    registerMethod OBJECT-TYPE
	        SYNTAX      INTEGER {
	            methodA(0),          -- Match serial number, and password
	            methodC(1),          -- Match PLOAM password
	            methodCAutolock(2),  -- Match serial number
	            methodD(3),          -- Volatile auto provision by template
	            methodE(4)           -- Non-volatile auto provision by template
	        }
	        MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "register Method"
	        ::= { ponConfigEntry 2 }

	    ponConfigRowStatus OBJECT-TYPE
	        SYNTAX  RowStatus
	        MAX-ACCESS  read-create
	        STATUS      current
	        DESCRIPTION
	         ""
	        ::= { ponConfigEntry 3 }

	    templateOption OBJECT-TYPE
			SYNTAX  INTEGER (125..128)
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "template-option"
	        ::= { ponConfigEntry 4 }

	    dsFecMode OBJECT-TYPE
			SYNTAX  EnabledStatus
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "Enable/disable PON downstream FEC mode"
	        ::= { ponConfigEntry 5 }

	    tcaFecCorrByteThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA FEC corrected byte threshold"
	        ::= { ponConfigEntry 6 }

	    tcaFecCorrCodeWordThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA FEC corrected code word threshold"
	        ::= { ponConfigEntry 7 }

	    tcaFecUncorrCodeWordThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA FEC uncorrected code word threshold"
	        ::= { ponConfigEntry 8 }

	    tcaBipErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA BIP error threshold"
	        ::= { ponConfigEntry 9 }

	    tcaReiCounterThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA REI counter threshold"
	        ::= { ponConfigEntry 10 }

	    rangingMax OBJECT-TYPE
			SYNTAX  INTEGER (20..60)
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "The maximum of PON ranging distance in km"
	        ::= { ponConfigEntry 12 }

		tcaFecCodeWordErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA FEC code word threshold"
	        ::= { ponConfigEntry 13 }

		tcaBipByteThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA BIP byte threshold"
	        ::= { ponConfigEntry 14 }

	    tcaRxPloamCrcErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA rx ploam crc error threshold"
	        ::= { ponConfigEntry 15 }

	    tcaRxPloamNonIdleThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA rx ploam non idle threshold"
	        ::= { ponConfigEntry 16 }

	    tcaPositiveDriftThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA positive drift threshold"
	        ::= { ponConfigEntry 17 }

	    tcaNegativeDriftThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA negative drift threshold"
	        ::= { ponConfigEntry 18 }

	    tcaRxOmciPacketCrcErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA rx omci crc error threshold"
	        ::= { ponConfigEntry 19 }

	    tcaUnrecievedBurstThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA unreceived burst threshold"
	        ::= { ponConfigEntry 20 }

		tcaLcdgiErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA lcdgi error threshold"
	        ::= { ponConfigEntry 21 }

	    tcaRdiErrThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA rdi error threshold"
	        ::= { ponConfigEntry 22 }

	    tcaRxOmciThres OBJECT-TYPE
			SYNTAX  Unsigned32
			MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "TCA rx omci threshold"
	        ::= { ponConfigEntry 23 }

	    tmplateAction OBJECT-TYPE
	        SYNTAX      INTEGER {
	            templateDisable(0),
	            templateEnable(1),
	        }
	        MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         "Enable or disable the ONT template action of the PON port."
	        ::= { ponConfigEntry 24 }



	-- gpon ponTable unregisterOntTable
	unregisterOntTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF UnregisterOntEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
                	""
       ::= { ponTable 3 }

	unregisterOntEntry OBJECT-TYPE
        SYNTAX      UnregisterOntEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in unregisterOntTable"
        INDEX {
        		ifIndex,
				unregisterOntIndex
        }
    	::= { unregisterOntTable 1 }

	UnregisterOntEntry ::=
           SEQUENCE {
            unregisterOntSerialNumber   DisplayString,
            unregisterOntPassword		DisplayString,
            unregisterOntStatus         INTEGER,
			unregisterOntIndex          INTEGER
           }

	    unregisterOntSerialNumber OBJECT-TYPE
	        SYNTAX      DisplayString
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	         	" unregisterOnt Serial Number"
	    	::= { unregisterOntEntry 1 }

	   unregisterOntPassword OBJECT-TYPE
	        SYNTAX      DisplayString
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	         	" unregisterOnt password"
	    	::= { unregisterOntEntry 2 }

	   unregisterOntStatus OBJECT-TYPE
	        SYNTAX       INTEGER {
	            disable(0),
	            active(1)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	         	" unregisterOnt Status"
	    	::= { unregisterOntEntry 3 }

	   unregisterOntIndex OBJECT-TYPE
	        SYNTAX      INTEGER
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	         	" unregisterOnt Ont Index"
	    	::= { unregisterOntEntry 4 }


	-- gpon ponTable ponProtectionTable
	ponProtectionTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF PonProtectionEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponTable 4 }

	ponProtectionEntry OBJECT-TYPE
        SYNTAX      PonProtectionEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponProtectionTable"
        INDEX { ifIndex , passivePort}
    	::= { ponProtectionTable 1 }

	PonProtectionEntry ::=
           SEQUENCE {
        	passivePort			INTEGER,
        	currWorkingPort			INTEGER,
        	currStandbyPort			INTEGER,
        	delimiterDetectedOnStandbyPort	INTEGER,
        	lastSwitchOverReason		INTEGER,
        	lastSwitchOverTimeStampYear	INTEGER,
        	lastSwitchOverTimeStampMonth	INTEGER,
        	lastSwitchOverTimeStampDay	INTEGER,
        	lastSwitchOverTimeStampHour	INTEGER,
        	lastSwitchOverTimeStampMinute	INTEGER,
        	lastSwitchOverTimeStampSecond	INTEGER,
        	switchOverTimes			INTEGER,
        	protectSwitchPonRowstatus	RowStatus
          }

        passivePort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION   	"The passive port of this protection pair."
        ::= { ponProtectionEntry 1 }

        currWorkingPort OBJECT-TYPE
        SYNTAX  INTEGER {
           noData(0)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"The current working port. System is trying to bring up ONU at this port."
        ::= { ponProtectionEntry 2 }

        currStandbyPort OBJECT-TYPE
        SYNTAX  INTEGER {
           noData(0)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"The current standby port. After a switch-over event occurs, it will be the next working port."
        ::= { ponProtectionEntry 3 }

        delimiterDetectedOnStandbyPort OBJECT-TYPE
        SYNTAX  INTEGER {
           noData(0),
           true(1),
           false(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates whether the current standby port can detect delimiter on the PON fiber.
                         true(1) indicates at least one delimiter is detected when user query this MIB,
                         false(2) indicates no delimiter is detected."
        ::= { ponProtectionEntry 4 }

        lastSwitchOverReason OBJECT-TYPE
        SYNTAX  INTEGER {
           noData(0),
           lossOfSignal(1),
           manual(2),
           chipConnectionFailure(3),
           noOnuDetected(4)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the reason causes the last switch-over event.
                         noData(0) indicates no switch-over event happened.
                         lossOfSignal(1) indicates LOS happened on the working port.
                         manual(2) indicates administrator triggered it manully.
                         chipConnectionFailure(3) indicates system lost the connection to the GPON chip.
                         noOnuDetected(4) indicates no ONU detected at working port."
        ::= { ponProtectionEntry 5 }

        lastSwitchOverTimeStampYear OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the year the last switch-over event happened."
        ::= { ponProtectionEntry 6 }

        lastSwitchOverTimeStampMonth OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the month the last switch-over event happened."
        ::= { ponProtectionEntry 7 }

        lastSwitchOverTimeStampDay OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the day the last switch-over event happened."
        ::= { ponProtectionEntry 8 }

        lastSwitchOverTimeStampHour OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the hour the last switch-over event happened."
        ::= { ponProtectionEntry 9 }

        lastSwitchOverTimeStampMinute OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the minute the last switch-over event happened."
        ::= { ponProtectionEntry 10 }

        lastSwitchOverTimeStampSecond OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the second the last switch-over event happened."
        ::= { ponProtectionEntry 11 }

        switchOverTimes OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION   	"It indicates the times of switch-over event happened since the protection pair was activated."
        ::= { ponProtectionEntry 12 }

        protectSwitchPonRowstatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION   	"Row Status for a protection pair."
        ::= { ponProtectionEntry 13 }



	-- gpon ponTable ponRogueOnuTable
	ponRogueOnuTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonRogueOnuEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponTable 5 }

	ponRogueOnuEntry OBJECT-TYPE
        SYNTAX      PonRogueOnuEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponRogueOnuTable"
        INDEX { ifIndex }
    	::= { ponRogueOnuTable 1 }

	PonRogueOnuEntry ::=
           SEQUENCE {
            rogueDetect                  INTEGER
           }

		rogueDetect OBJECT-TYPE
		      SYNTAX	INTEGER {
		          off(0),
		          on(1)
		      }
		      MAX-ACCESS	read-write
		      STATUS	current
		      DESCRIPTION     "Start or Stop rogue onu detect"
		      ::= { ponRogueOnuEntry 1 }

	-- gpon ponTable ponPortBridgeTable
		ponPortBridge OBJECT IDENTIFIER ::= { ponTable 6 }

		ponPortBridgeState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	""
        ::= { ponPortBridge 1 }

        ponPortBridgePortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF PonPortBridgePortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponPortBridge 2 }

		ponPortBridgePortEntry OBJECT-TYPE
        SYNTAX	PonPortBridgePortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in portBridgePortTable."
        INDEX          	{ dot1dBasePort }
        ::= { ponPortBridgePortTable 1 }

        PonPortBridgePortEntry ::=
           SEQUENCE {
        	ponPortBridgePortState		EnabledStatus
           }

        ponPortBridgePortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Port Bridge enabled/disabled on the port.
                      	Enable(1) means local switching is allowed in this port."
        ::= { ponPortBridgePortEntry 1 }


	-- gpon ponTable ponAntiSpoofTable
	ponAntiSpoof OBJECT IDENTIFIER ::= { ponTable 7 }

	ponAntiSpoofPortTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonAntiSpoofPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponAntiSpoof 1 }

	ponAntiSpoofPortEntry OBJECT-TYPE
        SYNTAX      PonAntiSpoofPortEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponAngiSpoofPortTable"
        INDEX { ifIndex }
    	::= { ponAntiSpoofPortTable 1 }

	PonAntiSpoofPortEntry ::=
        SEQUENCE {
            ponAntiSpoofActiveByPort                  INTEGER
        }

	ponAntiSpoofActiveByPort OBJECT-TYPE
        SYNTAX	INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS	read-write
        STATUS	current
        DESCRIPTION
        		"Pon port anti-spoofing enabled/disabled on the port.
                      	enabled(1) means local switching is allowed in this port."
    	::= { ponAntiSpoofPortEntry 1 }

	ponAntiSpoofTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonAntiSpoofEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponAntiSpoof 2 }

	ponAntiSpoofEntry OBJECT-TYPE
        SYNTAX      PonAntiSpoofEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponAngiSpoofTable"
        INDEX { ponAntiSpoofMode,
                ponAntiSpoofSetting}
    	::= { ponAntiSpoofTable 1 }

	PonAntiSpoofEntry ::=
        SEQUENCE {
 --           ponAntiSpoofPort                  INTEGER,
            ponAntiSpoofMode                  INTEGER,
            ponAntiSpoofSetting               DisplayString,
            ponAntiSpoofRowStatus             RowStatus
        }

--	ponAntiSpoofPort OBJECT-TYPE
--        SYNTAX	INTEGER
--        MAX-ACCESS	read-only
--        STATUS	current
--        DESCRIPTION
--        		"The pon port of the anti-spoofing."
--    	::= { ponAntiSpoofEntry 1 }

	ponAntiSpoofMode OBJECT-TYPE
        SYNTAX  INTEGER {
            inclusiveIp(1),
            inclusiveMac(2),
            inclusiveIpMac(3),
            exclusiveIp(5),
            exclusiveMac(6),
            exclusiveIpMac(7),
            inclusiveOuimac(8)
        }
        MAX-ACCESS	read-only
        STATUS	current
        DESCRIPTION
        		"Display the entry is inclusive/exclusive for IP/MAC/OUIMAC."
    	::= { ponAntiSpoofEntry 2 }

	ponAntiSpoofSetting OBJECT-TYPE
        SYNTAX	DisplayString
        MAX-ACCESS	read-only
        STATUS	current
        DESCRIPTION
        		"Display the IP/MAC/IP&MAC/OUI-MAC setting of the anti-spoofing."
    	::= { ponAntiSpoofEntry 3 }

	ponAntiSpoofRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
					"Create or distory a anti-spoofing of a pon port.
					ex 1: create a inclusiveIp entry with ip 192.168.100.100 on port 1-1, then the key is 10001.1.255.255.255.255.255.255.192.168.100.100
					ex 2: create a exclusiveMac entry with mac 00:0A:0B:01:02:03 on port 2-2, then the key is 20002.3.0.10.11.1.2.3.255.255.255.255
					ex 3: create a inclusiveOuimac entry with mac 00:0A:0B on port 1-3, then the key is 10003.8.0.10.11.255.255.255.255.255.255.255"
        ::= { ponAntiSpoofEntry 4 }

	ponIpsb OBJECT IDENTIFIER ::= { ponTable 8 }

	ponIpsbSetupTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonIpsbSetupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ponIpsb 1 }

	ponIpsbSetupEntry OBJECT-TYPE
        SYNTAX      PonIpsbSetupEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ponIpsbSetupTable"
        INDEX { ifIndex, ipsbSetupMac, ipsbSetupVid }
    	::= { ponIpsbSetupTable 1 }

	PonIpsbSetupEntry ::=
        SEQUENCE {
          ipsbSetupMac		PhysAddress,
        	ipsbSetupVid		INTEGER,
        	ipsbSetupIp			IpAddress,
        	ipsbSetupState		RowStatus
        }

        ipsbSetupMac OBJECT-TYPE
        SYNTAX  PhysAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { ponIpsbSetupEntry 1 }

        ipsbSetupVid OBJECT-TYPE
        SYNTAX  INTEGER (1.. 4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { ponIpsbSetupEntry 2 }

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

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

	 	--------------
	-- gpon remote --
	--------------

    ontSetup OBJECT IDENTIFIER ::= { remote 1 }

	-- gpon remote ontSetup ontTable
	ontTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { ontSetup 1 }

	ontEntry OBJECT-TYPE
        SYNTAX      OntEntry
        MAX-ACCESS  not-accessible
        STATUS	current
        DESCRIPTION
        		"An entry in ontTable"
        INDEX {
        		ifIndex,
        		ontNumber
        }
    	::= { ontTable 1 }

	OntEntry ::=
           SEQUENCE {
            ontNumber				INTEGER,
            password				DisplayString,
            planVersion				DisplayString,
            sn						DisplayString,
            loopbackConfig			EnabledStatus,
            loopbackStatus			INTEGER,
            model					INTEGER,
            ontRowStatus			RowStatus,
            ontAction				INTEGER,
            alarmProfile			DisplayString,
            fullBridg				INTEGER,
            antiMacSpoofing			INTEGER,
            usFecMode				EnabledStatus,
            templateDescription		DisplayString
           }

		ontNumber OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	         	" ontNumber."
	    	::= { ontEntry 1 }

	 	password OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	         	" password."
	    	::= { ontEntry 4 }

	 	planVersion OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	         	" plan-version."
	    	::= { ontEntry 5 }

	   	sn OBJECT-TYPE
	        SYNTAX      DisplayString
	        MAX-ACCESS  read-write
	        STATUS      current
	        DESCRIPTION
	         	" serial number."
	    	::= { ontEntry 6 }

			loopbackConfig OBJECT-TYPE
	        SYNTAX  EnabledStatus
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	        	"enabled/disabled loopback on the port."
	        ::= { ontEntry 7 }

			loopbackStatus OBJECT-TYPE
	        SYNTAX  INTEGER {
	        	none(0),
	        	underTesting(1),
	        	success(2),
	        	fail(3)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	               "This entry display latest loopback test status of port while performing remote-ont loopback test."
	        ::= { ontEntry 8 }

	    model OBJECT-TYPE
	        SYNTAX  INTEGER {
	            default(0),
	            pmg1006ORpmg2006ORpmg1005ORpmg2005(1),
	            pmg5318b20a(2),
	            pmg3000b20a(3),
	            na(4),
	            gpt2542gnaucORpmg5318b20bORpmg5318b20cORpmg5317ORpmg5323(5),
	            o00xx0vpq(6),
	            na(7),
	            gpt2820gnORgpt2840gnORgpt2841hntORgpt2840hnt(8)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	               " Model ID."
	        ::= { ontEntry 9 }

	    ontRowStatus OBJECT-TYPE
	        SYNTAX  RowStatus
	        MAX-ACCESS  read-create
	        STATUS      current
	        DESCRIPTION
	         ""
	        ::= { ontEntry 10 }

	    ontAction OBJECT-TYPE
	        SYNTAX  INTEGER {
	            idle(0),
	            rebootOnt(1),
	            checkUpgardeFW(2),
	            upgradingFW(3),
	            delAllConfig(4),
	            downloadFile(5),
	            uploadFile(6),
	            switchImageRule(7),
	            clearUpgradeStatus(8)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	               "Setting this MIB with value below to request an action to occur for the ONU.
	               1 Reboot the ONU.
	               2 Perform a FW version check. If the current version mismatches with planned one, do FW upgrade if possible.
	               4 Delete all configuration stored in OLT related to the ONU.
	               5 Perform a file transfer. Download a file located in <ontFileTransferFileUri> with user name / password defined in
	               <ontFileTransferUserName> and <ontFileTransferPassword> to the ONU and rename it to <ontFileTransferLocalFileName>.
	               6 Perform a file transfer. Upload a file <ontFileTransferLocalFileName> from the ONU to destination defined in
	               <ontFileTransferFileUri> with user name / password defined in <ontFileTransferUserName> and <ontFileTransferPassword>.
	               7 Switch the ONU active/standby image rule and reboot.
	               8 Clear the ont upgrade status.

	               This MIB returns following status to a get request.
	               0 This ONU is not doing any action above.
	               3 The FW upgrading is in progress."
	        ::= { ontEntry 11 }

	    alarmProfile OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	         	"apply an alarm profile to configure remote ONT ddmi threshold."
	    	  ::= { ontEntry 12 }

			fullBridg OBJECT-TYPE
	        SYNTAX  INTEGER {
	         		enable(1),
	         		disable(2)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                "full-bridge mode"
	        ::= { ontEntry 13 }

	    antiMacSpoofing OBJECT-TYPE
	        SYNTAX  INTEGER {
	         		enable(1),
	         		disable(2)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                "anti-mac-spoofing active or inactive"
	        ::= { ontEntry 14 }

	    usFecMode OBJECT-TYPE
	        SYNTAX  EnabledStatus
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                "Enable/disable ONU upstream FEC mode"
	        ::= { ontEntry 15 }

	 	templateDescription OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	         	"ONT template description"
	    	::= { ontEntry 16 }

	-- gpon remote ontSetup ontBwGroupTable
	ontBwGroupTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntBwGroupEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		    ""
		::= { ontSetup 2 }

	ontBwGroupEntry OBJECT-TYPE
		SYNTAX      OntBwGroupEntry
		MAX-ACCESS  not-accessible
		STATUS	current
		DESCRIPTION
		    "An entry in ontBwGroupTable"
		INDEX {
		    ifIndex,
		    ontNumber,
		    ontBwGroupId
		}
		::= { ontBwGroupTable 1 }

    OntBwGroupEntry ::=
		SEQUENCE {
		    ontBwGroupId              INTEGER,
		    ontBwGroupUstype          INTEGER,
		    ontBwGroupUsbwprofname    DisplayString,
		    ontBwGroupDsbwprofname    DisplayString,
		    ontBwGroupRowStatus       RowStatus
		}

		ontBwGroupId OBJECT-TYPE
		SYNTAX  INTEGER (1..31)
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		    " Bandwidth group means US T-CONT (Transmission container)and DS BW meter"
		::= { ontBwGroupEntry 1 }

		ontBwGroupUstype OBJECT-TYPE
		SYNTAX  INTEGER {
		    type1(1),
		    type2(2),
		    type3(3),
		    type4(4),
		    type5(5)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " US T-CONT type is characterized by the traffic flows."
		::= { ontBwGroupEntry 2 }

		ontBwGroupUsbwprofname OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " Upstream bandwidth profile name."
		::= { ontBwGroupEntry 3 }

		ontBwGroupDsbwprofname OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " Downstream bandwidth profile name."
		::= { ontBwGroupEntry 4 }

		ontBwGroupRowStatus OBJECT-TYPE
		SYNTAX      RowStatus
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
		    ""
		::= { ontBwGroupEntry 5 }

	--  gpon remote ontSetup ONU File Transfer Parameter Table
  	ontFileTransferParamTable OBJECT-TYPE
  		SYNTAX      SEQUENCE OF OntFileTransferParamEntry
  		MAX-ACCESS  not-accessible
  		STATUS  current
  		DESCRIPTION
  		    ""
  		::= { ontSetup 3 }

  	ontFileTransferParamEntry OBJECT-TYPE
  		SYNTAX      OntFileTransferParamEntry
  		MAX-ACCESS  not-accessible
  		STATUS	current
  		DESCRIPTION
  		    "Entry in ontFileTransferParamTable"
  		INDEX {
  		    ifIndex,
  		    ontNumber
  		}
  		::= { ontFileTransferParamTable 1 }

  	OntFileTransferParamEntry ::=
  	SEQUENCE {
  	    ontFileTransferFileUri        OCTET STRING,
  	    ontFileTransferLocalFileName  OCTET STRING,
  	    ontFileTransferUserName       OCTET STRING,
  	    ontFileTransferPassword       OCTET STRING
  	}

  		ontFileTransferFileUri OBJECT-TYPE
  		SYNTAX  OCTET STRING
  		MAX-ACCESS  read-write
  		STATUS  current
  		DESCRIPTION
  		    "The URL to be used in file transfer.
  		    For example: ftp://a.b.c/dir/config.xml"
  		::= { ontFileTransferParamEntry 1 }

  		ontFileTransferLocalFileName OBJECT-TYPE
  		SYNTAX  OCTET STRING
  		MAX-ACCESS  read-write
  		STATUS  current
  		DESCRIPTION
  		    "The file name of the target file in the ONU.
  		    For example: config.xml"
  		::= { ontFileTransferParamEntry 2 }

  		ontFileTransferUserName OBJECT-TYPE
  		SYNTAX  OCTET STRING
  		MAX-ACCESS  read-write
  		STATUS  current
  		DESCRIPTION
  		    "The user name to be used for the file transfer."
  		::= { ontFileTransferParamEntry 3 }

  		ontFileTransferPassword OBJECT-TYPE
  		SYNTAX  OCTET STRING
  		MAX-ACCESS  read-write
  		STATUS  current
  		DESCRIPTION
  		    "The password to be used for the file transfer."
  		::= { ontFileTransferParamEntry 4 }


	--  gpon remote ontSetup ONU Firmware Upgrade
  ontFwUpgrade OBJECT IDENTIFIER ::= { ontSetup 4 }

	ontFwUpgradeSetup OBJECT IDENTIFIER ::= { ontFwUpgrade 1 }

		ontImageVersion OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				 "ONT image version name."
			::= { ontFwUpgradeSetup 1 }

		releaseOntImage OBJECT-TYPE
			SYNTAX  INTEGER{
				notRelease(0),
				release(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				  "release ONT image from OLT."
			::= { ontFwUpgradeSetup 2 }

		numOfOntInQueue OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				  "The number of ONTs in FW upgrade queue."
			::= { ontFwUpgradeSetup 3 }

	ontFwUpgradeTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntFwUpgradeEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		    ""
		::= { ontFwUpgrade 2 }

	ontFwUpgradeEntry OBJECT-TYPE
		SYNTAX      OntFwUpgradeEntry
		MAX-ACCESS  not-accessible
		STATUS	current
		DESCRIPTION
		    "Entry in ontFwUpgradeTable"
		INDEX {
		    ifIndex
		}
		::= { ontFwUpgradeTable 1 }

	OntFwUpgradeEntry ::=
		SEQUENCE {
			ontFwUpgradeOntNumber         INTEGER,
			ontFwUpgradeClearStatusPerPon INTEGER
		}

		ontFwUpgradeOntNumber OBJECT-TYPE
		SYNTAX  INTEGER (0..128)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    "Action to start upgrading ONT firmware with specified ONT number 1~128 (the same to ontAction.upgradingFW); 0 means to upgrade all ONTs of a PON port."
		::= { ontFwUpgradeEntry 1 }

 		ontFwUpgradeClearStatusPerPon OBJECT-TYPE
		SYNTAX      INTEGER {
		 idle(0),
		 clear(1)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    "Cleared all of the ONT upgrade status of the pon port."
		::= { ontFwUpgradeEntry 2 }

--  ontResetTable Table
    ontResetTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF OntResetEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        ""
    ::= { ontSetup 5 }

    ontResetEntry OBJECT-TYPE
    SYNTAX      OntResetEntry
    MAX-ACCESS  not-accessible
    STATUS	current
    DESCRIPTION
        "An entry in ontResetTable1102"
    INDEX {
        dot1dBasePort,
        ontNumber
     }
    ::= { ontResetTable 1 }

    OntResetEntry ::=
    SEQUENCE {
        ontResetAction         	  INTEGER,
        ontConfgurationStatus     INTEGER,
        ontTimeOfRestore     	  INTEGER
    }

    ontResetAction OBJECT-TYPE
    SYNTAX  INTEGER (0..1)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " ont Reset Action,Value 1: Load Factory Default,Value 2: Reset Default"
    ::= { ontResetEntry 1 }

    ontConfgurationStatus OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " ont Confguration Status.Value 0: In default state"
    ::= { ontResetEntry 2 }

    ontTimeOfRestore OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " Unix time seconds since midnight January 1,1970)."
    ::= { ontResetEntry 3 }


--  ontWanConfig Table
    ontWanConfigTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF OntWanConfigEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        ""
    ::= { ontSetup 6 }

    ontWanConfigEntry OBJECT-TYPE
    SYNTAX      OntWanConfigEntry
    MAX-ACCESS  not-accessible
    STATUS	current
    DESCRIPTION
        "An entry in ontWanConfigTable"
    INDEX {
        dot1dBasePort,
        ontNumber,
        ontWanConfigId
    }
    ::= { ontWanConfigTable 1 }

    OntWanConfigEntry ::=
    SEQUENCE {
        ontWanConfigId           INTEGER,
        ontWanConfigVlan         INTEGER,
        ontWanConfigPriority     INTEGER,
        ontWanConfigNat          INTEGER,
    	ontWanConfigUsername     DisplayString,
        ontWanConfigPassword     DisplayString,
        ontWanConfigRowStatus    RowStatus
    }

	ontWanConfigId OBJECT-TYPE
		SYNTAX  INTEGER (1..4)
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		    " ont wan config wan id"
		::= { ontWanConfigEntry 1 }

	ontWanConfigVlan OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " ont wan vlan."
		::= { ontWanConfigEntry 2 }

	ontWanConfigPriority OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " ont wan priority."
		::= { ontWanConfigEntry 3 }

	ontWanConfigNat OBJECT-TYPE
		SYNTAX  INTEGER {
		    enable(1),
		    disable(2)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " ont wan nat config."
		::= { ontWanConfigEntry 4 }

	ontWanConfigUsername OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " ont wan config user name."
		::= { ontWanConfigEntry 5 }

	ontWanConfigPassword OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		    " ont wan config password."
		::= { ontWanConfigEntry 6 }

	ontWanConfigRowStatus OBJECT-TYPE
		SYNTAX      RowStatus
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
		    ""
		::= { ontWanConfigEntry 7 }


	--  gpon remote ontcardTable
	ontcardTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntcardEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		              	""
		::= { remote 2 }

	ontcardEntry OBJECT-TYPE
	     SYNTAX      OntcardEntry
	     MAX-ACCESS  not-accessible
	     STATUS      current
	     DESCRIPTION
	     		"An entry in ontcardTable"
	     INDEX {
	     		ifIndex,
	     		ontNumber,
	     		ontcard
	     }
	 	::= { ontcardTable 1 }

	OntcardEntry ::=
		SEQUENCE {
		    ontcard		     	      	  INTEGER,
		    ontcardType                      INTEGER,
		    numofport                      INTEGER,
		    ontcardRowStatus              RowStatus,
		    ontcardAction                 INTEGER
		}

		ontcard OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
			 	" ontcard."
			::= { ontcardEntry 1 }

		ontcardType OBJECT-TYPE
			SYNTAX      INTEGER {
			             vdsl2(35),
			             speed10or100BaseT(24),
			             speed10or100or1000BaseT(47),
			             veip(48),
			             pots(32),
			             video(38),
			             etherOrVeip(49)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			 	" cardtype."
			::= { ontcardEntry 2 }

		numofport OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			 	" numofport."
			::= { ontcardEntry 3 }

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

		ontcardAction OBJECT-TYPE
			SYNTAX  INTEGER {
			    idle(0),
			    delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			       "Delete all configurations relating to ontcard."
			::= { ontcardEntry 5 }

	--  gpon remote ontenetTable
	ontenetTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntenetEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
		    ""
		::= { remote 3 }

	ontenetEntry OBJECT-TYPE
		SYNTAX      OntenetEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontenetTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontenetTable 1 }

	OntenetEntry ::=
		SEQUENCE {
		   ontenetCardPort		INTEGER,
		   pmenetEnable			INTEGER,
		   portSpeed			INTEGER,
		   ontenetRowStatus		RowStatus,
		   ontenetAction		INTEGER
		}

		ontenetCardPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
			" ontenetCardPort."
			::= { ontenetEntry 1 }

		pmenetEnable OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				base-on-modelId(1),
				enable-64-bit-pm-counter(2),
				enable-32-bit-pm-counter(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			" pmenetEnable."
			::= { ontenetEntry 2 }

	 	portSpeed OBJECT-TYPE
			SYNTAX      INTEGER {
			     auto(0),
			     speed1000Full(3),
			     speed100Full(5),
			     speed10Full(7)
			 }
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			 	" port-speed."
			::= { ontenetEntry 3 }

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

		ontenetAction OBJECT-TYPE
			SYNTAX  INTEGER {
			    idle(0),
			    delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			       "Delete all configurations relating to ontenet."
			::= { ontenetEntry 5 }

	--  gpon remote ontvdslTable
	ontvdslTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntvdslEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
		""
		::= { remote 4 }

	ontvdslEntry OBJECT-TYPE
		SYNTAX      OntvdslEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
		"An entry in ontvdslTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontvdslCardPort
		}
		::= { ontvdslTable 1 }

	OntvdslEntry ::=
		SEQUENCE {
			ontvdslCardPort		INTEGER,
			lineTemplate		DisplayString,
			ontvdslRowStatus	RowStatus,
			ontvdslAction		INTEGER
		}

		ontvdslCardPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
			 	" ontvdslCardPort."
			::= { ontvdslEntry 1 }

		lineTemplate OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			 	" line-template."
			::= { ontvdslEntry 2 }

		ontvdslRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			 ""
			::= { ontvdslEntry 3 }

		ontvdslAction OBJECT-TYPE
			SYNTAX  INTEGER {
				idle(0),
				delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Delete all configurations relating to ontvdsl."
			::= { ontvdslEntry 4 }

	--  gpon remote ontuniportSetup
	ontuniportSetup OBJECT IDENTIFIER ::= { remote 5 }

	--  gpon remote ontuniportSetup ontuniportTable
	ontuniportTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntuniportEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		     	""
		::= { ontuniportSetup 1 }

	ontuniportEntry OBJECT-TYPE
		SYNTAX	OntuniportEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ontuniportTable."
		INDEX          	{
		ifIndex,
		ontNumber,
		ontcard,
		uniPort }
		::= { ontuniportTable 1 }

	OntuniportEntry ::=
		SEQUENCE {
			uniPort				INTEGER,
			uniPortRowStatus	RowStatus,
			uniPortAction		INTEGER,
			uniportMacLimit		INTEGER
		}

		uniPort	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			    "uniport"
			::= { ontuniportEntry 1 }

		uniPortRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			    ""
			::= { ontuniportEntry 2 }

		uniPortAction OBJECT-TYPE
			SYNTAX  INTEGER {
				idle(0),
				delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			    "Delete all configurations relating to uniport."
			::= { ontuniportEntry 3 }

		uniportMacLimit OBJECT-TYPE
			SYNTAX  INTEGER (0..127)
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			 	"maximum number of mac addresses can be learned per uniport. Zero value means mac-limit is inactive and no mac-address limitation."
			::= { ontuniportEntry 4 }

	--  gpon remote ontuniportSetup uniportIgmpchannelTable
	uniportIgmpchannelTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF UniportIgmpchannelEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		""
		::= { ontuniportSetup 2 }

	uniportIgmpchannelEntry OBJECT-TYPE
		SYNTAX  UniportIgmpchannelEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		"An entry in igmpchannelTable."
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniportIgmpchannelUniSvid,
			uniportIgmpchannelUniCvid,
			uniportIgmpchannelGroupPrivProf
		}
		::= { uniportIgmpchannelTable 1 }

		UniportIgmpchannelEntry ::=
		SEQUENCE {
			uniportIgmpchannelUniSvid        INTEGER,
			uniportIgmpchannelUniCvid        INTEGER,
			uniportIgmpchannelVersion        INTEGER,
			uniportIgmpchannelMaxgroup       INTEGER,
			uniportIgmpchannelMaxmsg         INTEGER,
--			uniportIgmpchannelSignaling      INTEGER,
--			uniportIgmpchannelPreviewpkg     DisplayString,
--			uniportIgmpchannelFullviewpkg    DisplayString,
			uniportIgmpchannelRowStatus      RowStatus,
			uniportIgmpchannelTrafficTxTag   INTEGER,
			uniportIgmpchannelCacProf        DisplayString,
			uniportIgmpchannelTrafficTxTagRepVid  INTEGER,
			uniportIgmpchannelGroupPrivProf  DisplayString,
			uniportIgmpchannelMvlan          INTEGER
		}

		uniportIgmpchannelUniSvid OBJECT-TYPE
			SYNTAX  INTEGER (1..4096)
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			"uni-svid"
			::= { uniportIgmpchannelEntry 1 }

		uniportIgmpchannelUniCvid OBJECT-TYPE
			SYNTAX  INTEGER (1..4094)
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			"uni-cvid"
			::= { uniportIgmpchannelEntry 2 }

		uniportIgmpchannelVersion OBJECT-TYPE
			SYNTAX  INTEGER {
				igmpv2(2),
				igmpv3(3)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"IGMP version"
			::= { uniportIgmpchannelEntry 3 }

        uniportIgmpchannelMaxgroup OBJECT-TYPE
	        SYNTAX  INTEGER (0..512)
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	            "Maximum number of groups."
	        ::= { uniportIgmpchannelEntry 4 }

        uniportIgmpchannelMaxmsg OBJECT-TYPE
	        SYNTAX  INTEGER (0..255)
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	            "Maximum number of reports per second."
	        ::= { uniportIgmpchannelEntry 5 }

--	        uniportIgmpchannelSignaling OBJECT-TYPE
--	        SYNTAX  INTEGER {
--	            off(0),
--	            on(1)
--	        }
--	        MAX-ACCESS  read-write
--	        STATUS  current
--	        DESCRIPTION
--	            "IGMP signaling mode."
--	        ::= { uniportIgmpchannelEntry 6 }

--        uniportIgmpchannelPreviewpkg OBJECT-TYPE
--	        SYNTAX  DisplayString
--	        MAX-ACCESS  read-write
--	        STATUS  current
--	        DESCRIPTION
--	            "Multicast package members with preview privilege. If group privilege profile is set, this setting will be ignored."
--	        ::= { uniportIgmpchannelEntry 7 }

--        uniportIgmpchannelFullviewpkg OBJECT-TYPE
--	        SYNTAX  DisplayString
--	        MAX-ACCESS  read-write
--	        STATUS  current
--	        DESCRIPTION
--	            "Multicast package members with fullview privilege. If group privilege profile is set, this setting will be ignored."
--	        ::= { uniportIgmpchannelEntry 8 }

        uniportIgmpchannelRowStatus OBJECT-TYPE
	        SYNTAX      RowStatus
	        MAX-ACCESS  read-create
	        STATUS      current
	        DESCRIPTION
	            ""
	        ::= { uniportIgmpchannelEntry 10 }

		uniportIgmpchannelTrafficTxTag OBJECT-TYPE
			SYNTAX  INTEGER {
				transparent(3),
				untag(4),
				replace(5)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
            "Traffic tag on UNI port. If replace(5) is set, then uniportIgmpchannelTrafficTxTagRepVid will be applied."
			::= { uniportIgmpchannelEntry 11 }

		uniportIgmpchannelCacProf OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"The maximum multicast bandwidth for this channel"
			::= { uniportIgmpchannelEntry 12 }

        uniportIgmpchannelTrafficTxTagRepVid OBJECT-TYPE
            SYNTAX  INTEGER (1..4094)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "Replaced downstream VID. It is applied only when uniportIgmpchannelTrafficTxTag is set to replace(5)."
            ::= { uniportIgmpchannelEntry 13 }

		uniportIgmpchannelGroupPrivProf OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			"The group privilege profile this channel wants to apply. If the group privilege profile is set, both previewPkg and fullviewPkg settings will be ignored."
			::= { uniportIgmpchannelEntry 14 }

        uniportIgmpchannelMvlan OBJECT-TYPE
            SYNTAX  INTEGER (0..4094)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "MVR receive port. It works only when group-privilege-profile is set, 0 means non-MVR."
            ::= { uniportIgmpchannelEntry 15 }

	--  gpon remote ontuniportSetup uniportProtoBasedTable
	uniportProtoBasedTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportProtoBasedEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		     	""
		::= { ontuniportSetup 3 }

	uniportProtoBasedEntry OBJECT-TYPE
		SYNTAX	UniportProtoBasedEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in protocol-basedTable."
		INDEX          	{
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniportProtoBasedEtherType }
		::= { uniportProtoBasedTable 1 }

	UniportProtoBasedEntry ::=
		SEQUENCE {
			uniportProtoBasedEtherType	INTEGER,
			uniportProtoBasedSvid		INTEGER,
			uniportProtoBasedCvid		INTEGER,
			uniportProtoBasedPriority	INTEGER,
			uniportProtoBasedRowStatus	RowStatus
		}

		uniportProtoBasedEtherType	 OBJECT-TYPE
			SYNTAX  INTEGER{
				ipoe(1),
		    	pppoe(2),
				arp(3),
				ipv6(4)
				}
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
			        "ethernet Type.
					 ipoe(1)
					 pppoe(2)
					 arp(3)
					 ipv6(4)
					 "
			::= { uniportProtoBasedEntry 1 }

		uniportProtoBasedSvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			        "SVID"
			::= { uniportProtoBasedEntry 2 }

		uniportProtoBasedCvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			       "CVID"
			::= { uniportProtoBasedEntry 3 }

        uniportProtoBasedPriority OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                "priority"
	        ::= { uniportProtoBasedEntry 4 }

		uniportProtoBasedRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			""
			::= { uniportProtoBasedEntry 5 }

	--  gpon remote ontuniportSetup uniportPvidTable
	uniportPvidTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportPvidEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		       	""
		::= { ontuniportSetup 4 }

	uniportPvidEntry OBJECT-TYPE
		SYNTAX	UniportPvidEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in pvidTable."
		INDEX          	{
		ifIndex,
		ontNumber,
		ontcard,
		uniPort }
		::= { uniportPvidTable 1 }

        UniportPvidEntry ::=
           SEQUENCE {
        	uniportPvidUniSvid		INTEGER,
        	uniportPvidUniCvid		INTEGER,
        	uniportPvidPriority		INTEGER,
        	uniportPvidRowStatus	RowStatus
		}

		uniportPvidUniSvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"SVID"
			::= { uniportPvidEntry 1 }

		uniportPvidUniCvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"CVID"
			::= { uniportPvidEntry 2 }

		uniportPvidPriority OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Pvid priority"
			::= { uniportPvidEntry 3 }

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

	--  gpon remote ontuniportSetup uniportQueueTable
	uniportQueueTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportQueueEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		""
		::= { ontuniportSetup 5 }

	uniportQueueEntry OBJECT-TYPE
		SYNTAX	UniportQueueEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in queueTable."
		INDEX          	{
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniportQueueTc }
		::= { uniportQueueTable 1 }

	UniportQueueEntry ::=
		SEQUENCE {
			uniportQueueTc		INTEGER,
			uniportQueuePriority	INTEGER,
			uniportQueueWeight	INTEGER,
			uniportQueueUsbwprofname	DisplayString,
			uniportQueueDsbwprofname	DisplayString,
			uniportQueueDsoption	INTEGER,
			uniportQueueUsbwsharegroupid	INTEGER,
			uniportQueueRowStatus	RowStatus,
			uniportQueueDsbwsharegroupid	INTEGER
		}

		uniportQueueTc	 OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNull(8)
			}
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
				"traffic class 0-7"
			::= { uniportQueueEntry 1 }

		uniportQueuePriority OBJECT-TYPE
			SYNTAX  INTEGER {
				priority0(0),
				priority1(1),
				priority2(2),
				priority3(3),
				priority4(4),
				priority5(5),
				priority6(6),
				priority7(7)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Usqueue priority 0-7"
			::= { uniportQueueEntry 2 }

		uniportQueueWeight OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			        "Usqueue weight 0-255"
			::= { uniportQueueEntry 3 }

		uniportQueueUsbwprofname OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			        "usbwprof name"
			::= { uniportQueueEntry 4 }

		uniportQueueDsbwprofname OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			        "dsbwprof name"
			::= { uniportQueueEntry 5 }

		uniportQueueDsoption OBJECT-TYPE
			SYNTAX  INTEGER {
				olt(0),
				ont(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"queue ds option,do metering at OLT side or ONT side"
			::= { uniportQueueEntry 6 }

		uniportQueueUsbwsharegroupid  OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"upstream bandwidth group id"
			::= { uniportQueueEntry 7 }

		uniportQueueRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			""
			::= { uniportQueueEntry 8 }

		uniportQueueDsbwsharegroupid  OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"downstream bandwidth group id"
			::= { uniportQueueEntry 9 }

	--  gpon remote ontuniportSetup uniportVlanTable
	uniportVlanTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportVlanEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		""
		::= { ontuniportSetup 6 }

	uniportVlanEntry OBJECT-TYPE
		SYNTAX	UniportVlanEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in uniportVlanTable."
		INDEX          	{
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniportVlanUniSvid,
			uniportVlanUniCvid }
		::= { uniportVlanTable 1 }

	UniportVlanEntry ::=
		SEQUENCE {
			uniportVlanUniSvid			INTEGER,
			uniportVlanUniCvid			INTEGER,
			uniportVlanNetworkSvid		INTEGER,
			uniportVlanNetworkSpri		INTEGER,
			uniportVlanNetworkCvid		INTEGER,
			uniportVlanIngProf			DisplayString,
			uniportVlanGemPort			INTEGER,
			uniportVlanTr156			INTEGER,
			uniportVlanTxTag			INTEGER,
			uniportVlanPbitProf			DisplayString,
			uniportVlanDscpToPbit		INTEGER,
			uniportVlanAesEncrypt		INTEGER,
			uniportVlanRowStatus		RowStatus,
			uniportVlanSharePriority	INTEGER,
			uniportVlanMacNumber		INTEGER
		}

		uniportVlanUniSvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
				"uni-svid"
			::= { uniportVlanEntry 1 }

		uniportVlanUniCvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
				"uni-cvid"
			::= { uniportVlanEntry 2 }

		uniportVlanNetworkSvid OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"network-svid"
			::= { uniportVlanEntry 3 }

		uniportVlanNetworkSpri OBJECT-TYPE
			SYNTAX  INTEGER {
				priority0(0),
				priority1(1),
				priority2(2),
				priority3(3),
				priority4(4),
				priority5(5),
				priority6(6),
				priority7(7),
				priorityNull(8)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"network-spri"
			::= { uniportVlanEntry 4 }

		uniportVlanNetworkCvid OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"network-cvid"
			::= { uniportVlanEntry 5 }

		uniportVlanIngProf OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"ingProf"
			::= { uniportVlanEntry 6 }

		uniportVlanGemPort OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"gemPort"
			::= { uniportVlanEntry 7 }

		uniportVlanTr156 OBJECT-TYPE
			SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"tr156"
			::= { uniportVlanEntry 8 }

		uniportVlanTxTag OBJECT-TYPE
			SYNTAX  INTEGER {
				untag(1),
				tag(2),
				pritag(3)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"txtag"
			::= { uniportVlanEntry 9 }

		uniportVlanPbitProf OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"pbit profile"
			::= { uniportVlanEntry 10 }

		uniportVlanDscpToPbit OBJECT-TYPE
			SYNTAX  INTEGER {
				active(1),
				inactive(2)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"dscp to pbit active/inactive"
			::= { uniportVlanEntry 11 }

		uniportVlanAesEncrypt OBJECT-TYPE
			SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"AES encryption"
			::= { uniportVlanEntry 12 }

		uniportVlanRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
				""
			::= { uniportVlanEntry 13 }

		uniportVlanSharePriority OBJECT-TYPE
			SYNTAX  INTEGER (0..8)
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Share priority. Specify 8 to disable the priority."
			::= { uniportVlanEntry 14 }

		uniportVlanMacNumber OBJECT-TYPE
			SYNTAX  INTEGER (1..6)
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"MAC number."
			::= { uniportVlanEntry 15 }

	--  gpon remote ontuniportSetup uniportVoipTable
	uniportVoipTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportVoipEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontuniportSetup 7 }

	uniportVoipEntry OBJECT-TYPE
		SYNTAX	UniportVoipEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in uniportVoipTable."
		INDEX          	{
			ifIndex,
			ontNumber,
			ontcard,
			uniPort }
		::= { uniportVoipTable 1 }

	UniportVoipEntry ::=
		SEQUENCE {
			uniportVoipMode            INTEGER,
			uniportVoipUniCvid         INTEGER,
			uniportVoipCommProfName    DisplayString,
			uniportVoipSipProfName     DisplayString,
			uniportVoipUsername        DisplayString,
			uniportVoipPassword        DisplayString,
			uniportVoipDialPlanName    DisplayString,
			uniportVoipAor             DisplayString,
			uniportVoipDispName        DisplayString,
			uniportVoipVmailUri        DisplayString,
			uniportVoipVmailExtimer    INTEGER,
			uniportVoipReleaseTimer    INTEGER,
			uniportVoipRohTimer        INTEGER,
			uniportVoipRowStatus       RowStatus
		}

		uniportVoipMode	 OBJECT-TYPE
			SYNTAX  INTEGER {
				sipMode(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip mode. It just can be set to sip mode, now."
			::= { uniportVoipEntry 1 }

		uniportVoipUniCvid	 OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip vlan(1 ~ 4094)."
			::= { uniportVoipEntry 2 }

		uniportVoipCommProfName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip common profile name(1 ~ 15 characters)."
			::= { uniportVoipEntry 3 }

		uniportVoipSipProfName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip sip profile name(1 ~ 15 characters)."
			::= { uniportVoipEntry 4 }

		uniportVoipUsername OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip user name(1 ~ 63 characters)."
			::= { uniportVoipEntry 5 }

		uniportVoipPassword OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip password(1 ~ 63 characters)."
			::= { uniportVoipEntry 6 }

		uniportVoipDialPlanName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip network dial plan name(1 ~ 15 characters)"
			::= { uniportVoipEntry 7 }

		uniportVoipAor OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip user part AOR(1 ~ 63 characters)."
			::= { uniportVoipEntry 8 }

		uniportVoipDispName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip sip display name(1 ~ 25 characters)."
			::= { uniportVoipEntry 9 }

		uniportVoipVmailUri OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip voicemail server SIP URI(1 ~ 63 characters)"
			::= { uniportVoipEntry 10 }

		uniportVoipVmailExtimer OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip voice subscription expiration time(0 ~ 3600)"
			::= { uniportVoipEntry 11 }

		uniportVoipReleaseTimer OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip release timer( 0 ~ 30)"
			::= { uniportVoipEntry 12 }

		uniportVoipRohTimer OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip ROH timer( 0 ~ 30)"
			::= { uniportVoipEntry 13 }


		uniportVoipRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			 ""
			::= { uniportVoipEntry 14 }

	--  gpon remote ontuniportSetup uniportOntCardTable
	uniportOntCardTable OBJECT-TYPE
		SYNTAX SEQUENCE OF UniportOntCardEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
				""
		::= { ontuniportSetup 8 }

	uniportOntCardEntry OBJECT-TYPE
		SYNTAX UniportOntCardEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION "An entry in uniportOntCardTable."
		INDEX {
				ifIndex,
				ontNumber,
				ontcard,
				uniPort }
		::= { uniportOntCardTable 1 }

		UniportOntCardEntry ::=
			SEQUENCE {
			uniportOntCardTypeActive		INTEGER,
			uniportOntEnetVeipPmEnable		INTEGER,
			uniportOntEnetPortSpeed			INTEGER,
			uniportOntCardRowStatus			RowStatus
		}

		uniportOntCardTypeActive OBJECT-TYPE
			SYNTAX  INTEGER {
				active(1),
				inactive(2)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Activate/Inactivate ONT ENET/VEIP/POTS/VIDEO"
			::= { uniportOntCardEntry 1 }

		uniportOntEnetVeipPmEnable OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable-64-bit-pm-counter(1),
				enable-32-bit-pm-counter(2)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Enable/Disable PM counter of ONT ENET/VEIP"
			::= { uniportOntCardEntry 2 }

		uniportOntEnetPortSpeed OBJECT-TYPE
			SYNTAX  INTEGER {
				auto(0),
				speed2500Full(2),
				speed1000Full(3),
				speed100Full(5),
				speed10Full(7),
				notSupport(8)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
			"Enable/Disable port speed of ONT ENET"
			::= { uniportOntCardEntry 3 }

		uniportOntCardRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
			"The row status of uniportOntCardTable"
			::= { uniportOntCardEntry 4 }

 	--  gpon remote ontQos
   	ontQos OBJECT IDENTIFIER ::= { remote 6 }

 	--  gpon remote ontQos ingressProfileTable
	ingressProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF IngressProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontQos 1 }

	ingressProfileEntry OBJECT-TYPE
		SYNTAX	IngressProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT QoS ingress profile table."
		INDEX {
			ingressProfileName
		}
		::= { ingressProfileTable 1 }

	IngressProfileEntry ::=
		SEQUENCE {
			ingressProfileName            OCTET STRING,
			ingressProfileDot1p0tc        INTEGER,
			ingressProfileDot1p1tc        INTEGER,
			ingressProfileDot1p2tc        INTEGER,
			ingressProfileDot1p3tc        INTEGER,
			ingressProfileDot1p4tc        INTEGER,
			ingressProfileDot1p5tc        INTEGER,
			ingressProfileDot1p6tc        INTEGER,
			ingressProfileDot1p7tc        INTEGER,
			ingressProfileRowStatus       RowStatus
		}

		ingressProfileName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT QoS Ingress Profile Name."
			::= { ingressProfileEntry 1 }

		ingressProfileDot1p0tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 0."
			::= { ingressProfileEntry 2 }

		ingressProfileDot1p1tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 1."
			::= { ingressProfileEntry 3 }

		ingressProfileDot1p2tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 2."
			::= { ingressProfileEntry 4 }

		ingressProfileDot1p3tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 3."
			::= { ingressProfileEntry 5 }

		ingressProfileDot1p4tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 4."
			::= { ingressProfileEntry 6 }

		ingressProfileDot1p5tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 5."
			::= { ingressProfileEntry 7 }

		ingressProfileDot1p6tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 6."
			::= { ingressProfileEntry 8 }

		ingressProfileDot1p7tc OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcNULL(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			"set traffic class mapping to 802.1P priority 7."
			::= { ingressProfileEntry 9 }

		ingressProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  ingressProfileEntry 10 }

 	--  gpon remote ontQos pbitProfileTable
	pbitProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF PbitProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontQos 2 }

	pbitProfileEntry OBJECT-TYPE
		SYNTAX	PbitProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT QoS pbit profile table."
		INDEX {
			pbitProfileName
		}
		::= { pbitProfileTable 1 }

		PbitProfileEntry ::=
			SEQUENCE {
				pbitProfileName			OCTET STRING,
				pbitProfileP0to			INTEGER,
				pbitProfileP1to			INTEGER,
				pbitProfileP2to			INTEGER,
				pbitProfileP3to			INTEGER,
				pbitProfileP4to			INTEGER,
				pbitProfileP5to			INTEGER,
				pbitProfileP6to			INTEGER,
				pbitProfileP7to			INTEGER,
				pbitProfileRowStatus	RowStatus
			}

		pbitProfileName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT QoS pbit Profile Name."
			::= { pbitProfileEntry 1 }

		pbitProfileP0to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 0."
			::= { pbitProfileEntry 2 }

		pbitProfileP1to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 1."
			::= { pbitProfileEntry 3 }

		pbitProfileP2to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 2."
			::= { pbitProfileEntry 4 }

		pbitProfileP3to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 3."
			::= { pbitProfileEntry 5 }

			pbitProfileP4to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 4."
			::= { pbitProfileEntry 6 }

			pbitProfileP5to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 5."
			::= { pbitProfileEntry 7 }

			pbitProfileP6to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 6."
			::= { pbitProfileEntry 8 }

			pbitProfileP7to OBJECT-TYPE
			SYNTAX  INTEGER {
				tc0(0),
				tc1(1),
				tc2(2),
				tc3(3),
				tc4(4),
				tc5(5),
				tc6(6),
				tc7(7),
				tcDrop(8)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set traffic class mapping to 802.1P priority 7."
			::= { pbitProfileEntry 9 }

			pbitProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  pbitProfileEntry 10 }

 	--  gpon remote ontQos pbitProfileTable
	bwProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF BwProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontQos 3 }

	bwProfileEntry OBJECT-TYPE
		SYNTAX	BwProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT QoS bandwidth profile table."
		INDEX {
			bwProfileName
		}
		::= { bwProfileTable 1 }

	BwProfileEntry ::=
		SEQUENCE {
			bwProfileName       OCTET STRING,
			bwProfileSir        INTEGER,
			bwProfileAir        INTEGER,
			bwProfilePir        INTEGER,
			bwProfileRowStatus  RowStatus,
			bwProfileUstype     INTEGER,
		}

		bwProfileName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT QoS Bandwidth Profile Name."
			::= { bwProfileEntry 1 }

		bwProfileSir OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set SIR value."
			::= { bwProfileEntry 2 }

		bwProfileAir OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set AIR value."
			::= { bwProfileEntry 3 }

		bwProfilePir OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set PIR value."
			::= { bwProfileEntry 4 }

		bwProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  bwProfileEntry 5 }

  		bwProfileUstype OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"Modify the upstream type.
			US TCONT Type
			+-----------------+---------+---------+---------+-------+--------------+
			|  Type0          |  Type1  |  Type2  | Type3   | Type4 | Type5        |
			|                 |         |         |         |       |              |
			+-----------------+---------+---------+---------+-------+--------------+
			|                 |   sir   |         |         |       | sir          |
			+ auto-correction +---------+---------+---------+-------+--------------+
			| when ustype     |         |   air   |   air   |       | air          |
			+ is setting to 0 +---------+---------+---------+-------+--------------+
			|                 | pir=sir | pir=air | pir>air | pir   | pir>=sir+air |
			+-----------------+-------------------+---------+-------+--------------+
			PS: If After auto-correction, the type still is 0,
			    then the profile can`t be used as a US profile."
			::= { bwProfileEntry 6 }


 	--  gpon remote ontQos cacProfileTable
	cacProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF CacProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontQos 4 }

	cacProfileEntry OBJECT-TYPE
		SYNTAX	CacProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT QoS CAC profile table."
		INDEX {
			cacProfileName
		}
		::= { cacProfileTable 1 }

	CacProfileEntry ::=
		SEQUENCE {
			cacProfileName        OCTET STRING,
			cacProfileMcastBw     INTEGER,
			cacProfileRowStatus   RowStatus
		}

		cacProfileName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT QoS CAC profile name"
			::= { cacProfileEntry 1 }

		cacProfileMcastBw OBJECT-TYPE
			SYNTAX  INTEGER (100..1200000)
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set multicast bandwidth in kbps"
			::= { cacProfileEntry 2 }

		cacProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  cacProfileEntry 3 }

	--  gpon remote ontQos WRED
		gponQosWred OBJECT-TYPE
		SYNTAX  EnabledStatus
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			"enable/disable gpon qos wred."
		::= { ontQos 5 }

	--  gpon remote ontQos DS-meter
		gponQosDsMeter OBJECT-TYPE
		SYNTAX  INTEGER {
			pir(0),
			cir(1)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			"gpon qos ds-meter."
		::= { ontQos 6 }


 	--  gpon remote ontAlarmProfileTable
	ontAlarmProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntAlarmProfileEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			""
		::= { remote 7 }

	ontAlarmProfileEntry OBJECT-TYPE
		SYNTAX	OntAlarmProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT Alarm profile table for DDMI threshold setting."
		INDEX {
			ontAlarmProfileName
		}
		::= { ontAlarmProfileTable 1 }

	OntAlarmProfileEntry ::=
		SEQUENCE {
			ontAlarmProfileName					OCTET STRING,
			ontAlarmProfileFeedVoltThreshLow	DisplayString,
			ontAlarmProfileFeedVoltThreshUp		DisplayString,
			ontAlarmProfileBiasCurrThreshLow	DisplayString,
			ontAlarmProfileBiasCurrThreshUp		DisplayString,
			ontAlarmProfileTemperatureThreshLow	DisplayString,
			ontAlarmProfileTemperatureThreshUp	DisplayString,
			ontAlarmProfileTxPowerThreshLow		DisplayString,
			ontAlarmProfileTxPowerThreshUp		DisplayString,
			ontAlarmProfileRowStatus			RowStatus,
			ontAlarmProfileRxPowerThreshLow		DisplayString,
			ontAlarmProfileRxPowerThreshUp		DisplayString
		}

		ontAlarmProfileName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT Alarm Profile Name."
			::= { ontAlarmProfileEntry 1 }

		ontAlarmProfileFeedVoltThreshLow OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Lower Power Feed Voltage Threshold (unit V). The range of voltage is between 2.80 and 3.59 V."
			::= { ontAlarmProfileEntry 2 }

		ontAlarmProfileFeedVoltThreshUp OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Upper Power Feed Voltage Threshold (unit V). The range of voltage is between 2.80 and 3.59 V."
			::= { ontAlarmProfileEntry 3 }

		ontAlarmProfileBiasCurrThreshLow OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Lower Laser Bias Current Threshold (unit mA). The range of current is between 0 and 79 mA."
			::= { ontAlarmProfileEntry 4 }

		ontAlarmProfileBiasCurrThreshUp OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Upper Laser Bias Current Threshold (unit mA). The range of current is between 0 and 79 mA."
			::= { ontAlarmProfileEntry 5 }

		ontAlarmProfileTemperatureThreshLow OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Lower Temperature Threshold (unit degree C). The range of temperature is between -40 and 100 degree C."
			::= { ontAlarmProfileEntry 6 }

		ontAlarmProfileTemperatureThreshUp OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Upper Temperature Threshold (unit degree C). The range of temperature is between -40 and 100 degree C."
			::= { ontAlarmProfileEntry 7 }

		ontAlarmProfileTxPowerThreshLow OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Lower Transmit Power Threshold (unit dBm). The range of power is between -15.3 and 6.5 dBm."
			::= { ontAlarmProfileEntry 8 }

		ontAlarmProfileTxPowerThreshUp OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Upper Transmit Power Threshold (unit dBm). The range of power is between -15.3 and 6.5 dBm."
			::= { ontAlarmProfileEntry 9 }


		ontAlarmProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  ontAlarmProfileEntry 10 }

		ontAlarmProfileRxPowerThreshLow OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Lower Receive Power Threshold (unit dBm). The range of power is between -127 and 0 dBm."
			::= { ontAlarmProfileEntry 11 }

		ontAlarmProfileRxPowerThreshUp OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set Upper Receive Power Threshold (unit dBm). The range of power is between -127 and 0 dBm."
			::= { ontAlarmProfileEntry 12 }

 	--  gpon remote ontvenetTable
	ontvenetTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntvenetEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			""
		::= { remote 8 }

	ontvenetEntry OBJECT-TYPE
		SYNTAX      OntvenetEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontvenetTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontvenetCardPort
		}
		::= { ontvenetTable 1 }

		OntvenetEntry ::=
			SEQUENCE {
				ontvenetCardPort	INTEGER,
				pmvenetEnable		INTEGER,
				ontvenetRowStatus	RowStatus,
				ontvenetAction		INTEGER
			}

		ontvenetCardPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
				" ontvenetCardPort."
			::= { ontvenetEntry 1 }

		pmvenetEnable OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				base-on-modelId(1),
				enable-64-bit-pm-counter(2),
				enable-32-bit-pm-counter(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				" pmvenetEnable."
			::= { ontvenetEntry 2 }

		ontvenetRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
				""
			::= { ontvenetEntry 3 }

		ontvenetAction OBJECT-TYPE
			SYNTAX  INTEGER {
				idle(0),
				delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Delete all configurations relating to ontvenet."
			::= { ontvenetEntry 4 }

 	--  gpon remote ontpotsTable
	ontpotsTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntpotsEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			""
		::= { remote 9 }

	ontpotsEntry OBJECT-TYPE
		SYNTAX      OntpotsEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontpotsTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontpotsCardPort
		}
		::= { ontpotsTable 1 }

	OntpotsEntry ::=
		SEQUENCE {
			ontpotsCardPort		     	      INTEGER,
			ontpotsRowStatus              RowStatus,
			ontpotsAction              INTEGER
		}

		ontpotsCardPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
				" ontpotsCardPort."
			::= { ontpotsEntry 1 }

		ontpotsRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
				""
			::= { ontpotsEntry 2 }

		ontpotsAction OBJECT-TYPE
			SYNTAX  INTEGER {
				idle(0),
				delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Delete all configurations relating to ontpots."
			::= { ontpotsEntry 3 }

 	--  gpon remote ontVoipProfile
	ontVoipProfile OBJECT IDENTIFIER ::= { remote 10 }

 	--  gpon remote ontVoipProfile sipProfileTable
	sipProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF SipProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVoipProfile 1 }

	sipProfileEntry OBJECT-TYPE
		SYNTAX	SipProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT Voip sip profile table."
		INDEX {
			sipProfileName
		}
		::= { sipProfileTable 1 }

	SipProfileEntry ::=
		SEQUENCE {
			sipProfileName					DisplayString,
			sipProfileProxyServiceAddr		DisplayString,
			sipProfileOutProxyAddr			DisplayString,
			sipProfilePriDns				IpAddress,
			sipProfileSecDns				IpAddress,
			sipProfileRegExpTime			INTEGER,
			sipProfileReregHeadStartTime	INTEGER,
			sipProfileHostPartUri			DisplayString,
			sipProfileRegistrar				DisplayString,
			sipProfileSoftSwitch			DisplayString,
			sipProfileCid					BITS,
			sipProfileCallWait				BITS,
			sipProfileCallProgTrans			BITS,
			sipProfileCallPresent			BITS,
			sipProfileDirectCon				BITS,
			sipProfileDirectConUri			DisplayString,
			sipProfileBridgeLineAgentUri	DisplayString,
			sipProfileConfFactoryUri		DisplayString,
			sipProfileRowStatus				RowStatus
		}

		sipProfileName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT Voip sip profile name(1 ~ 15 characters)."
			::= { sipProfileEntry 1 }

		sipProfileProxyServiceAddr OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip proxy service address(1 ~ 63 characters)."
			::= { sipProfileEntry 2 }

		sipProfileOutProxyAddr OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip out proxy address(1 ~ 15 characters)."
			::= { sipProfileEntry 3 }

		sipProfilePriDns OBJECT-TYPE
			SYNTAX  IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip primary sip dns(ip format)."
			::= { sipProfileEntry 4 }

		sipProfileSecDns OBJECT-TYPE
			SYNTAX  IpAddress
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip secondary sip dns(ip format)."
			::= { sipProfileEntry 5 }

		sipProfileRegExpTime OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip sip registration expiration time(0 ~ 25200 sec)."
			::= { sipProfileEntry 6 }

		sipProfileReregHeadStartTime OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip sip re-registration head start time(0 ~ 720 sec)."
			::= { sipProfileEntry 7 }

		sipProfileHostPartUri OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip host or domain part of the sip address(1 ~ 63 characters)."
			::= { sipProfileEntry 8 }

		sipProfileRegistrar OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip sip registrar address(1 ~ 63 characters)."
			::= { sipProfileEntry 9 }

		sipProfileSoftSwitch OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip sip gateway softswitch vendor.
				This format os four ASCII coded alphabetic characters[A..Z] as defined in ANSI T1.220(4 characters)."
			::= { sipProfileEntry 10 }

		sipProfileCid OBJECT-TYPE
			SYNTAX	BITS {
				calNum(0),
				calNam(1),
				cidBlo(2),
				cidNum(3),
				cidNam(4),
				acr(5)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT sip caller ID features."
			::= { sipProfileEntry 11 }

		sipProfileCallWait OBJECT-TYPE
			SYNTAX	BITS {
				calWai(0),
				cidAnn(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT sip call waiting feature."
			::= { sipProfileEntry 12 }

		sipProfileCallProgTrans OBJECT-TYPE
			SYNTAX	BITS {
				threeWay(0),
				calTra(1),
				calHol(2),
				calPar(3),
				notDis(4),
				flash(5),
				origin(6),
				sixWay(7)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT sip progress or transfer feature."
			::= { sipProfileEntry 13 }

		sipProfileCallPresent OBJECT-TYPE
			SYNTAX	BITS {
				splRin(0),
				diaTon(1),
				visInd(2),
				calFor(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT sip call presentation feature."
			::= { sipProfileEntry 14 }

		sipProfileDirectCon OBJECT-TYPE
			SYNTAX	BITS {
				enable(0),
				disOpt(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT sip direct connect feature."
			::= { sipProfileEntry 15 }

		sipProfileDirectConUri OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT direct connect URI(1 ~ 63 characters)."
			::= { sipProfileEntry 16 }

		sipProfileBridgeLineAgentUri OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT bridge line agent URI(1 ~ 63 characters)."
			::= { sipProfileEntry 17 }


		sipProfileConfFactoryUri OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT conference factory URI(1 ~ 63 characters)."
			::= { sipProfileEntry 18 }


		sipProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  sipProfileEntry 19 }

 	--  gpon remote ontVoipProfile commonProfileTable
	commonProfileTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF CommonProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVoipProfile 2 }
		commonProfileEntry OBJECT-TYPE
		SYNTAX	CommonProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT Voip common profile table."
		INDEX {
			commonProfileName
		}
		::= { commonProfileTable 1 }

	CommonProfileEntry ::=
		SEQUENCE {
			commonProfileName     	      DisplayString,
			commonProfileLocalPortMin       INTEGER,
			commonProfileLocalPortMax       INTEGER,
			commonProfileDscpMark           INTEGER,
			commonProfilePiggyback          INTEGER,
			commonProfileTone               INTEGER,
			commonProfileDtmf               INTEGER,
			commonProfileCas                INTEGER,
			commonProfileAnnounceType       INTEGER,
			commonProfileJitterTarget       INTEGER,
			commonProfileJitterBufMax       INTEGER,
			commonProfileEchoCancel         INTEGER,
			commonProfilePstnProtocol       INTEGER,
			commonProfileFaxMode            INTEGER,
			commonProfile1stCodec           INTEGER,
			commonProfile2ndCodec           INTEGER,
			commonProfile3rdCodec           INTEGER,
			commonProfile4thCodec           INTEGER,
			commonProfile1stPacketPeriod    INTEGER,
			commonProfile2ndPacketPeriod    INTEGER,
			commonProfile3rdPacketPeriod    INTEGER,
			commonProfile4thPacketPeriod    INTEGER,
			commonProfile1stSilence         INTEGER,
			commonProfile2ndSilence         INTEGER,
			commonProfile3rdSilence         INTEGER,
			commonProfile4thSilence         INTEGER,
			commonProfileOobDtmf            INTEGER,
			commonProfileRowStatus          RowStatus,
			commonProfileSignalCode         INTEGER
		}

		commonProfileName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT Voip common profile name(1 ~ 15 characters)."
			::= { commonProfileEntry 1 }

		commonProfileLocalPortMin OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip base RTP port(1 ~ 65535, but must smaller than highest RTP port)."
			::= { commonProfileEntry 2 }

		commonProfileLocalPortMax OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip highest RTP port(1 ~ 65535, but must bigger than highest RTP port)."
			::= { commonProfileEntry 3 }

		commonProfileDscpMark OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip diffserv code point to be used for utgoing RTP packets for this profile(0 ~ 63)."
			::= { commonProfileEntry 4 }

		commonProfilePiggyback OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip RTP piggyback events."
			::= { commonProfileEntry 5 }

		commonProfileTone OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip handlin of tones via RTP tone events per RFC 4733."
			::= { commonProfileEntry 6 }

		commonProfileDtmf OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip handling of DTMF via RTP DTMF events per RFC 4733."
			::= { commonProfileEntry 7 }

		commonProfileCas OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip handling of CAS via RTP CAS events per RFC 4733."
			::= { commonProfileEntry 8 }

		commonProfileAnnounceType OBJECT-TYPE
			SYNTAX  INTEGER {
				silence(0),
				reoTon(1),
				fasBus(2),
				voiAnn(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip treatment when a subscriber goes off hook but dose not attempt a call."
			::= { commonProfileEntry 9 }

		commonProfileJitterTarget OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip target value of the jitter buffer in milliseconds(0 ~ 500 milliseconds)."
			::= { commonProfileEntry 10 }

		commonProfileJitterBufMax OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip maximum depth of the jitter buffer associated with this service in milliseconds(0 ~ 5000 milliseconds)."
			::= { commonProfileEntry 11 }

		commonProfileEchoCancel OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip echo cancellation."
			::= { commonProfileEntry 12 }

		commonProfilePstnProtocol OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip pstn protocol the value is equal to the E.164 country code. ex: taiwan is 886."
			::= { commonProfileEntry 13 }

		commonProfileFaxMode OBJECT-TYPE
			SYNTAX  INTEGER {
				passthru(0),
				t38(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip fax mode."
			::= { commonProfileEntry 14 }

		commonProfile1stCodec OBJECT-TYPE
			SYNTAX  INTEGER {
				pcmu(0),
				gsm(3),
				g723(4),
				dvi48000(5),
				dvi416000(6),
				lpc(7),
				pcma(8),
				g722(9),
				l162(10),
				l161(11),
				qcelp(12),
				cn(13),
				mpa(14),
				g728(15),
				dvi411025(16),
				dvi422050(17),
				g729(18)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip codec selection as defined by RFC 3551."
			::= { commonProfileEntry 15 }

		commonProfile2ndCodec OBJECT-TYPE
			SYNTAX  INTEGER {
				pcmu(0),
				gsm(3),
				g723(4),
				dvi48000(5),
				dvi416000(6),
				lpc(7),
				pcma(8),
				g722(9),
				l162(10),
				l161(11),
				qcelp(12),
				cn(13),
				mpa(14),
				g728(15),
				dvi411025(16),
				dvi422050(17),
				g729(18)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip codec selection as defined by RFC 3551."
			::= { commonProfileEntry 16 }

		commonProfile3rdCodec OBJECT-TYPE
			SYNTAX  INTEGER {
				pcmu(0),
				gsm(3),
				g723(4),
				dvi48000(5),
				dvi416000(6),
				lpc(7),
				pcma(8),
				g722(9),
				l162(10),
				l161(11),
				qcelp(12),
				cn(13),
				mpa(14),
				g728(15),
				dvi411025(16),
				dvi422050(17),
				g729(18)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip codec selection as defined by RFC 3551."
			::= { commonProfileEntry 17 }

		commonProfile4thCodec OBJECT-TYPE
			SYNTAX  INTEGER {
				pcmu(0),
				gsm(3),
				g723(4),
				dvi48000(5),
				dvi416000(6),
				lpc(7),
				pcma(8),
				g722(9),
				l162(10),
				l161(11),
				qcelp(12),
				cn(13),
				mpa(14),
				g728(15),
				dvi411025(16),
				dvi422050(17),
				g729(18)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip codec selection as defined by RFC 3551."
			::= { commonProfileEntry 18 }

		commonProfile1stPacketPeriod OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip packet period selection interval in milliseconds(10 ~ 30 milliseconds)."
			::= { commonProfileEntry 19 }

		commonProfile2ndPacketPeriod OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip packet period selection interval in milliseconds(10 ~ 30 milliseconds)."
			::= { commonProfileEntry 20 }

		commonProfile3rdPacketPeriod OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip packet period selection interval in milliseconds(10 ~ 30 milliseconds)."
			::= { commonProfileEntry 21 }

		commonProfile4thPacketPeriod OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip packet period selection interval in milliseconds(10 ~ 30 milliseconds)."
			::= { commonProfileEntry 22 }

		commonProfile1stSilence OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip silence suppression."
			::= { commonProfileEntry 23 }

		commonProfile2ndSilence OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip silence suppression."
			::= { commonProfileEntry 24 }

		commonProfile3rdSilence OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip silence suppression."
			::= { commonProfileEntry 25 }

		commonProfile4thSilence OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip silence suppression."
			::= { commonProfileEntry 26 }

		commonProfileOobDtmf OBJECT-TYPE
			SYNTAX  INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip out of band DTMF carriage."
			::= { commonProfileEntry 27 }

		commonProfileRowStatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				""
			::= {  commonProfileEntry 28 }

		commonProfileSignalCode OBJECT-TYPE
			SYNTAX  INTEGER {
				loopStart(0),
				groundStart(1),
				loopReverseBattery(2),
				coinFirst(3),
				dialToneFirst(4),
				multiparty(5)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"set ONT Voip signal conde."
			::= {  commonProfileEntry 29 }


 	--  gpon remote ontVoipProfile dialPlan
	dialPlan OBJECT IDENTIFIER ::= { ontVoipProfile 3 }

  	--  gpon remote ontVoipProfile dialPlan dialPlanCommTable
	dialPlanCommTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF DialPlanCommEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		   	""
		::= { dialPlan 1 }

	dialPlanCommEntry OBJECT-TYPE
		SYNTAX	DialPlanCommEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT Voip network dial plan common table."
		INDEX {
			dialPlanCommName
		}
		::= { dialPlanCommTable 1 }

	DialPlanCommEntry ::=
		SEQUENCE {
			dialPlanCommName            DisplayString,
			dialPlanCommMaxSize         INTEGER,
			dialPlanCommCriticalTimeout INTEGER,
			dialPlanCommPartialTimeout  INTEGER,
			dialPlanCommFormat          INTEGER,
			dialPlanCommRowStatus       RowStatus
		}

		dialPlanCommName OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
			"ONT Voip network dial plan Name(1 ~ 15 characters)."
			::= { dialPlanCommEntry 1 }

		dialPlanCommMaxSize OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			"set ONT Voip maximum number of dial plans(1 ~ 256)."
			::= { dialPlanCommEntry 2 }

		dialPlanCommCriticalTimeout OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			"set ONT Voip critical dial timeout for digit map processing in milliseconds(0 ~ 8000 milliseconds)."
			::= { dialPlanCommEntry 3 }

		dialPlanCommPartialTimeout OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			"set ONT Voip partial dial timeout for digit map processing in milliseconds(0 ~ 32000 milliseconds)."
			::= { dialPlanCommEntry 4 }

		dialPlanCommFormat OBJECT-TYPE
			SYNTAX  INTEGER {
			notDefined(0),
			h248(1),
			nsc(2),
			vendorSpecific(3)
			}
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
			"set ONT Voip dial plan format standard that is supported in the ONT for Voip."
			::= { dialPlanCommEntry 5 }

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

  	--  gpon remote ontVoipProfile dialPlan dialPlanContTable
	dialPlanContTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF DialPlanContEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		   	""
		::= { dialPlan 2 }

	dialPlanContEntry OBJECT-TYPE
		SYNTAX	DialPlanContEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in ONT Voip network dial plan content table."
		INDEX {
			dialPlanContName,
			dialPlanContId
		}
		::= { dialPlanContTable 1 }

	DialPlanContEntry ::=
		SEQUENCE {
			dialPlanContName            OCTET STRING,
			dialPlanContId              INTEGER,
			dialPlanContToken           OCTET STRING,
			dialPlanContRowStatus       RowStatus
		}

		dialPlanContName OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ONT Voip network dial plan Name. When get or set this object,
				The value of the object will be parsed to ASCII on SNMPc application."
			::= { dialPlanContEntry 1 }

		dialPlanContId OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"set ONT Voip dial plans id(1 ~ 16)."
			::= { dialPlanContEntry 2 }

		dialPlanContToken OBJECT-TYPE
			SYNTAX  OCTET STRING
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				"set ONT Voip dial plan token(1 ~ 28 characters). When get or set this object,
				The value of the object will be parsed to ASCII on SNMPc application."
			::= { dialPlanContEntry 3 }

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

  	--  gpon remote ontvideoTable
  	ontvideoTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntvideoEntry
        MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
	            ""
        ::= { remote 11 }

	ontvideoEntry OBJECT-TYPE
        SYNTAX      OntvideoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        		"An entry in ontvideoTable"
        INDEX {
        		ifIndex,
        		ontNumber,
        		ontcard,
        		ontvideoPort
        }
    	::= { ontvideoTable 1 }

		OntvideoEntry ::=
			SEQUENCE {
				ontvideoPort		INTEGER,
				ontvideoRowStatus	RowStatus,
				ontvideoAction		INTEGER
			}

		ontvideoPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  not-accessible
			STATUS      current
			DESCRIPTION
			" ontvideoPort."
			::= { ontvideoEntry 1 }

		ontvideoRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-create
			STATUS      current
			DESCRIPTION
				""
			::= { ontvideoEntry 2 }

		ontvideoAction OBJECT-TYPE
			SYNTAX  INTEGER {
				idle(0),
				delAllConfig(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Delete all configurations relating to ontvideo."
			::= { ontvideoEntry 3 }

    --  gpon remote onuModel
        onuModelTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF OnuModelEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                ""
        ::= { remote 12 }

        onuModelEntry OBJECT-TYPE
        SYNTAX  OnuModelEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION    "An entry in ONU model table."
        INDEX {
          onuModelName
        }
        ::= { onuModelTable 1 }

        OnuModelEntry ::=
        SEQUENCE {
          onuModelName                  OCTET STRING,
          onuModelID                    INTEGER,
          onuModelVendorVersion         OCTET STRING,
          onuModelSoftwareVersion       OCTET STRING,
          onuModelCard1                 INTEGER,
          onuModelCard2                 INTEGER,
          onuModelCard3                 INTEGER,
          onuModelCard4                 INTEGER,
          onuModelCard5                 INTEGER,
          onuModelRowStatus             RowStatus
        }

        onuModelName OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model name."
        ::= { onuModelEntry 1 }

        onuModelID OBJECT-TYPE
        SYNTAX  INTEGER (0..8)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model ID."
        ::= { onuModelEntry 2 }

        onuModelVendorVersion OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "ONU model vendor version name."
        ::= { onuModelEntry 3 }

        onuModelSoftwareVersion OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model software version."
        ::= { onuModelEntry 4 }

        onuModelCard1 OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model GIGA Card entity ID. 0 means no this card."
        ::= { onuModelEntry 5 }

        onuModelCard2 OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model VEIP Card entity ID. 0 means no this card."
        ::= { onuModelEntry 6 }

        onuModelCard3 OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model POTS Card entity ID. 0 means no this card."
        ::= { onuModelEntry 7 }

        onuModelCard4 OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model VIDEO Card entity ID. 0 means no this card."
        ::= { onuModelEntry 8 }

        onuModelCard5 OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
         "ONU model 100M Card entity ID. 0 means no this card."
        ::= { onuModelEntry 9 }

        onuModelRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
         "The status of specified ONU model entry."
        ::= { onuModelEntry 10 }

  	--  gpon remoteInfo ponStatusTable
	ponStatusTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF PonStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			""
		::= { remoteInfo 1 }

	ponStatusEntry OBJECT-TYPE
		SYNTAX      PonStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ponStatusTable"
		INDEX {
			ifIndex
		}
		::= { ponStatusTable 1 }

	PonStatusEntry ::=
		SEQUENCE {
			state                         INTEGER,
			oltKeyExchange				  INTEGER,
			snAcq                         INTEGER,
			rogueDectect                  INTEGER,
			rogueDestructState            INTEGER,
			procInterval 			      INTEGER,
			procIntervalSec               INTEGER,
			los                			  INTEGER,
			last                          INTEGER,
			endOfBurstOffset			  INTEGER
		}

		state OBJECT-TYPE
			SYNTAX INTEGER {
				inactive(0),
				active(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" state."
			::= { ponStatusEntry 1 }

		oltKeyExchange OBJECT-TYPE
			SYNTAX INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" pon keyExchange."
			::= { ponStatusEntry 2 }

		snAcq OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" SNAcq."
			::= { ponStatusEntry 3 }

		rogueDectect OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" rogueDectect."
			::= { ponStatusEntry 4 }

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

		procInterval OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" procInterval."
			::= { ponStatusEntry 6 }

		procIntervalSec OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" procIntervalSec."
			::= { ponStatusEntry 7 }

		los OBJECT-TYPE
			SYNTAX      INTEGER {
				off(0),
				on(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" LOS."
			::= { ponStatusEntry 8 }


		last OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Last."
			::= { ponStatusEntry 9 }

		endOfBurstOffset OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" EndofBurstOffset."
			::= { ponStatusEntry 10 }

  	--  gpon remoteInfo ontStatusTable
	RemoteOnuStatus ::= TEXTUAL-CONVENTION
		STATUS      current
		DESCRIPTION
			"Objects with this syntax are status parameters that reflects the status for a given
			provision entity of an ONU. Each provision entity has different error checking list,
			system reports the first failure when it goes through the list. And therefore when
			it shows a specific OOS type OOS-XX, doesn't mean the OOS-XX is the only failure
			of this entity, but the first failure that user should solve before checking next
			checking item of the list. Status can only be IS when it passes all items in the
			checking list.

			Specified as an INTEGER, the values are:
			OOS(0)     -- Out Of Service - Obsoleted status.
			IS(1)      -- In Service. This entity passes all error checking.
			OOS-LO(2)  -- Out Of Service - Line card Oos. (The related line card is OOS)
			OOS-NR(3)  -- Out Of Service - Not Registered. (ONU is not registered)
			OOS-CD(4)  -- Out Of Service - omcC Down. (The OMCC is blocked)
			OOS-NP(5)  -- Out Of Service - Not Provisioned. (This entity is not ever provisioned)
			OOS-PF(6)  -- Out Of Service - Provision Failed. (ONU replies error during provision)
			OOS-AD(7)  -- Out Of Service - Admin Down. (The entity is down administratively)
			OOS-OD(8)  -- Out Of Service - Oper Down. (ONU reports it can't perform its function)
			OOS-OO(9)  -- Out Of Service - Onu Oos. (The related ONU is OOS)
			OOS-TM(10)  -- Out Of Service - Type Mismatch. (The actual type mismatches with config
			                           type)
			OOS-CO(11) -- Out Of Service - onu Card Oos. (The related onu card is OOS)
			OOS-UO(12) -- Out Of Service - Uni Oos. (The related UNI is OOS)
			OOS-NO(13) -- Out Of Service - Nni Oos. (The related NNI is OOS)
			OOS-GS(14) -- Out Of Service - Gem Suspended. (One or many of the related GEM ports
			                           are temporarily closed)
			OOS-GF(15) -- Out Of Service - Gem Failure. (One or many of the related GEM ports
			                           fails during creation)
			OOS-AF(16) -- Out Of Service - Allocid Failure. (One or many of the related allocation
			                           ID fails during creation)
			OOS-VO(17) -- Out Of Service - Vlan Oos. (The related VLAN service is OOS)
        	OOS-DG(18) -- Out Of Service - Dying Gasp. (ONU was ever registered, after that, it was
                                       deregistered due to loss of power)
        	OOS-LS(19) -- Out Of Service - Loss of Signal. (ONU was ever registered, after that, it was
                                       deregistered due to loss of signal)
        	OOS-SB(20) -- Out Of Service - StandBy. (ONU is in standby mode in a protection group)"
		SYNTAX      INTEGER {
			oOS(0),
			iS(1),
			oOS-LO(2),
			oOS-NR(3),
			oOS-CD(4),
			oOS-NP(5),
			oOS-PF(6),
			oOS-AD(7),
			oOS-OD(8),
			oOS-OO(9),
			oOS-TM(10),
			oOS-CO(11),
			oOS-UO(12),
			oOS-NO(13),
			oOS-GS(14),
			oOS-GF(15),
			oOS-AF(16),
			oOS-VO(17),
     		oOS-DG(18),
            oOS-LS(19),
            oOS-SB(20)
		}

		ontStatusTable OBJECT IDENTIFIER ::= { remoteInfo 2 }

  	--  gpon remoteInfo ontStatusTable ontCurrentStatusTable
	ontCurrentStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntCurrentStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontStatusTable 1 }

	ontCurrentStatusEntry OBJECT-TYPE
		SYNTAX      OntCurrentStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontCurrentStatusTable"
		INDEX {
			ifIndex,
			ontNumber
		}
		::= { ontCurrentStatusTable 1 }

	OntCurrentStatusEntry ::=
		SEQUENCE {
			serialNumber                  DisplayString,
			passwordOnt                   DisplayString,
			ontStatus                     INTEGER,
			versionA                      DisplayString,
			versionB                      DisplayString,
			actVersion                    INTEGER,
			estimatedDistance             Unsigned32,
			pppoeStatus                   INTEGER,
			modelVersion                  DisplayString,
			wanIp                         IpAddress,
			upgradeStatus                 INTEGER
		}

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

		passwordOnt OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Ont password."
			::= { ontCurrentStatusEntry 2}

		ontStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT status."
			::= { ontCurrentStatusEntry 3}

		versionA OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			    "versionA"
			::= { ontCurrentStatusEntry 4 }

		versionB OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			    "versionB"
			::= { ontCurrentStatusEntry 5 }

		actVersion OBJECT-TYPE
			SYNTAX      INTEGER {
				none(0),
				versionA(1),
				versionB(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" actVersion."
			::= { ontCurrentStatusEntry 6}

		estimatedDistance  OBJECT-TYPE
			SYNTAX      Unsigned32
			UNITS       "meter"
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"The estimated distance to the ONT."
			::= { ontCurrentStatusEntry 7 }

		pppoeStatus OBJECT-TYPE
			SYNTAX      INTEGER {
				down(0),
				up(1),
				notAvailable(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"This item reports the PPPoE session status of the ONT."
			::= { ontCurrentStatusEntry 8}

		modelVersion OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"This item indicates the model version reported by ONU."
			::= { ontCurrentStatusEntry 9}

		wanIp OBJECT-TYPE
			SYNTAX  IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"WAN IP address of this ONU."
			::= { ontCurrentStatusEntry 10 }

 		upgradeStatus OBJECT-TYPE
			SYNTAX      INTEGER {
				idle(0),
				match(1),
				downloading(2),
				successAndReboot(3),
				failed(4),
				failedWhtiOntDown(5),
				notFoundTheMatchImage(6),
				noPlannedVer(7),
				timeout(8),
				ontNotReady(9),
				swdlQueueFull(10),
				downloading(11),
				inWaitingQueue(12),
				mismatch(13),
				changeToImage1(14),
				changeToImage2(15),
				noImage(16),
				alreadySuccess(17),
				alreadyChangeToImage1(18),
				alreadyChangeToImage2(19)
			}			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"The upgrade status of this ONU.
				0. The upgrade status is idle.
				1. The planned version of the ont and the action version of the ONT match.
				2. The ONT start to download the FW.
				3. The ONT upgraded the FW successes and reboot.
				4. The ONT upgraded the FW failed.
				5. The ONT upgraded the FW failed becaus ONT down.
				6. Not found the matching image with the planned version.
				7. The ONT is not set the planned version.
				8. The ONT upgraded the FW failed because timeout.
				9. The ONT status is not ready.
				10. The FW upgrade waiting queue is full.
				11. The ONT is downloading.
				12. The ONT is already in waiting queue.
				13. The ONT action version and the planned version mismatch.
				14. Change to Image(1) and reboot.
				15. Change to Image(2) and reboot.
				16. No ONT image on the OLT."
			::= { ontCurrentStatusEntry 11 }


  	--  gpon remoteInfo ontStatusTable ontCountersTable
	ontCountersTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntCountersEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			" ontCountersTable"
		::= { ontStatusTable 4 }

	ontCountersEntry OBJECT-TYPE
		SYNTAX      OntCountersEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontCountersTable"
		INDEX {
			ifIndex,
			ontNumber
		}
		::= { ontCountersTable 1 }

	OntCountersEntry ::=
		SEQUENCE {
			ontCountersUnreceivedBursts			Counter32,
			ontCountersPositiveDriftBits		Counter32,
			ontCountersNegativeDriftBits		Counter32,
			ontCountersBip8Errors				Counter32,
			ontCountersCorrectedBytes			Counter32,
			ontCountersCorrectedCodewords		Counter32,
			ontCountersUncorrctableCodewords	Counter32,
			ontCountersTotalReceivedCodewords	Counter32,
			ontCountersDsBer                    Counter32,
			ontCountersBipByte  				Counter32,
			ontCountersRxPloamCrcErrors			Counter32,
			ontCountersRxPloamNonidle		    Counter32,
			ontCountersRxOmciPacketCrcErrors	Counter32,
			ontCountersLcdgErrors			    Counter32,
			ontCountersRdiErrors		        Counter32,
			ontCountersRxOmciPacket		        Counter32
		}

		ontCountersUnreceivedBursts OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Unreceived bursts."
			::= { ontCountersEntry 1}

		ontCountersPositiveDriftBits OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Positive drift (bits)."
			::= { ontCountersEntry 2}

		ontCountersNegativeDriftBits OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Negative drift (bits)."
			::= { ontCountersEntry 3}

		ontCountersBip8Errors OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Bip8 errors."
			::= { ontCountersEntry 4}

		ontCountersCorrectedBytes OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Corrected Bytes."
			::= { ontCountersEntry 5}

		ontCountersCorrectedCodewords OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Corrected Codewords."
			::= { ontCountersEntry 6}

		ontCountersUncorrctableCodewords OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Uncorrctable Codewords."
			::= { ontCountersEntry 7}

		ontCountersTotalReceivedCodewords OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Total received Codewords."
			::= { ontCountersEntry 8}

		ontCountersDsBer OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" DS BER (REI)."
			::= { ontCountersEntry 9}

		ontCountersBipByte OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Bip byte."
			::= { ontCountersEntry 10}

		ontCountersRxPloamCrcErrors OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Rx Ploam CrcErrors."
			::= { ontCountersEntry 11}

		ontCountersRxPloamNonidle OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Rx Ploam non idle."
			::= { ontCountersEntry 12}

		ontCountersRxOmciPacketCrcErrors OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Rx Omci Packet Crc Errors."
			::= { ontCountersEntry 13}

		ontCountersLcdgErrors OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Lcdg errors."
			::= { ontCountersEntry 14}

		ontCountersRdiErrors OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Rdi errors."
			::= { ontCountersEntry 15}

		ontCountersRxOmciPacket OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" Rx Omci Packet."
			::= { ontCountersEntry 16}

--  ontWanStatusTable

		ontWanStatusTable OBJECT-TYPE
		    SYNTAX      SEQUENCE OF OntWanStatusEntry
		    MAX-ACCESS  not-accessible
		    STATUS  current
		    DESCRIPTION
		    ""
		    ::= { ontStatusTable 5 }

		ontWanStatusEntry OBJECT-TYPE
		    SYNTAX      OntWanStatusEntry
		    MAX-ACCESS  not-accessible
		    STATUS	current
		    DESCRIPTION
		        "An entry in ontWanStatusTable"
		    INDEX {
			    ifIndex,
		        ontNumber,
		        ontWanId
		    }
		    ::= { ontWanStatusTable 1 }

		OntWanStatusEntry ::=
		SEQUENCE {
		    ontWanId                   INTEGER,
		    ontWanStatusEnable         INTEGER,
		    ontWanStatusType           INTEGER,
		    ontWanStatusLinkStatus     INTEGER,
		    ontWanStatusServiceType    BITS,
		    ontWanStatusVlan           INTEGER,
		    ontWanStatusPriority       INTEGER,
		    ontWanStatusIpMode         INTEGER,
		    ontWanStatusIp             IpAddress,
		    ontWanStatusMask           IpAddress,
		    ontWanStatusGateway        IpAddress,
		    ontWanStatusPrimaryDns     IpAddress,
		    ontWanStatusSecondDns      IpAddress,
		    ontWanStatusNat            INTEGER
		}

		ontWanId OBJECT-TYPE
			SYNTAX  INTEGER (1..4)
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
				" ont wan Id"
			::= { ontWanStatusEntry 1 }

		ontWanStatusEnable OBJECT-TYPE
			SYNTAX      INTEGER {
 			disable(0),
 			enable(1)
			}
 			MAX-ACCESS  read-only
 			STATUS  current
			DESCRIPTION
				"This MIB reports the wan status type."
			::= { ontWanStatusEntry 2 }

		ontWanStatusType OBJECT-TYPE
			SYNTAX      INTEGER {
				ipoe(0),
				pppoe(1),
				bridging(2)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan status type."
			::= { ontWanStatusEntry 3 }

		ontWanStatusLinkStatus OBJECT-TYPE
			SYNTAX      INTEGER {
				down(0),
				up(1)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan status."
			::= { ontWanStatusEntry 4 }

		ontWanStatusServiceType OBJECT-TYPE
			SYNTAX	BITS {
				data(0),
				voip(1),
				management(2),
				iptv(3)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan status."
			::= { ontWanStatusEntry 5 }

		ontWanStatusVlan OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan vlan."
			::= { ontWanStatusEntry 6 }

		ontWanStatusPriority OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan proirity."
			::= { ontWanStatusEntry 7 }

		ontWanStatusIpMode OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan ip mode."
			::= { ontWanStatusEntry 8 }

		ontWanStatusIp OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan IP."
			::= { ontWanStatusEntry 9 }

		ontWanStatusMask OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan IP mask."
			::= { ontWanStatusEntry 10 }

		ontWanStatusGateway  OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan IP gateway."
			::= { ontWanStatusEntry 11 }

		ontWanStatusPrimaryDns  OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan primary dns."
			::= { ontWanStatusEntry 12 }

		ontWanStatusSecondDns  OBJECT-TYPE
			SYNTAX      IpAddress
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan second dns."
			::= { ontWanStatusEntry 13 }

		ontWanStatusNat OBJECT-TYPE
			SYNTAX      INTEGER {
				disable(0),
				enable(1)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the wan nat status."
			::= { ontWanStatusEntry 14 }

  	--  gpon remoteInfo ontStatusTable ontBwGroupStatusTable
	ontBwGroupStatusTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntBwGroupStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontStatusTable 3 }

	ontBwGroupStatusEntry OBJECT-TYPE
		SYNTAX      OntBwGroupStatusEntry
		MAX-ACCESS  not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in ontBwGroupStatusTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontBwGroupId
		}
		::= { ontBwGroupStatusTable 1 }

	OntBwGroupStatusEntry ::=
		SEQUENCE {
			ontBwGroupStatusAllocId        INTEGER
--			ontBwGroupStatusCurrUsDataRate   INTEGER
		}

		ontBwGroupStatusAllocId OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"This MIB reports the allocation ID assigned to this bandwidth group."
			::= { ontBwGroupStatusEntry 1 }

--		ontBwGroupStatusCurrUsDataRate OBJECT-TYPE
--			SYNTAX  INTEGER
--			MAX-ACCESS  read-only
--			STATUS  current
--			DESCRIPTION
--				"This MIB reports the actual upstream data rate calculated by OLT in bps."
--			::= { ontBwGroupStatusEntry 2 }

  	--  gpon remoteInfo ontCardStatusTable
	ontCardStatusTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF OntCardStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			""
		::= { remoteInfo 3 }

	ontCardStatusEntry OBJECT-TYPE
		SYNTAX      OntCardStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontCardStatusTable"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard
		}
		::= { ontCardStatusTable 1 }

	OntCardStatusEntry ::=
		SEQUENCE {
			status                        INTEGER,
			adminState				  	  INTEGER,
			--            opState                       INTEGER,
			expectType                    INTEGER,
			actualType            	   	  INTEGER,
			expectedPort 			      INTEGER,
			actualPort               	  INTEGER
		}

		status OBJECT-TYPE
			SYNTAX RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT card status."
			::= { ontCardStatusEntry 1 }

		adminState OBJECT-TYPE
			SYNTAX      INTEGER {
			unlocked(0),
			locked(1)
			}

			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" adminState."
			::= { ontCardStatusEntry 2 }

		expectType OBJECT-TYPE
			SYNTAX      INTEGER {
				ether(0),
				veip(1),
				pots(2),
				xdsl(3),
				giga(4),
				video(5),
				unknow(6),
				ether2500M(7),
				ether10G(8),
				giga-veip(9)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" expectType."
			::= { ontCardStatusEntry 4 }

		actualType OBJECT-TYPE
			SYNTAX      INTEGER {
				ether(0),
				veip(1),
				pots(2),
				xdsl(3),
				giga(4),
				video(5),
				unknow(6),
				ether2500M(7),
				ether10G(8),
				giga-veip(9)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" actualType."
			::= { ontCardStatusEntry 5 }

		expectedPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" expectedPort."
			::= { ontCardStatusEntry 6 }

		actualPort OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" actualPort."
			::= { ontCardStatusEntry 7 }

  	--  gpon remoteInfo ontDdmiStatusTable
	ontDdmiStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntDdmiStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { remoteInfo 4 }

	ontDdmiStatusEntry OBJECT-TYPE
		SYNTAX      OntDdmiStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontDdmiStatusTable"
		INDEX {
			ifIndex,
			ontNumber
		}
		::= { ontDdmiStatusTable 1 }

	OntDdmiStatusEntry ::=
		SEQUENCE {
			voltage                  DisplayString,
			rxPower                  DisplayString,
			txPower                  DisplayString,
			laserCurrent	         DisplayString,
			ontTemperature           DisplayString,
			ontDdmiRowStatus         EnabledStatus,
			ontDdmiStatus         INTEGER
		}

		voltage OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Voltage (V)."
			::= { ontDdmiStatusEntry 1}

		rxPower OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Rx power (dbm)."
			::= { ontDdmiStatusEntry 2}

		txPower OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Tx power (db)."
			::= { ontDdmiStatusEntry 3}

		laserCurrent OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Laser Bias current (uA)."
			::= { ontDdmiStatusEntry 4}

		ontTemperature OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Temperature (C)."
			::= { ontDdmiStatusEntry 5}

		ontDdmiRowStatus OBJECT-TYPE
			SYNTAX      EnabledStatus
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				""
			::= { ontDdmiStatusEntry 6 }

		ontDdmiStatus OBJECT-TYPE
	        SYNTAX      INTEGER {
	        	none(0),
	          waiting(1),
	          processing(2),
	          done(3)
	        }
	        MAX-ACCESS  read-only
	        STATUS      current
	        DESCRIPTION
	         	" ontDdmiStatus."
	        ::= { ontDdmiStatusEntry 7 }

  	--  gpon remoteInfo ontEnetPmCounters
	ontEnetPmCounters OBJECT IDENTIFIER ::= { remoteInfo 5}

  	--  gpon remoteInfo ontEnetPmCounters ontEnetCurrentPmCountersTable
	ontEnetCurrentPmCountersTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntEnetCurrentPmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontEnetPmCounters 1 }

	ontEnetCurrentPmCountersEntry OBJECT-TYPE
		SYNTAX      OntEnetCurrentPmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontEnetPmCounters"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontEnetCurrentPmCountersTable 1 }

	OntEnetCurrentPmCountersEntry ::=
		SEQUENCE {
			ontEnetCurrentPmUsOctets		Counter64,
			ontEnetCurrentPmUsPackets		Counter64,
			ontEnetCurrentPmUsMcastPackets	Counter64,
			ontEnetCurrentPmUsBcastPackets	Counter64,
			ontEnetCurrentPmDsOctets		Counter64,
			ontEnetCurrentPmDsPackets		Counter64,
			ontEnetCurrentPmDsMcastPackets	Counter64,
			ontEnetCurrentPmDsBcastPackets	Counter64,
			ontEnetPmCountersGetCurrent		EnabledStatus,
      ontEnetPmCountersCheckGetCurrent            INTEGER
		}

		ontEnetCurrentPmUsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream octets."
			::= { ontEnetCurrentPmCountersEntry 1}

		ontEnetCurrentPmUsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream packets."
			::= { ontEnetCurrentPmCountersEntry 2}

		ontEnetCurrentPmUsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream mcast packets."
			::= { ontEnetCurrentPmCountersEntry 3}

		ontEnetCurrentPmUsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream bcast packets."
			::= { ontEnetCurrentPmCountersEntry 4}

		ontEnetCurrentPmDsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream octets."
			::= { ontEnetCurrentPmCountersEntry 5}

		ontEnetCurrentPmDsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream packets."
			::= { ontEnetCurrentPmCountersEntry 6}

		ontEnetCurrentPmDsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream mcast packets."
			::= { ontEnetCurrentPmCountersEntry 7}

		ontEnetCurrentPmDsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream bcast packets."
			::= { ontEnetCurrentPmCountersEntry 8}

		ontEnetPmCountersGetCurrent OBJECT-TYPE
			SYNTAX      EnabledStatus
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				""
			::= { ontEnetCurrentPmCountersEntry 9 }

	ontEnetPmCountersCheckGetCurrent OBJECT-TYPE
       SYNTAX      INTEGER {
        standby(0),
        processing(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         ""
        ::= { ontEnetCurrentPmCountersEntry 10 }

  	--  gpon remoteInfo ontEnetPmCounters ontEnetLast15PmCountersTable
	ontEnetLast15PmCountersTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntEnetLast15PmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontEnetPmCounters 2 }

	ontEnetLast15PmCountersEntry OBJECT-TYPE
		SYNTAX      OntEnetLast15PmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontEnetPmCounters"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontEnetLast15PmCountersTable 1 }

	OntEnetLast15PmCountersEntry ::=
		SEQUENCE {
			ontEnetLast15PmUsOctets                  Counter64,
			ontEnetLast15PmUsPackets                 Counter64,
			ontEnetLast15PmUsMcastPackets            Counter64,
			ontEnetLast15PmUsBcastPackets            Counter64,
			ontEnetLast15PmDsOctets                  Counter64,
			ontEnetLast15PmDsPackets                 Counter64,
			ontEnetLast15PmDsMcastPackets            Counter64,
			ontEnetLast15PmDsBcastPackets	         Counter64,
			ontEnetLast15PmInterval     	         Counter32
		}

		ontEnetLast15PmUsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream octets."
			::= { ontEnetLast15PmCountersEntry 1}

		ontEnetLast15PmUsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream packets."
			::= { ontEnetLast15PmCountersEntry 2}

		ontEnetLast15PmUsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream mcast packets."
			::= { ontEnetLast15PmCountersEntry 3}

		ontEnetLast15PmUsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters up stream bcast packets."
			::= { ontEnetLast15PmCountersEntry 4}

		ontEnetLast15PmDsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream octets."
			::= { ontEnetLast15PmCountersEntry 5}

		ontEnetLast15PmDsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream packets."
			::= { ontEnetLast15PmCountersEntry 6}

		ontEnetLast15PmDsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream mcast packets."
			::= { ontEnetLast15PmCountersEntry 7}

		ontEnetLast15PmDsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters ds stream bcast packets."
			::= { ontEnetLast15PmCountersEntry 8}

		ontEnetLast15PmInterval OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet PM counters Interval."
			::= { ontEnetLast15PmCountersEntry 9}

  	--  gpon remoteInfo ontEnetStatus
	ontEnetStatus OBJECT IDENTIFIER ::= { remoteInfo 6}

	ontEnetStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntEnetStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontEnetStatus 1 }

	ontEnetStatusEntry OBJECT-TYPE
		SYNTAX      OntEnetStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontEnetStatus"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontEnetStatusTable 1 }

	OntEnetStatusEntry ::=
		SEQUENCE {
			ontEnetPortStatus                  INTEGER
		}


		ontEnetPortStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT enet ME provision status."
			::= { ontEnetStatusEntry 1}

  	--  gpon remoteInfo ontVenetPmCounters
	ontVenetPmCounters OBJECT IDENTIFIER ::= { remoteInfo 7}

  	--  gpon remoteInfo ontVenetPmCounters ontVenetCurrentPmCountersTable
	ontVenetCurrentPmCountersTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntVenetCurrentPmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVenetPmCounters 1 }

	ontVenetCurrentPmCountersEntry OBJECT-TYPE
		SYNTAX      OntVenetCurrentPmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontVenetPmCounters"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontVenetCurrentPmCountersTable 1 }

	OntVenetCurrentPmCountersEntry ::=
		SEQUENCE {
			ontVenetCurrentPmUsOctets			Counter64,
			ontVenetCurrentPmUsPackets			Counter64,
			ontVenetCurrentPmUsMcastPackets		Counter64,
			ontVenetCurrentPmUsBcastPackets		Counter64,
			ontVenetCurrentPmDsOctets			Counter64,
			ontVenetCurrentPmDsPackets			Counter64,
			ontVenetCurrentPmDsMcastPackets		Counter64,
			ontVenetCurrentPmDsBcastPackets		Counter64,
			ontVenetPmCountersGetCurrent		EnabledStatus,
      ontVenetPmCountersCheckGetCurrent            INTEGER
		}

		ontVenetCurrentPmUsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Octets Cont."
			::= { ontVenetCurrentPmCountersEntry 1}

		ontVenetCurrentPmUsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Packets Count."
			::= { ontVenetCurrentPmCountersEntry 2}

		ontVenetCurrentPmUsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Multicast Packets Count."
			::= { ontVenetCurrentPmCountersEntry 3}

		ontVenetCurrentPmUsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Broadcast Packets Count."
			::= { ontVenetCurrentPmCountersEntry 4}

		ontVenetCurrentPmDsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Octets Cont."
			::= { ontVenetCurrentPmCountersEntry 5}

		ontVenetCurrentPmDsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Packets Count."
			::= { ontVenetCurrentPmCountersEntry 6}

		ontVenetCurrentPmDsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Multicast Packets Count."
			::= { ontVenetCurrentPmCountersEntry 7}

		ontVenetCurrentPmDsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Broadcast Packets Count."
			::= { ontVenetCurrentPmCountersEntry 8}

		ontVenetPmCountersGetCurrent OBJECT-TYPE
			SYNTAX      EnabledStatus
			MAX-ACCESS  read-write
			STATUS      current
			DESCRIPTION
				""
			::= { ontVenetCurrentPmCountersEntry 9 }

	ontVenetPmCountersCheckGetCurrent OBJECT-TYPE
       SYNTAX      INTEGER {
        standby(0),
        processing(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         ""
        ::= { ontVenetCurrentPmCountersEntry 10 }

  	--  gpon remoteInfo ontVenetPmCounters ontVenetLast15PmCountersTable
	ontVenetLast15PmCountersTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntVenetLast15PmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVenetPmCounters 2 }

	ontVenetLast15PmCountersEntry OBJECT-TYPE
		SYNTAX      OntVenetLast15PmCountersEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontVenetPmCounters"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontenetCardPort
		}
		::= { ontVenetLast15PmCountersTable 1 }

	OntVenetLast15PmCountersEntry ::=
		SEQUENCE {
			ontVenetLast15PmUsOctets                  Counter64,
			ontVenetLast15PmUsPackets                 Counter64,
			ontVenetLast15PmUsMcastPackets            Counter64,
			ontVenetLast15PmUsBcastPackets            Counter64,
			ontVenetLast15PmDsOctets                  Counter64,
			ontVenetLast15PmDsPackets                 Counter64,
			ontVenetLast15PmDsMcastPackets            Counter64,
			ontVenetLast15PmDsBcastPackets            Counter64,
			ontVenetLast15PmInterval                  Counter32
		}

		ontVenetLast15PmUsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Octets Count."
			::= { ontVenetLast15PmCountersEntry 1}

		ontVenetLast15PmUsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Packets Count."
			::= { ontVenetLast15PmCountersEntry 2}

		ontVenetLast15PmUsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Multicast Packets Count."
			::= { ontVenetLast15PmCountersEntry 3}

		ontVenetLast15PmUsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Upstream Broadcast Packets Count."
			::= { ontVenetLast15PmCountersEntry 4}

		ontVenetLast15PmDsOctets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Octets Count."
			::= { ontVenetLast15PmCountersEntry 5}

		ontVenetLast15PmDsPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Packets Count."
			::= { ontVenetLast15PmCountersEntry 6}

		ontVenetLast15PmDsMcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Multicast Packets Count."
			::= { ontVenetLast15PmCountersEntry 7}

		ontVenetLast15PmDsBcastPackets OBJECT-TYPE
			SYNTAX      Counter64
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Downstream Broadcast Packets Count."
			::= { ontVenetLast15PmCountersEntry 8}

		ontVenetLast15PmInterval OBJECT-TYPE
			SYNTAX      Counter32
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT venet PM counters Interval."
			::= { ontVenetLast15PmCountersEntry 9}

  	--  gpon remoteInfo ontVenetStatusInfo
	ontVenetStatusInfo OBJECT IDENTIFIER ::= { remoteInfo 8}

	ontVenetStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntVenetStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVenetStatusInfo 1 }

	ontVenetStatusEntry OBJECT-TYPE
		SYNTAX      OntVenetStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontVenetStatusInfo"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontvenetCardPort
		}
		::= { ontVenetStatusTable 1 }

	OntVenetStatusEntry ::=
		SEQUENCE {
			ontVenetStatus			INTEGER
		}

		ontVenetStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Venet ME provision status."
			::= { ontVenetStatusEntry 1}

  	--  gpon remoteInfo ontPotsStatusInfo
	ontPotsStatusInfo OBJECT IDENTIFIER ::= { remoteInfo 9}

	ontPotsStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntPotsStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontPotsStatusInfo 1 }

	ontPotsStatusEntry OBJECT-TYPE
		SYNTAX      OntPotsStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontPotsStatusInfo"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontpotsCardPort
		}
		::= { ontPotsStatusTable 1 }

	OntPotsStatusEntry ::=
		SEQUENCE {
			ontPotsStatus			INTEGER
		}

		ontPotsStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Pots ME provision status."
			::= { ontPotsStatusEntry 1}

  	--  gpon remoteInfo ontUniportStatusInfo
	ontUniportStatusInfo OBJECT IDENTIFIER ::= { remoteInfo 10}

	uniportVlanStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportVlanStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontUniportStatusInfo 1 }

	uniportVlanStatusEntry OBJECT-TYPE
		SYNTAX      UniportVlanStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in uniportVlanStatusInfo"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniportVlanUniSvid,
			uniportVlanUniCvid
		}
		::= { uniportVlanStatusTable 1 }

	UniportVlanStatusEntry ::=
		SEQUENCE {
			uniportVlanStatus			INTEGER
		}


		uniportVlanStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" uniport VLAN ME provision status."
			::= { uniportVlanStatusEntry 1}

	uniportFdbTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniportFdbEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontUniportStatusInfo 2 }

	uniportFdbEntry OBJECT-TYPE
		SYNTAX      UniportFdbEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"uniport fdb address table, following the content of OMCI MAC bridge port bridge table data ME."
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniFdbIndex
		}
		::= { uniportFdbTable 1 }

	UniportFdbEntry ::=
		SEQUENCE {
			uniFdbIndex		INTEGER,
			uniFdbMac		MacAddress,
			uniFdbAge		INTEGER,
			uniFdbDynamic	INTEGER,
			uniFdbFilter	INTEGER
		}

		uniFdbIndex OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      mandatory
			DESCRIPTION
				" uniport fdb index."
			::= { uniportFdbEntry 1}

		uniFdbMac OBJECT-TYPE
			SYNTAX      MacAddress
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" uniport MAC address."
			::= { uniportFdbEntry 2}

		uniFdbAge OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" uniport MAC aging time in seconds."
			::= { uniportFdbEntry 3}

		uniFdbDynamic OBJECT-TYPE
			SYNTAX      INTEGER{
				static(0),
				dynamic(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" uniport MAC address type, either dynamic or static."
			::= { uniportFdbEntry 4}

		uniFdbFilter OBJECT-TYPE
			SYNTAX      INTEGER{
				forward(0),
				filter(1)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" uniport MAC filter type, either forward or filter."
			::= { uniportFdbEntry 5}

-- UNI IGMP STATISTICS
    uniportIgmpStatisticsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF UniportIgmpStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP Channel statistics information"
        ::= { ontUniportStatusInfo 3 }

	uniportIgmpStatisticsEntry OBJECT-TYPE
        SYNTAX UniportIgmpStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in uniport Igmp Statistics Table"
        INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			uniPort,
			uniVid
		}
        ::= { uniportIgmpStatisticsTable 1 }

    UniportIgmpStatisticsEntry ::=
        	SEQUENCE {
				uniportIgmpStatisticsUniVid			INTEGER,
				uniportIgmpStatisticsRxReportV1		INTEGER,
				uniportIgmpStatisticsRxReportV2		INTEGER,
				uniportIgmpStatisticsRxReportV3		INTEGER,
				uniportIgmpStatisticsRxLeave		INTEGER,
				uniportIgmpStatisticsDropRate		INTEGER,
				uniportIgmpStatisticsDropOthers		INTEGER
			}

    uniportIgmpStatisticsUniVid OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "UniVid"
        ::= { uniportIgmpStatisticsEntry 1 }

    uniportIgmpStatisticsRxReportV1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RxReportV1"
        ::= { uniportIgmpStatisticsEntry 2 }

    uniportIgmpStatisticsRxReportV2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RxReportV2"
        ::= { uniportIgmpStatisticsEntry 3 }

    uniportIgmpStatisticsRxReportV3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RxReportV3"
        ::= { uniportIgmpStatisticsEntry 4 }

    uniportIgmpStatisticsRxLeave OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RxLeave"
        ::= { uniportIgmpStatisticsEntry 5 }

    uniportIgmpStatisticsDropRate OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "DropRate"
        ::= { uniportIgmpStatisticsEntry 6 }

    uniportIgmpStatisticsDropOthers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "DropOthers"
        ::= { uniportIgmpStatisticsEntry 7 }

  	--  gpon remoteInfo ontVideoStatus
	ontVideoStatus OBJECT IDENTIFIER ::= { remoteInfo 11}

	ontVideoStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntVideoStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { ontVideoStatus 1 }

	ontVideoStatusEntry OBJECT-TYPE
		SYNTAX      OntVideoStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontVideoStatus"
		INDEX {
			ifIndex,
			ontNumber,
			ontcard,
			ontvideoPort
		}
		::= { ontVideoStatusTable 1 }

	OntVideoStatusEntry ::=
		SEQUENCE {
			ontVideoPortStatus			INTEGER
		}

		ontVideoPortStatus OBJECT-TYPE
			SYNTAX      RemoteOnuStatus
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"ontVideo provision status."
			::= { ontVideoStatusEntry 1}

--  gpon remoteInfo ontDdmiHistoryStatusTable
	ontDdmiHistoryStatusTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF OntDdmiHistoryStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { remoteInfo 12 }

	ontDdmiHistoryStatusEntry OBJECT-TYPE
		SYNTAX      OntDdmiHistoryStatusEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
			"An entry in ontDdmiHistoryStatusTable"
		INDEX {
			ifIndex,
			ontNumber
		}
		::= { ontDdmiHistoryStatusTable 1 }

	OntDdmiHistoryStatusEntry ::=
		SEQUENCE {
			ontDdmiHistLast15Voltage                  DisplayString,
			ontDdmiHistLast15RxPower                  DisplayString,
			ontDdmiHistLast15TxPower                  DisplayString,
			ontDdmiHistLast15LaserCurrent	         DisplayString,
			ontDdmiHistLast15Temperature           DisplayString,
		}

		ontDdmiHistLast15Voltage OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Voltage (V) in the last 15 minutes."
			::= { ontDdmiHistoryStatusEntry 1}

		ontDdmiHistLast15RxPower OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Rx power (dbm) in the last 15 minutes."
			::= { ontDdmiHistoryStatusEntry 2}

		ontDdmiHistLast15TxPower OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Tx power (db) in the last 15 minutes."
			::= { ontDdmiHistoryStatusEntry 3}

		ontDdmiHistLast15LaserCurrent OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Laser Bias current (uA) in the last 15 minutes."
			::= { ontDdmiHistoryStatusEntry 4}

		ontDdmiHistLast15Temperature OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				" ONT Temperature (C) in the last 15 minutes."
			::= { ontDdmiHistoryStatusEntry 5}

  	--  gpon uniPortOpModePortTable
	uniPortOpModePortTable  OBJECT-TYPE
		SYNTAX	SEQUENCE OF UniPortOpModePortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { uniPortOpModeSetup 1 }

	uniPortOpModePortEntry  OBJECT-TYPE
		SYNTAX	UniPortOpModePortEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in uniPortOpModePortTable."
		INDEX          	{ ifIndex }
		::= { uniPortOpModePortTable 1 }

	UniPortOpModePortEntry ::=
		SEQUENCE {
			uniPortOpModePortVlanTranslation		INTEGER,
			uniPortOpModePortVlanXlateMissDrop		INTEGER,
			uniPortOpModePortEgrVlanXlateMissDrop	INTEGER
		}

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

		uniPortOpModePortVlanXlateMissDrop OBJECT-TYPE
			SYNTAX  INTEGER {
				enable(0),
				disable(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				""
			::= { uniPortOpModePortEntry 2 }

		uniPortOpModePortEgrVlanXlateMissDrop OBJECT-TYPE
			SYNTAX  INTEGER {
				enable(0),
				disable(1)
			}
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				""
			::= { uniPortOpModePortEntry 3 }

--  gpon rateLimitSetup
--		rateLimitState OBJECT-TYPE
--			SYNTAX  EnabledStatus
--			MAX-ACCESS  read-write
--			STATUS  current
--			DESCRIPTION
--				"Ingress/egress rate limiting enabled/disabled for the switch."
--			::= { rateLimitSetup 1 }
--
--	rateLimitPortTable OBJECT-TYPE
--		SYNTAX	SEQUENCE OF RateLimitPortEntry
--		MAX-ACCESS  not-accessible
--		STATUS  current
--		DESCRIPTION
--			""
--		::= { rateLimitSetup 2 }
--
--	rateLimitPortEntry OBJECT-TYPE
--		SYNTAX	RateLimitPortEntry
--		MAX-ACCESS	not-accessible
--		STATUS	current
--		DESCRIPTION    	"An entry in rateLimitPortTable."
--		INDEX          	{ ifIndex }
--		::= { rateLimitPortTable 1 }
--
--	RateLimitPortEntry ::=
--		SEQUENCE {
--			rateLimitPortState	EnabledStatus,
--			rateLimitPortCommitRate	INTEGER,
--			rateLimitPortPeakRate	INTEGER,
--			rateLimitPortEgrRate	INTEGER,
--			rateLimitPortPeakState	EnabledStatus,
--			rateLimitPortEgrState	EnabledStatus,
--			rateLimitPortCommitState EnabledStatus
--		}
--
--		rateLimitPortState OBJECT-TYPE
--			SYNTAX  EnabledStatus
--			MAX-ACCESS  read-write
--			STATUS  current
--			DESCRIPTION
--				"Ingress/egress rate limiting enabled/disabled on the port."
--			::= { rateLimitPortEntry 1 }

--  gpon transceiverInfo transceiverSerialInfoTable
	transceiverSerialInfoTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF TransceiverSerialInfoEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		 	""
		::= { transceiverInfo 1 }

	transceiverSerialInfoEntry OBJECT-TYPE
		SYNTAX	TransceiverSerialInfoEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in transceiverSerialInfoTable."
		INDEX          	{ transceiverSerialInfoEntryPort }
		::= { transceiverSerialInfoTable 1 }

	TransceiverSerialInfoEntry ::=
		SEQUENCE {
			transceiverSerialInfoEntryPort			INTEGER,
			transceiverSerialInfoEntryStatus		INTEGER,
			transceiverSerialInfoEntryVendor		DisplayString,
			transceiverSerialInfoEntryPartNo		DisplayString,
			transceiverSerialInfoEntrySerialNo		DisplayString,
			transceiverSerialInfoEntryRevision		DisplayString,
			transceiverSerialInfoEntryDateCode		DisplayString,
			transceiverSerialInfoEntryTransceiver	DisplayString,
			transceiverSerialInfoEntryCalibration	DisplayString
		}

		transceiverSerialInfoEntryPort OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Index of transceiverSerialInfo. It is referred to ifIndex"
			::= { transceiverSerialInfoEntry 1 }

		transceiverSerialInfoEntryStatus OBJECT-TYPE
			SYNTAX  INTEGER {
				okWithDdm(1),
				okWithoutDdm(2),
				nonOperational(3)
			}
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver module status. 1:okWithDdm. 2:okWithoutDdm. 3:nonOperational"
			::= { transceiverSerialInfoEntry 2 }

		transceiverSerialInfoEntryVendor OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver module vendor name."
			::= { transceiverSerialInfoEntry 3 }

		transceiverSerialInfoEntryPartNo OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Part number provided by transceiver module vendor."
			::= { transceiverSerialInfoEntry 4 }

		transceiverSerialInfoEntrySerialNo OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
			      	"Serial number provided by transceiver module vendor."
			::= { transceiverSerialInfoEntry 5 }

		transceiverSerialInfoEntryRevision OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Revision level for part number provided by transceiver module vendor."
			::= { transceiverSerialInfoEntry 6 }

		transceiverSerialInfoEntryDateCode OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver module vendor's manufacturing date code"
			::= { transceiverSerialInfoEntry 7 }

		transceiverSerialInfoEntryTransceiver OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver module type names"
			::= { transceiverSerialInfoEntry 8 }

		transceiverSerialInfoEntryCalibration OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver module type calibration"
			::= { transceiverSerialInfoEntry 9 }


  	--  gpon transceiverInfo transceiverDdmInfoTable
	transceiverDdmInfoTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF TransceiverDdmInfoEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		 	""
		::= { transceiverInfo 2 }

	transceiverDdmInfoEntry OBJECT-TYPE
		SYNTAX	TransceiverDdmInfoEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in transceiverDdmInfoTable."
		INDEX          	{ transceiverDdmInfoEntryPort, transceiverDdmInfoEntryType }
		::= { transceiverDdmInfoTable 1 }

	TransceiverDdmInfoEntry ::=
		SEQUENCE {
			transceiverDdmInfoEntryPort			INTEGER,
			transceiverDdmInfoEntryType			INTEGER,
			transceiverDdmInfoEntryAlarmMax		DisplayString,
			transceiverDdmInfoEntryAlarmMin		DisplayString,
			transceiverDdmInfoEntryWarnMax		DisplayString,
			transceiverDdmInfoEntryWarnMin		DisplayString,
			transceiverDdmInfoEntryCurrent		DisplayString,
			transceiverDdmInfoEntryDescription	DisplayString
		}

		transceiverDdmInfoEntryPort OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Index of transceiverDdmInfo. This will be referred to ifIndex"
			::= { transceiverDdmInfoEntry 1 }

			transceiverDdmInfoEntryType OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver DDM information type.
				1: Temperature
				2: Voltage
				3: TX Bias
				4: TX power
				5: RX power"
			::= { transceiverDdmInfoEntry 2 }


		transceiverDdmInfoEntryAlarmMax OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver high alarm threshold.
				The unit for temperature is C
				The unit for voltage is V
				The unit for TX bias is mA
				The unit for TX/RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverDdmInfoEntry 3 }

		transceiverDdmInfoEntryAlarmMin OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver low alarm threshold.
				The unit for temperature is C
				The unit for voltage is V
				The unit for TX bias is mA
				The unit for TX/RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverDdmInfoEntry 4 }

		transceiverDdmInfoEntryWarnMax OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver high warn threshold.
				The unit for temperature is C
				The unit for voltage is V
				The unit for TX bias is mA
				The unit for TX/RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverDdmInfoEntry 5 }

		transceiverDdmInfoEntryWarnMin OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver low warn threshold.
				The unit for temperature is C
				The unit for voltage is V
				The unit for TX bias is mA
				The unit for TX/RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverDdmInfoEntry 6 }

		transceiverDdmInfoEntryCurrent OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver current DDM value.
				The unit for temperature is C
				The unit for voltage is V
				The unit for TX bias is mA
				The unit for TX/RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverDdmInfoEntry 7 }

		transceiverDdmInfoEntryDescription OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver DDM information description. Show N/A if transceiver DDM information is not available."
			::= { transceiverDdmInfoEntry 8 }

  	--  gpon transceiverInfo transceiverDdmInfoProfileTable
	transceiverDdmInfoProfileTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF TransceiverDdmInfoProfileEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			""
		::= { transceiverInfo 3 }

	transceiverDdmInfoProfileEntry OBJECT-TYPE
		SYNTAX	TransceiverDdmInfoProfileEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in transceiverDdmInfoProfileTable."
		INDEX          	{ transceiverDdmInfoProfilePort, transceiverDdmInfoProfileType }
		::= { transceiverDdmInfoProfileTable 1 }

	TransceiverDdmInfoProfileEntry ::=
		SEQUENCE {
			transceiverDdmInfoProfilePort			INTEGER,
			transceiverDdmInfoProfileType			INTEGER,
			transceiverDdmInfoProfileAlarmMax		DisplayString,
			transceiverDdmInfoProfileAlarmMin		DisplayString,
			transceiverDdmInfoProfileWarnMax		DisplayString,
			transceiverDdmInfoProfileWarnMin		DisplayString,
			transceiverDdmInfoProfileDescription	DisplayString,
			transceiverDdmInfoProfileRowstatus		RowStatus
		}

		transceiverDdmInfoProfilePort OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Index of transceiverDdmInfoProfile. This will be referred to ifIndex"
			::= { transceiverDdmInfoProfileEntry 1 }

		transceiverDdmInfoProfileType OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver DDM information type.
				1: Temperature
				2: Voltage
				3: TX Bias
				4: TX power
				5: RX power"
			::= { transceiverDdmInfoProfileEntry 2 }


		transceiverDdmInfoProfileAlarmMax OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Transceiver high alarm threshold.
				The unit for temperature is 0.01C, value range <12800 ~ -12800>
				The unit for voltage is 0.01V, value range <655 ~ 0>
				The unit for TX bias is 0.01mA, value range <13100 ~ 0>
				The unit for TX power is 0.01dbm, value range <820 ~ -4000>
				The unit for RX power is 0.01dbm, value range <820 ~ -4000>
				The value N/A represents transceiver DDM information does not setting."
			::= { transceiverDdmInfoProfileEntry 3 }

		transceiverDdmInfoProfileAlarmMin OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Transceiver low alarm threshold.
				The unit for temperature is 0.01C, value range <12800 ~ -12800>
				The unit for voltage is 0.01V, value range <655 ~ 0>
				The unit for TX bias is 0.01mA, value range <13100 ~ 0>
				The unit for TX power is 0.01dbm, value range <820 ~ -4000>
				The unit for RX power is 0.01dbm, value range <820 ~ -4000>
				The value N/A represents transceiver DDM information does not setting."
			::= { transceiverDdmInfoProfileEntry 4 }

		transceiverDdmInfoProfileWarnMax OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Transceiver high warn threshold.
				The unit for temperature is 0.01C, value range <12800 ~ -12800>
				The unit for voltage is 0.01V, value range <655 ~ 0>
				The unit for TX bias is 0.01mA, value range <13100 ~ 0>
				The unit for TX power is 0.01dbm, value range <820 ~ -4000>
				The unit for RX power is 0.01dbm, value range <820 ~ -4000>
				The value N/A represents transceiver DDM information does not setting."
			::= { transceiverDdmInfoProfileEntry 5 }

		transceiverDdmInfoProfileWarnMin OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"Transceiver low warn threshold.
				The unit for temperature is 0.01C, value range <12800 ~ -12800>
				The unit for voltage is 0.01V, value range <655 ~ 0>
				The unit for TX bias is 0.01mA, value range <13100 ~ 0>
				The unit for TX power is 0.01dbm, value range <820 ~ -4000>
				The unit for RX power is 0.01dbm, value range <820 ~ -4000>
				The value N/A represents transceiver DDM information does not setting."
			::= { transceiverDdmInfoProfileEntry 6 }


		transceiverDdmInfoProfileDescription OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver DDM information description. Show N/A if transceiver DDM information is not available."
			::= { transceiverDdmInfoProfileEntry 7 }

		transceiverDdmInfoProfileRowstatus OBJECT-TYPE
			SYNTAX  RowStatus
			MAX-ACCESS  read-create
			STATUS  current
			DESCRIPTION
				"Profile enabled/disabled status."
			::= { transceiverDdmInfoProfileEntry 8 }

  	--  gpon transceiverInfo transceiverPerOntTable
	transceiverPerOntTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF TransceiverPerOntEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
			"Per ONT measure value on OLT GPON transceiver "
		::= { transceiverInfo 4 }

	transceiverPerOntEntry OBJECT-TYPE
		SYNTAX	TransceiverPerOntEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION    	"An entry in transceiverPerOntTable."
		INDEX {
			ifIndex,
			transceiverPerOntNumber
		}
		::= { transceiverPerOntTable 1 }

	TransceiverPerOntEntry ::=
		SEQUENCE {
			transceiverPerOntNumber		     	  INTEGER,
			transceiverPerOntRxPower			DisplayString
		}

		transceiverPerOntNumber OBJECT-TYPE
			SYNTAX  INTEGER
			MAX-ACCESS  not-accessible
			STATUS  current
			DESCRIPTION
				" transceiverPerOntNumber is the number of configuration."
			::= { transceiverPerOntEntry 1 }

		transceiverPerOntRxPower OBJECT-TYPE
			SYNTAX  DisplayString
			MAX-ACCESS  read-only
			STATUS  current
			DESCRIPTION
				"Transceiver high alarm threshold.
				The unit for RX power is dbm
				The value neg inf represents negative infinit(0mW)
				The value N/A represents not applicable."
			::= { transceiverPerOntEntry 2 }

--  multicastStatus
	-- igmpchannelStatusTable
	igmpchannelStatusTable OBJECT-TYPE
		SYNTAX SEQUENCE OF IgmpchannelStatusEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
					""
		::= { multicastStatus 1 }

	igmpchannelStatusEntry OBJECT-TYPE
		SYNTAX IgmpchannelStatusEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION "IGMP channel status."
		INDEX {
			igmpchannelStatusVlanID,
			igmpchannelStatusIfIndex,
			igmpchannelStatusGroupAddressType,
			igmpchannelStatusGroupAddress,
			igmpchannelStatusUniVid,
			igmpchannelStatusGem
		}
		::= { igmpchannelStatusTable 1 }

	IgmpchannelStatusEntry ::=
	SEQUENCE {
			igmpchannelStatusVlanID				INTEGER,
			igmpchannelStatusIfIndex			INTEGER,
			igmpchannelStatusGroupAddressType	InetAddressType,
			igmpchannelStatusGroupAddress		InetAddress,
			igmpchannelStatusGem				INTEGER,
			igmpchannelStatusPortAid			DisplayString,
			igmpchannelStatusUniVid				INTEGER,
			igmpchannelStatusGroupFilterMode	INTEGER,
			igmpchannelStatusGroupUpTime		DisplayString
		}

        igmpchannelStatusVlanID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { igmpchannelStatusEntry 1 }

        igmpchannelStatusIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { igmpchannelStatusEntry 2 }

        igmpchannelStatusGroupAddressType OBJECT-TYPE
        SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "The address type of the igmpchannelStatusGroupAddress entry."
        ::= { igmpchannelStatusEntry 3 }

        igmpchannelStatusGroupAddress OBJECT-TYPE
        SYNTAX  InetAddress (SIZE(4|16))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { igmpchannelStatusEntry 4 }

 		igmpchannelStatusGem OBJECT-TYPE
    	SYNTAX     INTEGER
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
            ""

		::= { igmpchannelStatusEntry 5 }

 		igmpchannelStatusPortAid OBJECT-TYPE
    	SYNTAX     DisplayString
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
            ""

		::= { igmpchannelStatusEntry 6 }

 		igmpchannelStatusUniVid OBJECT-TYPE
    	SYNTAX     INTEGER
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
            ""

		::= { igmpchannelStatusEntry 7 }

 		igmpchannelStatusGroupFilterMode OBJECT-TYPE
    	SYNTAX     INTEGER {include (1),exclude (2) }
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
            "The current cache state, applicable to MGMDv3-compatible
            nodes.  The value indicates whether the state is INCLUDE or
            EXCLUDE."

		::= { igmpchannelStatusEntry 8 }

	     igmpchannelStatusGroupUpTime OBJECT-TYPE
    	SYNTAX     DisplayString
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
            "The value specifies the group up time of indicated
            multicast group."

		::= { igmpchannelStatusEntry 9 }

	-- igmpchannelClientSrcIp
	igmpchannelClientSrcIpTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF IgmpchannelClientSrcIpEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
					""
		::= { multicastStatus 2 }

	igmpchannelClientSrcIpEntry OBJECT-TYPE
        SYNTAX	IgmpchannelClientSrcIpEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in igmpchannelClientSrcIpTable."
        INDEX {
			igmpchannelStatusVlanID,
			igmpchannelStatusIfIndex,
			igmpchannelStatusGroupAddressType,
			igmpchannelStatusGroupAddress,
			igmpchannelStatusUniVid,
			igmpchannelStatusGem,
			igmpchannelClientSrcIpIndex
		}
        ::= { igmpchannelClientSrcIpTable 1 }

        IgmpchannelClientSrcIpEntry ::=
		SEQUENCE {
        	igmpchannelClientSrcIpIndex			INTEGER,
        	igmpchannelClientSrcIpAddressType	InetAddressType,
        	igmpchannelClientSrcIpAddress		InetAddress
         }

        igmpchannelClientSrcIpIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { igmpchannelClientSrcIpEntry 1 }

        igmpchannelClientSrcIpAddressType OBJECT-TYPE
        SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
	    MAX-ACCESS read-only
	    STATUS current
        DESCRIPTION
                      	""
        ::= { igmpchannelClientSrcIpEntry 2 }

        igmpchannelClientSrcIpAddress OBJECT-TYPE
        SYNTAX  InetAddress (SIZE(4|16))
	    MAX-ACCESS read-only
	    STATUS current
        DESCRIPTION
                      	""
        ::= { igmpchannelClientSrcIpEntry 3 }

-- 		gponVlanTranslationRuleTable
        gponVlanTranslationRuleTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF GponVlanTranslationRuleEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	""
        ::= { gponVlanTranslationSetup 1 }

		gponVlanTranslationRuleEntry OBJECT-TYPE
        SYNTAX	GponVlanTranslationRuleEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	"An entry in vlan-translation rule table"
        INDEX          	{ vlanTranslationRulePort, vlanTranslationRuleOuterVid, vlanTranslationRuleOuterPriority, vlanTranslationRuleInnerVid, vlanTranslationRuleInnerPriority }
        ::= { gponVlanTranslationRuleTable 1 }

        GponVlanTranslationRuleEntry ::=
           SEQUENCE {
           	gponVlanTranslationRuleName		DisplayString,
        	gponVlanTranslationRulePort		INTEGER,
        	gponVlanTranslationRuleOuterVid		INTEGER,
        	gponVlanTranslationRuleOuterPriority	INTEGER,
        	gponVlanTranslationRuleInnerVid		INTEGER,
        	gponVlanTranslationRuleInnerPriority	INTEGER,
        	gponVlanTranslationRuleTransSVid	INTEGER,
        	gponVlanTranslationRuleSPriority	INTEGER,
        	gponVlanTranslationRuleTransCVid	INTEGER,
        	gponVlanTranslationRuleCPriority	INTEGER,
        	gponVlanTranslationRuleN1Map	INTEGER,
        	gponVlanTranslationRuleCrossConnect	INTEGER,
        	gponVlanTranslationRuleCrossPort	INTEGER,
        	gponVlanTranslationRuleTr156	INTEGER,
        	gponVlanTranslationRuleRowStatus	RowStatus
           }

        gponVlanTranslationRuleName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The name of vlan-translation entry"
        ::= { gponVlanTranslationRuleEntry 1 }

        gponVlanTranslationRulePort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                     	"interface port id"
        ::= { gponVlanTranslationRuleEntry 2 }

        gponVlanTranslationRuleOuterVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                     	"outer vid. The range of VID is between 1 and 4094. 0 presents ignore this field"
        ::= { gponVlanTranslationRuleEntry 3 }

        gponVlanTranslationRuleOuterPriority OBJECT-TYPE
        SYNTAX  INTEGER {
        		priority0(0),
        		priority1(1),
        		priority2(2),
        		priority3(3),
        		priority4(4),
        		priority5(5),
        		priority6(6),
        		priority7(7),
        		priorityIgnore(8)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                     	"outer priority"
        ::= { gponVlanTranslationRuleEntry 4 }

        gponVlanTranslationRuleInnerVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                     	"inner vid. The range of VID is between 1 and 4094. 0 presents ignore this field"
        ::= { gponVlanTranslationRuleEntry 5 }

        gponVlanTranslationRuleInnerPriority OBJECT-TYPE
        SYNTAX  INTEGER {
        		priority0(0),
        		priority1(1),
        		priority2(2),
        		priority3(3),
        		priority4(4),
        		priority5(5),
        		priority6(6),
        		priority7(7),
        		priorityIgnore(8)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                     	"inner priority"
        ::= { gponVlanTranslationRuleEntry 6 }

        gponVlanTranslationRuleTransSVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                     	"translated Svid. The range of VID is between 1 and 4094. 0 presents ignore this field"
        ::= { gponVlanTranslationRuleEntry 7 }

        gponVlanTranslationRuleSPriority OBJECT-TYPE
        SYNTAX  INTEGER {
        		priority0(0),
        		priority1(1),
        		priority2(2),
        		priority3(3),
        		priority4(4),
        		priority5(5),
        		priority6(6),
        		priority7(7),
        		priorityIgnore(8)
        }

        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                     	"S priority"
        ::= { gponVlanTranslationRuleEntry 8 }

        gponVlanTranslationRuleTransCVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                     	"translated Cvid. The range of VID is between 1 and 4094. 0 presents ignore this field"
        ::= { gponVlanTranslationRuleEntry 9 }

        gponVlanTranslationRuleCPriority OBJECT-TYPE
        SYNTAX  INTEGER {
        		priority0(0),
        		priority1(1),
        		priority2(2),
        		priority3(3),
        		priority4(4),
        		priority5(5),
        		priority6(6),
        		priority7(7),
        		priorityIgnore(8)
        }

        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                     	"C priority"
        ::= { gponVlanTranslationRuleEntry 10 }

        gponVlanTranslationRuleN1Map OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                     	"N:1 mapping group id. 0 presents 1:1 map"
        ::= { gponVlanTranslationRuleEntry 11 }

        gponVlanTranslationRuleRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                     	""
        ::= { gponVlanTranslationRuleEntry 12 }


--------------------------------------------------------------------------------
-- moa
--------------------------------------------------------------------------------

--    moaConfIssueThreshold OBJECT-TYPE
--    	SYNTAX Unsigned32 (0..100)
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--			"Memory overload alarm issue threshold.
--			memory overload alarm issue threshold should be higher
--			than memory overload alarm clear threshold.
--			The default one will be 90% memory load."
--    	::= { moa 1 }

--    moaConfClearThreshold OBJECT-TYPE
--    	SYNTAX Unsigned32 (0..100)
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--			"Memory overload alarm clear threshold.
--			memory overload alarm clear threshold should be lower
--			than memory overload alarm issue threshold.
--			The default one will be 60% memory load"
--    	::= { moa 2 }

--    moaConfSampleSeconds OBJECT-TYPE
--    	SYNTAX Unsigned32 (1..60)
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--			"Sample seconds of memory overload alarm. The default sample rate is 35 seconds"
--    	::= { moa 3 }

--    moaConfAnalyticMethod OBJECT-TYPE
--    	SYNTAX INTEGER{
--        	continuous(1),
--        	average(2)
--		}
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--			"Analytic method of memory overload alarm. 'continous(1)' is the default value."
--    	::= { moa 4 }

--------------------------------------------------------------------------------
-- port
--------------------------------------------------------------------------------
	adslPort		OBJECT IDENTIFIER ::= { port 2 }

	--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..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "TelNo. of the subscriber."
        ::= { subrPortEntry 2 }

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

-- Line Status

        adslLineStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AdslLineStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes the ADSL line status."
        ::= { adslPort 1 }

		adslLineStatusEntry OBJECT-TYPE
        SYNTAX AdslLineStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in adslLineStatusTable."
        INDEX { ifIndex }
        ::= { adslLineStatusTable 1 }

        AdslLineStatusEntry ::=
           SEQUENCE {
        	adslLineStatusMode		DisplayString,
        	adslLineStatusUpTime	DisplayString
           }

        adslLineStatusMode OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The link up mode of the ADSL line."
        ::= { adslLineStatusEntry 1 }

        adslLineStatusUpTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The time since the ADSL line link up.
			format:<day:hour:min:sec>"
        ::= { adslLineStatusEntry 2 }

--------------------------------------------------------------------------------
-- stp
--------------------------------------------------------------------------------

	--Spanning tree Table

	stpEnable OBJECT-TYPE
        SYNTAX INTEGER{
        	enable(1),
        	disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Enable or disable the spanning tree protocol."
        ::= { stp 1 }

	stpMode OBJECT-TYPE
        SYNTAX INTEGER{
        	rstp(1),
        	mstp(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Select the spanning mode is RSTP or MSTP."
        ::= { stp 2 }

	mstp			OBJECT IDENTIFIER ::= { stp 3 }

	mstpHelloTime OBJECT-TYPE
        SYNTAX INTEGER (1..10)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The value that all bridges use for HelloTime when this bridge is acting as the root."
        ::= { mstp 1 }

	mstpMaxAge OBJECT-TYPE
        SYNTAX INTEGER (6..40)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The value that all bridges use for MaxAge when this bridge is acting as the root."
        ::= { mstp 2 }

	mstpForwardDelay OBJECT-TYPE
        SYNTAX INTEGER (4..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The value that all bridges use for ForwardDelay when this bridge is acting as the root."
        ::= { mstp 3 }

	mstpVlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MstpVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table contains one entry for each instance of MSTP.
        	This table is supported by R1.02 and later versions."
        ::= { mstp 4 }

	mstpVlanEntry OBJECT-TYPE
        SYNTAX MstpVlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A conceptual row containing the status of the MSTP instance."
        INDEX { mstpVlanIndex }
        ::= { mstpVlanTable 1 }

	MstpVlanEntry ::= SEQUENCE {
        	mstpVlanIndex		INTEGER,
        	mstpVlans1k		OCTET STRING,
        	mstpVlans2k		OCTET STRING,
        	mstpVlans3k		OCTET STRING,
        	mstpVlans4k		OCTET STRING
	}

	mstpVlanIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Uniquely identifies an instance."
        ::= { mstpVlanEntry 1 }

	mstpVlans1k OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..128))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"A string of octets containing one bit per VLAN for VLANS with VlanIndex values
        	0 through 1023. The first octet corresponds to VLANs with VlanIndex values
        	0 through 7; the second octet to VLANs 8 through 15 etc. The most significant bit
        	of each octet corresponds to the lowest VlanIndex value in that octet. For each VLAN
        	that is mapped to this MSTP instance, the bit corresponding to that VLAN is set to '1'."
        ::= { mstpVlanEntry 2 }

	mstpVlans2k OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..128))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"A string of octets containing one bit per VLAN for VLANS with VlanIndex values
        	1024 through 2047. The first octet corresponds to VLANs with VlanIndex values
        	1024 through 1031; the second octet to VLANs 1032 through 1039 etc. The most significant bit
        	of each octet corresponds to the lowest VlanIndex value in that octet. For each VLAN
        	that is mapped to this MSTP instance, the bit corresponding to that VLAN is set to '1'."
        ::= { mstpVlanEntry 3 }

       	mstpVlans3k OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..128))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"A string of octets containing one bit per VLAN for VLANS with VlanIndex values
        	2048 through 3071. The first octet corresponds to VLANs with VlanIndex values
        	2048 through 2055; the second octet to VLANs 2056 through 2063 etc. The most significant bit
        	of each octet corresponds to the lowest VlanIndex value in that octet. For each VLAN
        	that is mapped to this MSTP instance, the bit corresponding to that VLAN is set to '1'."
        ::= { mstpVlanEntry 4 }

        mstpVlans4k OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..128))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"A string of octets containing one bit per VLAN for VLANS with VlanIndex values
        	3072 through 4095. The first octet corresponds to VLANs with VlanIndex values
        	3072 through 3079; the second octet to VLANs 3080 through 3087 etc. The most significant bit
        	of each octet corresponds to the lowest VlanIndex value in that octet. For each VLAN
        	that is mapped to this MSTP instance, the bit corresponding to that VLAN is set to '1'."
        ::= { mstpVlanEntry 5 }

	mstpInsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MstpInsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Port configuration for multiple spanning trees."
        ::= { mstp 5 }

	mstpInsEntry OBJECT-TYPE
        SYNTAX MstpInsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of mstpXstPortTable."
        INDEX { mstpInsIndex, mstpInsPort }
        ::= { mstpInsTable 1 }

	MstpInsEntry ::= SEQUENCE {
        	mstpInsIndex	     INTEGER,
        	mstpInsPort		     INTEGER,
        	mstpInsEnable	     INTEGER,
            mstpInsPortPriority  INTEGER
	}

	mstpInsIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Identifies a spanning tree."
        ::= { mstpInsEntry 1 }

	mstpInsPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The port number of the port for which this entry contains MSTP management information."
        ::= { mstpInsEntry 2 }

	mstpInsEnable OBJECT-TYPE
		SYNTAX INTEGER{
        	enable(1),
        	disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The enabled/disabled status of the port."
        ::= { mstpInsEntry 3 }

	mstpInsPortPriority OBJECT-TYPE
		SYNTAX INTEGER (0..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"In an MSTP Bridge, the Port's Port Priority parameter value for
         the MSTI, i.e. the priority field for the Port Identifier for the
         Port for the MSTI."
        ::= { mstpInsEntry 4 }

	oamloopback				OBJECT IDENTIFIER ::= { diagnostic 1}
-- oamloopback

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

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

	oamloopbackPacketNumber OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Number of packets to be sent. 1~100000"
        ::= { oamloopback 3 }

        oamloopbackPacketSize OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Size of each packet. 64~1518"
        ::= { oamloopback 4 }

        oamloopbackResult 	OBJECT IDENTIFIER ::= { oamloopback 5 }

	oamloopbackRecvCnt OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Number of packets received."
        ::= { oamloopbackResult 1 }

        oamloopbackElapseTime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"oamloopback test elapsed time."
        ::= { oamloopbackResult 2 }

        oamloopbackErrorStatus OBJECT-TYPE
        SYNTAX INTEGER{
        		ok(0),
			alloc-fail(1),
			receive-packet-timeout(2),
			loopback-command-timeout(3),
			receive-packet-error(4),
			remote-state-error(5),
			discovery-fault(6),
			internal-error(7)
		}
	MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"oamloopback test status."
        ::= { oamloopbackResult 3 }

--oamSetup
	oamPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF OamPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains OAM (Operations, Administration, and Maintenance) port configuration. "
        ::= { oamSetup 1 }

		oamPortEntry OBJECT-TYPE
        SYNTAX	OamPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION
        	"An entry contains OAM port configuration."
        INDEX          	{ ifIndex }
        ::= { oamPortTable 1 }

        OamPortEntry ::=
           SEQUENCE {
	       oamPortFunctionsSupported          BITS
           }

        oamPortFunctionsSupported OBJECT-TYPE
        SYNTAX      BITS {
                      unidirectionalSupport (0),
                      loopbackSupport(1),
                      eventSupport(2),
                      variableSupport(3)
                    }
        MAX-ACCESS  read-write
        STATUS	current
        DESCRIPTION
          "The OAM functions supported on this Ethernet-like interface. OAM consists of separate functional sets beyond
          the basic discovery process that is always required.  These functional groups can be supported independently by
          any implementation. These values are communicated to the peer via the local configuration field of Information
          OAMPDUs.
			Setting 'unidirectionalSupport(0)' indicates that the OA entity supports the transmission of OAMPDUs on links
			that are operating in unidirectional mode (traffic flowing in one direction only).
			Setting 'loopbackSupport(1)' indicates that the OAM entity can initiate and respond to loopback commands.
			Setting 'eventSupport(2)' indicates that the OAM entity can send and receive Event Notification OAMPDUs.
			Setting 'variableSupport(3)' indicates that the OAM entity can send and receive Variable Request and Response
			OAMPDUs.
          "
        REFERENCE   "[802.3ah], 30.3.6.1.6"
        ::= { oamPortEntry 1 }

-- ******************************************************************
-- *
-- 37. LLDP
-- *
-- ******************************************************************


	zyxelLldpSetup     		OBJECT IDENTIFIER ::= { zyxelLldp 1 }
	zyxelLldpStatus    		OBJECT IDENTIFIER ::= { zyxelLldp 2 }



	zyLldpSlotNum OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"slot number"
    ::= { zyxelLldp 3 }
--
--  ***********************************************************
--
--                   L L D P    S E T U P
--
--  ***********************************************************
--


  zyLldpState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Enable/Disable LLDP on the switch.
			The Link Layer Discover Protocol (LLDP) is to discover and make available physical topology
			information for network management. This protocol will advertise information useful for
			discovering pertinent information about a remote port and to populate topology MIB."
        ::= { zyxelLldpSetup 1 }

  zyLldpLastUpdatedTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
  	"Last updated time (Y-M-D hh:mm:ss)."
        ::= { zyxelLldpSetup 2 }

-- LLDP config
 zyLldpConfigTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ZyLldpConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            ""
    ::= { zyxelLldpSetup 3 }

  zyLldpConfigEntry   OBJECT-TYPE
     SYNTAX      ZyLldpConfigEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             ""
     INDEX  { zyLldpSlotNum }
     ::= { zyLldpConfigTable 1 }

  ZyLldpConfigEntry ::= SEQUENCE {
      zyLldpSlotNum                  Counter32,
      zyLldpConfigManAddrPortsTxEnable OCTET STRING
  }



  zyLldpConfigManAddrPortsTxEnable  OBJECT-TYPE
    SYNTAX        OCTET STRING(SIZE(0..64))
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
            "A set of ports that are identified by a PortList, in which
            each port is represented as a bit.  The corresponding local
            system management address instance will be transmitted on the
            member ports of the lldpManAddrPortsTxEnable.

            The default value for lldpConfigManAddrPortsTxEnable object
            is empty binary string, which means no ports are specified
            for advertising indicated management address instance."
    REFERENCE
            "IEEE 802.1AB-2005 10.2.1.1"
    DEFVAL  { ''H }     -- empty binary string
    ::= { zyLldpConfigEntry 1 }





  zyLldpClearTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ZyLldpClearEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            ""
    ::= { zyxelLldpSetup 4 }

  zyLldpClearEntry   OBJECT-TYPE
     SYNTAX      ZyLldpClearEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             ""
     INDEX  { zyLldpSlotNum }
     ::= { zyLldpClearTable 1 }

  ZyLldpClearEntry ::= SEQUENCE {
      zyLldpSlotNum                  Counter32,
      zyLldpRemoteInfoClear         EnabledStatus,
      zyLldpRemoteInfoClearPorts    PortList,
      zyLldpStatisticsClear         EnabledStatus
  }



	zyLldpRemoteInfoClear OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear all the LLDP remote information."
        ::= { zyLldpClearEntry 1 }

	zyLldpRemoteInfoClearPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the LLDP remote informationof of the port(s)."
        ::= { zyLldpClearEntry 2 }

	zyLldpStatisticsClear OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear all the LLDP statistics."
        ::= { zyLldpClearEntry 3 }


--
--  ***********************************************************
--
--                   L L D P    S T A T U S
--
--  ***********************************************************
--
-- LLDP Stats Group


  zyLldpStatsTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ZyLldpStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            ""
    ::= { zyxelLldpStatus 4 }

  zyLldpStatsEntry   OBJECT-TYPE
     SYNTAX      ZyLldpStatsEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             ""
     INDEX  { zyLldpSlotNum }
     ::= { zyLldpStatsTable 1 }

  ZyLldpStatsEntry ::= SEQUENCE {
      zyLldpSlotNum                  Counter32,
      zyLldpStatsRemTablesLastChangeTime  DisplayString,
      zyLldpStatsRemTablesInserts         Counter32,
      zyLldpStatsRemTablesDeletes         Counter32,
      zyLldpStatsRemTablesDrops           Counter32,
      zyLldpStatsRemTablesAgeouts         Counter32
  }


  zyLldpStatsRemTablesLastChangeTime OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
  	"Last updated time (Y-M-D hh:mm:ss)."
    ::= { zyLldpStatsEntry 1 }

  zyLldpStatsRemTablesInserts OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been inserted into tables
            contained in lldpRemoteSystemsData and lldpExtensions objects.

            The complete set of information received from a particular
            MSAP should be inserted into related tables.  If partial
            information cannot be inserted for a reason such as lack
            of resources, all of the complete set of information should
            be removed.

            This counter should be incremented only once after the
            complete set of information is successfully recorded
            in all related tables.  Any failures during inserting
            information set which result in deletion of previously
            inserted information should not trigger any changes in
            lldpStatsRemTablesInserts since the insert is not completed
            yet or or in lldpStatsRemTablesDeletes, since the deletion
            would only be a partial deletion. If the failure was the
            result of lack of resources, the lldpStatsRemTablesDrops
            counter should be incremented once."
    ::= { zyLldpStatsEntry 2 }

  zyLldpStatsRemTablesDeletes   OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "table entries"
    MAX-ACCESS  read-only
    STATUS      current

    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from
            tables contained in lldpRemoteSystemsData and lldpExtensions
            objects.

            This counter should be incremented only once when the
            complete set of information is completely deleted from all
            related tables.  Partial deletions, such as deletion of
            rows associated with a particular MSAP from some tables,
            but not from all tables are not allowed, thus should not
            change the value of this counter."
    ::= { zyLldpStatsEntry 3 }

  zyLldpStatsRemTablesDrops  OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "table entries"
    MAX-ACCESS  read-only

    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP could not be entered into
            tables contained in lldpRemoteSystemsData and lldpExtensions
            objects because of insufficient resources."
    ::= { zyLldpStatsEntry 4 }

  zyLldpStatsRemTablesAgeouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of times the complete set of information
            advertised by a particular MSAP has been deleted from tables
            contained in lldpRemoteSystemsData and lldpExtensions objects
            because the information timeliness interval has expired.

            This counter should be incremented only once when the complete
            set of information is completely invalidated (aged out)
            from all related tables.  Partial aging, similar to deletion
            case, is not allowed, and thus, should not change the value
            of this counter."
    ::= { zyLldpStatsEntry 5 }





-- ******************************************************************
-- *
-- 38. Host protection
-- *
-- ******************************************************************


	hostprotectConfig     		OBJECT IDENTIFIER ::= { hostprotect 1 }
	hostprotectStatistic    	OBJECT IDENTIFIER ::= { hostprotect 2 }


	--host protection config table
	hostprotectConfigTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF HostprotectConfigEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { hostprotectConfig 1 }

	hostprotectConfigEntry OBJECT-TYPE
        SYNTAX	HostprotectConfigEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ hostprotectProtocol }
        ::= { hostprotectConfigTable 1 }

        HostprotectConfigEntry ::=
           SEQUENCE {
        	hostprotectProtocol	INTEGER,
        	hostprotectRatelimit	INTEGER
        }

        hostprotectProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
        		arp(1),
        		bpdu(2),
        		dhcp(3),
        		dhcpv6(4),
        		icmpv6(5),
        		igmp(6),
        		mgmt(7),
        		pppoe(8)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { hostprotectConfigEntry 1 }

        hostprotectRatelimit OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        "Rate-limit Setting: 10~500 pps (0 : No limit)"
        ::= { hostprotectConfigEntry 2 }


--host protection statistic table
	hostprotectStatisticTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF HostprotectStatisticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { hostprotectStatistic 1 }

	hostprotectStatisticEntry OBJECT-TYPE
        SYNTAX	HostprotectStatisticEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ hostprotectStatisticProtocol }
        ::= { hostprotectStatisticTable 1 }

        HostprotectStatisticEntry ::=
           SEQUENCE {
        	hostprotectStatisticProtocol	INTEGER,
        	hostprotectStatisticRxPkt	Counter32,
        	hostprotectStatisticRxDrop	Counter32
        }

        hostprotectStatisticProtocol OBJECT-TYPE
        SYNTAX  INTEGER {
        		arp(1),
        		bpdu(2),
        		dhcp(3),
        		dhcpv6(4),
        		icmpv6(5),
        		igmp(6),
        		mgmt(7),
        		pppoe(8)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { hostprotectStatisticEntry 1 }

        hostprotectStatisticRxPkt OBJECT-TYPE
        SYNTAX  Counter32
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        ""
        ::= { hostprotectStatisticEntry 2 }

        hostprotectStatisticRxDrop OBJECT-TYPE
        SYNTAX  Counter32
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        ""
        ::= { hostprotectStatisticEntry 3 }

      hostprotectClear OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        "Set 1 to clear all host protection statistic"
        ::= { hostprotectStatistic 2 }


-- ******************************************************************
-- *
-- 39. Erps Setup
-- *
-- ******************************************************************

			erpsState OBJECT-TYPE
	        SYNTAX  EnabledStatus
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	""
	        ::= { erpsSetup 1 }

	        erpsRingTable OBJECT-TYPE
	        SYNTAX	SEQUENCE OF ErpsRingEntry
	        MAX-ACCESS  not-accessible
	        STATUS  current
	        DESCRIPTION
	                 	""
	        ::= { erpsSetup 2 }

			erpsRingEntry OBJECT-TYPE
	        SYNTAX	ErpsRingEntry
	        MAX-ACCESS	not-accessible
	        STATUS	current
	        DESCRIPTION    	"An entry in erpsRingTable."
	        INDEX          	{ erpsRingIndex }
	        ::= { erpsRingTable 1 }

	        ErpsRingEntry ::=
	           SEQUENCE {
				erpsPort0               INTEGER,
				erpsPort1               INTEGER,
				erpsRingId              INTEGER,
				erpsCcmPort0GroupName   DisplayString,
				erpsCcmPort0Level       INTEGER,
				erpsCcmPort0Vlan        INTEGER,
				erpsCcmPort0TxName      INTEGER,
				erpsCcmPort0Period      INTEGER,
				erpsCcmPort0Priority    INTEGER,
				erpsCcmPort0RxName      INTEGER,
				erpsCcmPort1GroupName   DisplayString,
				erpsCcmPort1Level       INTEGER,
				erpsCcmPort1Vlan        INTEGER,
				erpsCcmPort1TxName      INTEGER,
				erpsCcmPort1Period      INTEGER,
				erpsCcmPort1Priority    INTEGER,
				erpsCcmPort1RxName      INTEGER,
				erpsRapsPort0Vlan       INTEGER,
				erpsRapsPort0priority   INTEGER,
				erpsRapsPort0Level      INTEGER,
				erpsRapsPort1Vlan       INTEGER,
				erpsRapsPort1priority   INTEGER,
				erpsRapsPort1Level      INTEGER,
				erpsRevertiveMode       EnabledStatus,
				erpsWtr                 INTEGER,
				erpsRplOwner            INTEGER,
				erpsRplNeighbour        INTEGER,
				erpsTunnelPort          INTEGER,
	        	erpsRingRowStatus	    RowStatus,
				erpsRingIndex           INTEGER,
				erpsRingPort0CcmStatus  INTEGER,
				erpsRingPort1CcmStatus  INTEGER,
				erpsRingPort0Status     INTEGER,
				erpsRingPort1Status     INTEGER
				}

			erpsPort0 OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0."
	        ::= { erpsRingEntry 1 }

	        erpsPort1 OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1."
	        ::= { erpsRingEntry 2 }

	        erpsRingId OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring Id."
	        ::= { erpsRingEntry 3 }

	        erpsCcmPort0GroupName OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm group name."
	        ::= { erpsRingEntry 4 }

	        erpsCcmPort0Level OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm levle."
	        ::= { erpsRingEntry 5 }

	        erpsCcmPort0Vlan OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm vlan."
	        ::= { erpsRingEntry 6 }

	        erpsCcmPort0TxName OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm tx name."
	        ::= { erpsRingEntry 7 }

	        erpsCcmPort0Period OBJECT-TYPE
	        SYNTAX  INTEGER{
	        none(0),
	        erpsCcm3ms(1),
	        erpsCcm10ms(2),
	        erpsCcm100ms(3),
	        erpsCcm1s(4),
	        erpsCcm10s(5),
	        erpsCcm1min(6),
	        erpsCcm10min(7)
			}
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm period."
	        ::= { erpsRingEntry 8 }

	        erpsCcmPort0Priority OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 ccm priority."
	        ::= { erpsRingEntry 9 }

	        erpsCcmPort0RxName OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port 0 ccm rx name."
	        ::= { erpsRingEntry 10 }

	        erpsCcmPort1GroupName OBJECT-TYPE
	        SYNTAX  DisplayString
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm group name."
	        ::= { erpsRingEntry 11 }

	        erpsCcmPort1Level OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm levle."
	        ::= { erpsRingEntry 12 }

	        erpsCcmPort1Vlan OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm vlan."
	        ::= { erpsRingEntry 13 }

	        erpsCcmPort1TxName OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm tx name."
	        ::= { erpsRingEntry 14 }

	        erpsCcmPort1Period OBJECT-TYPE
	        SYNTAX  INTEGER{
	        none(0),
	        erpsCcm3ms(1),
	        erpsCcm10ms(2),
	        erpsCcm100ms(3),
	        erpsCcm1s(4),
	        erpsCcm10s(5),
	        erpsCcm1min(6),
	        erpsCcm10min(7)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm period."
	        ::= { erpsRingEntry 15 }

	        erpsCcmPort1Priority OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm priority."
	        ::= { erpsRingEntry 16 }

	        erpsCcmPort1RxName OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 ccm rx name."
	        ::= { erpsRingEntry 17 }

	        erpsRapsPort0Vlan OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 raps vlan."
	        ::= { erpsRingEntry 18 }

	        erpsRapsPort0priority OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 raps priority."
	        ::= { erpsRingEntry 19 }

	        erpsRapsPort0Level OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 rap level."
	        ::= { erpsRingEntry 20 }

	        erpsRapsPort1Vlan OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 raps vlan."
	        ::= { erpsRingEntry 21 }

	        erpsRapsPort1priority OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 raps priority."
	        ::= { erpsRingEntry 22 }

	        erpsRapsPort1Level OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 raps level."
	        ::= { erpsRingEntry 23 }

	        erpsRevertiveMode OBJECT-TYPE
	        SYNTAX  EnabledStatus
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring RevertiveMode enable/disable."
	        ::= { erpsRingEntry 24 }

	        erpsWtr OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring WTR."
	        ::= { erpsRingEntry 25 }

	        erpsRplOwner OBJECT-TYPE
	        SYNTAX  INTEGER{
	        none(0),
	        port0(1),
	        port1(2)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring owner port."
	        ::= { erpsRingEntry 26 }

	        erpsRplNeighbour OBJECT-TYPE
	        SYNTAX  INTEGER{
	        none(0),
	        port0(1),
	        port1(2)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring neighbour port."
	        ::= { erpsRingEntry 27 }

	        erpsTunnelPort OBJECT-TYPE
	        SYNTAX  INTEGER{
	        none(0),
	        port0(1),
	        port1(2)
	        }
	        MAX-ACCESS  read-write
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring tunnel port."
	        ::= { erpsRingEntry 28 }

			erpsRingRowStatus OBJECT-TYPE
	        SYNTAX  RowStatus
	        MAX-ACCESS  read-create
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring enable/disable."
	        ::= { erpsRingEntry 29 }

			erpsRingPort0CcmStatus OBJECT-TYPE
	        SYNTAX  INTEGER{
	        ok(0),
	        fail(1)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring ccm port0 status."
	        ::= { erpsRingEntry 30 }

			erpsRingPort1CcmStatus OBJECT-TYPE
	        SYNTAX  INTEGER{
	        ok(0),
	        fail(1)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring ccm port1 status."
	        ::= { erpsRingEntry 31 }

			erpsRingPort0Status OBJECT-TYPE
	        SYNTAX  INTEGER{
	        forward(0),
	        block(1)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port0 status."
	        ::= { erpsRingEntry 32 }

			erpsRingPort1Status OBJECT-TYPE
	        SYNTAX  INTEGER{
	        forward(0),
	        block(1)
	        }
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring port1 status."
	        ::= { erpsRingEntry 33 }

			erpsRingIndex OBJECT-TYPE
	        SYNTAX  INTEGER
	        MAX-ACCESS  read-only
	        STATUS  current
	        DESCRIPTION
	                      	"Erps ring index."
	        ::= { erpsRingEntry 34 }

-- ******************************************************************
-- *
-- 40. errdisable
-- *
-- ******************************************************************



	errdisClear          		OBJECT IDENTIFIER ::= { errdis 7 }
  errdisTrapNotifications  OBJECT IDENTIFIER ::= { errdis 8 }

	errdisReason OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"Cause reason, Plz refer errdisReasonName for protocol name"
    ::= { errdis 1 }

	errdisReasonName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"Cause reason name"
    ::= { errdis 2 }

	   -- errdis Recovery

  	errdisRecoveryReasonTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ErrdisRecoveryReasonEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { errdis 3 }

    errdisRecoveryReasonEntry OBJECT-TYPE
        SYNTAX	ErrdisRecoveryReasonEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	""
        INDEX          	{ errdisReason }
        ::= { errdisRecoveryReasonTable 1 }

        ErrdisRecoveryReasonEntry ::=
           SEQUENCE {
            errdisRecoveryReasonActive	EnabledStatus,
            errdisRecoveryReasonInterval	INTEGER
           }



        errdisRecoveryReasonActive OBJECT-TYPE
        SYNTAX  INTEGER {
        		enabled(1),
        		disabled(2)
        }

        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { errdisRecoveryReasonEntry 1 }

        errdisRecoveryReasonInterval OBJECT-TYPE
        SYNTAX  INTEGER (30..86400)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { errdisRecoveryReasonEntry 2 }


      -- errdis Detect
	    errdisDetectReasonTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF  ErrdisDetectReasonEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { errdis 4 }

       	errdisDetectReasonEntry OBJECT-TYPE
        SYNTAX	ErrdisDetectReasonEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in errdisDetectReasonTable."
        INDEX          	{ errdisReason }
        ::= { errdisDetectReasonTable 1 }

        ErrdisDetectReasonEntry ::=
	SEQUENCE {

        	errdisDetectReasonEnable	EnabledStatus,
        	errdisDetectReasonMode	INTEGER,
        	errdisDetectUpperbound	INTEGER
         }


        errdisDetectReasonEnable OBJECT-TYPE
        SYNTAX  EnabledStatus
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { errdisDetectReasonEntry 1 }


        errdisDetectReasonMode OBJECT-TYPE
        SYNTAX  INTEGER{
        	inactive-reason(0),
        	upper-bound(1)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	""
        ::= { errdisDetectReasonEntry 2 }

        errdisDetectUpperbound OBJECT-TYPE
        SYNTAX  INTEGER (24..200)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"minimum scale is 8 pkt/s"
        ::= { errdisDetectReasonEntry 3 }

    -- errdisPortSetup

    errdisPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF errdisPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    "Genni Configure."
    ::= { errdis 5 }

    errdisPortEntry OBJECT-TYPE
    SYNTAX errdisPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    ""
    INDEX { ifIndex, errdisReason}
    ::= { errdisPortTable 1 }

    errdisPortEntry ::=
    SEQUENCE {
      errdisPortThreshold				INTEGER
    }

    errdisPortThreshold OBJECT-TYPE
    SYNTAX INTEGER (20..2000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Detect Threshold"
    ::= { errdisPortEntry 1 }

      -- errdis Status
	    errdisStatusTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF  errdisStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { errdis 6 }

       	errdisStatusEntry OBJECT-TYPE
        SYNTAX	errdisStatusEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in errdisStatusTable."
        INDEX          	{ ifindex, errdisReason}
        ::= { errdisStatusTable 1 }

        errdisStatusEntry ::=
      	SEQUENCE {
      	  errdisStatusIfindex    INTEGER,
      	  errdisStatusReason       INTEGER,
          errdisStatusDetectMode    INTEGER,
          errdisStatusDetectTime    DisplayString,
          errdisStatusRecoveryTimeleft    INTEGER,
         }

        errdisStatusIfindex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            ""
        ::= { errdisStatusEntry 1 }

        errdisStatusReason OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            ""
        ::= { errdisStatusEntry 2 }


        errdisStatusDetectMode OBJECT-TYPE
        SYNTAX  INTEGER{
        	None(0),
        	Detected(1),
        }
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { errdisStatusEntry 3 }

        errdisStatusDetectTime OBJECT-TYPE
        SYNTAX DisplayString
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { errdisStatusEntry 4 }


        errdisStatusRecoveryTimeleft OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Time left for recovery (secs). When recovery is inactive, it would be zero."
        ::= { errdisStatusEntry 5 }

  --  errdisClear


	 errdisClearDetected OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear all detected."
        ::= { errdisClear 1 }

	errdisClearDetectedPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the detected status by port(s)."
        ::= { errdisClear 2 }

  errdisClearDetectedReason OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the detected status by reason."
        ::= { errdisClear 3 }


	errdisClearStatisticPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the statistic by port(s)."
        ::= { errdisClear 4 }

	-- errdisTrap
	     errdisTrap NOTIFICATION-TYPE
         OBJECTS {
               errdisStatusIfindex,
               errdisStatusReason,
               errdisStatusRecoveryTimeleft,
               errdisTrapType
         }
         STATUS  current
         DESCRIPTION
          ""

		  ::= { errdisTrapNotifications 1 }

      errdisTrapType NOTIFICATION-TYPE
          OBJECTS {
            errdisDetected,
            errdisRecovery
          }
          STATUS  current
          DESCRIPTION
          "Display trap type"

		  ::= { errdisTrapNotifications 2 }

      -- errdis Statistic
	    errdisStatisticTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF  errdisStatisticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	""
        ::= { errdis 9 }

       	errdisStatisticEntry OBJECT-TYPE
        SYNTAX	errdisStatisticEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in errdisStatisticTable."
        INDEX          	{ ifindex, errdisReason}
        ::= { errdisStatisticTable 1 }

        errdisStatisticEntry ::=
      	SEQUENCE {
      	  errdisStatisticIfindex    INTEGER,
      	  errdisStatisticReason       INTEGER,
          errdisStatisticDetected    INTEGER,
          errdisStatisticRecovery    INTEGER
         }

        errdisStatisticIfindex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            ""
        ::= { errdisStatisticEntry 1 }

        errdisStatisticReason OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            ""
        ::= { errdisStatisticEntry 2 }


        errdisStatisticDetected OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	""
        ::= { errdisStatisticEntry 3 }

        errdisStatisticRecovery OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  current
        DESCRIPTION
            ""
        ::= { errdisStatisticEntry 4 }


-- ******************************************************************
-- *
-- 41. protect switch
-- *
-- ******************************************************************

-- protectswitchConfigTable

	protectswitchConfigTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ProtectswitchConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains protect switch configuration."
	::= { protectswitch 1 }

	protectswitchConfigEntry OBJECT-TYPE
	SYNTAX ProtectswitchConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { protectswitchGroupId }
	::= { protectswitchConfigTable 1 }

	ProtectswitchConfigEntry ::=
		SEQUENCE {
			protectswitchGroupId		INTEGER,
			protectswitchMemberPort		DisplayString,
			protectswitchPreemptMode	INTEGER,
			protectswitchPreemptDelay	INTEGER
		}

	protectswitchGroupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID of protectswitch function."
	::= { protectswitchConfigEntry 1 }

	protectswitchMemberPort OBJECT-TYPE
	SYNTAX 	PortList
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Member ports of the protect switch function."
	::= { protectswitchConfigEntry 2 }

	protectswitchPreemptMode OBJECT-TYPE
	SYNTAX 	INTEGER  {
			off(0),
			bandwidth(1),
			forced(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Preempt mode of the protect switch function."
	::= { protectswitchConfigEntry 3 }

	protectswitchPreemptDelay OBJECT-TYPE
	SYNTAX 	INTEGER (0..60)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"preempt delay time of the protect switch function."
	::= { protectswitchConfigEntry 4 }

-- protectswitchStatusTable

	protectswitchStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ProtectswitchStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains protect switch status."
	::= { protectswitch 2 }

	protectswitchStatusEntry OBJECT-TYPE
	SYNTAX ProtectswitchStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { protectswitchGroupId }
	::= { protectswitchStatusTable 1 }

	ProtectswitchStatusEntry ::=
		SEQUENCE {
			groupId							INTEGER,
			activePort						DisplayString,
			backupPort						DisplayString,
			activePortStatus				DisplayString,
			backupPortStatus				DisplayString,
			activePortState					DisplayString,
			backupPortState					DisplayString,
			activePortBandwidth				DisplayString,
			backupPortBandwidth				DisplayString,
			activePortTrunkingMember		PortList,
			backupPortTrunkingMember		PortList,
		}

	groupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID of protectswitch function."
	::= { protectswitchStatusEntry 1 }

	activePort OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Active port of the protect switch function."
	::= { protectswitchStatusEntry 2 }

	backupPort OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Backup port of the protect switch function."
	::= { protectswitchStatusEntry 3 }

	activePortStatus OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Active port status of the protect switch function."
	::= { protectswitchStatusEntry 4 }

	backupPortStatus OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Backup port status of the protect switch function."
	::= { protectswitchStatusEntry 5 }

	activePortState OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Active port state of the protect switch function."
	::= { protectswitchStatusEntry 6 }

	backupPortState OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Backup port state of the protect switch function."
	::= { protectswitchStatusEntry 7 }

	activePortBandwidth OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Active port bandwidth of the protect switch function."
	::= { protectswitchStatusEntry 8 }

	backupPortBandwidth OBJECT-TYPE
	SYNTAX 	DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Backup port bandwidth of the protect switch function."
	::= { protectswitchStatusEntry 9 }

	activePortTrunkingMember OBJECT-TYPE
	SYNTAX 	PortList
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Active port trunking member of the protect switch function."
	::= { protectswitchStatusEntry 10 }

	backupPortTrunkingMember OBJECT-TYPE
	SYNTAX 	PortList
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Backup port trunking member of the protect switch function."
	::= { protectswitchStatusEntry 11 }



END -- end of IES5206-MIB definition --

