PARKS-PK700 DEFINITIONS ::= BEGIN

IMPORTS
    BridgeId, Timeout
		FROM BRIDGE-MIB
	enterprises,
	MODULE-IDENTITY,
	OBJECT-TYPE,
	IpAddress,
	TimeTicks,
	Unsigned32,
	Counter32,
	Counter64,
		FROM SNMPv2-SMI
	DateAndTime,
	MacAddress,
	RowStatus,
	TimeStamp,TruthValue,DisplayString, TEXTUAL-CONVENTION
		FROM SNMPv2-TC;





    EponDeviceIndex ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "
        Epon olt/ONU Device Index Number.
        ONU ID composition（4 bytes）（high--low）
        Olt device-8bit OLT Card-8bit Pon port-8bit OnuNUM-8bit
        Note:
        ----
        1. OLT device must not be 0.
        2. Card here shall confirm the last byte definition of EponCardIndex
           to indicate the main-slot and sub-slot index.
        3. Pon port must not be 0.
        4. The useful ONU logical ID MUST never be set to 0, where NUM of 0 has
           another meaning, to indicate that the ONU logical ID is meaningless,
           or said to not applied.

        Usage guide:
        -----------
        This TC could be used for OLT SNI, OLT PON port, OLT ONU ID
        ONU UNI, OLT device, trunk.
        If the refered MIB object does not have clear definition,
        refer to the following:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum shall be set to 0,
        OLT SNI    - Same as OLT Pon Port
        OLT onu ID   - Set OnuNUM to corresponding ONU logical ID
        ONU UNI    - Same as OLT ONU ID
        OLT device   - Set card, pon port and OnuNUM to 0
        Trunk    - Card to 0x3F, pon port to trunk ID, OnuNUM to 0
                 Olt device to corresponding ONU device
        "
      SYNTAX Unsigned32

	GponDeviceIndex ::= TEXTUAL-CONVENTION
	  STATUS current
	  DESCRIPTION
		"
		Gpon olt/onu Device Index Number.
		ONU ID composition（4 bytes）（high--low）
		Olt device-8bit OLT Card-8bit Pon port-8bit OnuNUM-8bit
		Note:
		----
		1. OLT device must not be 0.
		2. Card here shall confirm the last byte definition of EponCardIndex
		   to indicate the main-slot and sub-slot index.
		3. Pon port must not be 0.
		4. The useful ONU logical ID MUST never be set to 0, where NUM of 0 has
		   another meaning, to indicate that the ONU logical ID is meaningless,
		   or said to not applied.

		Usage guide:
		-----------
		This TC could be used for OLT SNI, OLT PON port, OLT ONU ID
		ONU UNI, OLT device, trunk.
		If the refered MIB object does not have clear definition,
		refer to the following:
		Applied Obj  - Descriptions of Index
		------------------------------------------------------------------
		OLT Pon Port - OnuNum shall be set to 0,
		OLT SNI    - Same as OLT Pon Port
		OLT onu ID   - Set OnuNUM to corresponding ONU logical ID
		ONU UNI    - Same as OLT ONU ID
		OLT device   - Set card, pon port and OnuNUM to 0
		Trunk    - Card to 0x3F, pon port to trunk ID, OnuNUM to 0
				 Olt device to corresponding ONU device
		"
	  SYNTAX Unsigned32

    EponCardIndex ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "
        Board Index Number
        For easy presenting the chassis view by NMS, bCardIndex shall be formatted
        in a following manner:
            Four bytes of INTEGER, from the most significant byte to the least significant
            bytes
                -----------------------------------------------------------------------------
        Reserved byte Reserved byte   Reserved byte Sub-slot 2-bit Main-slot 6-bit
        Notes:
        -----
        1. Reserved bytes shall be set to 0.
        2. The main-slot shall be started from 1, and shall be in a consecutive manner,
           for all slots, including service slots, control slots, switch slots, power
 slots,FAN slots, etc.For example, 1, 2, 3
        3. The sub-slot shall be started from 1, and shall be in a consecutive manner.
           For example, 1, 2. If no sub-slot concept of a main-slot, set to 0.
4. For fixed device, if no slot concept, NE shall set both main-slot and sub-slot
   to 0, to indicate this is meaningless. For modulized device, they MUST not be
 set to 0.This definition shall applied to both OLT and ONU.
5. For trunk, since there is no slot concept, set main-slot to all-1 and sub-slot
 to 0. This definition shall applied to both OLT and ONU.

        For example,
        0x00 00 00 0A, represents main-slot 10, no sub-slot
        0x00 00 00 42, represents main-slot 2, sub-slot 1
        0x00 00 00 3F, represents a trunk
        "
      SYNTAX Unsigned32

    EponPortIndex ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "
        Epon Port Index Number
        The device port number shall start from 1. Nunber 0 had specific meaning, stands
        for portIndex is meaningless, for the situation defined.
        "
      SYNTAX INTEGER (0..255)

    AutoNegotiationTechAbility ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "Technology ability of auto negotiation. Refer to
        clause 30.6.1.1.5 of IEEE 802.3 2005 edition"
      SYNTAX BITS
        {
        tenBaseTFullDuplex(1),
        tenBaseTHalfDuplex(2),
        hundredBaseTFullDuplex(3),
        hundredBaseTHalfDuplex(4),
        thousandBaseTFullDuplex(5),
        thousandBaseTHalfDuplex(6),
        thousandBaseXFullDuplex(7),
        thousandBaseXHalfDuplex(8),
        fdxPause(9),
        fdxApause(10),
        fdxSpause(11),
        fdxBpause(12)
        }

    EponStats15MinRecordType ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "15Minute performance statistics record index number
        Index number 0 means current 15Minute performance data
        1..96 means history 15Minute performance，1 means the latest data，96 means the oldest data"
      SYNTAX INTEGER (0..96)

    EponStats24HourRecordType ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "24Hour performance statistics record index number
        Index number 0 means current 24Hour performance data
        1..30 means history 24Hour performance, 1 means the latest data，30 means the oldest data"
      SYNTAX INTEGER (0..30)

    EponStatsThresholdType ::= TEXTUAL-CONVENTION
      STATUS current
      DESCRIPTION
        "Threshold type, view performance definition table
        1-  InOctets
        2 InPkts
        3 InBroadcastPkts
        4 InMulticastPkts
        5 InPkts64Octets
        6 InPkts65to127Octets
        7 InPkts128to255Octets
        8 InPkts256to511Octets
        9 InPkts512to1023Octets
        10  InPkts1024to1518Octets
        11  InPkts1519to1522Octets
        12  InUndersizePkts
        13  InOversizePkts
        14  InFragments
        15  InMpcpFrames
        16  InMpcpOctets
        17  InOAMFrames
        18  InOAMOctets
        19  InCRCErrorPkts
        20  InDropEvents
        21  InJabbers
        22  InCollision
        23  OutOctets
        24  OutPkts
        25  OutBroadcastPkts
        26  OutMulticastPkts
        27  OutPkts64Octets
        28  OutPkts65to127Octets
        29  OutPkts128to255Octets
        30  OutPkts256to511Octets
        31  OutPkts512to1023Octets
        32  OutPkts1024to1518Octets
        33  OutPkts1519o1522Octets
        34  OutUndersizePkts
        35  OutOversizePkts
        36  OutFragments
        37  OutMpcpFrames
        38  OutMpcpOctets
        39  OutOAMFrames
        40  OutOAMOctets
        41  OutCRCErrorPkts
        42  OutDropEvents
        43  OutJabbers
        44  OutCollision
        50  Temperature
        51  Voltage
52  TXPower
53  RXPower


        Note:
        ----------------------------------------------------------------
        1. For 50 Temperature, this parameter shall only applied to
           a. Slot level, for each service/switch/management card, for
              chassis-based system.
           b. Node-level, for fixed box.
        2. For 50 Temperature, shall be applied to both OLT and ONU
        3. For 50 Temperature, since no 15-min performance data collection
           are required, system shall ensure the temperature polling interval
           no less than 5 seconds. The alarm shall be only generated when the
           threshold is acrossed for three continuous intervals, and shall be
           cleared, when the threshold is not accrossed any more, for three
           continous intervals.
        "
      SYNTAX INTEGER (1..1024)





oltMIB MODULE-IDENTITY
	LAST-UPDATED "201709250344Z"	-- Sep 25, 2017 3:44:00 AM
	ORGANIZATION ""
	CONTACT-INFO
		""
	DESCRIPTION
		""
	REVISION "201709250344Z"	-- Sep 25, 2017 3:44:00 AM
	DESCRIPTION
		"Initial version."
	-- 1.3.6.1.4.1.50224
	::= { enterprises 50224 }


-- Conformance
--

oltTree OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3
	::= { oltMIB 3 }

systemObj OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.1
	::= { oltTree 1 }

sysInfo OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.1.1
	::= { systemObj 1 }

sysMacAddress OBJECT-TYPE
	SYNTAX  MacAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"for example: '00:00:00:00:00:11'"
	-- 1.3.6.1.4.1.50224.3.1.1.1
	::= { sysInfo 1 }


sysDate OBJECT-TYPE
	SYNTAX  DateAndTime
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.2
	::= { sysInfo 2 }


sysUptime OBJECT-TYPE
	SYNTAX  TimeTicks
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"the uptime is linux's uptime"
	-- 1.3.6.1.4.1.50224.3.1.1.3
	::= { sysInfo 3 }


sysBuildtime OBJECT-TYPE
	SYNTAX  DateAndTime
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"DateAndTime (OCTET STRING) (SIZE (8 |11)). Hint: 2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
	-- 1.3.6.1.4.1.50224.3.1.1.4
	::= { sysInfo 4 }


sysBootversion OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.5
	::= { sysInfo 5 }


sysSoftversion OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.6
	::= { sysInfo 6 }


sysHWversion OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.7
	::= { sysInfo 7 }


ponPortNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.8
	::= { sysInfo 8 }


gePortNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.9
	::= { sysInfo 9 }

xePortNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.10
	::= { sysInfo 10 }

totalPortNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.11
	::= { sysInfo 11 }

reset OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.12
	::= { sysInfo 12 }

snmpTrapCommunity OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.13
	::= { sysInfo 13 }

snmpTrapServer OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.1.14
	::= { sysInfo 14 }

cpuUsage OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The percentage of CPU usage, from 0 to 100%."
	-- 1.3.6.1.4.1.50224.3.1.1.17
	::= { sysInfo 17 }

memoryUsage OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The percentage of memory usage, from 0 to 100%."
	-- 1.3.6.1.4.1.50224.3.1.1.18
	::= { sysInfo 18 }

deviceModel OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device model."
	-- 1.3.6.1.4.1.50224.3.1.1.19
	::= { sysInfo 19 }

serialNumber OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device serial number."
	-- 1.3.6.1.4.1.50224.3.1.1.20
	::= { sysInfo 20 }

fanSpeed OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device fan speed."
	-- 1.3.6.1.4.1.50224.3.1.1.21
	::= { sysInfo 21 }

panelTemperature OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device panel temperature."
	-- 1.3.6.1.4.1.50224.3.1.1.22
	::= { sysInfo 22 }

mainChipTemperature OBJECT-TYPE
	SYNTAX  INTEGER (0..100)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device main chip temperature."
	-- 1.3.6.1.4.1.50224.3.1.1.23
	::= { sysInfo 23 }

powerSupplyVoltage OBJECT-TYPE
	SYNTAX  DisplayString
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Show the device power supply voltage."
	-- 1.3.6.1.4.1.50224.3.1.1.24
	::= { sysInfo 24 }

saveConfigure OBJECT-TYPE
	SYNTAX  INTEGER
	{ save(1) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		"1 - Save Device Configuration "
	-- 1.3.6.1.4.1.50224.3.1.1.25
	::= { sysInfo 25 }

sysOutBoundMgmt OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.1.2
	::= { systemObj 2 }

sysMgmtIPAddress OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.2.1
	::= { sysOutBoundMgmt 1 }


sysMgmtIPMask OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.2.2
	::= { sysOutBoundMgmt 2 }


sysMgmtAction OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.2.3
	::= { sysOutBoundMgmt 3 }


sysUpgrade OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.1.3
	::= { systemObj 3 }

sysFtpuser OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.1
	::= { sysUpgrade 1 }


sysFtppassword OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.2
	::= { sysUpgrade 2 }


sysFtpIP OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.3
	::= { sysUpgrade 3 }


sysImgName OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.4
	::= { sysUpgrade 4 }


sysUpgradeAction OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.5
	::= { sysUpgrade 5 }


sysUpgradeStatus OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.3.6
	::= { sysUpgrade 6 }


sysInboundMgmt OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.1.4
	::= { systemObj 4 }

sysInboundMgmtTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF SysInboundMgmtEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1
	::= { sysInboundMgmt 1 }


sysInboundMgmtEntry OBJECT-TYPE
	SYNTAX  SysInboundMgmtEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		inboundMgmtIndex }
	-- 1.3.6.1.4.1.50224.3.1.4.1.1
	::= { sysInboundMgmtTable 1 }


SysInboundMgmtEntry ::= SEQUENCE {

	inboundMgmtIndex    Unsigned32,
	sysInboundIpAddress IpAddress,
	sysInboundMask      IpAddress,
	sysInboundGateway   IpAddress,
	sysInboundVlanId    INTEGER,
	sysInboundRowStatus RowStatus }


inboundMgmtIndex OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.1
	::= { sysInboundMgmtEntry 1 }


sysInboundIpAddress OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.2
	::= { sysInboundMgmtEntry 2 }


sysInboundMask OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.3
	::= { sysInboundMgmtEntry 3 }


sysInboundGateway OBJECT-TYPE
	SYNTAX  IpAddress
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.4
	::= { sysInboundMgmtEntry 4 }


sysInboundVlanId OBJECT-TYPE
	SYNTAX  INTEGER (1..4094)
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.6
	::= { sysInboundMgmtEntry 6 }


sysInboundRowStatus OBJECT-TYPE
	SYNTAX  RowStatus
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.1.4.1.1.7
	::= { sysInboundMgmtEntry 7 }


oltPort OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.2
	::= { oltTree 2 }

oltPortTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF OltPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1
	::= { oltPort 1 }


oltPortEntry OBJECT-TYPE
	SYNTAX  OltPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		portDeviceIndex }
	-- 1.3.6.1.4.1.50224.3.2.1.1
	::= { oltPortTable 1 }


OltPortEntry ::= SEQUENCE {

	portDeviceIndex       EponDeviceIndex,
	portName        OCTET STRING,
	portDesc        OCTET STRING,
	oltPortType     INTEGER,
	portSpeed       INTEGER,
	portStatus      INTEGER,
	portAdminStatus INTEGER,
	portMtu         INTEGER,
	portAutoneg     INTEGER,
	portDuplex      INTEGER,
	oltPortMedia    INTEGER,
	portFlowControl INTEGER,
	portPvid        INTEGER,
	portIngressRate INTEGER,
	portEgressRate  INTEGER}


portDeviceIndex OBJECT-TYPE
	SYNTAX  EponDeviceIndex
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.1
	::= { oltPortEntry 1 }


portName OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.2
	::= { oltPortEntry 2 }


portDesc OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.3
	::= { oltPortEntry 3 }


oltPortType OBJECT-TYPE
	SYNTAX  INTEGER {
			blank(1),
			fe(2),
			single100FX(3),
			double100FX(4),
			single1000FX(5),
			double1000FX(6),
			ge(7),
			cpu(8),
			xe(9),
            pon(10) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.4
	::= { oltPortEntry 4 }


portSpeed OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.5
	::= { oltPortEntry 5 }


portStatus OBJECT-TYPE
	SYNTAX  INTEGER {
			linkDown(1),
			linkUp(2) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.6
	::= { oltPortEntry 6 }


portAdminStatus OBJECT-TYPE
	SYNTAX  INTEGER{
			Disable(1),
			Enable(2) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.7
	::= { oltPortEntry 7 }


portMtu OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.8
	::= { oltPortEntry 8 }


portAutoneg OBJECT-TYPE
	SYNTAX  INTEGER{
			Disable(1),
			Enable(2) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.9
	::= { oltPortEntry 9 }


portDuplex OBJECT-TYPE
	SYNTAX  INTEGER{
			full(1),
			half(2) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.10
	::= { oltPortEntry 10 }


oltPortMedia OBJECT-TYPE
	SYNTAX  INTEGER{
			copper(1),
			fiber(2) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.11
	::= { oltPortEntry 11 }

portFlowControl OBJECT-TYPE
	SYNTAX  INTEGER{
			Disable(1),
			Enable(2) }
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.12
	::= { oltPortEntry 12 }

portPvid OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.13
	::= { oltPortEntry 13 }

portIngressRate OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.14
	::= { oltPortEntry 14 }

portEgressRate OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.1.1.15
	::= { oltPortEntry 15 }


eponPortTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF EponPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2
	::= { oltPort 2 }


eponPortEntry OBJECT-TYPE
	SYNTAX  EponPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		eponPortIndex }
	-- 1.3.6.1.4.1.50224.3.2.2.1
	::= { eponPortTable 1 }


EponPortEntry ::= SEQUENCE {

	eponPortIndex     INTEGER,
	eponauthMode         OCTET STRING,
	eponauthType         OCTET STRING,
	epononuNum           INTEGER,
	epononuOnlineNum	 INTEGER,
	epononuOfflineNum	 INTEGER }


eponPortIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.1
	::= { eponPortEntry 1 }


eponauthMode OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.2
	::= { eponPortEntry 2 }


eponauthType OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.3
	::= { eponPortEntry 3 }


epononuNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.4
	::= { eponPortEntry 4 }

epononuOnlineNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.5
	::= { eponPortEntry 5 }

epononuOfflineNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.2.1.6
	::= { eponPortEntry 6 }

gponPortTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF GponPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3
	::= { oltPort 3 }

gponPortEntry OBJECT-TYPE
	SYNTAX  GponPortEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		gponPortIndex }
	-- 1.3.6.1.4.1.50224.3.2.3.1
	::= { gponPortTable 1 }

GponPortEntry ::= SEQUENCE {

	gponPortIndex     INTEGER,
	gponauthType         INTEGER,
	gpononuNum           INTEGER,
	gpononuOnlineNum	 INTEGER,
	gpononuOfflineNum	 INTEGER }

gponPortIndex OBJECT-TYPE
	SYNTAX  INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3.1.1
	::= { gponPortEntry 1 }

gponauthType OBJECT-TYPE
	SYNTAX  INTEGER {
			manual(0),
			auto(1)	}
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3.1.2
	::= { gponPortEntry 2 }

gpononuNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3.1.3
	::= { gponPortEntry 3 }

gpononuOnlineNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3.1.4
	::= { gponPortEntry 4 }

gpononuOfflineNum OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.3.1.5
	::= { gponPortEntry 5 }

oltPortOpticalTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF oltPortOpticalEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4
	::= { oltPort 4 }


oltPortOpticalEntry OBJECT-TYPE
	SYNTAX  OltPortOpticalEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		portDeviceIndex }
	-- 1.3.6.1.4.1.50224.3.2.4.1
	::= { oltPortOpticalTable 1 }


oltPortOpticalEntry ::= SEQUENCE {

	portDeviceIndex       EponDeviceIndex,
	modulePortName         OCTET STRING,
	modulePortDesc         OCTET STRING,
	portState              INTEGER,
	moduleState            INTEGER,
	moduleVendorName       OCTET STRING,
	moduleVendorSN         OCTET STRING,
	moduleTemperature      INTEGER,
	moduleVoltage          INTEGER,
	moduleBias             INTEGER,
	moduleTxPower          INTEGER,
	moduleRxPower          INTEGER}


portDeviceIndex OBJECT-TYPE
	SYNTAX  EponDeviceIndex
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.1
	::= { oltPortOpticalEntry 1 }


modulePortName OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.2
	::= { oltPortOpticalEntry 2 }


modulePortDesc OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.3
	::= { oltPortOpticalEntry 3 }


portState OBJECT-TYPE
	SYNTAX  INTEGER {
			LinkDown(1),
			LinkUp(2)}
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.4
	::= { oltPortOpticalEntry 4 }


moduleState OBJECT-TYPE
	SYNTAX  INTEGER{
			NotDetect(1),
			Detect(2)}
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.5
	::= { oltPortOpticalEntry 5 }


moduleVendorName OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.6
	::= { oltPortOpticalEntry 6 }


moduleVendorSN OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.2.4.1.7
	::= { oltPortOpticalEntry 7 }


moduleTemperature OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS   "Centi-degree centigrade"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Working Temperature
		 divide by 100
		 unit: ℃
		"
	-- 1.3.6.1.4.1.50224.3.2.4.1.8
	::= { oltPortOpticalEntry 8 }


moduleVoltage OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS   "centi-V"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Working Voltage
		 divide by 100
		 unit: V"
	-- 1.3.6.1.4.1.50224.3.2.4.1.9
	::= { oltPortOpticalEntry 9 }


moduleBias OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS   "centi-mA"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"biasCurrent
		 divide by 100
		 unit: mA"
	-- 1.3.6.1.4.1.50224.3.2.4.1.10
	::= { oltPortOpticalEntry 10 }


moduleTxPower OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Tramsmitted Optical Power
		 divide by 100
		 unit: dBm"
	-- 1.3.6.1.4.1.50224.3.2.4.1.11
	::= { oltPortOpticalEntry 11 }

moduleRxPower OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"Received Optical Power
		 divide by 100
		 unit: dBm"
	-- 1.3.6.1.4.1.50224.3.2.4.1.12
	::= { oltPortOpticalEntry 12 }


eponONU OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.3
	::= { oltTree 3 }

eponONUBlacklistTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF EponBlackListEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.3.1
	::= { eponONU 1 }


eponBlackListEntry OBJECT-TYPE
	SYNTAX  EponBlackListEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""

	INDEX {
		onuIndex}
	-- 1.3.6.1.4.1.50224.3.3.1.1
	::= { eponONUBlacklistTable 1 }


EponBlackListEntry ::= SEQUENCE {

	onuIndex   EponDeviceIndex,
	macAddress MacAddress ,
	onuBindBMacRowStatus RowStatus
	}


onuIndex OBJECT-TYPE
	SYNTAX  EponDeviceIndex
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"device index :
		4byte:  DEVICE ID / 3byte:  SLOT ID / 2byte:  PON ID / 1byte:  ONU ID
		"
	-- 1.3.6.1.4.1.50224.3.3.1.1.1
	::= { eponBlackListEntry 1 }


macAddress OBJECT-TYPE
	SYNTAX  MacAddress
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.3.1.1.2
	::= { eponBlackListEntry 2 }

onuBindBMacRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"bind, delete blacklist onu"
		-- 1.3.6.1.4.1.50224.3.3.1.1.3
	::= { eponBlackListEntry 3 }


onuInfoTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF OnuInfoEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of onuInfoTable entries. "
	::= {eponONU 2 }

onuInfoEntry  OBJECT-TYPE
	SYNTAX      OnuInfoEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The onuInfoEntry Information"
	INDEX       { onuDeviceIndex }
	::={onuInfoTable 1 }

OnuInfoEntry ::= SEQUENCE {
	onuDeviceIndex              EponDeviceIndex,
	onuName                     DisplayString,
	onuType                     INTEGER,
	onuIpAddress                IpAddress,
	onuIpSubnetMask             IpAddress,
	onuIpGateway                IpAddress,
	onuMacAddress               MacAddress,
	onuOperationStatus          INTEGER,
	onuAdminStatus              INTEGER,
	onuChipVendor               DisplayString,
	onuChipType                 DisplayString,
	onuChipVersion              DisplayString,
	onuSoftwareVersion          DisplayString,
	onuFirmwareVersion          DisplayString,
	onuTestDistance             INTEGER,
	onuLlidId                   INTEGER,
	resetONU                    INTEGER,
	onuTimeSinceLastRegister  Counter32,
	onuMgmtCvlan        INTEGER,
	onuMgmtSvlan        INTEGER,
	onuMgmtPriority       INTEGER,
	onuMgmtSnmpTrapHost     IpAddress,
	onuMgmtSnmpCommunityForRead   DisplayString,
	onuMgmtSnmpCommunityForWrite  DisplayString,
	onuVendorId DisplayString,
	onuModelId DisplayString,
	onuHardwareVersion DisplayString,
	onuSn DisplayString,
	onuTimeLastRegister DateAndTime,
	onuBindMacRowStatus RowStatus,
	onuPorts			INTEGER,
	onuManufacture		DisplayString
  }

onuDeviceIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {onuInfoEntry 1 }

onuName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Name"
	::= {onuInfoEntry 2 }

onuType  OBJECT-TYPE
	SYNTAX      INTEGER
	  {
		fixed(1),
		chassisBased(2)
	  }
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Type
		fixed(1)        - not slot concept
		chassisBased(2) - port is indexed by coupling slot ID"
	::= {onuInfoEntry 3 }

onuIpAddress  OBJECT-TYPE
	SYNTAX      IpAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Ip Address"
	::= {onuInfoEntry 4 }

onuIpSubnetMask  OBJECT-TYPE
	SYNTAX      IpAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Ip Subnet Mask"
	::= {onuInfoEntry 5 }

onuIpGateway  OBJECT-TYPE
	SYNTAX      IpAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Ip Gateway"
	::= {onuInfoEntry 6 }

onuMacAddress  OBJECT-TYPE
	SYNTAX      MacAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onuMac Address"
	::= {onuInfoEntry 7 }

onuOperationStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
	up(1),
	down(2),
	testing(3)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Operation Status"
	::= {onuInfoEntry 8 }

onuAdminStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
	up(1),
	down(2),
	testing(3)
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Admin Status，
down（2），No authorization, close the data channel"
	::= {onuInfoEntry 9 }

onuChipVendor  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Chip Vendor"
	::= {onuInfoEntry 10 }

onuChipType  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Chip Type"
	::= {onuInfoEntry 11 }

onuChipVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Chip Version"
	::= {onuInfoEntry 12 }

onuSoftwareVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Software Version"
	::= {onuInfoEntry 13 }

onuFirmwareVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Firmware Version"
	::= {onuInfoEntry 14 }

onuTestDistance  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Meter"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Test Distance"
	::= {onuInfoEntry 15 }

onuLlidId  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Llid Id"
	::= {onuInfoEntry 16 }

resetONU  OBJECT-TYPE
	SYNTAX      INTEGER { reset(1) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"reset ONU"
	::= {onuInfoEntry 17 }

onuTimeSinceLastRegister  OBJECT-TYPE
	SYNTAX      Counter32
	UNITS   "seconds"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"The number of seconds, since the time when the ONU is registered"
	::= {onuInfoEntry 18 }

onuMgmtCvlan  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"CVLAN ID of management data for the ONU"
	::= {onuInfoEntry 19 }

onuMgmtSvlan  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      optional
	DESCRIPTION
		"SVLAN ID of management data for the ONU
		Set to 0, means only single VLAN is supported, no SVLAN concept,
		for the ONU management"
	::= {onuInfoEntry 20 }

onuMgmtPriority  OBJECT-TYPE
	SYNTAX      INTEGER (0..7)
	MAX-ACCESS  read-write
	STATUS      optional
	DESCRIPTION
		"Tagged dot1p priority of management data for the ONU"
	::= {onuInfoEntry 21 }
onuMgmtSnmpTrapHost  OBJECT-TYPE
	SYNTAX      IpAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"The host IP address, to which the ONU will send trap."
	::= {onuInfoEntry 22 }

onuMgmtSnmpCommunityForRead  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"The read SNMP community to the ONU."
	::= {onuInfoEntry 23 }

onuMgmtSnmpCommunityForWrite  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"The write SNMP community to the ONU."
	::= {onuInfoEntry 24 }

onuVendorId OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"ONU vendor id."
	::= {onuInfoEntry 25 }

onuModelId OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"ONU model id."
	::= {onuInfoEntry 26 }

onuHardwareVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"ONU hardware version."
	::= {onuInfoEntry 27 }

onuSn OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"ONU serial number."
	::= {onuInfoEntry 28 }



onuTimeLastRegister OBJECT-TYPE
	SYNTAX      DateAndTime
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		" ONU last registration time "
	::= {onuInfoEntry 29 }

onuBindMacRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"bind, delete onu"
	::= { onuInfoEntry 30 }

onuPorts OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		" onu all ports "
	::= {onuInfoEntry 31 }

onuManufacture OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		" onu Manufacture  "
	::= {onuInfoEntry 32 }


onuPonPortOpticalTransmissionPropertyTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF OnuPonPortOpticalTransmissionPropertyEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"
		This table is designed for both OLT and ONU
	Applied Obj  - Descriptions of Index
  ------------------------------------------------------------------
	OLT      - OnuNum of EponDeviceIndex TC shall be set to 0,
			 onuPonPortOpticalTransmissionPropertyCardIndex, and
			 onuPonPortOpticalTransmissionPropertyPortIndex set to
			 65535 indicates meaningless
	ONU      - Set EponDeviceIndex TC to corresponding ONU ID,
			   onuPonPortOpticalTransmissionPropertyCardIndex, and
			   onuPonPortOpticalTransmissionPropertyPortIndex set to the
			   corresponding value
  "
	::= {eponONU 3 }

onuPonPortOpticalTransmissionPropertyEntry  OBJECT-TYPE
	SYNTAX      OnuPonPortOpticalTransmissionPropertyEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The onuPonPortOpticalTransmissionPropertyEntry Information"
	INDEX       { onuPonPortOpticalTransmissionPropertyDeviceIndex, onuPonPortOpticalTransmissionPropertyCardIndex,onuPonPortOpticalTransmissionPropertyPortIndex }
	::={onuPonPortOpticalTransmissionPropertyTable 1 }

OnuPonPortOpticalTransmissionPropertyEntry ::= SEQUENCE {
	onuPonPortOpticalTransmissionPropertyDeviceIndex     EponDeviceIndex,
	onuPonPortOpticalTransmissionPropertyCardIndex       INTEGER,
	onuPonPortOpticalTransmissionPropertyPortIndex       INTEGER,
	onuReceivedOpticalPower                              INTEGER,
	onuTramsmittedOpticalPower                           INTEGER,
	onuBiasCurrent                                       INTEGER,
	onuWorkingVoltage                                    INTEGER,
	onuWorkingTemperature                                INTEGER,
	onuPonPortReceivedOpticalPower                       INTEGER
  }

onuPonPortOpticalTransmissionPropertyDeviceIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Device Index of the ONU."
	::= {onuPonPortOpticalTransmissionPropertyEntry 1 }

onuPonPortOpticalTransmissionPropertyCardIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Card Index in the ONU. Shall set to 0, if ONU is not a modulized
		device"
	::= {onuPonPortOpticalTransmissionPropertyEntry 2 }

onuPonPortOpticalTransmissionPropertyPortIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Port Index in the Pon card of ONU"
	::= {onuPonPortOpticalTransmissionPropertyEntry 3 }

onuReceivedOpticalPower  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"received Optical Power"
	::= {onuPonPortOpticalTransmissionPropertyEntry 4 }

onuTramsmittedOpticalPower  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"tramsmitted Optical Power"
	::= {onuPonPortOpticalTransmissionPropertyEntry 5 }

onuBiasCurrent  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-mA"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"biasCurrent"
	::= {onuPonPortOpticalTransmissionPropertyEntry 6 }

onuWorkingVoltage  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-mV"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onuworking Voltage"
	::= {onuPonPortOpticalTransmissionPropertyEntry 7 }

onuWorkingTemperature  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Centi-degree centigrade"
   MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"working Temperature"
	::= {onuPonPortOpticalTransmissionPropertyEntry 8 }

onuPonPortReceivedOpticalPower  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-dBm"
   MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Ponport RSSI received Optical Power"
	::= {onuPonPortOpticalTransmissionPropertyEntry 9 }

onuCapabilityTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF OnuCapabilityEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of onuInfoTable entries. "
	::= {eponONU 4 }

onuCapabilityEntry  OBJECT-TYPE
	SYNTAX      OnuCapabilityEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The onuCapabilityEntry Information"
	INDEX       { onuCapabilityDeviceIndex }
	::={onuCapabilityTable 1 }

OnuCapabilityEntry ::= SEQUENCE {
	onuCapabilityDeviceIndex     EponDeviceIndex,
	onuGePortNum                 INTEGER,
	onuGePortBitmap              OCTET STRING,
	onuFePortNum                 INTEGER,
	onuFePortBitmap              OCTET STRING,
	onuQueueNumUplink            INTEGER,
	onuMaxQueueNumUplink         INTEGER,
	onuQueueNumDownlink          INTEGER,
	onuMaxQueueNumDownlink       INTEGER,
	onuFecEnable                 TruthValue,
	onuEncryptMode               INTEGER,
	onuEncryptKeyExchangeTime    TimeTicks,
	onuIsolationEnable           TruthValue
  }

onuCapabilityDeviceIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onu Device Index"
	::= {onuCapabilityEntry 1 }

onuGePortNum  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"gePort Num"
	::= {onuCapabilityEntry 2 }

onuGePortBitmap  OBJECT-TYPE
	SYNTAX      OCTET STRING
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"gePort Bitmap

		In slot+port pair list manner. Suppose each slot support up to 64 ports.
		One octet to indentify slot and 8 octets to identify portbitmap for
		the slot. The bitmap definition is internet sequence. The most left bit
		is for port 1 of the slot, the most right bit is for port 64 of the slot.
		If the slot cannot support 64 ports, set the bits of not supported ports
		to 0.
		If the port is GE port, set the corresponding bit to 1.
		Since the slot num depends on each individual device, the object is variable
		length. If the device is fixed box (not modulized), set the slot number to
		255. Then the network management system could ignore the slot info.
		It is not necessary to list the slot doesn't support GE port.
		For example, if have 4 GE ports, of: 1/4, 1/6, 2/3, 4/17,
		the object will be presented in:
		01 14 00 00 00 00 00 00 00
		02 20 00 00 00 00 00 00 00
		04 00 00 80 00 00 00 00 00
		Another example, for fixed box, if have 4 ge ports of 4,6,10,17, the object
		will be presented as:
		FF 14 40 10 00 00 00 00
		"
	::= {onuCapabilityEntry 3 }

onuFePortNum  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"fePort Num"
	::= {onuCapabilityEntry 4 }

onuFePortBitmap  OBJECT-TYPE
	SYNTAX      OCTET STRING
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"fePort Bitmap

		In slot+port pair list manner. Suppose each slot support up to 64 ports.
		One octet to indentify slot and 8 octets to identify portbitmap for
		the slot. The bitmap definition is internet sequence. The most left bit
		is for port 1 of the slot, the most right bit is for port 64 of the slot.
		If the slot cannot support 64 ports, set the bits of not supported ports
		to 0.
		If the port is FE port, set the corresponding bit to 1.
		Since the slot num depends on each individual device, the object is variable
		length. If the device is fixed box (not modulized), set the slot number to
		255. Then the network management system could ignore the slot info.
		It is not necessary to list the slot doesn't support FE port.
		For example, if have 4 FE ports, of: 1/4, 1/6, 2/3, 4/17,
		the object will be presented in:
		01 14 00 00 00 00 00 00 00
		02 20 00 00 00 00 00 00 00
		04 00 00 80 00 00 00 00 00
		Another example, for fixed box, if have 4 FE ports of 4,6,10,17, the object
		will be presented as:
		FF 14 40 10 00 00 00 00
		"
	::= {onuCapabilityEntry 5 }

onuQueueNumUplink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"queue Num Uplink"
	::= {onuCapabilityEntry 6 }

onuMaxQueueNumUplink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"max Queue Num Uplink"
	::= {onuCapabilityEntry 7 }

onuQueueNumDownlink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"queue Num Downlink"
	::= {onuCapabilityEntry 8 }

onuMaxQueueNumDownlink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"max Queue Num Downlink"
	::= {onuCapabilityEntry 9 }

 onuFecEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"fec Enable"
	::= {onuCapabilityEntry 10 }

onuEncryptMode  OBJECT-TYPE
	SYNTAX      INTEGER {
			aes128(1),
			ctcTripleChurning(2),
			other(3)
				   }
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"encrypt Mode"
	::= {onuCapabilityEntry 11 }

onuEncryptKeyExchangeTime  OBJECT-TYPE
	SYNTAX      TimeTicks
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"encryptKeyExchange Time"
	::= {onuCapabilityEntry 12 }

onuIsolationEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"
ONU port isolation enable
true(1) false(2)"
	::= { onuCapabilityEntry  13 }


slaTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SlaEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of slaTable entries. "
	::= {eponONU 5 }

slaEntry  OBJECT-TYPE
	SYNTAX      SlaEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The slaEntry Information"
	INDEX       { slaIndex }
	::={slaTable 1 }

SlaEntry ::= SEQUENCE {
	slaIndex               EponDeviceIndex,
	slaDsFixedBW             INTEGER,
	slaDsPeakBW              INTEGER,
	slaDsCommittedBW         INTEGER,
	slaUsFixedBW             INTEGER,
	slaUsPeakBW              INTEGER,
	slaUsCommittedBW         INTEGER
  }

slaIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"sla Index"
	::= {slaEntry 1 }

slaDsFixedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla FixedBW"
	::= {slaEntry 2 }

slaDsPeakBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla PeakBW"
	::= {slaEntry 3 }

slaDsCommittedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla CommittedBW"
	::= {slaEntry 4 }

slaUsFixedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla FixedBW"
	::= {slaEntry 5 }

slaUsPeakBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla PeakBW"
	::= {slaEntry 6 }

slaUsCommittedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla CommittedBW"
	::= {slaEntry 7 }



onuAllowListTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF onuAllowListEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of onuInfoTable entries. "
	::= {eponONU 6 }

onuAllowListEntry  OBJECT-TYPE
	SYNTAX      OnuInfoEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The onuAllowListEntry Information"
	INDEX       { onuAllowDeviceIndex }
	::={onuAllowListTable 1 }

onuAllowListEntry ::= SEQUENCE {
	onuAllowDeviceIndex           EponDeviceIndex,
	onuAllowListName              DisplayString,
	onuAllowListMacAddress        MacAddress,
	onuAllowListAuthState         INTEGER,
	onuAllowListAdminStatus       INTEGER,
	onuAllowListTestDistance      INTEGER,
	onuAllowListSerialNum         DisplayString,
	onuAllowListTimeLastRegister  DateAndTime,
	onuAllowListBindMacRowStatus  RowStatus
  }

onuAllowDeviceIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {onuAllowListEntry 1 }

onuAllowListName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Name"
	::= {onuAllowListEntry 2 }

onuAllowListMacAddress  OBJECT-TYPE
	SYNTAX      MacAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onuMac Address"
	::= {onuAllowListEntry 3 }

onuAllowListAuthState  OBJECT-TYPE
	SYNTAX      INTEGER {
	true(1),
	false(2),
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu auth state，
			true(auth onu), false(unauth onu),"
	::= {onuAllowListEntry 4 }

onuAllowListAdminStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
	up(1),
	down(2),
	register(3),
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Admin Status，
			up(online), down(offline), register，"
	::= {onuAllowListEntry 5 }


onuAllowListTestDistance  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Meter"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Test Distance"
	::= {onuAllowListEntry 6 }


onuAllowListSerialNum OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"ONU serial number."
	::= {onuAllowListEntry 7 }



onuAllowListTimeLastRegister OBJECT-TYPE
	SYNTAX      DateAndTime
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		" ONU Last register timestamp "
	::= {onuAllowListEntry 8 }

onuAllowListBindMacRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"bind, delete onu"
		-- 1.3.6.1.4.1.50224.3.6.1.
	::= { onuAllowListEntry 9 }


eponAlarm OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.4
	::= { oltTree 4 }

eponAlarmTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF EponAlarmEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1
	::= { eponAlarm 1 }


eponAlarmEntry OBJECT-TYPE
	SYNTAX  EponAlarmEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		alarmIndex }
	-- 1.3.6.1.4.1.50224.3.4.1.1
	::= { eponAlarmTable 1 }


EponAlarmEntry ::= SEQUENCE {

	alarmIndex    INTEGER,
	alarmType     INTEGER,
	alarmCode     INTEGER,
	alarmLevel    INTEGER,
	alarmLocation INTEGER,
	alarmIdentify OCTET STRING,
	alarmTime     OCTET STRING,
	alarmDeviceType	INTEGER }


alarmIndex OBJECT-TYPE
	SYNTAX  INTEGER (0..1024)
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.1
	::= { eponAlarmEntry 1 }


alarmType OBJECT-TYPE
	SYNTAX  INTEGER {
			env(0),
			equipment(1),
			process(2),
			service(3),
			common(4) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	DEFVAL { env }
	-- 1.3.6.1.4.1.50224.3.4.1.1.2
	::= { eponAlarmEntry 2 }


alarmCode OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.3
	::= { eponAlarmEntry 3 }


alarmLevel OBJECT-TYPE
	SYNTAX  INTEGER {
			critical(0),
			major(1),
			minor(2),
			waring(3) }
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.4
	::= { eponAlarmEntry 4 }


alarmLocation OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.5
	::= { eponAlarmEntry 5 }


alarmIdentify OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.6
	::= { eponAlarmEntry 6 }


alarmTime OBJECT-TYPE
	SYNTAX  OCTET STRING
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.4.1.1.7
	::= { eponAlarmEntry 7 }


alarmDeviceType OBJECT-TYPE
	SYNTAX  INTEGER
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"
		value 1 means epon device alarm.
		value 2 means gpon device alarm.
		"
	-- 1.3.6.1.4.1.50224.3.4.1.1.8
	::= { eponAlarmEntry 8 }


uniObjects OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.5
	::= { oltTree 5 }

--------------------------------------------------------------------------------
--  uniObjects[UNI attributes management](1.3.6.1.4.1.50224.3.5)
--------------------------------------------------------------------------------

 uniAttributeTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniAttributeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of uniAttributeTable entries."
        ::= {uniObjects 1 }

    uniAttributeEntry  OBJECT-TYPE
        SYNTAX      UniAttributeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The uniAttributeEntry Information"
        INDEX       { uniAttributeDeviceIndex, uniAttributeCardIndex,uniAttributePortIndex }
        ::={uniAttributeTable 1 }

    UniAttributeEntry ::= SEQUENCE {
        uniAttributeDeviceIndex              EponDeviceIndex,
        uniAttributeCardIndex                EponCardIndex,
        uniAttributePortIndex                EponPortIndex,
        uniAdminStatus              INTEGER,
        uniOperationStatus          INTEGER,
        uniAutoNegotiationEnable    TruthValue,
        uniAutoNegotiationLocalTechAbility      AutoNegotiationTechAbility,
        uniAutoNegotiationRestart   INTEGER,
        uniMacAddrLearnMaxNum       INTEGER,
		uniCurrentPerfStatsEnable   TruthValue
      }

    uniAttributeDeviceIndex  OBJECT-TYPE
        SYNTAX      EponDeviceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Device Index

            For OLT, set to corresponding ONU ID
            For ONU, set to 0
            "
        ::= {uniAttributeEntry 1 }

    uniAttributeCardIndex  OBJECT-TYPE
        SYNTAX      EponCardIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Card Index
            The value of this cardIndex depends on onuType.
      fixed(1)        - set to 0, to indicate slot num is meaningless.
      chassisBased(2) - MUST NOT be zero
            "
        ::= {uniAttributeEntry 2 }

    uniAttributePortIndex  OBJECT-TYPE
        SYNTAX      EponPortIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port Index"
        ::= {uniAttributeEntry 3 }

    uniAdminStatus  OBJECT-TYPE
        SYNTAX      INTEGER {
            up(1),
            down(2),
            testing(3)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Admin Status"
        ::= {uniAttributeEntry 4 }

    uniOperationStatus  OBJECT-TYPE
        SYNTAX  INTEGER {
            up(1),
            down(2),
            testing(3)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Operation Status"
        ::= {uniAttributeEntry 5 }

    uniAutoNegotiationEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Whether or not to enable auto negotiation on the uni port"
        ::= {uniAttributeEntry 6 }

    uniAutoNegotiationLocalTechAbility  OBJECT-TYPE
        SYNTAX      AutoNegotiationTechAbility
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This indicates the technology ability of the local device"
        ::= {uniAttributeEntry 7 }

    uniAutoNegotiationRestart OBJECT-TYPE
        SYNTAX      INTEGER {
            restart(1)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Restart the autonegotiation"
        ::= {uniAttributeEntry  8 }

    uniMacAddrLearnMaxNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Mac Address Learn Max Num"
        ::= { uniAttributeEntry  9 }

    uniCurrentPerfStatsEnable   OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "true(1) false(2)"
        ::= { uniAttributeEntry  10 }
   uniMacAddressManagement OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
      ""
    ::= { uniObjects 2 }

uniMacAddressManagementTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF UniMacAddressManagementEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of MacAddress global parameter in a onu."
        ::= { uniMacAddressManagement 1 }

    uniMacAddressManagementEntry  OBJECT-TYPE
        SYNTAX      UniMacAddressManagementEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            " "
        INDEX   { uniMacAddrONUIndex, uniMacAddrCardIndex,uniMacAddrPortIndex}
        ::= { uniMacAddressManagementTable 1 }


UniMacAddressManagementEntry::=
        SEQUENCE {
        uniMacAddrONUIndex   EponDeviceIndex,
        uniMacAddrCardIndex EponCardIndex,
        uniMacAddrPortIndex EponPortIndex,
        uniMacAddrAgingTime   INTEGER,
        uniMacAddrClear      INTEGER
        }


    uniMacAddrONUIndex   OBJECT-TYPE
  SYNTAX      EponDeviceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "onuDevice Index"
        ::= { uniMacAddressManagementEntry 1 }

 uniMacAddrCardIndex  OBJECT-TYPE
        SYNTAX      EponCardIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Card Index
            The value of this cardIndex depends on onuType.
      fixed(1)        - set to 0, to indicate slot num is meaningless.
      chassisBased(2) - MUST NOT be zero
            "
        ::= {uniMacAddressManagementEntry 2 }

    uniMacAddrPortIndex  OBJECT-TYPE
        SYNTAX      EponPortIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Port Index"
        ::= {uniMacAddressManagementEntry 3 }

    uniMacAddrAgingTime   OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "Seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Mac Address Table Aging Time"
        ::= { uniMacAddressManagementEntry 4 }

    uniMacAddrClear OBJECT-TYPE
        SYNTAX      INTEGER { allDynamic(1) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Mac Address Table Clear"
        ::= { uniMacAddressManagementEntry 5 }


    uniMacAddressTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF UniMacAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of MacAddress entries."
        ::= { uniMacAddressManagement 2 }

    uniMacAddressEntry OBJECT-TYPE
        SYNTAX      UniMacAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Mac Address Information"
        INDEX   { uniMacAddrIndex,  uniMacAddrVlanIdIndex }
        ::= { uniMacAddressTable 1 }

    UniMacAddressEntry ::=
        SEQUENCE {
        uniMacAddrIndex        MacAddress,
        uniMacAddrVlanIdIndex  INTEGER,
        uniMacAddrType         INTEGER,
        uniMacAddrPortId       OCTET STRING,
        uniMacAddrRowStatus    RowStatus
        }

    uniMacAddrIndex   OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Mac Address Index"
        ::= { uniMacAddressEntry 1 }

    uniMacAddrVlanIdIndex   OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Mac Address Vlan Id Index"
        ::= { uniMacAddressEntry 2 }

    uniMacAddrType  OBJECT-TYPE
        SYNTAX  INTEGER {
            static(1),
            dynamic(2),
            other(3)}
        MAX-ACCESS  read-create
        STATUS    current
        DESCRIPTION
            "Mac Address Type"
        ::= { uniMacAddressEntry 3 }

    uniMacAddrPortId OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (2))
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "Mac Address Port Id
            The first octet is slot ID, the second octet is port ID.
            If the device is fixed (not modulized), set slot ID to 0.
            Note that, slot here shall follow the last byte definition of
            EponCardIndex to indicate the main-slot and sub-slot index.
            For example, for modulized port 10/3, set to 0x0A 03
            For fix box port 3, set to 0x00 03
            "
        ::=  {  uniMacAddressEntry 4 }

    uniMacAddrRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "delete,create. Update is not supported"
        ::= { uniMacAddressEntry 5 }

    uniTrunkManagement  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
      ""
    ::= { uniObjects 3 }


    uniTrunkGroupConfigTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniTrunkGroupConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of uniTrunkGroupConfigTable entries."
        ::= {uniTrunkManagement 1 }

    uniTrunkGroupConfigEntry  OBJECT-TYPE
        SYNTAX      UniTrunkGroupConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The uniTrunk Group Config Entry Information"
        INDEX       { uniTrunkGroupConfigIndex }
        ::={uniTrunkGroupConfigTable 1 }
    UniTrunkGroupConfigEntry ::= SEQUENCE {
        uniTrunkGroupConfigIndex      INTEGER,
        uniTrunkGroupConfigName       DisplayString,
        uniTrunkGroupConfigMember     OCTET STRING,
        uniTrunkGroupConfigPolicy     INTEGER,
        uniTrunkGroupConfigRowstatus  RowStatus
      }

    uniTrunkGroupConfigIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Trunk Group Config Index"
        ::= {uniTrunkGroupConfigEntry 1 }

    uniTrunkGroupConfigName  OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Trunk Group Config Name"
        ::= {uniTrunkGroupConfigEntry 2 }

    uniTrunkGroupConfigMember  OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Trunk Group Config Member.
      It is presented by member port list. Each member port is identified
      by 2-byte format, One for slot ID, the last for port ID. The actual
      length of this string depends of the number of member ports in the
      trunk group. If the ONU is fixed (not modulized), set slot ID to 0,
      the NMS could ignore the slot info.
      Note that, slot here shall follow the last byte definition of
      EponCardIndex to indicate the main-slot and sub-slot index.
      The relationship is:
      Length of the string = 2 * (NUM of member ports)
      For example, if port 1/2 and 3/4 is the member ports of the
      trunk, then the object is presented as:
      01 02 03 04
            "
        ::= {uniTrunkGroupConfigEntry 3 }

    uniTrunkGroupConfigPolicy  OBJECT-TYPE
        SYNTAX      INTEGER
            {
      srcMac(1),
      destMac(2),
      srcMacNDestMac(3),
      srcIp(4),
      destIp(5),
      srcIpNDestIp(6)
             }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Trunk Group Config Policy"
        ::= {uniTrunkGroupConfigEntry 4 }

    uniTrunkGroupConfigRowstatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Trunk Group Config Rowstatus"
        ::= {uniTrunkGroupConfigEntry 5 }

    uniTrunkGroupTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "a list of uniTrunkGroupConfigTable entries."
        ::= {uniTrunkManagement 2 }

    uniTrunkGroupEntry  OBJECT-TYPE
        SYNTAX      UniTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Trunk Group Entry"
        INDEX       { uniTrunkGroupIndex }
        ::={uniTrunkGroupTable 1 }

    UniTrunkGroupEntry ::= SEQUENCE {
        uniTrunkGroupIndex            INTEGER,
        uniTrunkGroupOperationStatus  INTEGER,
        uniTrunkGroupActualSpeed      INTEGER,
        uniTrunkGroupAdminStatus      INTEGER
      }

    uniTrunkGroupIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Trunk Group Index"
        ::= {uniTrunkGroupEntry 1 }

    uniTrunkGroupOperationStatus  OBJECT-TYPE
        SYNTAX  INTEGER {
            up(1),
            down(2),
            testing(3)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Trunk Group Operation Status"
        ::= {uniTrunkGroupEntry 2 }

    uniTrunkGroupActualSpeed  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "Mbps"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Trunk Group Actual Speed.
            The speed is the aggregated rates of all operational UP member
            ports of the trunk.
            For example, 4 member ports of the trunk, two are UP, each is 1000M
            then the SUN is 2000M. As a result, the return of the MIB shall be
            2000Mbps"
        ::= {uniTrunkGroupEntry 3 }


    uniTrunkGroupAdminStatus  OBJECT-TYPE
        SYNTAX      INTEGER {
            up(1),
            down(2),
            testing(3)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Trunk Group AdminStatus"
        ::= {uniTrunkGroupEntry 4 }


    uniPortRateLimitTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniPortRateLimitEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of PortRateLimit entries."
        ::= { uniObjects 4 }

    uniPortRateLimitEntry OBJECT-TYPE
        SYNTAX      UniPortRateLimitEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Port Rate Limit Information"
        INDEX       { uniPortRateLimitDeviceIndex, uniPortRateLimitCardIndex, uniPortRateLimitPortIndex }
        ::= { uniPortRateLimitTable 1 }

    UniPortRateLimitEntry ::=
        SEQUENCE {
            uniPortRateLimitDeviceIndex  EponDeviceIndex,
            uniPortRateLimitCardIndex    EponCardIndex,
            uniPortRateLimitPortIndex    EponPortIndex,
            uniPortInCIR    INTEGER,
            uniPortInCBS    INTEGER,
            uniPortInEBS    INTEGER,
            uniPortOutCIR   INTEGER,
            uniPortOutPIR   INTEGER,
            uniPortInRateLimitEnable  TruthValue,
            uniPortOutRateLimitEnable TruthValue
            }
    uniPortRateLimitDeviceIndex OBJECT-TYPE
        SYNTAX      EponDeviceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "device Index

            For OLT, set to corresponding ONU ID
            For ONU, set to 0
            "
        ::= { uniPortRateLimitEntry 1 }

    uniPortRateLimitCardIndex OBJECT-TYPE
        SYNTAX      EponCardIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "card Index
            The value of this cardIndex depends on onuType.
      fixed(1)        - set to 0, to indicate slot num is meaningless.
      chassisBased(2) - MUST NOT be zero
            "
        ::= { uniPortRateLimitEntry 2 }

    uniPortRateLimitPortIndex OBJECT-TYPE
        SYNTAX      EponPortIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "port Index"
        ::= { uniPortRateLimitEntry 3 }

    uniPortInCIR OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS       "kbps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Committed Information Rate(CIR) in kbps."
        ::= { uniPortRateLimitEntry 4 }

    uniPortInCBS OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "Kbytes"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Committed Burst Rate(CBS) in kbyte."
        ::= { uniPortRateLimitEntry 5 }

    uniPortInEBS OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "Kbytes"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "ebs in kbytes."
        ::= { uniPortRateLimitEntry 6 }

    uniPortOutCIR OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS       "Kbps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Committed Information Rate(CIR) in kbps."
        ::= { uniPortRateLimitEntry 7 }

    uniPortOutPIR OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "Kbps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "PIR in kbps."
        ::= { uniPortRateLimitEntry 8 }

    uniPortInRateLimitEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Whether or not to enable or disable ingress rate limit for the UNI."
        ::= { uniPortRateLimitEntry 9 }

    uniPortOutRateLimitEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Whether or not to enable or disable egress rate limit for the UNI."
        ::= { uniPortRateLimitEntry 10 }

    uniMirrorTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniMirrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "a list of uniMirrorTable entries."
        ::= {uniObjects 5 }

    uniMirrorEntry  OBJECT-TYPE
        SYNTAX      UniMirrorEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Mirror Information."
        INDEX       { uniMirrorGroupIndex }
        ::={uniMirrorTable 1 }

    UniMirrorEntry ::= SEQUENCE {
        uniMirrorGroupIndex           INTEGER,
        uniMirrorGroupName            DisplayString,
        uniMirrorGroupDstPortList     OCTET STRING,
        uniMirrorGroupSrcInPortList   OCTET STRING,
        uniMirrorGroupSrcOutPortList  OCTET STRING,
        uniMirrorGroupRowstatus       RowStatus
      }

    uniMirrorGroupIndex  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Mirror Group Index"
        ::= {uniMirrorEntry 1 }

    uniMirrorGroupName  OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mirror Group Name"
        ::= {uniMirrorEntry 2 }

    uniMirrorGroupDstPortList  OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mirror Group Dst Port List.
            It is presented by port list. Each port is identified by
            2-byte format, One for slot ID, the last for port ID. The
            actual length of this string depends of the number of
            ports in destination port list of the mirror group,
            If the ONU is fixed (not modulized), set slot ID to 0,
            the NMS could ignore the slot info.
            Note that, slot here shall follow the last byte definition of
            EponCardIndex to indicate the main-slot and sub-slot index.
            The relationship is:
            Length of the string = 2 * (NUM of ports)
            For example, if port 1/2 and 3/4 is the destination ports of
            the mirror group, then the object is presented as:
            01 02 03 04
            "
        ::= {uniMirrorEntry 3 }

    uniMirrorGroupSrcInPortList  OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mirror Group Src In Port List.
            It is presented by port list. Each port is identified by
            2-byte format, One for slot ID, the last for port ID. The
            actual length of this string depends of the number of
            ports in source ingress list of the mirror group,
            If the ONU is fixed (not modulized), set slot ID to 0,
            the NMS could ignore the slot info.
            Note that, slot here shall follow the last byte definition of
            EponCardIndex to indicate the main-slot and sub-slot index.
            The relationship is:
            Length of the string = 2 * (NUM of ports)
            For example, if port 1/2 and 3/4 is the source ingress ports of
            the mirror group, then the object is presented as:
            01 02 03 04
            "
        ::= {uniMirrorEntry 4 }

    uniMirrorGroupSrcOutPortList  OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mirror Group Src Out Port List.
            It is presented by port list. Each port is identified by
            2-byte format, One for slot ID, the last for port ID. The
            actual length of this string depends of the number of
            ports in source egress list of the mirror group,
            If the ONU is fixed (not modulized), set slot ID to 0,
            the NMS could ignore the slot info.
          Note that, slot here shall follow the last byte definition of
          EponCardIndex to indicate the main-slot and sub-slot index.
          The relationship is:
          Length of the string = 2 * (NUM of ports)
          For example, if port 1/2 and 3/4 is the source egress ports of
          the mirror group, then the object is presented as:
          01 02 03 04
            "
        ::= {uniMirrorEntry 5 }

    uniMirrorGroupRowstatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mirror Group Rowstatus"
        ::= {uniMirrorEntry 6 }


    uniBroadcastStormSuppressionTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniBroadcastStormSuppressionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of BroadcastStormSuppression entries."
        ::= { uniObjects 6 }

    uniBroadcastStormSuppressionEntry OBJECT-TYPE
        SYNTAX      UniBroadcastStormSuppressionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Broadcast Storm Suppression Information"
        INDEX   { uniBroadcastStormSuppressionCardIndex,  uniBroadcastStormSuppressionPortIndex  }
        ::= { uniBroadcastStormSuppressionTable 1 }

    UniBroadcastStormSuppressionEntry ::=
        SEQUENCE {
            uniBroadcastStormSuppressionCardIndex                    EponCardIndex,
            uniBroadcastStormSuppressionPortIndex                    EponPortIndex,
            uniUnicastStormEnable               TruthValue,
            uniUnicastStormInPacketRate        INTEGER,
            uniUnicastStormOutPacketRate       INTEGER,
            uniMulticastStormEnable         TruthValue,
            uniMulticastStormInPacketRate   INTEGER,
            uniMulticastStormOutPacketRate  INTEGER,
            uniBroadcastStormEnable         TruthValue,
            uniBroadcastStormInPacketRate   INTEGER,
            uniBroadcastStormOutPacketRate  INTEGER
        }

    uniBroadcastStormSuppressionCardIndex OBJECT-TYPE
        SYNTAX      EponCardIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "card Index

            The value of this cardIndex depends on onuType.
            fixed(1)        - set to 0, to indicate slot num is meaningless.
            chassisBased(2) - MUST NOT be zero
            "
        ::= { uniBroadcastStormSuppressionEntry 1 }


    uniBroadcastStormSuppressionPortIndex  OBJECT-TYPE
        SYNTAX      EponPortIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "port Index"
        ::= { uniBroadcastStormSuppressionEntry 2 }

    uniUnicastStormEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Cast Storm Enable"
        ::= { uniBroadcastStormSuppressionEntry 3 }

    uniUnicastStormInPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Cast Storm In Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 4 }

    uniUnicastStormOutPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Cast Storm Out Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 5 }

    uniMulticastStormEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "true(1) false(2)"
        ::= { uniBroadcastStormSuppressionEntry 6 }

    uniMulticastStormInPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Multicast Storm In Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 7 }

    uniMulticastStormOutPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Multicast Storm Out Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 8 }

    uniBroadcastStormEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "true(1) false(2)"
        ::= { uniBroadcastStormSuppressionEntry 9 }

    uniBroadcastStormInPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Broadcast Storm In Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 10 }

    uniBroadcastStormOutPacketRate  OBJECT-TYPE
        SYNTAX      INTEGER
        UNITS   "pps"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Broadcast Storm Out Packet Rate"
        ::= { uniBroadcastStormSuppressionEntry 11 }

    uniExtAttributeTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF UniExtAttributeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The extended attribute list for each UNI. "
        ::= { uniObjects 7 }

    uniExtAttributeEntry OBJECT-TYPE
        SYNTAX      UniExtAttributeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            ""
        INDEX   { uniExtAttributeCardIndex,  uniExtAttributePortIndex  }
        ::= { uniExtAttributeTable 1 }

    UniExtAttributeEntry ::= SEQUENCE {
        uniExtAttributeCardIndex    EponCardIndex,
        uniExtAttributePortIndex    EponPortIndex,
        uniPerfStats15minuteEnable  TruthValue,
        uniPerfStats24hourEnable    TruthValue,
        uniLastChangeTime           TimeTicks,
        uniIsolationEnable          TruthValue,
        uniExtMacAddrLearnMaxNum       INTEGER,
        uniAutoNegotiationAdvertisedTechAbility AutoNegotiationTechAbility,
        uniMacAddrClearByPort		INTEGER
       }

    uniExtAttributeCardIndex  OBJECT-TYPE
        SYNTAX      EponCardIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Card index
            The value of this cardIndex depends on onuType.
      fixed(1)        - set to 0, to indicate slot num is meaningless.
            chassisBased(2) - MUST NOT be zero
            "
        ::= {uniExtAttributeEntry 1 }

    uniExtAttributePortIndex  OBJECT-TYPE
        SYNTAX      EponPortIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            ""
        ::= {uniExtAttributeEntry 2 }

    uniPerfStats15minuteEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "true(1) false(2)"
        ::= {uniExtAttributeEntry 3 }

    uniPerfStats24hourEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "true(1) false(2)"
        ::= {uniExtAttributeEntry 4 }

    uniLastChangeTime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
              "Last Change Time"
        ::= {uniExtAttributeEntry 5 }

    uniIsolationEnable  OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "
If port isolation is for ONU device, can set port index number as 0.
true(1) false(2)"
        ::= {uniExtAttributeEntry 6 }

    uniExtMacAddrLearnMaxNum  OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Mac Address Learn Max Num"
        ::= {uniExtAttributeEntry 7 }
    uniAutoNegotiationAdvertisedTechAbility  OBJECT-TYPE
        SYNTAX      AutoNegotiationTechAbility
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Refer to clause 30.6.1.1.6 of IEEE 802.3 2005 edition"
        ::= {uniExtAttributeEntry 8 }

    uniMacAddrClearByPort  OBJECT-TYPE
        SYNTAX      INTEGER { clearDynamic(1) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Clear MAC address by UNI port.
            clearDynamic(1) - Clear all dynamic MAC address learned on the UNI port"
        ::= {uniExtAttributeEntry 9 }



igmpManagement OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.6
	::= { oltTree 6 }

--------------------------------------------------------------------------------
--  igmpManagement[IGMP Management table](1.3.6.1.4.1.50224.3.6)
--------------------------------------------------------------------------------
    igmpEntityTable OBJECT-TYPE
      SYNTAX SEQUENCE OF IgmpEntityEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
IGMP entity table"
      ::= { igmpManagement 1 }

    igmpEntityEntry OBJECT-TYPE
      SYNTAX IgmpEntityEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { igmpDeviceIndex }
      ::= { igmpEntityTable 1 }

    IgmpEntityEntry ::=
      SEQUENCE {
        igmpDeviceIndex
          INTEGER,
        igmpMode
          INTEGER,
        maxQueryResponseTime
          INTEGER,
        robustVariable
          INTEGER,
        queryInterval
          INTEGER,
        lastMemberQueryInterval
          INTEGER,
        lastMemberQueryCount
          INTEGER,
        igmpVersion
          INTEGER
       }

    igmpDeviceIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index number.
        For OLT, set to corresponding device
        For ONU, set to 0"
      ::= { igmpEntityEntry 1 }

    igmpMode OBJECT-TYPE
      SYNTAX INTEGER
        {
        centralized(1),
        distributedwithcm(2),
        disabled(3),
        distributedwocm(4)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        IGMP working mode
        centralized(1)      - All the multicast control is done by OLT
        distributedwithcm(2)    - Both OLT and ONU perform IGMP proxy and
                      controlled multicast will be enabled. At
                      this case, if igmp joins shall follow the
                      definition in multicastPackageList, for the
                      port
        disabled(3)       - Disable IGMP proxy on OLT and ONU
        distributedwocm(4)    - Both OLT and ONU perform IGMP proxy and
                      controlled multicast will be disabled. At
                      this case, if igmp joins shall be accept even
                      violate the definition in multicastPackageList,
                      for the port.
        "
      DEFVAL { disabled }
      ::= { igmpEntityEntry 2 }

    maxQueryResponseTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "tenth second"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Max response query time
        Unit：1/10s
        This is used for sending general query"
      ::= { igmpEntityEntry 3 }

    robustVariable OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Robustness variable
        This is used for sending general query
        No less than 1"
      ::= { igmpEntityEntry 4 }


    queryInterval OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "seconds"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Sending query packets interval
        Unit：S
        This is used for sending general query
        "
      ::= { igmpEntityEntry 5 }

    lastMemberQueryInterval OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "tenth second"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Max Response Time inserted into Group-Specific Queries sent in response
        to Leave Group messages, and is also the amount of time between
        Group-Specific Query messages
        "
      ::= { igmpEntityEntry 6 }

    lastMemberQueryCount OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Number of Group-Specific Queries sent before the router assumes there
        are no local members
        "
      ::= { igmpEntityEntry 7 }

    igmpVersion OBJECT-TYPE
      SYNTAX INTEGER
        {
        v1(1),
        v2(2),
        v3(3)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        IGMP version"
      DEFVAL { v2 }
      ::= { igmpEntityEntry 8 }


    igmpProxyParaTable OBJECT-TYPE
      SYNTAX SEQUENCE OF IgmpProxyParaEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        IGMP proxy parameters table - program list"
      ::= { igmpManagement 2 }

    igmpProxyParaEntry OBJECT-TYPE
      SYNTAX IgmpProxyParaEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { proxyIndex }
      ::= { igmpProxyParaTable 1 }

    IgmpProxyParaEntry ::=
      SEQUENCE {
        proxyIndex
          INTEGER,
        proxyName
          OCTET STRING,
        proxySrcIPAddress
          IpAddress,
        proxyMulticastVID
          INTEGER,
        proxyMulticastIPAddress
          IpAddress,
        multicastAssuredBW
          Unsigned32,
        multicastMaxBW
          Unsigned32,
        proxyRowStatus
          RowStatus
       }

    proxyIndex OBJECT-TYPE
      SYNTAX INTEGER (1..2000)
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        IGMP Proxy Index Number - Program Index"
      ::= { igmpProxyParaEntry 1 }

    proxyName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..256))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        IGMP Proxy Alias（Such as CCTV, etc.）"
      ::= { igmpProxyParaEntry 2 }

    proxySrcIPAddress OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        proxy source ip address"
      ::= { igmpProxyParaEntry 3 }

    proxyMulticastVID OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        IGMP Proxy corresponding Multicast VID
        Note：Multicast VID is effect only in controllable IGMP mode"
      ::= { igmpProxyParaEntry 4 }

    proxyMulticastIPAddress OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Multicast ip address"
      ::= { igmpProxyParaEntry 5 }

    multicastAssuredBW OBJECT-TYPE
      SYNTAX Unsigned32
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Multicast assured bandwidth
        Unit：kbps"
      ::= { igmpProxyParaEntry 6 }

    multicastMaxBW OBJECT-TYPE
      SYNTAX Unsigned32
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Multicast max bandwidth
        Unit：kbps"
      ::= { igmpProxyParaEntry 7 }

    proxyRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { igmpProxyParaEntry 8 }

    igmpForwardingTable OBJECT-TYPE
      SYNTAX SEQUENCE OF IgmpForwardingEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Multicast forwarding table
        "
      ::= { igmpManagement 3 }

    igmpForwardingEntry OBJECT-TYPE
      SYNTAX IgmpForwardingEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { groupDeviceIndex, groupVlanIndex, groupIPAddress }
      ::= { igmpForwardingTable 1 }
    IgmpForwardingEntry ::=
      SEQUENCE {
        groupDeviceIndex
          INTEGER,
        groupVlanIndex
          INTEGER,
        groupIPAddress
          IpAddress,
        groupPortList
          OCTET STRING
       }

    groupDeviceIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index Number.
        For OLT, set to corresponding OLT device
        For ONU, set to 0
        "
      ::= { igmpForwardingEntry 1 }

    groupVlanIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Vlan Index Nmber"
      ::= { igmpForwardingEntry 2 }


    groupIPAddress OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Group IP Address Index Number"
      ::= { igmpForwardingEntry 3 }

    groupPortList OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Forwarding port list
        1. OLT
        -------------------------------------------------------------------
        It is presented by member port list. Each member port is identified
        by 4-byte format, same as TC of EponDeviceIndex. The actual length of
        this string depends of the number of member ports in the port list.
        The relationship is:
        Length of the string = 4 * (NUM of member ports)
        For example, if device 1, port 1/2 and 2/3 is the member ports,
        then this object will be presented as:
        01 01 02 00 01 02 03 00

        2. ONU
        -------------------------------------------------------------------
        It is presented by member port list. Each member port is identified
        by 2-byte format, One for slot ID, the last for port ID. The actual
        length of this string depends of the number of member ports. If the
        ONU is fixed (not modulized), set slot ID to 0, the NMS could ignore
        the slot info.
        Note that, slot here shall follow the last byte definition of
        EponCardIndex to indicate the main-slot and sub-slot index.
        The relationship is:
        Length of the string = 2 * (NUM of member ports)
        For example, if port 1/2 and 3/4 is the member ports of the group,
        then the object is presented as:
        01 02 03 04
        "
      ::= { igmpForwardingEntry 4 }

    controllededMulticastTable OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        "
        Controllable Multicast Table"
      ::= { igmpManagement 4 }

     controlledMulticastUserAuthorityTable OBJECT-TYPE
      SYNTAX SEQUENCE OF ControlledMulticastUserAuthorityEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Controllable Multicast User Authority Table
        "
      ::= { controllededMulticastTable 1 }

    controlledMulticastUserAuthorityEntry OBJECT-TYPE
      SYNTAX ControlledMulticastUserAuthorityEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { cmDeviceIndex, cmCardIndex, cmPortIndex }
      ::= { controlledMulticastUserAuthorityTable 1 }

    ControlledMulticastUserAuthorityEntry ::=
      SEQUENCE {
        cmDeviceIndex
          EponDeviceIndex,
        cmCardIndex
          EponCardIndex,
        cmPortIndex
          EponPortIndex,
        multicastPackageList
          OCTET STRING,
        igmpGlobalBW
          Unsigned32,
        igmpGlobalBWUsed
          Unsigned32,
        cmUserAuthorityRowStatus
          RowStatus
       }

    cmDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index Number
        For OLT, set to corresponding device/slot/port/ONU
        For ONU, set to 0"
      ::= { controlledMulticastUserAuthorityEntry 1 }

    cmCardIndex  OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number
        Set to corresponding UNI slot
        "
      ::= { controlledMulticastUserAuthorityEntry 2 }

    cmPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port ID
        Set to corresponding UNI port
        "
      ::= { controlledMulticastUserAuthorityEntry 3 }

    multicastPackageList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE(0..250))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Controllable Multicast Group List.
        Usage is similar to cmProxyList，each bit correponds to cmIndex"
      ::= { controlledMulticastUserAuthorityEntry 4 }

    igmpGlobalBW OBJECT-TYPE
      SYNTAX Unsigned32
      UNITS "kbps"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        IGMP global bandwidth pool size - the max multicast bandwidth supported by the port
        Unit：kbps"
      ::= { controlledMulticastUserAuthorityEntry 5 }

    igmpGlobalBWUsed OBJECT-TYPE
      SYNTAX Unsigned32
      UNITS "kbps"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        IGMP global bandwidth pool current used size - The current multicast bandwidth actually used by the port
        Unit：kbps"
      ::= { controlledMulticastUserAuthorityEntry 6 }

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

    controlledMulticastPackageTable OBJECT-TYPE
      SYNTAX SEQUENCE OF ControlledMulticastPackageEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Controllable Multicast Service Package Table"
      ::= { controllededMulticastTable 2 }

    controlledMulticastPackageEntry OBJECT-TYPE
      SYNTAX ControlledMulticastPackageEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { cmIndex }
      ::= { controlledMulticastPackageTable 1 }

    ControlledMulticastPackageEntry ::=
      SEQUENCE {
        cmIndex
          INTEGER,
        cmName
          OCTET STRING,
        cmProxyList
          OCTET STRING,
        multicastUserAuthority
          INTEGER,
        maxRequestChannelNum
          INTEGER,
        singlePreviewTime
          INTEGER,
        totalPreviewTime
          INTEGER,
        previewResetTime
          INTEGER,
        previewCount
          INTEGER,
        cmRowStatus
          RowStatus
       }

    cmIndex OBJECT-TYPE
      SYNTAX INTEGER (1..2000)
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
         Controllable Multicast Service Package Index（serial number）"
      ::= { controlledMulticastPackageEntry 1 }

    cmName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE(0..256))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Controllable Multicast Service Package Name"
      ::= { controlledMulticastPackageEntry 2 }

    cmProxyList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..250))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Proxy list supported by this controllable multicast service package
        Use similar INTERNET bit order, the OCTET from left to right are OCTET 0, OCTET 1, ...
        The bits of each OCTET from left to right are bit0，bit1，...，bit7。
        According to the order of bit and OCTET from small to large, each bit corresponds to igmpProxyParaTable
        one proxyIndex, if bit is set, means proxyIndex support, otherwise, it is not supported.
        For example, If 80 channels are planned，proxyIndex range is 1..80，expressed in 10 bytes
        proxy list，Assuming that the PON port only supports channel list 1,15,38，corresponding cmProxyList can
        set as 0x80 02 00 00 04 00 00 00 00 00"
      ::= { controlledMulticastPackageEntry 3 }

    multicastUserAuthority OBJECT-TYPE
      SYNTAX INTEGER
        {
        permit(1),
        preview(2),
        deny(3)
        }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        User right（permit、preview、deny）"
      ::= { controlledMulticastPackageEntry 4 }

    maxRequestChannelNum OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Maximum number of requested channels"
      ::= { controlledMulticastPackageEntry 5 }

    singlePreviewTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "seconds"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Single preview duration, unit: second"
      ::= { controlledMulticastPackageEntry 6 }

    totalPreviewTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "seconds"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Total preview time, unit: second"
      ::= { controlledMulticastPackageEntry 7 }

    previewResetTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "seconds"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Preview reset time, unit: second"
      ::= { controlledMulticastPackageEntry 8 }

    previewCount OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Number of previews"
      ::= { controlledMulticastPackageEntry 9 }

    cmRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { controlledMulticastPackageEntry 10 }


igmpOnuUniTable  OBJECT-TYPE
SYNTAX      SEQUENCE OF IgmpOnuUniEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "A list of igmpOnuUniTable  entries. "
::= { igmpManagement 5 }

igmpOnuUniEntry OBJECT-TYPE
SYNTAX      IgmpOnuUniEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "The igmpOnuUniEntry Information"
INDEX   { uniMvlanDeviceIndex,uniMvlanCardIndex,uniMvlanPortIndex }
::={ igmpOnuUniTable 1 }

IgmpOnuUniEntry::= SEQUENCE {
uniMvlanDeviceIndex
EponDeviceIndex,
uniMvlanCardIndex
EponCardIndex,
uniMvlanPortIndex
EponPortIndex,
uniMvlanVid
OCTET STRING,
uniMaxMultiNum
INTEGER,
uniMvlanTag
INTEGER,
uniMvlanRowstatus
INTEGER
}

uniMvlanDeviceIndex OBJECT-TYPE
SYNTAX      EponDeviceIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "Device Index "
::= { igmpOnuUniEntry 1 }

uniMvlanCardIndex OBJECT-TYPE
SYNTAX      EponCardIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "Board Index"
::= { igmpOnuUniEntry 2 }

uniMvlanPortIndex OBJECT-TYPE
SYNTAX      EponPortIndex
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Port Index"
::= { igmpOnuUniEntry 3 }

uniMvlanVid OBJECT-TYPE
SYNTAX     OCTET STRING (SIZE (16))
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Index (uni mvlan(1..4084))，The two-byte value represents a VLAN ID, and only 8 VLANs are configured for a UNI port"
::= { igmpOnuUniEntry 4 }

uniMaxMultiNum OBJECT-TYPE
SYNTAX      INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Max number of multicasts"
::= { igmpOnuUniEntry 5 }

uniMvlanTag OBJECT-TYPE
SYNTAX      INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Whether stripe, 0：striped 1：not striped"
::= { igmpOnuUniEntry 6 }

uniMvlanRowstatus OBJECT-TYPE
SYNTAX      INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Row status"
::= { igmpOnuUniEntry 7 }



    igmpOltMulticastVlanTable  OBJECT-TYPE
      SYNTAX SEQUENCE OF IgmpOltMulticastVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
OLT Multicast VLAN Table"
      ::= { igmpManagement 6 }


    igmpOltMulticastVlanEntry OBJECT-TYPE
      SYNTAX IgmpOltMulticastVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { igmpOltMulticastVlanDeviceIndex, multicastVlanId  }
      ::= { igmpOltMulticastVlanTable 1 }

    IgmpOltMulticastVlanEntry ::=
      SEQUENCE {
        igmpOltMulticastVlanDeviceIndex
          INTEGER,
        multicastVlanId
          INTEGER,
        mVlanMaxQueryResponseTime
          INTEGER,
        mVlanRobustVariable
          INTEGER,
        mVlanQueryInterval
          INTEGER,
        mVlanLastMemberQueryInterval
          INTEGER,
        mVlanLastMemberQueryCount
          INTEGER,
        mvlanRowstatus
          INTEGER
       }

    igmpOltMulticastVlanDeviceIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index.
        OLT device index"
      ::= { igmpOltMulticastVlanEntry 1 }

    multicastVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        OLT Multicast VLAN ID
        "
      ::= { igmpOltMulticastVlanEntry 2 }

    mVlanMaxQueryResponseTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "tenth second"
      MAX-ACCESS read-write
      STATUS optional
      DESCRIPTION
        "
        Max response time
        Unit：1/10 seconds
        This is used for sending general query"
      ::= { igmpOltMulticastVlanEntry 3 }

    mVlanRobustVariable OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS optional
      DESCRIPTION
        "
        Robustness variable
        This is used for sending general query
        No less than 1"
      ::= { igmpOltMulticastVlanEntry 4 }


    mVlanQueryInterval OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "seconds"
      MAX-ACCESS read-write
      STATUS optional
      DESCRIPTION
        "
        Sending query packets interval
        Unit：seconds
        This is used for sending general query
        "
      ::= { igmpOltMulticastVlanEntry 5 }

    mVlanLastMemberQueryInterval OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "tenth second"
      MAX-ACCESS read-write
      STATUS optional
      DESCRIPTION
        "
        Max Response Time inserted into Group-Specific Queries sent in response
        to Leave Group messages, and is also the amount of time between
        Group-Specific Query messages
        "
      ::= { igmpOltMulticastVlanEntry 6 }

    mVlanLastMemberQueryCount OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS optional
      DESCRIPTION
        "
        Number of Group-Specific Queries sent before the router assumes there
        are no local members
        "
      ::= { igmpOltMulticastVlanEntry 7 }


mvlanRowstatus  OBJECT-TYPE
SYNTAX      INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Row status"
::= { igmpOltMulticastVlanEntry  8 }




igmpSniMulticastVlanTable   OBJECT-TYPE
SYNTAX      SEQUENCE OF IgmpSniMulticastVlanEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "SNI port multicast VLAN table"
::= { igmpManagement 7 }

igmpSniMulticastVlanEntry OBJECT-TYPE
SYNTAX      IgmpSniMulticastVlanEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "The igmpSniMulticastVlanEntry Information"
INDEX   { sniMultiVlanVid,sniMultiVlanDeviceIndex }
::={ igmpSniMulticastVlanTable   1 }

IgmpSniMulticastVlanEntry ::= SEQUENCE {
sniMultiVlanVid
INTEGER,
sniMultiVlanDeviceIndex
EponDeviceIndex,
sniMultiVlanRowstatus
INTEGER
}

sniMultiVlanVid  OBJECT-TYPE
SYNTAX    INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    " SNI port multicast VLAN ID"
::= { igmpSniMulticastVlanEntry 1 }

sniMultiVlanDeviceIndex  OBJECT-TYPE
SYNTAX      EponDeviceIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "SNI device index，device/slot/sni port "
::= { igmpSniMulticastVlanEntry 2 }

sniMultiVlanRowstatus OBJECT-TYPE
SYNTAX      INTEGER
MAX-ACCESS  read-create
STATUS      current
DESCRIPTION
    "Row status"
::= { igmpSniMulticastVlanEntry 3 }



onuIgmpModeTable   OBJECT-TYPE
SYNTAX      SEQUENCE OF OnuIgmpModeEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "ONU Multicast Mode Table"
::= { igmpManagement 8 }

onuIgmpModeEntry  OBJECT-TYPE
SYNTAX      OnuIgmpModeEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "The onuIgmpModeEntry Information"
INDEX   { onuIgmpModeDeviceIndex }
::={ onuIgmpModeTable  1 }

OnuIgmpModeEntry ::= SEQUENCE {
onuIgmpModeDeviceIndex
EponDeviceIndex,
onuIgmpMode
INTEGER
}

onuIgmpModeDeviceIndex  OBJECT-TYPE
SYNTAX      EponDeviceIndex
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "ONU ID "
::= { onuIgmpModeEntry 1 }

onuIgmpMode  OBJECT-TYPE
SYNTAX    INTEGER{
disable(1),
snooping(2),
controlledMulticast(3)
}
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
    " ONU Multicast Mode"
::= { onuIgmpModeEntry 2 }



vlanManagement OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.7
	::= { oltTree 7 }

--------------------------------------------------------------------------------
--  vlanManagement [VLAN management](1.3.6.1.4.1.50224.3.7)
--------------------------------------------------------------------------------
    vlanGlobalInfoTable OBJECT-TYPE
      SYNTAX SEQUENCE OF VlanGlobalInfoEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Global VLAN Table"
      ::= { vlanManagement 1 }

    vlanGlobalInfoEntry OBJECT-TYPE
      SYNTAX VlanGlobalInfoEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { vlanDeviceIndex }
      ::= { vlanGlobalInfoTable 1 }

    VlanGlobalInfoEntry ::=
      SEQUENCE {
        vlanDeviceIndex
          EponDeviceIndex,
        maxVlanId
          INTEGER,
        maxSupportVlans
          INTEGER,
        createdVlanNumber
          INTEGER
       }

    vlanDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index.
        For OLT, set to corresponding device ID
        For ONU, set to 0"
      ::= { vlanGlobalInfoEntry 1 }

    maxVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Max VLAN ID"
      ::= { vlanGlobalInfoEntry 2 }

    maxSupportVlans OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Maximum number of VLANs supported"
      ::= { vlanGlobalInfoEntry 3 }

    createdVlanNumber OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Number of VLANs created"
      ::= { vlanGlobalInfoEntry 4 }

    vlanConfigGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        "
        Vlan configuration group"
      ::= { vlanManagement 2 }

    oltVlanConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OltVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT VLAN member configuration table"
      ::= { vlanConfigGroup 1 }

    oltVlanConfigEntry OBJECT-TYPE
      SYNTAX OltVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { oltVlanIndex, oltVlanDeviceIndex}
      ::= { oltVlanConfigTable 1 }

    OltVlanConfigEntry ::=
      SEQUENCE {
        oltVlanIndex
          INTEGER,
        oltVlanDeviceIndex
          INTEGER,
        oltVlanName
          OCTET STRING,
        taggedPort
          OCTET STRING,
        untaggedPort
          OCTET STRING,
        oltVlanRowStatus
          RowStatus
       }

    oltVlanIndex  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Vlan Index"
      ::= { oltVlanConfigEntry 1 }

    oltVlanDeviceIndex  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT Device Index Number.
        "
      ::= { oltVlanConfigEntry 2 }

    oltVlanName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..128))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        OLT VLAN name"
      ::= { oltVlanConfigEntry 3 }

    taggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Vlan Included tag PON/SNI in OLT.
        It is presented by member port list. Each member port is identified
        by 4-byte format, same as TC of EponDeviceIndex. The actual length of
        this string depends of the number of member ports in the port list.
        The relationship is:
        Length of the string = 4 * (NUM of member ports)
        For example, if device 1, port 1/2 and 2/3 is the member ports,
        then this object will be presented as:
        01 01 02 00 01 02 03 00
        "
      ::= { oltVlanConfigEntry 4 }

    untaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Vlan included Untag PON/SNI in OLT.
        It is presented by member port list. Each member port is identified
        by 4-byte format, same as TC of EponDeviceIndex. The actual length of
        this string depends of the number of member ports in the port list.
        The relationship is:
        Length of the string = 4 * (NUM of member ports)
        For example, if device 1, port 1/2 and 2/3 is the member ports,
        then this object will be presented as:
        01 01 02 00 01 02 03 00
        "
      ::= { oltVlanConfigEntry 5 }

    oltVlanRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { oltVlanConfigEntry 6 }

    onuVlanConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OnuVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ONU VLAN member configuration table
        It is maintained by ONU itself.
        "
      ::= { vlanConfigGroup 2 }

    onuVlanConfigEntry OBJECT-TYPE
      SYNTAX OnuVlanConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { onuVlanIndex,onuVlanDeviceIndex }
      ::= { onuVlanConfigTable 1 }

    OnuVlanConfigEntry ::=
      SEQUENCE {
        onuVlanIndex
          INTEGER,
       onuVlanDeviceIndex
          EponDeviceIndex,
        onuVlanName
          OCTET STRING,
        onuVlanTaggedPort
          OCTET STRING,
        onuVlanUntaggedPort
          OCTET STRING,
        onuVlanRowStatus
          RowStatus
       }

    onuVlanIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Vlan Index Nuumber"
      ::= { onuVlanConfigEntry 1 }


    onuVlanDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        ONU Device Index Number"
      ::= { onuVlanConfigEntry 2 }


    onuVlanName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (0..128))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        ONU VLAN name"
      ::= { onuVlanConfigEntry 3 }

    onuVlanTaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        UNI port of the tag included in the VLAN.
        It is presented by member port list. Each member port is identified
        by 2-byte format, One for slot ID, the last for port ID. The actual
        length of this string depends of the number of tagged member ports
        in the VLAN. If the ONU is fixed (not modulized), set slot ID to 0,
        the NMS could ignore the slot info.
        Note that, slot here shall follow the last byte definition of
        EponCardIndex to indicate the main-slot and sub-slot index.
        The relationship is:
        Length of the string = 2 * (NUM of member ports)
        For example, if port 1/2 and 3/4 is the tagged member ports of the
        VLAN, then the object is presented as:
        01 02 03 04
        "
      ::= { onuVlanConfigEntry 4 }

    onuVlanUntaggedPort OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        The UNI port of Untag included in the Vlan.
        It is presented by member port list. Each member port is identified
        by 2-byte format, One for slot ID, the last for port ID. The actual
        length of this string depends of the number of untagged member ports
        in the VLAN. If the ONU is fixed (not modulized), set slot ID to FF,
        the NMS could ignore the slot info.
        Note that, slot here shall follow the last byte definition of
        EponCardIndex to indicate the main-slot and sub-slot index.
        The relationship is:
        Length of the string = 2 * (NUM of member ports)
        For example, if port 1/2 and 3/4 is the untagged member ports of the
        VLAN, then the object is presented as:
        01 02 03 04
        "
      ::= { onuVlanConfigEntry 5 }

    onuVlanRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { onuVlanConfigEntry 6 }

    portVlanGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        "
        Port Vlan group（sni、uni、ponport）"
      ::= { vlanManagement 3 }

    onuPortVlanTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OnuPortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Vlan Table
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device（OLT as SNMP Agent）:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvlanDeviceIndex shall be set to 0,
        /OLT SNI     pvlanCardIndex, and pvlanPortIndex set to 0 indicates
                 meaningless
        OLT onu ID   - Set pvlanDeviceIndex to corresponding ONU ID,
                 pvlanCardIndex, and pvlanPortIndex set to 0 indicates
                 meaningless
        ONU UNI    - Set pvlanDeviceIndex to corresponding ONU ID,
                 pvlanCardIndex, and pvlanPortIndex set to the corresponding
                 value
        2. If the table is maintained in ONU device(ONU as SNMP Agent):
        pvlanDeviceIndex shall be set to 0 to indicate meaningless.
        pvlanCardIndex shall be set to corresponding slot.
        pvlanPortIndex shall be set to corresponding port.
        "

      ::= { portVlanGroup 1 }

    onuPortVlanEntry  OBJECT-TYPE
      SYNTAX OnuPortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvlanDeviceIndex, pvlanCardIndex, pvlanPortIndex}
      ::= { onuPortVlanTable 1 }

    OnuPortVlanEntry ::=
      SEQUENCE {
        pvlanDeviceIndex
          EponDeviceIndex,
        pvlanCardIndex
          EponCardIndex,
        pvlanPortIndex
          EponPortIndex,
        vlanTagTpid
          OCTET STRING,
        vlanTagCfi
          TruthValue,
        vlanTagPriority
          INTEGER,
        vlanPVid
          INTEGER,
        vlanMode
          INTEGER
       }

    pvlanDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU Device Index Number."
      ::= { onuPortVlanEntry  1 }

    pvlanCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Nmuber
        "
      ::= { onuPortVlanEntry  2 }

    pvlanPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index Number
        "
      ::= { onuPortVlanEntry  3 }

    vlanTagTpid OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (2))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Marked protocol ID
        It shall be presented in hexadecimal format. For example, 81 00
        to indicate 0x8100"
      ::= { onuPortVlanEntry  4 }

    vlanTagCfi OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Rule format indicator"
      ::= { onuPortVlanEntry  5 }

    vlanTagPriority OBJECT-TYPE
      SYNTAX INTEGER (0..7)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlan priority"
      ::= { onuPortVlanEntry  6 }

    vlanPVid OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        port Vlan ID"
      ::= { onuPortVlanEntry  7 }

    vlanMode OBJECT-TYPE
      SYNTAX INTEGER
        {
        transparent(0),
        tag(1),
        translation(2),
        aggregation(3),
        trunk(4),
        stacking(5)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlan mode
        "
      ::= { onuPortVlanEntry  8 }

    portVlanTranslationTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanTranslationEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Vlan Translation Table
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvtDeviceIndex shall be set to 0,
        /OLT SNI     pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless
        OLT onu ID   - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless
        ONU UNI    - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to the corresponding
                 value

        2. If the table is maintained in ONU device:
        pvtDeviceIndex shall be set to 0 to indicate meaningless.
        pvtCardIndex shall be set to corresponding slot.
        pvtPortIndex shall be set to corresponding port.
        "
      ::= { portVlanGroup 2 }

    portVlanTranslationEntry OBJECT-TYPE
      SYNTAX PortVlanTranslationEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvtDeviceIndex , pvtCardIndex , pvtPortIndex  , pvtIndex }
      ::= { portVlanTranslationTable 1 }
    PortVlanTranslationEntry ::=
      SEQUENCE {
        pvtDeviceIndex
          EponDeviceIndex,
        pvtCardIndex
          EponCardIndex,
        pvtPortIndex
          EponPortIndex,
        pvtIndex
          Unsigned32,
		translationOldVid
		  Unsigned32,
        translationNewVid
          Unsigned32,
        translationRowStatus
          RowStatus
       }
    pvtDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU Device Index Number"
      ::= { portVlanTranslationEntry 1 }

    pvtCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Borad Index Number"
      ::= { portVlanTranslationEntry 2 }

    pvtPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index number"
      ::= { portVlanTranslationEntry 3 }

    pvtIndex OBJECT-TYPE
      SYNTAX Unsigned32 (0..15)
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        VLAN Translation ID Index number(0-15)"
      ::= { portVlanTranslationEntry 4 }

    translationOldVid OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Translation old vlan ID"
      ::= { portVlanTranslationEntry 5 }

    translationNewVid OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Translation new vlan ID"
      ::= { portVlanTranslationEntry 6 }

    translationRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status "
      ::= { portVlanTranslationEntry 7 }

    portVlanAggregationManagement OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        "
        Port Vlan aggregation management（VLAN Aggregation）"
      ::= { portVlanGroup 3 }

    portVlanAggregationConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanAggregationConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Vlan aggregation configuration table
        This table applies on OLT pon port, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvaDeviceIndex shall be set to 0,
                 pvaCardIndex, and pvaPortIndex set to 0 indicates
                 meaningless
        OLT onu ID   - Set pvaDeviceIndex to corresponding ONU ID,
                 pvaCardIndex, and pvaPortIndex set to 0 indicates
                 meaningless
        ONU UNI    - Set pvaDeviceIndex to corresponding ONU ID,
                 pvaCardIndex, and pvaPortIndex set to the corresponding
                 value

        2. If the table is maintained in ONU device:
        pvaDeviceIndex shall be set to 0 to indicate meaningless.
        pvaCardIndex shall be set to corresponding slot.
        pvaPortIndex shall be set to corresponding port.
        "
      ::= { portVlanAggregationManagement 1 }

    portVlanAggregationConfigEntry OBJECT-TYPE
      SYNTAX PortVlanAggregationConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pvaDeviceIndex , pvaCardIndex , pvaPortIndex  , portAggregationVidIndex }
      ::= { portVlanAggregationConfigTable 1 }

    PortVlanAggregationConfigEntry ::=
      SEQUENCE {
        pvaDeviceIndex
          EponDeviceIndex,
        pvaCardIndex
          EponCardIndex,
        pvaPortIndex
          EponPortIndex,
        portAggregationVidIndex
          Unsigned32,
        aggregationVidList
          OCTET STRING,
        aggregationRowStatus
          RowStatus
       }

    pvaDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        OLT/ONU Device Index Number"
      ::= { portVlanAggregationConfigEntry 1 }

    pvaCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number"
      ::= { portVlanAggregationConfigEntry 2 }

    pvaPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index Number"
      ::= { portVlanAggregationConfigEntry 3 }

    portAggregationVidIndex OBJECT-TYPE
      SYNTAX Unsigned32
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port VLAN aggreation group VLAN Number "
      ::= { portVlanAggregationConfigEntry 4 }

    aggregationVidList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (512))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Aggregation vlan ID group
        Use similar INTERNET bit orderUse similar INTERNET bit order，the OCTET from left to right are OCTET 0, OCTET 1, ...
        The bits of each OCTET from left to right are bit0，bit1，...，bit7。
        According to the order of bit and OCTET from small to large, each bit corresponds to a VLAN, and the VLAN ID range is 0..4095.
        The first bit corresponds to VLAN 0, and the last bit corresponds to VLAN 4095.
        If the bit is set, it means that the VLAN should be included, otherwise it is not."
      ::= { portVlanAggregationConfigEntry 5 }


    aggregationRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { portVlanAggregationConfigEntry 6 }

    portVlanTrunkTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortVlanTrunkEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Vlan trunk Table（VLAN Trunk Table
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pvtDeviceIndex shall be set to 0,
        /OLT SNI     pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless
        OLT onu ID   - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to 0 indicates
                 meaningless
        ONU UNI    - Set pvtDeviceIndex to corresponding ONU ID,
                 pvtCardIndex, and pvtPortIndex set to the corresponding
                 value

        2. If the table is maintained in ONU device:
        pvtDeviceIndex shall be set to 0 to indicate meaningless.
        pvtCardIndex shall be set to corresponding slot.
        pvtPortIndex shall be set to corresponding port.
        "
      ::= { portVlanGroup 4 }

    portVlanTrunkEntry OBJECT-TYPE
      SYNTAX PortVlanTrunkEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { trunkDeviceIndex, trunkCardIndex, trunkPortIndex }
      ::= { portVlanTrunkTable 1 }

    PortVlanTrunkEntry ::=
      SEQUENCE {
        trunkDeviceIndex
          EponDeviceIndex,
        trunkCardIndex
          EponCardIndex,
        trunkPortIndex
          EponPortIndex,
        trunkVidList
          OCTET STRING,
        portVlanTrunkRowStatus
          RowStatus
       }

    trunkDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index Number
        "
      ::= { portVlanTrunkEntry 1 }

    trunkCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number"
      ::= { portVlanTrunkEntry 2 }
    trunkPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index Number"
      ::= { portVlanTrunkEntry 3 }

    trunkVidList OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (512))
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Trunked Vlan List for the port
        Use similar INTERNET bit order，the OCTET from left to right areOCTET 0, OCTET 1, ...
        The bits of each OCTET from left to right are bit0，bit1，...，bit7。
        According to the order of bit and OCTET from small to large, each bit corresponds to a VLAN, and the VLAN ID range is 0..4095.
        The first bit corresponds to VLAN 0, and the last bit corresponds to VLAN 4095.
        If the bit is set, it means that the VLAN should be included, otherwise it is not.
        "
      ::= { portVlanTrunkEntry 4 }

    portVlanTrunkRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        Row status"
      ::= { portVlanTrunkEntry 5 }


    oltPortVlanTable OBJECT-TYPE
      SYNTAX SEQUENCE OF OltPortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        SNI/PON Port Vlan Table
        This table applies on OLT pon port, OLT SNI
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port/OLT SNI - OnuNum of pvlanDeviceIndex shall be set to 0
        "
      ::= { portVlanGroup 5 }

    oltPortVlanEntry OBJECT-TYPE
      SYNTAX OltPortVlanEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { oltPortVlanDeviceIndex	 }
      ::= { oltPortVlanTable 1 }

    OltPortVlanEntry  ::=
      SEQUENCE {
        oltPortVlanDeviceIndex
          EponDeviceIndex,
        oltPortVlanTagPriority
          INTEGER,
        oltPortVlanPVid
          INTEGER,
        oltPortVlanMode
          INTEGER
       }

    oltPortVlanDeviceIndex  OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        SNI/PON port "
      ::= { oltPortVlanEntry 1 }

    oltPortVlanTagPriority  OBJECT-TYPE
      SYNTAX INTEGER (0..7)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlan priority"
      ::= { oltPortVlanEntry 2 }

    oltPortVlanPVid  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        port Vlan ID"
      ::= { oltPortVlanEntry 3 }

    oltPortVlanMode OBJECT-TYPE
      SYNTAX INTEGER
        {
trunk(1),
access(2),
hybird(3)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        vlan mode
        "
      ::= { oltPortVlanEntry 4 }



    qinQConfigGroup OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        "
        QinQ Configuration Group
        Note: OLT/ONU are required to support QINQ, OLT is optional, ONU is mandatory"
      ::= { vlanManagement 4 }

    portQinQConfigTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortQinQConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        QinQ Configuration Attributes Table
        This table applies on OLT pon port, OLT SNI, OLT onu ID, ONU UNI.
        1. If the table is maintained in OLT device:
        Applied Obj  - Descriptions of Index
        ------------------------------------------------------------------
        OLT Pon Port - OnuNum of pqDeviceIndex shall be set to 0,
        /OLT SNI     pqCardIndex, and pqPortIndex set to 0 indicates
                 meaningless
        OLT onu ID   - Set pqDeviceIndex to corresponding ONU ID,
                 pqCardIndex, and pqPortIndex set to 0 indicates
                 meaningless
        ONU UNI    - Set pqDeviceIndex to corresponding ONU ID,
                   pqCardIndex, and pqPortIndex set to the corresponding
                   value

        2. If the table is maintained in ONU device:
        pqDeviceIndex shall be set to 0 to indicate meaningless.
        pqCardIndex shall be set to corresponding slot.
        pqPortIndex shall be set to corresponding port.
        "
      ::= { qinQConfigGroup 1 }

    portQinQConfigEntry OBJECT-TYPE
      SYNTAX PortQinQConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        " "
      INDEX { pqDeviceIndex, pqCardIndex, pqPortIndex, pqStartVlanId, pqEndVlanId }
      ::= { portQinQConfigTable 1 }

    PortQinQConfigEntry ::=
      SEQUENCE {
        pqDeviceIndex
          EponDeviceIndex,
        pqCardIndex
          EponCardIndex,
        pqPortIndex
          EponPortIndex,
        pqStartVlanId
          INTEGER,
        pqEndVlanId
          INTEGER,
        pqSVlanId
          INTEGER,
        pqSTagCosDetermine
          INTEGER,
        pqSTagCosNewValue
          INTEGER,
        pqRowStatus
          RowStatus
       }

    pqDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device Index Number"
      ::= { portQinQConfigEntry 1 }

    pqCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number"
      ::= { portQinQConfigEntry 2 }

    pqPortIndex  OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index Number"
      ::= { portQinQConfigEntry 3 }

    pqStartVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        The starting VLAN ID, working together with pqEndVlanId,
        consists of a VLAN group. The VLAN ID match the VLAN group
        will be QinQed with specified outer VLAN
        "
      ::= { portQinQConfigEntry 4 }

    pqEndVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        The ending VLAN ID, working together with pqStartVlanId,
        consists of a VLAN range. The VLAN ID match the VLAN range
        will be QinQed with specified outer VLAN
        "
      ::= { portQinQConfigEntry 5 }

    pqSVlanId OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        The outer VLAN id to be QinQed"
      ::= { portQinQConfigEntry 6 }

    pqSTagCosDetermine OBJECT-TYPE
      SYNTAX INTEGER {
        redefine(1),
        copyFromCTag(2)
        }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        What STAG COS will be set for this QinQ instance. It could
        be either a new definition or copied from CTAG
        "
      ::= { portQinQConfigEntry 7 }

    pqSTagCosNewValue OBJECT-TYPE
      SYNTAX INTEGER (0..7)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        The new STAG COS value if pqSTagCosDetermine is selected as
        redefine(1)
        "
      DEFVAL { 0 }
      ::= { portQinQConfigEntry 8 }

    pqRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "
        "
      ::= { portQinQConfigEntry 9 }



qosManagement OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.8
	::= { oltTree 8 }

--------------------------------------------------------------------------------
--  qosManagement[ Qos management](1.3.6.1.4.1.50224.3.8)
--------------------------------------------------------------------------------

    qosGlobalSetTable OBJECT-TYPE
      SYNTAX SEQUENCE OF QosGlobalSetEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Global QoS parameters."
      ::= { qosManagement 1 }

    qosGlobalSetEntry OBJECT-TYPE
      SYNTAX QosGlobalSetEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { qosGlobalSetDeviceIndex }
      ::= { qosGlobalSetTable 1 }
    QosGlobalSetEntry ::=
      SEQUENCE {
        qosGlobalSetDeviceIndex
          EponDeviceIndex,
        qosGlobalSetMaxQueueCount
          INTEGER,
        qosGlobalSetMode
          INTEGER
       }

    qosGlobalSetDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index
        For OLT - Set to corresponding device
        For ONU - Set to 0
        "
      ::= { qosGlobalSetEntry 1 }

    qosGlobalSetMaxQueueCount OBJECT-TYPE
      SYNTAX INTEGER (1..256)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Maximum number of queues, the maximum number of queues supported by the device. If the maximum number of queues is 8, the queue"
      ::= { qosGlobalSetEntry 2 }

    qosGlobalSetMode OBJECT-TYPE
      SYNTAX INTEGER
        {
          deviceBased(1),
          portBased(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Define how to set QoS parameter
        deviceBased(1)  - When set, only the table started with deviceBase is applicable
        portBased(2)  - When set, only the table started with portBase is applicable
        "
      DEFVAL { deviceBased }
      ::= { qosGlobalSetEntry 3 }

    deviceBaseQosMapTable OBJECT-TYPE
      SYNTAX SEQUENCE OF DeviceBaseQosMapEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Deviced based setting.
        It is used to define how to map QoS options to queue"
      ::= { qosManagement 2 }

    deviceBaseQosMapEntry OBJECT-TYPE
      SYNTAX DeviceBaseQosMapEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { deviceBaseQosMapDeviceIndex, deviceBaseQosMapRuleIndex }
      ::= { deviceBaseQosMapTable 1 }

    DeviceBaseQosMapEntry ::=
      SEQUENCE {
        deviceBaseQosMapDeviceIndex
          EponDeviceIndex,
        deviceBaseQosMapRuleIndex
          INTEGER,
        deviceBaseQosMapOctet
          OCTET STRING
       }

    deviceBaseQosMapDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index
        For OLT - Set to corresponding device/slot/port
        For ONU - Set to 0
        "
      ::= { deviceBaseQosMapEntry 1 }

    deviceBaseQosMapRuleIndex OBJECT-TYPE
      SYNTAX INTEGER
        {
        cos(1),
        tos(2),
        diffserv(3)
        }
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Mapping rule number"
      ::= { deviceBaseQosMapEntry 2 }

    deviceBaseQosMapOctet OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (8 | 64))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Map value.
        The length is 8 bytes, or 64 bytes. Each byte represents a mapping relationship.
        The queue number cannot exceed the corresponding qosGlobalSetMaxQueueCount value. If qosGlobalSetMaxQueueCount is 8, the queue
        For cos, the length is 8 bytes, and each byte represents the queue number mapped to cos0-7.
        For tos, the length is 16 bytes, and each byte represents the number of the queue mapped to tos0-15.
        For diffserv, the length is 64 bytes, and each byte represents the queue number mapped to diffserv0-63.
        For example:
        get 1.3.6.1.4.1.17409.2.3.8.3.1.3.deviceBaseQosMapDeviceIndex(410100101).cos(1) = hex(00 00 01 02 03 03 04 04)
        The mapping relationship is:
        cos 0 -> queue 0
        cos 1 -> queue 0
        cos 2 -> queue 1
        cos 3 -> queue 2
        cos 4 -> queue 3
        cos 5 -> queue 3
        cos 6 -> queue 4
        cos 7 -> queue 4
        "
      ::= { deviceBaseQosMapEntry 3 }
    deviceBaseQosPolicyTable OBJECT-TYPE
      SYNTAX SEQUENCE OF DeviceBaseQosPolicyEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Deviced based setting

        It is used to define QoS specification"
      ::= { qosManagement 3 }

    deviceBaseQosPolicyEntry OBJECT-TYPE
      SYNTAX DeviceBaseQosPolicyEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { deviceBaseQosPolicyDeviceIndex }
      ::= { deviceBaseQosPolicyTable 1 }

    DeviceBaseQosPolicyEntry ::=
      SEQUENCE {
        deviceBaseQosPolicyDeviceIndex
          EponDeviceIndex,
        deviceBaseQosPolicyMode
          INTEGER,
        deviceBaseQosPolicyWeightOctet
          OCTET STRING,
        deviceBaseQosPolicySpBandwidthRange
          OCTET STRING
       }

    deviceBaseQosPolicyDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index
        For OLT - Set to corresponding device/slot/port
        For ONU - Set to 0
        "
      ::= { deviceBaseQosPolicyEntry 1 }

    deviceBaseQosPolicyMode OBJECT-TYPE
      SYNTAX INTEGER
        {
        sp(1),
        wrr(2),
        spWrr(3),
        wfp(4)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Scheduling mode"
      ::= { deviceBaseQosPolicyEntry 2 }

    deviceBaseQosPolicyWeightOctet OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Weights.
        The length is equal to the number of queues, and each byte represents the weight of a queue.
        For sp, it is meaningless to read and write this node, and it is always all 0s when read.
        For wrr, each byte describes the weight of a queue. The weight range is 1-100, and the sum of all queue weights should be equal.
        For spWrr, each byte describes the weight of a queue. The weight range is 0-100. A weight of 0 means that the queue uses the sp.
        For wfp, it is meaningless to read and write this node, and it is always all 0s when reading.
        For example:
        get 1.3.6.1.4.1.17409.2.3.8.4.1.2.deviceBaseQosPolicyDeviceIndex(410100101). = wrr(2)
        get 1.3.6.1.4.1.17409.2.3.8.4.1.3.deviceBaseQosPolicyDeviceIndex(410100101). = hex(5 5 5 5 10 20 20 30)

        Description: A total of 8 queues
        queue 0 weight is 5
        queue 1 weight is 5
        queue 2 weight is 5
        queue 3 weight is 5
        queue 4 weight is 10
        queue 5 weight is 20
        queue 6 weight is 20
        queue 7 weight is 30

        "
      ::= { deviceBaseQosPolicyEntry 3 }

    deviceBaseQosPolicySpBandwidthRange OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Define SP assured bandwidth for each queue.
        The size of this object is 4*(number of queue). For each queue, use 4 octets
        to represend the assured bandwidth for the queue. The four-octet could be mapped
        to an unsigned integer, in units of kbps. The sequence of the map is from queue
        0 to queue max (for example, 7).
        For example, 00 00 00 10  00 00 01 00  00 00 00 00  00 00 00 00
                     00 00 10 00  00 00 00 01  00 01 01 00  00 00 11 11
        It means, 8 queues and the assured bandwidth for each queue as:
        queue 0  16kbps
        queue 1  256kbps
        queue 2  0
        queue 3  0
        queue 4  4096kbps
        queue 5  1kbps
        queue 6  65792kbps
        queue 7  65535kbps
        "
      ::= { deviceBaseQosPolicyEntry 4 }

    portBaseQosMapTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortBaseQosMapEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      ::= { qosManagement 4 }

    portBaseQosMapEntry OBJECT-TYPE
      SYNTAX PortBaseQosMapEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { portBaseQosMapDeviceIndex, portBaseQosMapCardIndex, portBaseQosMapPortIndex, portBaseQosMapRuleIndex }
      ::= { portBaseQosMapTable 1 }

    PortBaseQosMapEntry ::=
      SEQUENCE {
        portBaseQosMapDeviceIndex
          EponDeviceIndex,
        portBaseQosMapCardIndex
          EponPortIndex,
        portBaseQosMapPortIndex
          EponPortIndex,
        portBaseQosMapRuleIndex
          INTEGER,
        portBaseQosMapOctet
          OCTET STRING
       }

    portBaseQosMapDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index
        For OLT, set to corresponding SNI port or PON port
        For ONU, set to 0
        "
      ::= { portBaseQosMapEntry 1 }

    portBaseQosMapCardIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number
        For OLT, set to 0
        For ONU, set to corresponding slot
        "
      ::= { portBaseQosMapEntry 2 }

    portBaseQosMapPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index
        For OLT, set to 0
        For ONU, set to corresponding port
        "
      ::= { portBaseQosMapEntry 3 }

    portBaseQosMapRuleIndex OBJECT-TYPE
      SYNTAX INTEGER
        {
        cos(1),
        tos(2),
        diffserv(3)
        }
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Mapping rule number"
      ::= { portBaseQosMapEntry 4 }

    portBaseQosMapOctet OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (8..64))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Map value.
        The length is 8 bytes, or 64 bytes. Each byte represents a mapping relationship.
        The queue number cannot exceed the corresponding qosGlobalSetMaxQueueCount value. If qosGlobalSetMaxQueueCount is 8, the queue
        For cos, the length is 8 bytes, and each byte represents the queue number mapped to cos0-7.
        For tos, the length is 16 bytes, and each byte represents the number of the queue mapped to tos0-16.
        For diffserv, the length is 64 bytes, and each byte represents the queue number mapped to diffserv0-64.
        For example:
        get 1.3.6.1.4.1.17409.2.3.8.3.1.3.deviceBaseQosMapDeviceIndex(410100101).cos(1) = hex(00 00 01 02 03 03 04 04)
        The mapping relationship is:
        cos 0 -> queue 0
        cos 1 -> queue 0
        cos 2 -> queue 1
        cos 3 -> queue 2
        cos 4 -> queue 3
        cos 5 -> queue 3
        cos 6 -> queue 4
        cos 7 -> queue 4
        "
      ::= { portBaseQosMapEntry 5 }

    portBaseQosPolicyTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PortBaseQosPolicyEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Description."
      ::= { qosManagement 5 }

    portBaseQosPolicyEntry OBJECT-TYPE
      SYNTAX PortBaseQosPolicyEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { portBaseQosPolicyDeviceIndex, portBaseQosPolicyCardIndex, portBaseQosPolicyPortIndex }
      ::= { portBaseQosPolicyTable 1 }

    PortBaseQosPolicyEntry ::=
      SEQUENCE {
        portBaseQosPolicyDeviceIndex
          EponDeviceIndex,
        portBaseQosPolicyCardIndex
          EponPortIndex,
        portBaseQosPolicyPortIndex
          EponPortIndex,
        portBaseQosPolicyMode
          INTEGER,
        portBaseQosPolicyWeightOctet
          OCTET STRING,
        portBaseQosPolicySpBandwidthRange
          OCTET STRING
       }
    portBaseQosPolicyDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Device index
        For OLT, set to corresponding SNI port or PON port
        For ONU, set to 0
        "
      ::= { portBaseQosPolicyEntry 1 }

    portBaseQosPolicyCardIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Board Index Number
        For OLT, set to 0
        For ONU, set to corresponding slot
        "
      ::= { portBaseQosPolicyEntry 2 }

    portBaseQosPolicyPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Port Index
        For OLT, set to 0
        For ONU, set to corresponding port
        "
      ::= { portBaseQosPolicyEntry 3 }

    portBaseQosPolicyMode OBJECT-TYPE
      SYNTAX INTEGER
        {
        sp(1),
        wrr(2),
        spWrr(3),
        wfp(4)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Scheduling mode
        sp Strict priority
        wrr Weighted Round Robin
        spWrr sp+wrr
        wfp Weighted Fair Queuing"
      ::= { portBaseQosPolicyEntry 4 }

    portBaseQosPolicyWeightOctet OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Weights
        The length is equal to the number of queues, and each byte represents the weight of a queue.
        For sp, it is meaningless to read and write this node, and it is always all 0s when read.
        For wrr, each byte describes the weight of a queue. The weight range is 1-100, and the sum of all queue weights should be equal
        For spWrr, each byte describes the weight of a queue. The weight range is 0-100. A weight of 0 means that the queue uses the sp
        For wfp, it is meaningless to read and write this node, and it is always all 0s when reading.
        For example:
        get 1.3.6.1.4.1.17409.2.3.8.4.1.2.portBaseQosPolicyDeviceIndex(410100101). = wrr(2)
        get 1.3.6.1.4.1.17409.2.3.8.4.1.3.portBaseQosPolicyDeviceIndex(410100101). = hex(5 5 5 5 10 20 20 30)
        Description: A total of 8 queues
        queue 0 weight is 5
        queue 1 weight is 5
        queue 2 weight is 5
        queue 3 weight is 5
        queue 4 weight is 10
        queue 5 weight is 20
        queue 6 weight is 20
        queue 7 weight is 30
        "
      ::= { portBaseQosPolicyEntry 5 }

    portBaseQosPolicySpBandwidthRange OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Sp+wrr mode
        Define SP assured bandwidth for each queue.
        The size of this object is 4*(number of queue). For each queue, use 4 octets
        to represend the assured bandwidth for the queue. The four-octet could be mapped
        to an unsigned integer, in units of kbps. The sequence of the map is from queue
        0 to queue max (for example, 7).
        For example, 00 00 00 10  00 00 01 00  00 00 00 00  00 00 00 00
                     00 00 10 00  00 00 00 01  00 01 01 00  00 00 11 11
        It means, 8 queues and the assured bandwidth for each queue as:
        queue 0  16kbps
        queue 1  256kbps
        queue 2  0
        queue 3  0
        queue 4  4096kbps
        queue 5  1kbps
        queue 6  65792kbps
        queue 7  65535kbps
        "
      ::= { portBaseQosPolicyEntry 6 }



stpManagement OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.9
	::= { oltTree 9 }

--------------------------------------------------------------------------------
--  stpManagement[STP management](1.3.6.1.4.1.50224.3.9)
--------------------------------------------------------------------------------

    stpGlobalSetTable OBJECT-TYPE
      SYNTAX SEQUENCE OF StpGlobalSetEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        STP Global Table"
      ::= { stpManagement 1 }

    stpGlobalSetEntry OBJECT-TYPE
      SYNTAX StpGlobalSetEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { stpGlobalSetIndex }
      ::= { stpGlobalSetTable 1 }

    StpGlobalSetEntry ::=
      SEQUENCE {
        stpGlobalSetIndex
          EponDeviceIndex,
        stpGlobalSetVersion
          INTEGER,
        stpGlobalSetPriority
          INTEGER,
        stpGlobalSetTimeSinceTopologyChange
          TimeTicks,
        stpGlobalSetTopChanges
          Counter32,
        stpGlobalSetDesignatedRoot
          BridgeId,
        stpGlobalSetRootCost
          INTEGER,
        stpGlobalSetRootPort
          OCTET STRING,
        stpGlobalSetMaxAge
          Timeout,
        stpGlobalSetHelloTime
          Timeout,
        stpGlobalSetHoldTime
          INTEGER,
        stpGlobalSetForwardDelay
          Timeout,
        stpGlobalSetBridgeMaxAge
          Timeout,
        stpGlobalSetBridgeHelloTime
          Timeout,
        stpGlobalSetBridgeForwardDelay
          Timeout,
        stpGlobalSetRstpTxHoldCount
          INTEGER,
        stpGlobalSetEnable
          TruthValue
       }

    stpGlobalSetIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Index Number
        For OLT - Set to corresponding device
        For ONU - Set to 0
        "
      ::= { stpGlobalSetEntry 1 }

    stpGlobalSetVersion OBJECT-TYPE
      SYNTAX INTEGER
        {
        rstp(1),
        stp(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        STP Version"
      DEFVAL { rstp }
      ::= { stpGlobalSetEntry 2 }

    stpGlobalSetPriority OBJECT-TYPE
      SYNTAX INTEGER (0..65535)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Priority
        On a bridge that supports IEEE 802.1d or IEEE 802.1w, the value range is 0-61440, and the step size is 4096."
      ::= { stpGlobalSetEntry 3 }

    stpGlobalSetTimeSinceTopologyChange OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Change time, the time elapsed since the bridge entity detected the most recent topology change."
      ::= { stpGlobalSetEntry 4 }
    stpGlobalSetTopChanges OBJECT-TYPE
      SYNTAX Counter32
      UNITS "topology changes"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        The number of changes, the number of bridge restarts or changes to the initialized topology."
      ::= { stpGlobalSetEntry 5 }

    stpGlobalSetDesignatedRoot OBJECT-TYPE
      SYNTAX BridgeId
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Root bridge, specify the BridgeId of the root bridge."
      ::= { stpGlobalSetEntry 6 }

    stpGlobalSetRootCost OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Root path cost, the path cost from the bridge to the root bridge."
      ::= { stpGlobalSetEntry 7 }

    stpGlobalSetRootPort OBJECT-TYPE
      SYNTAX OCTET STRING  (SIZE (3))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        The root port is the port connecting the local bridge and the root bridge, and it provides the least path consumption
        The port is presented by three octets, in sequence of device ID, slot,
        and port.
        For ONU, device ID is meaningless and shall set 0. Slot and port shall
        be set to corresponding value.
        For OLT, device ID, slot, and port shall be set to corresponding value.
        For example,
        01 02 03 means device 1, slot 2, port 3 is root port.
        0x00 04 05 means ONU slot 4, port 5 is root port.
        "
      ::= { stpGlobalSetEntry 8 }

    stpGlobalSetMaxAge OBJECT-TYPE
      SYNTAX Timeout
      UNITS "centi-seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Aging time, the aging time of spanning tree protocol information learned by the port from the network, unit: 1/100 secs."
      ::= { stpGlobalSetEntry 9 }

    stpGlobalSetHelloTime OBJECT-TYPE
      SYNTAX Timeout
      UNITS "centi-seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Message sending interval, the time interval for the bridge to send configuration bridge PDU on any port."
      ::= { stpGlobalSetEntry 10 }

    stpGlobalSetHoldTime OBJECT-TYPE
      SYNTAX INTEGER
      UNITS "centi-seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Maintenance time. During this time interval, the bridge will not send more than two configuration bridge PDUs."
      ::= { stpGlobalSetEntry 11 }

    stpGlobalSetForwardDelay OBJECT-TYPE
      SYNTAX Timeout
      UNITS "centi-seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Conversion delay, controlling how fast a port changes its generation state, It determines how long the port stays in the listening state and learning state before forwarding.
        When one discovers a topology change and is processing it, This value is also used to control the aging time of the dynamic filter table.
        "
      ::= { stpGlobalSetEntry 12 }

    stpGlobalSetBridgeMaxAge OBJECT-TYPE
      SYNTAX Timeout (600..4000)
      UNITS "centi-seconds"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        If this bridge is the root bridge, all bridges use this value as the aging time."
      ::= { stpGlobalSetEntry 13 }

    stpGlobalSetBridgeHelloTime OBJECT-TYPE
      SYNTAX Timeout (100..1000)
      UNITS "centi-seconds"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        If this bridge is the root bridge, then all bridges use this value as the time interval for sending packets."
      ::= { stpGlobalSetEntry 14 }

    stpGlobalSetBridgeForwardDelay OBJECT-TYPE
      SYNTAX Timeout (400..3000)
      UNITS "centi-seconds"
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        If this bridge is the root bridge, then all bridges use this value for the conversion delay."
      ::= { stpGlobalSetEntry 15 }

    stpGlobalSetRstpTxHoldCount OBJECT-TYPE
      SYNTAX INTEGER (1..10)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Transmission rate limit, for RSTP, it is used to limit the message sending rate of the port."
      DEFVAL { 3 }
      ::= { stpGlobalSetEntry 16 }

    stpGlobalSetEnable OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Enable state, enable or disable STP. true(1) is on."
      ::= { stpGlobalSetEntry 17 }

    stpPortTable OBJECT-TYPE
      SYNTAX SEQUENCE OF StpPortEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        STP Port Table"
      ::= { stpManagement 2 }

    stpPortEntry OBJECT-TYPE
      SYNTAX StpPortEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { stpPortStpIndex, stpPortCardIndex, stpPortIndex }
      ::= { stpPortTable 1 }

    StpPortEntry ::=
      SEQUENCE {
        stpPortStpIndex
          EponDeviceIndex,
        stpPortCardIndex
          EponCardIndex,
        stpPortIndex
          EponPortIndex,
        stpPortStatus
          INTEGER,
        stpPortPriority
          INTEGER,
        stpPortPathCost
          INTEGER,
        stpPortDesignatedRoot
          BridgeId,
        stpPortDesignatedCost
          INTEGER,
        stpPortDesignatedBridge
          BridgeId,
        stpPortDesignatedPort
          Gauge32,
        stpPortForwardTransitions
          Unsigned32,
        stpPortRstpProtocolMigration
          TruthValue,
        stpPortRstpAdminEdgePort
          TruthValue,
        stpPortRstpOperEdgePort
          TruthValue,
        stpPortPointToPointAdminStatus
          INTEGER,
        stpPortPointToPointOperStatus
          TruthValue,
        stpPortEnabled
          TruthValue，
		stpPortRole
		  INTEGER,
       }

    stpPortStpIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Index Number。
        For OLT - Set to corresponding device/SLOT/PORT
        For ONU - Set to 0
        "
      ::= { stpPortEntry 1 }

    stpPortCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        EponBoard Index Number
        For OLT, set to 0
        For ONU, set to correspond card index"
      ::= { stpPortEntry 2 }

    stpPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        The port number is SNI/PON port for OLT, and UNI port number for ONU.
        For OLT, set to 0
        For ONU, set to correspond port index"
      ::= { stpPortEntry 3 }

    stpPortStatus OBJECT-TYPE
      SYNTAX INTEGER
        {
        disabled(1),
        blocking(2),
        listening(3),
        learning(4),
        forwarding(5),
        broken(6)
        }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
The port status is defined by the application of the Spanning Tree Protocol, for ports where STP is disabled, this status should be disabled."
      ::= { stpPortEntry 4 }

    stpPortPriority OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Port priority"
      ::= { stpPortEntry 5 }

    stpPortPathCost OBJECT-TYPE
      SYNTAX INTEGER (1..200000000)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
Port path cost"
      ::= { stpPortEntry 6 }

    stpPortDesignatedRoot OBJECT-TYPE
      SYNTAX BridgeId
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
Designated root bridge"
      ::= { stpPortEntry 7 }

    stpPortDesignatedCost OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
Specify path cost"
      ::= { stpPortEntry 8 }

    stpPortDesignatedBridge OBJECT-TYPE
      SYNTAX BridgeId
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Specify the bridge ID"
      ::= { stpPortEntry 9 }

    stpPortDesignatedPort OBJECT-TYPE
      SYNTAX Gauge32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        Designated port"
      ::= { stpPortEntry 10 }

    stpPortForwardTransitions OBJECT-TYPE
      SYNTAX Unsigned32
      UNITS "seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        The time this port has transitioned from the learning state to the forwarding state."
      ::= { stpPortEntry 11 }

    stpPortRstpProtocolMigration OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
Protocol migration"
      ::= { stpPortEntry 12 }

    stpPortRstpAdminEdgePort OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
Edge port management status
        "
      ::= { stpPortEntry 13 }

    stpPortRstpOperEdgePort OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
Edge port status"
      ::= { stpPortEntry 14 }
    stpPortPointToPointAdminStatus OBJECT-TYPE
      SYNTAX INTEGER
        {
        forceFalse(0),
        forceTrue(1),
        auto(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        The point-to-point management status of the network segment connected to this port."
      ::= { stpPortEntry 15 }

    stpPortPointToPointOperStatus OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        The actual point-to-point status of the network segment connected to this port."
      ::= { stpPortEntry 16 }

    stpPortEnabled OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "
        Port enable state, true (1) is open."
      ::= { stpPortEntry 17 }

     stpPortRole OBJECT-TYPE
      SYNTAX INTEGER
        {
        alternate(1),
        backup(2),
        root(3),
        designated(4),
        none(5)
        }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
		Port role"
      ::= { stpPortEntry 18 }


performanceStatistic OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.10
	::= { oltTree 10 }

--------------------------------------------------------------------------------
--  performanceStatistic[Performance statistics attributes management](1.3.6.1.4.1.50224.3.10)
--------------------------------------------------------------------------------

    curStatsTable OBJECT-TYPE
      SYNTAX SEQUENCE OF CurStatsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Real-time performance"
      ::= { performanceStatistic 1 }
    curStatsEntry OBJECT-TYPE
      SYNTAX CurStatsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Real-time performance"
      INDEX { curStatsDeviceIndex, curStatsCardIndex, curStatsPortIndex }
      ::= { curStatsTable 1 }

    CurStatsEntry ::=
      SEQUENCE {
        curStatsDeviceIndex
          EponDeviceIndex,
        curStatsCardIndex
          EponCardIndex,
        curStatsPortIndex
          EponPortIndex,
        curStatsInOctets
          Counter64,
        curStatsInPkts
          Counter64,
        curStatsInBroadcastPkts
          Counter64,
        curStatsInMulticastPkts
          Counter64,
        curStatsInPkts64Octets
          Counter64,
        curStatsInPkts65to127Octets
          Counter64,
        curStatsInPkts128to255Octets
          Counter64,
        curStatsInPkts256to511Octets
          Counter64,
        curStatsInPkts512to1023Octets
          Counter64,
        curStatsInPkts1024to1518Octets
          Counter64,
        curStatsInPkts1519to1522Octets
          Counter64,
        curStatsInUndersizePkts
          Counter64,
        curStatsInOversizePkts
          Counter64,
        curStatsInFragments
          Counter64,
        curStatsInMpcpFrames
          Counter64,
        curStatsInMpcpOctets
          Counter64,
        curStatsInOAMFrames
          Counter64,
        curStatsInOAMOctets
          Counter64,
        curStatsInCRCErrorPkts
          Counter64,
        curStatsInDropEvents
          Counter64,
        curStatsInJabbers
          Counter64,
        curStatsInCollision
          Counter64,
        curStatsOutOctets
          Counter64,
        curStatsOutPkts
          Counter64,
        curStatsOutBroadcastPkts
          Counter64,
        curStatsOutMulticastPkts
          Counter64,
        curStatsOutPkts64Octets
          Counter64,
        curStatsOutPkts65to127Octets
          Counter64,
        curStatsOutPkts128to255Octets
          Counter64,
        curStatsOutPkts256to511Octets
          Counter64,
        curStatsOutPkts512to1023Octets
          Counter64,
        curStatsOutPkts1024to1518Octets
          Counter64,
        curStatsOutPkts1519o1522Octets
          Counter64,
        curStatsOutUndersizePkts
          Counter64,
        curStatsOutOversizePkts
          Counter64,
        curStatsOutFragments
          Counter64,
        curStatsOutMpcpFrames
          Counter64,
        curStatsOutMpcpOctets
          Counter64,
        curStatsOutOAMFrames
          Counter64,
        curStatsOutOAMOctets
          Counter64,
        curStatsOutCRCErrorPkts
          Counter64,
        curStatsOutDropEvents
          Counter64,
        curStatsOutJabbers
          Counter64,
        curStatsOutCollision
          Counter64,
        curStatsStatusAndAction
          INTEGER
       }

    curStatsDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Device Index Number
        For OLT, set to corresponding device/slot/port
        For ONU, set to 0"
      ::= { curStatsEntry 1 }

    curStatsCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Board Index Number
        For OLT, set to 0
        For ONU, set to corresponding slot
        "
      ::= { curStatsEntry 2 }
    curStatsPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Port Index Number
        For OLT, set to 0
        For ONU, set to corresponding port
        "
      ::= { curStatsEntry 3 }

    curStatsInOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received bytes"
      ::= { curStatsEntry 4 }

    curStatsInPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received frames"
      ::= { curStatsEntry 5 }

    curStatsInBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received broadcast frames"
      ::= { curStatsEntry 6 }

    curStatsInMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received multicast frames"
      ::= { curStatsEntry 7 }

    curStatsInPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 64-byte packets"
      ::= { curStatsEntry 8 }

    curStatsInPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 65～127 byte packets"
      ::= { curStatsEntry 9 }

    curStatsInPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 128～255 byte packets"
      ::= { curStatsEntry 10 }

    curStatsInPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 256～511byte packets"
      ::= { curStatsEntry 11 }

    curStatsInPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 512～1023 byte packets"
      ::= { curStatsEntry 12 }

    curStatsInPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 1024～1518 byte packets"
      ::= { curStatsEntry 13 }

    curStatsInPkts1519to1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received 1519～1522 byte packets"
      ::= { curStatsEntry 14 }

    curStatsInUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received ultra-short frames"
      ::= { curStatsEntry 15 }

    curStatsInOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received jumbo frames"
      ::= { curStatsEntry 16 }

    curStatsInFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received fragments"
      ::= { curStatsEntry 17 }

    curStatsInMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received MPCP frames"
      ::= { curStatsEntry 18 }

    curStatsInMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received MPCP bytes"
      ::= { curStatsEntry 19 }

    curStatsInOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received OAM frames"
      ::= { curStatsEntry 20 }

    curStatsInOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received OAM bytes"
      ::= { curStatsEntry 21 }

    curStatsInCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Receive CRC error frame"
      ::= { curStatsEntry 22 }

    curStatsInDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events received"
      ::= { curStatsEntry 23 }

    curStatsInJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received long error frames"
      ::= { curStatsEntry 24 }

    curStatsInCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames received"
      ::= { curStatsEntry 25 }

    curStatsOutOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of bytes sent"
      ::= { curStatsEntry 26 }

    curStatsOutPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of frames sent"
      ::= { curStatsEntry 27 }

    curStatsOutBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of broadcast frames sent"
      ::= { curStatsEntry 28 }

    curStatsOutMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of multicast frames sent"
      ::= { curStatsEntry 29 }

    curStatsOutPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of 64-byte packets sent"
      ::= { curStatsEntry 30 }

    curStatsOutPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 65～127 bytes"
      ::= { curStatsEntry 31 }

    curStatsOutPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 128～255 bytes"
      ::= { curStatsEntry 32 }

    curStatsOutPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 256～511 bytes"
      ::= { curStatsEntry 33 }

    curStatsOutPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 512～1023 bytes"
      ::= { curStatsEntry 34 }
    curStatsOutPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { curStatsEntry 35 }

    curStatsOutPkts1519o1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { curStatsEntry 36 }

    curStatsOutUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of ultra-short frames sent"
      ::= { curStatsEntry 37 }

    curStatsOutOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of jumbo frames sent"
      ::= { curStatsEntry 38 }

    curStatsOutFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of fragments sent"
      ::= { curStatsEntry 39 }

    curStatsOutMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of sent MPCP frames"
      ::= { curStatsEntry 40 }

    curStatsOutMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of MPCP bytes sent"
      ::= { curStatsEntry 41 }

    curStatsOutOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM frames sent"
      ::= { curStatsEntry 42 }

    curStatsOutOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM bytes sent"
      ::= { curStatsEntry 43 }

    curStatsOutCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Send CRC error frame"
      ::= { curStatsEntry 44 }

    curStatsOutDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events sent"
      ::= { curStatsEntry 45 }

    curStatsOutJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Send long error frame"
      ::= { curStatsEntry 46 }

    curStatsOutCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames sent"
      ::= { curStatsEntry 47 }

    curStatsStatusAndAction OBJECT-TYPE
      SYNTAX INTEGER
        {
        none(1),
        clean(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "Current statistical status and operation
        clean(2) Statistics cleared"
      ::= { curStatsEntry 48 }

    stats15Table OBJECT-TYPE
      SYNTAX SEQUENCE OF Stats15Entry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "15 minutes performance data"
      ::= { performanceStatistic 2 }

    stats15Entry OBJECT-TYPE
      SYNTAX Stats15Entry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { stats15DeviceIndex, stats15CardIndex, stats15PortIndex, stats15Index }
      ::= { stats15Table 1 }

    Stats15Entry ::=
      SEQUENCE {
        stats15DeviceIndex
          EponDeviceIndex,
        stats15CardIndex
          EponCardIndex,
        stats15PortIndex
          EponPortIndex,
        stats15Index
          EponStats15MinRecordType,
        stats15InOctets
          Counter64,
        stats15InPkts
          Counter64,
        stats15InBroadcastPkts
          Counter64,
        stats15InMulticastPkts
          Counter64,
        stats15InPkts64Octets
          Counter64,
        stats15InPkts65to127Octets
          Counter64,
        stats15InPkts128to255Octets
          Counter64,
        stats15InPkts256to511Octets
          Counter64,
        stats15InPkts512to1023Octets
          Counter64,
        stats15InPkts1024to1518Octets
          Counter64,
        stats15InPkts1519to1522Octets
          Counter64,
        stats15InUndersizePkts
          Counter64,
        stats15InOversizePkts
          Counter64,
        stats15InFragments
          Counter64,
        stats15InMpcpFrames
          Counter64,
        stats15InMpcpOctets
          Counter64,
        stats15InOAMFrames
          Counter64,
        stats15InOAMOctets
          Counter64,
        stats15InCRCErrorPkts
          Counter64,
        stats15InDropEvents
          Counter64,
        stats15InJabbers
          Counter64,
        stats15InCollision
          Counter64,
        stats15OutOctets
          Counter64,
        stats15OutPkts
          Counter64,
        stats15OutBroadcastPkts
          Counter64,
        stats15OutMulticastPkts
          Counter64,
        stats15OutPkts64Octets
          Counter64,
        stats15OutPkts65to127Octets
          Counter64,
        stats15OutPkts128to255Octets
          Counter64,
        stats15OutPkts256to511Octets
          Counter64,
        stats15OutPkts512to1023Octets
          Counter64,
        stats15OutPkts1024to1518Octets
          Counter64,
        stats15OutPkts1519o1522Octets
          Counter64,
        stats15OutUndersizePkts
          Counter64,
        stats15OutOversizePkts
          Counter64,
        stats15OutFragments
          Counter64,
        stats15OutMpcpFrames
          Counter64,
        stats15OutMpcpOctets
          Counter64,
        stats15OutOAMFrames
          Counter64,
        stats15OutOAMOctets
          Counter64,
        stats15OutCRCErrorPkts
          Counter64,
        stats15OutDropEvents
          Counter64,
        stats15OutJabbers
          Counter64,
        stats15OutCollision
          Counter64,
        stats15StatusAndAction
          INTEGER,
        stats15ValidityTag
          TruthValue,
        stats15ElapsedTime
          Counter32,
        stats15EndTime
          DateAndTime
       }

    stats15DeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Device Index Number
        For OLT, set to corresponding device/slot/port
        For ONU, set to 0       "
      ::= { stats15Entry 1 }

    stats15CardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Board Index Number
        For OLT, set to 0
        For ONU, set to corresponding slot
        "
      ::= { stats15Entry 2 }

    stats15PortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Port Index Number
        For OLT, set to 0
        For ONU, set to corresponding port
        "
      ::= { stats15Entry 3 }

    stats15Index OBJECT-TYPE
      SYNTAX EponStats15MinRecordType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "
        Sequence Index Number
        "
      ::= { stats15Entry 4 }

    stats15InOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of bytes received"
      ::= { stats15Entry 5 }

    stats15InPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received frames"
      ::= { stats15Entry 6 }

    stats15InBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received broadcast frames"
      ::= { stats15Entry 7 }

    stats15InMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received multicast frames"
      ::= { stats15Entry 8 }

    stats15InPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received 64-byte packets"
      ::= { stats15Entry 9 }

    stats15InPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 65 to 127 bytes"
      ::= { stats15Entry 10 }

    stats15InPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 128 to 255 bytes"
      ::= { stats15Entry 11 }

    stats15InPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 256 to 511 bytes"
      ::= { stats15Entry 12 }

    stats15InPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 512 to 1023 bytes"
      ::= { stats15Entry 13 }

    stats15InPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 1024 to 1518 bytes"
      ::= { stats15Entry 14 }

    stats15InPkts1519to1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received 1519～1522 bytes"
      ::= { stats15Entry 15 }

    stats15InUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of ultra-short frames received"
      ::= { stats15Entry 16 }

    stats15InOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received jumbo frames"
      ::= { stats15Entry 17 }
    stats15InFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received fragments"
      ::= { stats15Entry 18 }

    stats15InMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received MPCP frames"
      ::= { stats15Entry 19 }

    stats15InMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received MPCP bytes"
      ::= { stats15Entry 20 }

    stats15InOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received OAM frames"
      ::= { stats15Entry 21 }

    stats15InOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received OAM bytes"
      ::= { stats15Entry 22 }

    stats15InCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Receive CRC error frame"
      ::= { stats15Entry 23 }

    stats15InDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events received"
      ::= { stats15Entry 24 }

    stats15InJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received long error frames"
      ::= { stats15Entry 25 }

    stats15InCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames received"
      ::= { stats15Entry 26 }

    stats15OutOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of bytes sent"
      ::= { stats15Entry 27 }

    stats15OutPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of frames sent"
      ::= { stats15Entry 28 }

    stats15OutBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of broadcast frames sent"
      ::= { stats15Entry 29 }

    stats15OutMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of multicast frames sent"
      ::= { stats15Entry 30 }

    stats15OutPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of 64-byte packets sent"
      ::= { stats15Entry 31 }

    stats15OutPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 65～127 bytes"
      ::= { stats15Entry 32 }

    stats15OutPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 128～255 bytes"
      ::= { stats15Entry 33 }

    stats15OutPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 256～511 bytes"
      ::= { stats15Entry 34 }

    stats15OutPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 512～1023 bytes"
      ::= { stats15Entry 35 }

    stats15OutPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { stats15Entry 36 }

    stats15OutPkts1519o1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { stats15Entry 37 }

    stats15OutUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of ultra-short frames sent"
      ::= { stats15Entry 38 }

    stats15OutOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of jumbo frames sent"
      ::= { stats15Entry 39 }

    stats15OutFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of fragments sent"
      ::= { stats15Entry 40 }

    stats15OutMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of sent MPCP frames"
      ::= { stats15Entry 41 }

    stats15OutMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of MPCP bytes sent"
      ::= { stats15Entry 42 }

    stats15OutOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM frames sent"
      ::= { stats15Entry 43 }

    stats15OutOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM bytes sent"
      ::= { stats15Entry 44 }
    stats15OutCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Send CRC error frame"
      ::= { stats15Entry 45 }
    stats15OutDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events sent"
      ::= { stats15Entry 46 }

    stats15OutJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of sent long error frames"
      ::= { stats15Entry 47 }

    stats15OutCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames sent"
      ::= { stats15Entry 48 }

    stats15StatusAndAction OBJECT-TYPE
      SYNTAX INTEGER
        {
        none(1),
        clean(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "Current statistical status and operation
        clean(2) Statistics cleared"
      ::= { stats15Entry 49 }
    stats15ValidityTag OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Whether or not the current 15-min PM data is valid"
      ::= { stats15Entry 50 }

    stats15ElapsedTime OBJECT-TYPE
      SYNTAX Counter32
      UNITS "seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        It is elapsed time, since start of this 15-min interval.
        It is only valid for current PM data. For history PM data, set to 0.
        "
      ::= { stats15Entry 51 }

    stats15EndTime OBJECT-TYPE
      SYNTAX DateAndTime
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        It is time, when the PM history data is created.
        It is only valid for history PM data.
        "
      ::= { stats15Entry 52 }

    stats24Table OBJECT-TYPE
      SYNTAX SEQUENCE OF Stats24Entry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "1-day performance data"
      ::= { performanceStatistic 3 }

    stats24Entry OBJECT-TYPE
      SYNTAX Stats24Entry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        ""
      INDEX { stats24DeviceIndex, stats24CardIndex, stats24PortIndex, stats24Index }
      ::= { stats24Table 1 }

    Stats24Entry ::=
      SEQUENCE {
        stats24DeviceIndex
          EponDeviceIndex,
        stats24CardIndex
          EponCardIndex,
        stats24PortIndex
          EponPortIndex,
        stats24Index
          EponStats24HourRecordType,
        stats24InOctets
          Counter64,
        stats24InPkts
          Counter64,
        stats24InBroadcastPkts
          Counter64,
        stats24InMulticastPkts
          Counter64,
        stats24InPkts64Octets
          Counter64,
        stats24InPkts65to127Octets
          Counter64,
        stats24InPkts128to255Octets
          Counter64,
        stats24InPkts256to511Octets
          Counter64,
        stats24InPkts512to1023Octets
          Counter64,
        stats24InPkts1024to1518Octets
          Counter64,
        stats24InPkts1519to1522Octets
          Counter64,
        stats24InUndersizePkts
          Counter64,
        stats24InOversizePkts
          Counter64,
        stats24InFragments
          Counter64,
        stats24InMpcpFrames
          Counter64,
        stats24InMpcpOctets
          Counter64,
        stats24InOAMFrames
          Counter64,
        stats24InOAMOctets
          Counter64,
        stats24InCRCErrorPkts
          Counter64,
        stats24InDropEvents
          Counter64,
        stats24InJabbers
          Counter64,
        stats24InCollision
          Counter64,
        stats24OutOctets
          Counter64,
        stats24OutPkts
          Counter64,
        stats24OutBroadcastPkts
          Counter64,
        stats24OutMulticastPkts
          Counter64,
        stats24OutPkts64Octets
          Counter64,
        stats24OutPkts65to127Octets
          Counter64,
        stats24OutPkts128to255Octets
          Counter64,
        stats24OutPkts256to511Octets
          Counter64,
        stats24OutPkts512to1023Octets
          Counter64,
        stats24OutPkts1024to1518Octets
          Counter64,
        stats24OutPkts1519o1522Octets
          Counter64,
        stats24OutUndersizePkts
          Counter64,
        stats24OutOversizePkts
          Counter64,
        stats24OutFragments
          Counter64,
        stats24OutMpcpFrames
          Counter64,
        stats24OutMpcpOctets
          Counter64,
        stats24OutOAMFrames
          Counter64,
        stats24OutOAMOctets
          Counter64,
        stats24OutCRCErrorPkts
          Counter64,
        stats24OutDropEvents
          Counter64,
        stats24OutJabbers
          Counter64,
        stats24OutCollision
          Counter64,
        stats24StatusAndAction
          INTEGER,
        stats24ValidityTag
          TruthValue,
        stats24ElapsedTime
          Counter32,
        stats24EndTime
          DateAndTime
       }

    stats24DeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Device Index Number
        For OLT, set to corresponding device/slot/port
        For ONU, set to 0
        "
      ::= { stats24Entry 1 }

    stats24CardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Board Index Number
        For OLT, set to 0
        For ONU, set to corresponding slot
        "
      ::= { stats24Entry 2 }

    stats24PortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Port Index Number
        For OLT, set to 0
        For ONU, set to corresponding port
        "
      ::= { stats24Entry 3 }

    stats24Index OBJECT-TYPE
      SYNTAX EponStats24HourRecordType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Sequence Index Number"
      ::= { stats24Entry 4 }

    stats24InOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of bytes received"
      ::= { stats24Entry 5 }

    stats24InPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received frames"
      ::= { stats24Entry 6 }

    stats24InBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received broadcast frames"
      ::= { stats24Entry 7 }

    stats24InMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Received multicast frames"
      ::= { stats24Entry 8 }

    stats24InPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received 64-byte packets"
      ::= { stats24Entry 9 }

    stats24InPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 65 to 127 bytes"
      ::= { stats24Entry 10 }

    stats24InPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 128 to 255 bytes"
      ::= { stats24Entry 11 }

    stats24InPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 256 to 511 bytes"
      ::= { stats24Entry 12 }

    stats24InPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 512 to 1023 bytes"
      ::= { stats24Entry 13 }

    stats24InPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received from 1024 to 1518 bytes"
      ::= { stats24Entry 14 }

    stats24InPkts1519to1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets received 1519～1522 bytes"
      ::= { stats24Entry 15 }

    stats24InUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of ultra-short frames received"
      ::= { stats24Entry 16 }

    stats24InOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received jumbo frames"
      ::= { stats24Entry 17 }

    stats24InFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received fragments"
      ::= { stats24Entry 18 }

    stats24InMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received MPCP frames"
      ::= { stats24Entry 19 }

    stats24InMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received MPCP bytes"
      ::= { stats24Entry 20 }

    stats24InOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received OAM frames"
      ::= { stats24Entry 21 }

    stats24InOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received OAM bytes"
      ::= { stats24Entry 22 }

    stats24InCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Receive CRC error frame"
      ::= { stats24Entry 23 }

    stats24InDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events received"
      ::= { stats24Entry 24 }

    stats24InJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of received long error frames"
      ::= { stats24Entry 25 }

    stats24InCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames received"
      ::= { stats24Entry 26 }

    stats24OutOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of bytes sent"
      ::= { stats24Entry 27 }

    stats24OutPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of frames sent"
      ::= { stats24Entry 28 }

    stats24OutBroadcastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of broadcast frames sent"
      ::= { stats24Entry 29 }

    stats24OutMulticastPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of multicast frames sent"
      ::= { stats24Entry 30 }

    stats24OutPkts64Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of 64-byte packets sent"
      ::= { stats24Entry 31 }

    stats24OutPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 65～127 bytes"
      ::= { stats24Entry 32 }

    stats24OutPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 128～255 bytes"
      ::= { stats24Entry 33 }

    stats24OutPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 256～511 bytes"
      ::= { stats24Entry 34 }

    stats24OutPkts512to1023Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent 512～1023 bytes"
      ::= { stats24Entry 35 }

    stats24OutPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { stats24Entry 36 }

    stats24OutPkts1519o1522Octets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packets sent with 1024～1518 bytes"
      ::= { stats24Entry 37 }

    stats24OutUndersizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of ultra-short frames sent"
      ::= { stats24Entry 38 }

    stats24OutOversizePkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of jumbo frames sent"
      ::= { stats24Entry 39 }

    stats24OutFragments OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of fragments sent"
      ::= { stats24Entry 40 }

    stats24OutMpcpFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of sent MPCP frames"
      ::= { stats24Entry 41 }

    stats24OutMpcpOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of MPCP bytes sent"
      ::= { stats24Entry 42 }

    stats24OutOAMFrames OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM frames sent"
      ::= { stats24Entry 43 }

    stats24OutOAMOctets OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of OAM bytes sent"
      ::= { stats24Entry 44 }

    stats24OutCRCErrorPkts OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Send CRC error frame"
      ::= { stats24Entry 45 }

    stats24OutDropEvents OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of packet loss events sent"
      ::= { stats24Entry 46 }

    stats24OutJabbers OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of sent long error frames"
      ::= { stats24Entry 47 }

    stats24OutCollision OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Number of collision frames sent"
      ::= { stats24Entry 48 }

    stats24StatusAndAction OBJECT-TYPE
      SYNTAX INTEGER
        {
        none(1),
        clear(2)
        }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "Current statistical status and operation
        clear(2) Statistics cleared"
      ::= { stats24Entry 49 }

    stats24ValidityTag OBJECT-TYPE
      SYNTAX TruthValue
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "Whether or not the current 1-day PM data is valid"
      ::= { stats24Entry 50 }

    stats24ElapsedTime OBJECT-TYPE
      SYNTAX Counter32
      UNITS "seconds"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        It is elapsed time, since start of this 1-day interval.
        It is only valid for current PM data. For history PM data, set to 0.
        "
      ::= { stats24Entry 51 }

    stats24EndTime OBJECT-TYPE
      SYNTAX DateAndTime
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
        "
        It is time, when the PM history data is created.
        It is only valid for history PM data.
        "
      ::= { stats24Entry 52 }

    perfStatsGlobalSet  OBJECT-IDENTITY
      STATUS current
      DESCRIPTION
        ""
      ::= { performanceStatistic 4 }

    perfStats15MinMaxRecord OBJECT-TYPE
      SYNTAX EponStats15MinRecordType
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "The maximum number of records for 15-minute performance statistics, cannot be 0"
      DEFVAL { 96 }
      ::= { perfStatsGlobalSet 1 }

    perfStats24HourMaxRecord OBJECT-TYPE
      SYNTAX EponStats24HourRecordType
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
        "The maximum number of records in 24-hour performance statistics, cannot be 0"
      DEFVAL { 7 }
      ::= { perfStatsGlobalSet 2 }

    perfStatsThresholdTable OBJECT-TYPE
      SYNTAX SEQUENCE OF PerfStatsThresholdEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Threshold management"
      ::= { performanceStatistic 5 }

    perfStatsThresholdEntry OBJECT-TYPE
      SYNTAX PerfStatsThresholdEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Threshold management"
      INDEX { perfStatsThresholdDeviceIndex, perfStatsThresholdCardIndex, perfStatsThresholdPortIndex, perfStatsThresholdTypeIndex }
      ::= { perfStatsThresholdTable 1 }

    PerfStatsThresholdEntry ::=
      SEQUENCE {
        perfStatsThresholdDeviceIndex
          EponDeviceIndex,
        perfStatsThresholdCardIndex
          EponCardIndex,
        perfStatsThresholdPortIndex
          EponPortIndex,
        perfStatsThresholdTypeIndex
          EponStatsThresholdType,
        perfStatsThresholdUpper
          Counter64,
        perfStatsThresholdLower
          Counter64,
        perfStatsThresholdRowStatus
          RowStatus
       }

    perfStatsThresholdDeviceIndex OBJECT-TYPE
      SYNTAX EponDeviceIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Device Index Number
        curStatsDeviceIndex"
      ::= { perfStatsThresholdEntry 1 }

    perfStatsThresholdCardIndex OBJECT-TYPE
      SYNTAX EponCardIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Board Index Number
        curStatsCardIndex"
      ::= { perfStatsThresholdEntry 2 }

    perfStatsThresholdPortIndex OBJECT-TYPE
      SYNTAX EponPortIndex
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Port Index Number
        curStatsPortIndex"
      ::= { perfStatsThresholdEntry 3 }

    perfStatsThresholdTypeIndex OBJECT-TYPE
      SYNTAX EponStatsThresholdType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
        "Threshold type"
      ::= { perfStatsThresholdEntry 4 }

    perfStatsThresholdUpper OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "Upper threshold"
      ::= { perfStatsThresholdEntry 5 }

    perfStatsThresholdLower OBJECT-TYPE
      SYNTAX Counter64
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "Lower threshold"
      ::= { perfStatsThresholdEntry 6 }

    perfStatsThresholdRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
        "Row status（Add, delete, modify）"
      ::= { perfStatsThresholdEntry 7 }


sniObjects OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.11
	::= { oltTree 11 }

--------------------------------------------------------------------------------
--  sniObjects [OLT uplink port properties management](1.3.6.1.4.1.50224.3.11)
--------------------------------------------------------------------------------

sniAttributeTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniAttributeEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of sniAttributeTable entries. "
	::= {sniObjects 1 }

sniAttributeEntry  OBJECT-TYPE
	SYNTAX      SniAttributeEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The sniAttributeEntry Information"
	INDEX       { sniAttributeDeviceIndex, sniAttributeCardIndex,sniAttributePortIndex }
	::={sniAttributeTable 1 }

SniAttributeEntry ::= SEQUENCE {
	sniAttributeDeviceIndex              INTEGER,
	sniAttributeCardIndex                EponCardIndex,
	sniAttributePortIndex                EponPortIndex,
	sniPortName                 DisplayString,
	sniAdminStatus              INTEGER,
	sniOperationStatus          INTEGER,
	sniMediaType                INTEGER,
	sniAutoNegotiationStatus    INTEGER,
	sniAutoNegotiationMode      INTEGER,
	sniPerfStats15minuteEnable  TruthValue,
	sniPerfStats24hourEnable    TruthValue,
	sniLastStatusChangeTime     TimeTicks,
	sniMacAddrLearnMaxNum       INTEGER,
	sniIsolationEnable          TruthValue,
	sniPortType                 INTEGER,
  }

sniAttributeDeviceIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Device Index"
	::= {sniAttributeEntry 1 }

sniAttributeCardIndex  OBJECT-TYPE
	SYNTAX      EponCardIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Card Index"
	::= {sniAttributeEntry 2 }

sniAttributePortIndex  OBJECT-TYPE
	SYNTAX      EponPortIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Port Index"
	::= {sniAttributeEntry 3 }

sniPortName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Port Name"
	::= {sniAttributeEntry 4 }

sniAdminStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
		up(1),
		down(2),
		testing(3)
		}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Admin Status"
	::= {sniAttributeEntry 5 }

sniOperationStatus  OBJECT-TYPE
	SYNTAX  INTEGER {
		up(1),
		down(2),
		testing(3)
		}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Operation Status"
	::= {sniAttributeEntry 6 }

sniMediaType  OBJECT-TYPE
	SYNTAX      INTEGER {
		twistedPair(1),
		fiber(2),
		other(3)
		}

	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Media Type"
	::= {sniAttributeEntry 7 }

sniAutoNegotiationStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
		auto-negotiate(1),
		half-10(2),
		full-10(3),
		half-100(4),
		full-100(5),
		full-1000(6),
		full-10000(7),
		unknown(8)
		}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Auto Negotiation Status"
	::= {sniAttributeEntry 8 }

sniAutoNegotiationMode  OBJECT-TYPE
	SYNTAX      INTEGER {
		auto-negotiate(1),
		half-10(2),
		full-10(3),
		half-100(4),
		full-100(5),
		full-1000(6),
		full-10000(7)
		}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Auto Negotiation Mode"
	::= {sniAttributeEntry 9 }

sniPerfStats15minuteEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"true(1) false(2)"
	::= {sniAttributeEntry 10 }

sniPerfStats24hourEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"true(1) false(2)"
	::= {sniAttributeEntry 11 }

sniLastStatusChangeTime  OBJECT-TYPE
	SYNTAX      TimeTicks
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Last Change Time"
	::= {sniAttributeEntry 12 }

sniMacAddrLearnMaxNum  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Number of MAC address limited on the SNI port.
		value 0 means no limit.
Entrance direction"
	::= {sniAttributeEntry 13 }

sniIsolationEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Whether or not isolate the SNI port to other ports"
	::= {sniAttributeEntry 14 }

sniPortType OBJECT-TYPE
	SYNTAX INTEGER{
	ge-Port(1),
	ten-Ge-Port(2)
}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	" SNI port type, Ge-Port, 10Ge-Port"
	::= {sniAttributeEntry 15 }


sniTrunkManagement  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
      ""
    ::= { sniObjects 2 }

sniTrunkGroupConfigTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniTrunkGroupConfigEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of sniTrunkGroupConfigTable entries."
	::= {sniTrunkManagement 1 }

sniTrunkGroupConfigEntry  OBJECT-TYPE
	SYNTAX      SniTrunkGroupConfigEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The sniTrunk Group Config Entry Information"
	INDEX       { sniTrunkGroupConfigIndex }
	::={sniTrunkGroupConfigTable 1 }

SniTrunkGroupConfigEntry ::= SEQUENCE {
	sniTrunkGroupConfigIndex      INTEGER,
	sniTrunkGroupConfigName       DisplayString,
	sniTrunkGroupConfigMember     OCTET STRING,
	sniTrunkGroupConfigPolicy     INTEGER,
	sniTrunkGroupConfigRowstatus  RowStatus
  }

sniTrunkGroupConfigIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Trunk Group Config Index"
	::= {sniTrunkGroupConfigEntry 1 }

sniTrunkGroupConfigName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Trunk Group Config Name"
	::= {sniTrunkGroupConfigEntry 2 }

sniTrunkGroupConfigMember  OBJECT-TYPE
	SYNTAX      OCTET STRING
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Trunk Group Config Member.
		It is presented by member port list. Each member port is identified
		by 4-byte format, same as TC of EponDeviceIndex. The actual length of
		this string depends of the number of member ports in the trunk group.
		The relationship is:
		Length of the string = 4 * (NUM of member ports)
		For example, if device 1, port 1/2 and 2/3 is the member ports of the
		trunk, then sniTrunkGroupConfigMember is presented as:
		01 01 02 00 01 02 03 00
		"
	::= {sniTrunkGroupConfigEntry 3 }
sniTrunkGroupConfigPolicy  OBJECT-TYPE
	SYNTAX      INTEGER
		{
  srcMac(1),
  destMac(2),
  srcMacNDestMac(3),
  srcIp(4),
  destIp(5),
  srcIpNDestIp(6)
		 }
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Trunk Group Config Policy"
	::= {sniTrunkGroupConfigEntry 4 }

sniTrunkGroupConfigRowstatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Trunk Group Config Rowstatus"
	::= {sniTrunkGroupConfigEntry 5 }

sniTrunkGroupTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniTrunkGroupEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"a list of sniTrunkGroupConfigTable entries. "
	::= {sniTrunkManagement 2 }

sniTrunkGroupEntry  OBJECT-TYPE
	SYNTAX      SniTrunkGroupEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Trunk Group Entry"
	INDEX       { sniTrunkGroupIndex }
	::={sniTrunkGroupTable 1 }

SniTrunkGroupEntry ::= SEQUENCE {
	sniTrunkGroupIndex            INTEGER,
	sniTrunkGroupOperationStatus  INTEGER,
	sniTrunkGroupActualSpeed      INTEGER,
	sniTrunkGroupAdminStatus      INTEGER
  }

sniTrunkGroupIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Trunk Group Index "
	::= {sniTrunkGroupEntry 1 }

sniTrunkGroupOperationStatus  OBJECT-TYPE
	SYNTAX  INTEGER {
		up(1),
		down(2),
		testing(3)
		}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Trunk Group Operation Status"
	::= {sniTrunkGroupEntry 2 }

sniTrunkGroupActualSpeed  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Mbps"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Trunk Group Actual Speed.
		The speed is the aggregated rates of all operational UP member
		ports of the trunk.
		For example, 4 member ports of the trunk, two are UP, each is 1000M
		then the SUN is 2000M. As a result, the return of the MIB shall be
		2000Mbps"
	::= {sniTrunkGroupEntry 3 }

sniTrunkGroupAdminStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
		up(1),
		down(2),
		testing(3)
		}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Trunk Group AdminStatus"
	::= {sniTrunkGroupEntry 4 }

sniMirrorTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniMirrorEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"sniMirrorTable entries."
	::= {sniObjects 3 }

sniMirrorEntry  OBJECT-TYPE
	SYNTAX      SniMirrorEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The Mirror Information."
	INDEX       { sniMirrorDeviceIndex, sniMirrorCardIndex, sniMirrorPortIndex }
	::={sniMirrorTable 1 }

SniMirrorEntry ::= SEQUENCE {
	sniMirrorDeviceIndex          EponDeviceIndex,
	sniMirrorCardIndex            EponCardIndex,
	sniMirrorPortIndex            EponPortIndex,
	sniMirrorDstPort              OCTET STRING,
	sniMirrorDirection            INTEGER,
	sniMirrorRowstatus            RowStatus
  }

sniMirrorDeviceIndex  OBJECT-TYPE
	SYNTAX      EponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"device index"
	::= {sniMirrorEntry 1 }

sniMirrorCardIndex  OBJECT-TYPE
	SYNTAX      EponCardIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"card index"
	::= {sniMirrorEntry 2 }

sniMirrorPortIndex  OBJECT-TYPE
	SYNTAX      EponPortIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"port index"
	::= {sniMirrorEntry 3 }

sniMirrorDstPort OBJECT-TYPE
	SYNTAX      OCTET STRING (SIZE (4))
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Mirror Group Dst Port.
		It is presented by destination port. The port is identified
		by 4-byte format, same as TC of EponDeviceIndex.
		For example, if device 1, port 2/3 is the destination port of the
		mirror instance, then object will be presented as:
		01 02 03 00
		"
	::= {sniMirrorEntry 4 }

sniMirrorDirection  OBJECT-TYPE
	SYNTAX      INTEGER {
		ingress(1),
		egress(2),
		all(3)
		}
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"mirror type"
	::= {sniMirrorEntry 5 }

sniMirrorRowstatus OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"mirror rowstatus"
	::= {sniMirrorEntry 6 }

sniMacAddressManagement OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
      ""
    ::= { sniObjects 4 }

sniMacAddressManagementTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniMacAddressManagementEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		" A list of MacAddressManagement entries. "
	::= { sniMacAddressManagement 1 }

sniMacAddressManagementEntry  OBJECT-TYPE
	SYNTAX      SniMacAddressManagementEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The Mac Address Management Information"
	INDEX   { sniMacAddressManagementDeviceIndex }
	::= { sniMacAddressManagementTable 1 }

SniMacAddressManagementEntry ::=  SEQUENCE {
	sniMacAddressManagementDeviceIndex            INTEGER,
	sniMacAddrTableAgingTime  INTEGER,
	sniMacAddrTableClear      INTEGER
	}

sniMacAddressManagementDeviceIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"device Index"
	::= { sniMacAddressManagementEntry 1 }

sniMacAddrTableAgingTime   OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Seconds"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Mac Address Table Aging Time"
	::= { sniMacAddressManagementEntry 2 }

sniMacAddrTableClear OBJECT-TYPE
	SYNTAX      INTEGER { allDynamic(1),allStatic(2),allBlackhole(3),all(4),none(5)}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Mac Address Table Clear"
	::= { sniMacAddressManagementEntry 3 }

sniMacAddressTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniMacAddressEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of MacAddress entries."
	::= { sniMacAddressManagement 2 }

sniMacAddressEntry OBJECT-TYPE
	SYNTAX      SniMacAddressEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"SNI Indicates the MAC address list learned by the port
"
	INDEX   { sniMacAddrIndex,  sniMacAddrVlanIdIndex }
	::= { sniMacAddressTable 1 }

SniMacAddressEntry ::= SEQUENCE {
	sniMacAddrIndex        MacAddress,
	sniMacAddrVlanIdIndex  INTEGER,
	sniMacAddrType         INTEGER,
	sniMacAddrPortId       EponDeviceIndex,
	sniMacAddrRowStatus    RowStatus
	}

sniMacAddrIndex OBJECT-TYPE
	SYNTAX      MacAddress
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Mac Address Index"
	::= { sniMacAddressEntry 1 }

sniMacAddrVlanIdIndex   OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Mac Address Vlan Id Index"
	::= { sniMacAddressEntry 2 }

sniMacAddrType  OBJECT-TYPE
	SYNTAX  INTEGER {
		static(1),
		dynamic(2),
		blackhole(3)}
	MAX-ACCESS  read-create
	STATUS    current
	DESCRIPTION
		"Mac Address Type"
	::= { sniMacAddressEntry 3}

sniMacAddrPortId OBJECT-TYPE
	SYNTAX       EponDeviceIndex
	MAX-ACCESS   read-create
	STATUS       current
	DESCRIPTION
		"Mac Address Port Id"
	::=  {  sniMacAddressEntry 4 }

sniMacAddrRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"delete,create,Update"
	::= { sniMacAddressEntry 5 }

sniBroadcastStormSuppressionTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF SniBroadcastStormSuppressionEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of BroadcastStormSuppression entries."
	::= { sniObjects 5 }

sniBroadcastStormSuppressionEntry OBJECT-TYPE
	SYNTAX      SniBroadcastStormSuppressionEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The Broadcast Storm Suppression Information"
	INDEX   { sniBroadcastStormSuppressionDeviceIndex,  sniBroadcastStormSuppressionCardIndex,  sniBroadcastStormSuppressionPortIndex  }
	::= { sniBroadcastStormSuppressionTable 1 }

SniBroadcastStormSuppressionEntry ::=
	SEQUENCE {
		sniBroadcastStormSuppressionDeviceIndex                  INTEGER,
		sniBroadcastStormSuppressionCardIndex                    EponCardIndex,
		sniBroadcastStormSuppressionPortIndex                    EponPortIndex,
		sniUnicastStormEnable               TruthValue,
		sniUnicastStormInPacketRate        INTEGER,
		sniUnicastStormOutPacketRate       INTEGER,
		sniMulticastStormEnable         TruthValue,
		sniMulticastStormInPacketRate   INTEGER,
		sniMulticastStormOutPacketRate  INTEGER,
		sniBroadcastStormEnable         TruthValue,
		sniBroadcastStormInPacketRate   INTEGER,
		sniBroadcastStormOutPacketRate  INTEGER
	}

sniBroadcastStormSuppressionDeviceIndex OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"device Index"
	::= { sniBroadcastStormSuppressionEntry 1 }

sniBroadcastStormSuppressionCardIndex OBJECT-TYPE
	SYNTAX      EponCardIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"card Index"
	::= { sniBroadcastStormSuppressionEntry 2 }

sniBroadcastStormSuppressionPortIndex  OBJECT-TYPE
	SYNTAX      EponPortIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"port Index"
	::= { sniBroadcastStormSuppressionEntry 3 }

sniUnicastStormEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Cast Storm Enable"
	::= { sniBroadcastStormSuppressionEntry 4 }
sniUnicastStormInPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Cast Storm In Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 5 }

sniUnicastStormOutPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Cast Storm Out Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 6 }

sniMulticastStormEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"true(1) false(2)"
	::= { sniBroadcastStormSuppressionEntry 7 }

sniMulticastStormInPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Multicast Storm In Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 8 }

sniMulticastStormOutPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Multicast Storm Out Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 9 }

sniBroadcastStormEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"true(1) false(2)"
	::= { sniBroadcastStormSuppressionEntry 10 }

sniBroadcastStormInPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Broadcast Storm In Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 11 }

sniBroadcastStormOutPacketRate  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "pps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Broadcast Storm Out Packet Rate"
	::= { sniBroadcastStormSuppressionEntry 12 }

gponONU OBJECT IDENTIFIER
	-- 1.3.6.1.4.1.50224.3.12
	::= { oltTree 12 }

gponONUBlacklistTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF GponBlackListEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.12.1
	::= { gponONU 1 }


gponBlackListEntry OBJECT-TYPE
	SYNTAX  GponBlackListEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""

	INDEX {
		gpononuIndex}
	-- 1.3.6.1.4.1.50224.3.12.1.1
	::= { gponONUBlacklistTable 1 }


GponBlackListEntry ::= SEQUENCE {

	gpononuIndex   GponDeviceIndex,
	gponmacAddress MacAddress ,
	gpononuBindBMacRowStatus RowStatus
	}


gpononuIndex OBJECT-TYPE
	SYNTAX  GponDeviceIndex
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"device index :
		4byte:  DEVICE ID / 3byte:  SLOT ID / 2byte:  PON ID / 1byte:  ONU ID
		"
	-- 1.3.6.1.4.1.50224.3.12.1.1.1
	::= { gponBlackListEntry 1 }


gponmacAddress OBJECT-TYPE
	SYNTAX  MacAddress
	MAX-ACCESS read-write
	STATUS  current
	DESCRIPTION
		""
	-- 1.3.6.1.4.1.50224.3.12.1.1.2
	::= { gponBlackListEntry 2 }

gpononuBindBMacRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"bind, delete blacklist onu"
	-- 1.3.6.1.4.1.50224.3.12.1.1.3
	::= { gponBlackListEntry 3 }

gpononuInfoTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF GpononuInfoEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of gpononuInfoTable entries. "
	::= {gponONU 2 }

gpononuInfoEntry  OBJECT-TYPE
	SYNTAX      GpononuInfoEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The onuInfoEntry Information"
	INDEX       { gpononuDeviceIndex }
	::={gpononuInfoTable 1 }

GpononuInfoEntry ::= SEQUENCE {
	gpononuDeviceIndex              GponDeviceIndex,
	gpononuName                     DisplayString,
	gpononuState					INTEGER,
	gpononuRunState          		INTEGER,
	gpononuConfigState              INTEGER,
	gpononuMatchState				INTEGER,
	gpononuAuthMode					INTEGER,
	gpononuVendorID	                DisplayString,
	gpononuEquipmentID              DisplayString,
	gpononuOmccVersion              DisplayString,
	gpononuSoftwareVersion          DisplayString,
	gpononuProductCode          	INTEGER,
	gpononuMainVersion				DisplayString,
	gpononuStbVersion				DisplayString,
	gpononuSerialNumber             DisplayString,
	gpononuPassword                 DisplayString,
	gpononuLoid						DisplayString,
	gpononuLoidPassword				DisplayString,
	gpononuDistance					INTEGER,
	gpononuLastUptime				DisplayString,
	gpononuUptime					TimeTicks,
	gpononuLineProfileID			INTEGER,
	gpononuSrvProfileID				INTEGER,
	gponresetONU                    INTEGER
  }

gpononuDeviceIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {gpononuInfoEntry 1 }

gpononuName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Name"
	::= {gpononuInfoEntry 2 }

gpononuState  OBJECT-TYPE
	SYNTAX      INTEGER
	  {
		Inactive(0),
		Active(1),
		Disable(2),
		Enable(3),
		ActiveS(4),
		Awake(5)
	  }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu state
		 0 - Inactive
		 1 - Active
		 2 - Disable
		 3 - Enable
		 4 - ActiveS
		 5 - Awake"
	::= {gpononuInfoEntry 3 }

gpononuRunState  OBJECT-TYPE
	SYNTAX      INTEGER
	{
		Initial(0),
		Online(1),
		Offline(2)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu runstate
		 0 - Initial
		 1 - Online
		 2 - Offline"
	::= {gpononuInfoEntry 4 }

gpononuConfigState  OBJECT-TYPE
	SYNTAX      INTEGER
	{
		Initial(0),
		Normal(1),
		Fail(2)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu configstate
		 0 - Initial
		 1 - Normal
		 2 - Fail"
	::= {gpononuInfoEntry 5 }

gpononuMatchState  OBJECT-TYPE
	SYNTAX      INTEGER
	{
		Initial(0),
		Match(1),
		Mismatch(2)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu matchstate
		 0 - Initial
		 1 - Match
		 2 - Mismatch"
	::= {gpononuInfoEntry 6 }

gpononuAuthMode  OBJECT-TYPE
	SYNTAX      INTEGER
	{
		SN-auth(0),
		Loid-auth(1),
		Loid-pass(2),
		Password-auth(3)
	}
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Auth Mode
		 0 - serial number auth
		 1 - loid auth
		 2 - loid password auth
		 3 - password auth
		"
	::= {gpononuInfoEntry 7 }

gpononuVendorID  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Onu vendor"
	::= {gpononuInfoEntry 8 }

gpononuEquipmentID  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 9 }

gpononuOmccVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 10 }

gpononuSoftwareVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 11 }

gpononuProductCode  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 12 }

gpononuMainVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 13 }

gpononuStbVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		""
	::= {gpononuInfoEntry 14 }

gpononuSerialNumber  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Serial Number"
	::= {gpononuInfoEntry 15 }

gpononuPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Password"
	::= {gpononuInfoEntry 16 }

gpononuLoid  OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"Loid"
	::= {gpononuInfoEntry 17 }

gpononuLoidPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Loid Password"
	::= {gpononuInfoEntry 18 }

gpononuDistance  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Meter"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"The number of meters, distance"
	::= {gpononuInfoEntry 19 }

gpononuLastUptime  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Last UP time"
	::= {gpononuInfoEntry 20 }

gpononuUptime  OBJECT-TYPE
	SYNTAX      TimeTicks
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Onu Uptime"
	::= {gpononuInfoEntry 21 }

gpononuLineProfileID OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		" Onu line profile ID "
	::= {gpononuInfoEntry 22 }

gpononuSrvProfileID OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		" Onu Srv profile ID "
	::= {gpononuInfoEntry 23 }

gponresetONU OBJECT-TYPE
	SYNTAX      INTEGER
	{ reset(1) }
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"1 - Reset ONU "
	::= {gpononuInfoEntry 24 }

gpononuPonPortOpticalTransmissionPropertyTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF GpononuPonPortOpticalTransmissionPropertyEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"
		This table is designed for both OLT and ONU
	Applied Obj  - Descriptions of Index
  ------------------------------------------------------------------
	OLT      - OnuNum of GponDeviceIndex TC shall be set to 0,
			 onuPonPortOpticalTransmissionPropertyCardIndex, and
			 onuPonPortOpticalTransmissionPropertyPortIndex set to
			 65535 indicates meaningless
	ONU      - Set GponDeviceIndex TC to corresponding ONU ID,
			   onuPonPortOpticalTransmissionPropertyCardIndex, and
			   onuPonPortOpticalTransmissionPropertyPortIndex set to the
			   corresponding value
  "
	::= {gponONU 3 }

gpononuPonPortOpticalTransmissionPropertyEntry  OBJECT-TYPE
	SYNTAX      GpononuPonPortOpticalTransmissionPropertyEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The gpononuPonPortOpticalTransmissionPropertyEntry Information"
	INDEX       { gpononuPonPortOpticalTransmissionPropertyDeviceIndex, gpononuPonPortOpticalTransmissionPropertyCardIndex,gpononuPonPortOpticalTransmissionPropertyPortIndex }
	::={gpononuPonPortOpticalTransmissionPropertyTable 1 }

GpononuPonPortOpticalTransmissionPropertyEntry ::= SEQUENCE {
	gpononuPonPortOpticalTransmissionPropertyDeviceIndex     GponDeviceIndex,
	gpononuPonPortOpticalTransmissionPropertyCardIndex       INTEGER,
	gpononuPonPortOpticalTransmissionPropertyPortIndex       INTEGER,
	gpononuReceivedOpticalPower                              INTEGER,
	gpononuTramsmittedOpticalPower                           INTEGER,
	gpononuBiasCurrent                                       INTEGER,
	gpononuWorkingVoltage                                    INTEGER,
	gpononuWorkingTemperature                                INTEGER
  }

gpononuPonPortOpticalTransmissionPropertyDeviceIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Device Index of the PON/ONT.
		For PON: This value is for corresponding PON ID
		example:PON1 Optical,gpononuPonPortOpticalTransmissionPropertyDeviceIndex = 0x01000100
		For ONT: This value is for corresponding ONT ID
		example:PON1 ONT1 Optical,gpononuPonPortOpticalTransmissionPropertyDeviceIndex = 0x01000101"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 1 }

gpononuPonPortOpticalTransmissionPropertyCardIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Card Index in the ONU. Shall set to 0, if ONU is not a modulized
		device"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 2 }

gpononuPonPortOpticalTransmissionPropertyPortIndex  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Port Index in the Pon card of ONU"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 3 }

gpononuReceivedOpticalPower  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Received Optical Power
		 divide by 100
		 unit: dBm"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 4 }

gpononuTramsmittedOpticalPower  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-dBm"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Tramsmitted Optical Power
		 divide by 100
		 unit: dBm"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 5 }

gpononuBiasCurrent  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-mA"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"biasCurrent
		 divide by 100
		 unit: mA"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 6 }

gpononuWorkingVoltage  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "centi-mV"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Working Voltage
		 divide by 100
		 unit: V"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 7 }

gpononuWorkingTemperature  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Centi-degree centigrade"
   MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Working Temperature
		 divide by 100
		 unit: ℃
		"
	::= {gpononuPonPortOpticalTransmissionPropertyEntry 8 }

gpononuCapabilityTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF GpononuCapabilityEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of gpononuInfoTable entries. "
	::= {gponONU 4 }

gpononuCapabilityEntry  OBJECT-TYPE
	SYNTAX      GpononuCapabilityEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The gpononuCapabilityEntry Information"
	INDEX       { gpononuCapabilityDeviceIndex }
	::={gpononuCapabilityTable 1 }

GpononuCapabilityEntry ::= SEQUENCE {
	gpononuCapabilityDeviceIndex     GponDeviceIndex,
	gpononuGePortNum                 INTEGER,
	gpononuGePortBitmap              OCTET STRING,
	gpononuFePortNum                 INTEGER,
	gpononuFePortBitmap              OCTET STRING,
	gpononuQueueNumUplink            INTEGER,
	gpononuMaxQueueNumUplink         INTEGER,
	gpononuQueueNumDownlink          INTEGER,
	gpononuMaxQueueNumDownlink       INTEGER,
	gpononuFecEnable                 TruthValue,
	gpononuEncryptMode               INTEGER,
	gpononuEncryptKeyExchangeTime    TimeTicks,
	gpononuIsolationEnable           TruthValue
  }

gpononuCapabilityDeviceIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onu Device Index"
	::= {gpononuCapabilityEntry 1 }

gpononuGePortNum  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"gePort Num"
	::= {gpononuCapabilityEntry 2 }

gpononuGePortBitmap  OBJECT-TYPE
	SYNTAX      OCTET STRING
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"gePort Bitmap

		In slot+port pair list manner. Suppose each slot support up to 64 ports.
		One octet to indentify slot and 8 octets to identify portbitmap for
		the slot. The bitmap definition is internet sequence. The most left bit
		is for port 1 of the slot, the most right bit is for port 64 of the slot.
		If the slot cannot support 64 ports, set the bits of not supported ports
		to 0.
		If the port is GE port, set the corresponding bit to 1.
		Since the slot num depends on each individual device, the object is variable
		length. If the device is fixed box (not modulized), set the slot number to
		255. Then the network management system could ignore the slot info.
		It is not necessary to list the slot doesn't support GE port.
		For example, if have 4 GE ports, of: 1/4, 1/6, 2/3, 4/17,
		the object will be presented in:
		01 14 00 00 00 00 00 00 00
		02 20 00 00 00 00 00 00 00
		04 00 00 80 00 00 00 00 00
		Another example, for fixed box, if have 4 ge ports of 4,6,10,17, the object
		will be presented as:
		FF 14 40 10 00 00 00 00
		"
	::= {gpononuCapabilityEntry 3 }

gpononuFePortNum  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"fePort Num"
	::= {gpononuCapabilityEntry 4 }

gpononuFePortBitmap  OBJECT-TYPE
	SYNTAX      OCTET STRING
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"fePort Bitmap

		In slot+port pair list manner. Suppose each slot support up to 64 ports.
		One octet to indentify slot and 8 octets to identify portbitmap for
		the slot. The bitmap definition is internet sequence. The most left bit
		is for port 1 of the slot, the most right bit is for port 64 of the slot.
		If the slot cannot support 64 ports, set the bits of not supported ports
		to 0.
		If the port is FE port, set the corresponding bit to 1.
		Since the slot num depends on each individual device, the object is variable
		length. If the device is fixed box (not modulized), set the slot number to
		255. Then the network management system could ignore the slot info.
		It is not necessary to list the slot doesn't support FE port.
		For example, if have 4 FE ports, of: 1/4, 1/6, 2/3, 4/17,
		the object will be presented in:
		01 14 00 00 00 00 00 00 00
		02 20 00 00 00 00 00 00 00
		04 00 00 80 00 00 00 00 00
		Another example, for fixed box, if have 4 FE ports of 4,6,10,17, the object
		will be presented as:
		FF 14 40 10 00 00 00 00
		"
	::= {gpononuCapabilityEntry 5 }

gpononuQueueNumUplink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"queue Num Uplink"
	::= {gpononuCapabilityEntry 6 }

gpononuMaxQueueNumUplink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"max Queue Num Uplink"
	::= {gpononuCapabilityEntry 7 }

gpononuQueueNumDownlink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"queue Num Downlink"
	::= {gpononuCapabilityEntry 8 }

gpononuMaxQueueNumDownlink  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"max Queue Num Downlink"
	::= {gpononuCapabilityEntry 9 }

gpononuFecEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"fec Enable"
	::= {gpononuCapabilityEntry 10 }

gpononuEncryptMode  OBJECT-TYPE
	SYNTAX      INTEGER {
			aes128(1),
			ctcTripleChurning(2),
			other(3)
				   }
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"encrypt Mode"
	::= {gpononuCapabilityEntry 11 }

gpononuEncryptKeyExchangeTime  OBJECT-TYPE
	SYNTAX      TimeTicks
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"encryptKeyExchange Time"
	::= {gpononuCapabilityEntry 12 }

gpononuIsolationEnable  OBJECT-TYPE
	SYNTAX      TruthValue
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"
ONU端口隔离使能
true(1) false(2)"
	::= { gpononuCapabilityEntry  13 }


gponslaTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF GponslaEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of gponslaTable entries. "
	::= {gponONU 5 }

gponslaEntry  OBJECT-TYPE
	SYNTAX      GponslaEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The gponslaEntry Information"
	INDEX       { gponslaIndex }
	::={gponslaTable 1 }

GponslaEntry ::= SEQUENCE {
	gponslaIndex               GponDeviceIndex,
	gponslaDsFixedBW             INTEGER,
	gponslaDsPeakBW              INTEGER,
	gponslaDsCommittedBW         INTEGER,
	gponslaUsFixedBW             INTEGER,
	gponslaUsPeakBW              INTEGER,
	gponslaUsCommittedBW         INTEGER
  }

gponslaIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"sla Index"
	::= {gponslaEntry 1 }

gponslaDsFixedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla FixedBW"
	::= {gponslaEntry 2 }

gponslaDsPeakBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla PeakBW"
	::= {gponslaEntry 3 }

gponslaDsCommittedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Downstream sla CommittedBW"
	::= {gponslaEntry 4 }

gponslaUsFixedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla FixedBW"
	::= {gponslaEntry 5 }

gponslaUsPeakBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla PeakBW"
	::= {gponslaEntry 6 }

gponslaUsCommittedBW  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "kbps"
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Upstream sla CommittedBW"
	::= {gponslaEntry 7 }


gpononuAllowListTable  OBJECT-TYPE
	SYNTAX      SEQUENCE OF GpononuAllowListEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"A list of gpononuInfoTable entries. "
	::= {gponONU 6 }

gpononuAllowListEntry  OBJECT-TYPE
	SYNTAX      GpononuAllowListEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The gpononuAllowListEntry Information"
	INDEX       { gpononuAllowDeviceIndex }
	::={gpononuAllowListTable 1 }

GpononuAllowListEntry ::= SEQUENCE {
	gpononuAllowDeviceIndex           GponDeviceIndex,
	gpononuAllowListName              DisplayString,
	gpononuAllowListMacAddress        MacAddress,
	gpononuAllowListAuthState         INTEGER,
	gpononuAllowListAdminStatus       INTEGER,
	gpononuAllowListTestDistance      INTEGER,
	gpononuAllowListSerialNum         DisplayString,
	gpononuAllowListTimeLastRegister  DateAndTime,
	gpononuAllowListBindMacRowStatus  RowStatus
  }

gpononuAllowDeviceIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {gpononuAllowListEntry 1 }

gpononuAllowListName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Name"
	::= {gpononuAllowListEntry 2 }

gpononuAllowListMacAddress  OBJECT-TYPE
	SYNTAX      MacAddress
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onuMac Address"
	::= {gpononuAllowListEntry 3 }

gpononuAllowListAuthState  OBJECT-TYPE
	SYNTAX      INTEGER {
	true(1),
	false(2),
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu auth state，
			true(auth onu), false(unauth onu),"
	::= {gpononuAllowListEntry 4 }

gpononuAllowListAdminStatus  OBJECT-TYPE
	SYNTAX      INTEGER {
	up(1),
	down(2),
	register(3),
	}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"onu Admin Status，
			up(online), down(offline), register，"
	::= {gpononuAllowListEntry 5 }


gpononuAllowListTestDistance  OBJECT-TYPE
	SYNTAX      INTEGER
	UNITS   "Meter"
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"onu Test Distance"
	::= {gpononuAllowListEntry 6 }


gpononuAllowListSerialNum OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"ONU serial number."
	::= {gpononuAllowListEntry 7 }



gpononuAllowListTimeLastRegister OBJECT-TYPE
	SYNTAX      DateAndTime
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		" ONU Last register timestamp "
	::= {gpononuAllowListEntry 8 }

gpononuAllowListBindMacRowStatus  OBJECT-TYPE
	SYNTAX      RowStatus
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"bind, delete onu"
		-- 1.3.6.1.4.1.50224.3.6.1.
	::= { gpononuAllowListEntry 9 }

gpononuAutoFindTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF GpononuAutoFindEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"Auto Discovery Table"
	::= {gponONU 7 }

gpononuAutoFindEntry OBJECT-TYPE
	SYNTAX  GpononuAutoFindEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		gpononuAutoFindIndex }
	-- 1.3.6.1.4.1.50224.3.2.7.1
	::= { gpononuAutoFindTable 1 }

GpononuAutoFindEntry ::= SEQUENCE {
	gpononuAutoFindIndex	          GponDeviceIndex,
	gpononuAutoFindPonID			  INTEGER,
	gpononuAutoFindOntID			  INTEGER,
	gpononuAutoFindSerialNum          DisplayString,
	gpononuAutoFindPassword			  DisplayString,
	gpononuAutoFindLoid				  DisplayString,
	gpononuAutoFindLoidPassword		  DisplayString,
	gpononuAutoFindVendorID			  DisplayString,
	gpononuAutoFindOntVersion		  DisplayString,
	gpononuAutoFindEquipmentID		  DisplayString,
	gpononuAutoFindTime				  DisplayString,
	gpononuAutoFindAuthMode			  INTEGER,
	gpononuAutoFindSplitterID		  INTEGER,
	gpononuAutoFindLineProfileID	  INTEGER,
	gpononuAutoFindServiceProfileID	  INTEGER,
	gpononuAutoFindRowStatus		  INTEGER
  }

gpononuAutoFindIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {gpononuAutoFindEntry 1 }

gpononuAutoFindPonID  OBJECT-TYPE
	SYNTAX      INTEGER (1..16)
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"PON ID"
	::= {gpononuAutoFindEntry 2 }

gpononuAutoFindOntID  OBJECT-TYPE
	SYNTAX      INTEGER (0..127)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"ONT ID"
	::= {gpononuAutoFindEntry 3 }

gpononuAutoFindSerialNum  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Serial Num"
	::= {gpononuAutoFindEntry 4 }

gpononuAutoFindPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Password"
	::= {gpononuAutoFindEntry 5 }

gpononuAutoFindLoid  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"LOID"
	::= {gpononuAutoFindEntry 6 }

gpononuAutoFindLoidPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"LOID Password"
	::= {gpononuAutoFindEntry 7 }

gpononuAutoFindVendorID  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Vendor ID"
	::= {gpononuAutoFindEntry 8 }

gpononuAutoFindOntVersion  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Ont Version"
	::= {gpononuAutoFindEntry 9 }

gpononuAutoFindEquipmentID  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"Equipment ID"
	::= {gpononuAutoFindEntry 10 }

gpononuAutoFindTime  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION
		"AutoFind Time"
	::= {gpononuAutoFindEntry 11 }

gpononuAutoFindAuthMode  OBJECT-TYPE
	SYNTAX      INTEGER
				{
					sn-auth(0),
					loid-auth(1),
					loid-password-auth(2),
					password-auth(3)
				}
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Auth Mode
		 0 - serial number auth
		 1 - loid auth
		 2 - loid password auth
		 3 - password auth
		"
	::= {gpononuAutoFindEntry 12 }

gpononuAutoFindSplitterID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Splitter ID"
	::= {gpononuAutoFindEntry 13 }

gpononuAutoFindLineProfileID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"LineProfile ID"
	::= {gpononuAutoFindEntry 14 }

gpononuAutoFindServiceProfileID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"ServiceProfile ID"
	::= {gpononuAutoFindEntry 15 }

gpononuAutoFindRowStatus  OBJECT-TYPE
	SYNTAX      INTEGER
				{
					Add(4),
					Del(6)
				}
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"4 - add to Authenticate list
		 6 - delete"
	::= {gpononuAutoFindEntry 16 }

gpononuRegistrationTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF GpononuRegistrationEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"For register ont"
	::= {gponONU 8 }

gpononuRegistrationEntry OBJECT-TYPE
	SYNTAX  GpononuRegistrationEntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		""
	INDEX {
		gpononuRegistrationIndex }
	-- 1.3.6.1.4.1.50224.3.2.8.1
	::= { gpononuRegistrationTable 1 }

GpononuRegistrationEntry ::= SEQUENCE {
	gpononuRegistrationIndex	          GponDeviceIndex,
	gpononuRegistrationPonID			  INTEGER,
	gpononuRegistrationOntID			  INTEGER,
	gpononuRegistrationAuthMode			  INTEGER,
	gpononuRegistrationSerialNum          DisplayString,
	gpononuRegistrationPassword			  DisplayString,
	gpononuRegistrationLoid				  DisplayString,
	gpononuRegistrationLoidPassword		  DisplayString,
	gpononuRegistrationLineProfileID	  INTEGER,
	gpononuRegistrationServiceProfileID	  INTEGER,
	gpononuRegistrationSplitterID		  INTEGER,
	gpononuSettingOntName				  DisplayString,
	gpononuSettingOntDesc				  DisplayString,
	gpononuRegistrationAddOrDelete		  INTEGER,
	gpononuSettingStatus				  INTEGER
  }

gpononuRegistrationIndex  OBJECT-TYPE
	SYNTAX      GponDeviceIndex
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"onuDevice Index"
	::= {gpononuRegistrationEntry 1 }

gpononuRegistrationPonID  OBJECT-TYPE
	SYNTAX      INTEGER (1..16)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"PON ID, 1-16"
	::= {gpononuRegistrationEntry 2 }

gpononuRegistrationOntID  OBJECT-TYPE
	SYNTAX      INTEGER (0..127)
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"ONT ID, 0-127"
	::= {gpononuRegistrationEntry 3 }

gpononuRegistrationAuthMode  OBJECT-TYPE
	SYNTAX      INTEGER
				{
					sn-auth(0),
					loid-auth(1),
					loid-password-auth(2),
					password-auth(3)
				}
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Auth Mode
		 0 - serial number auth
		 1 - loid auth
		 2 - loid password auth
		 3 - password auth
		"
	::= {gpononuRegistrationEntry 4 }

gpononuRegistrationSerialNum  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Serial Num"
	::= {gpononuRegistrationEntry 5 }

gpononuRegistrationPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Password"
	::= {gpononuRegistrationEntry 6 }

gpononuRegistrationLoid  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"LOID"
	::= {gpononuRegistrationEntry 7 }

gpononuRegistrationLoidPassword  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"LOID Password"
	::= {gpononuRegistrationEntry 8 }

gpononuRegistrationLineProfileID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"LineProfile ID, default 0"
	::= {gpononuRegistrationEntry 9 }

gpononuRegistrationServiceProfileID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"ServiceProfile ID, default 0"
	::= {gpononuRegistrationEntry 10 }

gpononuRegistrationSplitterID  OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Splitter ID, default 0"
	::= {gpononuRegistrationEntry 11 }

gpononuSettingOntName  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Ont name, max 32 characters"
	::= {gpononuRegistrationEntry 12 }

gpononuSettingOntDesc  OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION
		"Ont description info, max 128 characters"
	::= {gpononuRegistrationEntry 13 }

gpononuRegistrationAddOrDelete  OBJECT-TYPE
	SYNTAX      INTEGER
				{
					Add(4),
					Delete(6)
				}
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Value 4:Add ont
		 Value 6:delete ont"
	::= {gpononuRegistrationEntry 14 }

gpononuSettingStatus  OBJECT-TYPE
	SYNTAX      INTEGER
				{
					Set(4),
					Clear(6)
				}
	MAX-ACCESS  read-create
	STATUS      current
	DESCRIPTION
		"Value 4:Setting ont name/description
		 Value 6:Clear ont name/description"
	::= {gpononuRegistrationEntry 15 }


END
