-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition

-- $Log: zyxel-SESCommon.mib $
-- Revision 1.6  2004/05/05 08:33:40  jennyhsu
-- Revision 1.5  2004/01/29 03:41:48  jennyhsu
-- Define port bonding
-- Revision 1.4  2003/09/26 11:47:45  jennyhsu
-- Mask Port Bonding table
-- Revision 1.3  2003/05/27 08:13:18  jennyhsu
-- Add sesPortBondingPortList
-- Revision 1.2  2002/11/12 07:46:36  jennyhsu
-- Revision 1.1  2002/11/12 07:40:51  jennyhsu
-- Initial revision
-- Revision 1.1  2002/11/08 01:36:06  jennyhsu
-- Initial revision

	ZYXEL-SESCOMMON-MIB DEFINITIONS ::= BEGIN
	IMPORTS
		
		enterprises, TimeTicks, Counter	
					FROM RFC1155-SMI
		OBJECT-TYPE		FROM RFC-1212
		ifIndex,DisplayString	FROM RFC1213-MIB
		RowStatus		FROM SNMPv2-TC
		sesSeriesCommon 	FROM ZYXEL-MIB;
		
--		zyxel			OBJECT IDENTIFIER ::= { enterprises 890 }
--		products		OBJECT IDENTIFIER ::= { zyxel 1 }
--		accessSwitch		OBJECT IDENTIFIER ::= { products 5 }
--		sesSeries		OBJECT IDENTIFIER ::= { accessSwitch 5 }
--		sesSeriesCommon		OBJECT IDENTIFIER ::= { sesSeries 1 }
		
		
		sesLineStatusTable	OBJECT-TYPE
			SYNTAX		SEQUENCE OF SesLineStatusEntry
			ACCESS		not-accessible
			STATUS		mandatory
			DESCRIPTION
				"This table contains the current status of SHDSL line. 
				These managed objects are supported by ZyXEL SDSL
				access switches."
			::= { sesSeriesCommon 1 }
			
		sesLineStatusEntry	OBJECT-TYPE
			SYNTAX		SesLineStatusEntry
			ACCESS	not-accessible
			STATUS		mandatory
			DESCRIPTION
				"An zyxelLineStatusEntry containing the specific
				status for a particular SHDSL interface."
			INDEX		{ ifIndex }
			::= { sesLineStatusTable 1 }
			
		SesLineStatusEntry ::=
			SEQUENCE {
				sesLineUptime		TimeTicks,
				sesLineLinkDown		Counter,
				sesLineNMdefect		Counter,
				sesLineHECdefect	Counter,
				sesLineTxPackets	Counter,
				sesLineRxPackets	Counter,
				sesLineTxFrames		Counter,
				sesLineRxFrames		Counter,
				sesLineTxCells		Counter,
				sesLineRxCells		Counter
			}
			
		sesLineUptime	OBJECT-TYPE
			SYNTAX			TimeTicks
			ACCESS		read-only
			STATUS			mandatory
			DESCRIPTION
				"The time duration since the connection between STU-C
				STU-R is last setup."
			::= { sesLineStatusEntry 1 }
			
		sesLineLinkDown	OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION	
				"The number of link down since the SAM-1008 was last
				restarted."
			::= { sesLineStatusEntry 2 }
			
		sesLineNMdefect	OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of noise margin defects"
			::= { sesLineStatusEntry 3 }
			
		sesLineHECdefect	OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of HEC defects"
			::= { sesLineStatusEntry 4 }

		sesLineTxPackets	OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Tx packets"
			::= { sesLineStatusEntry 5 }

		sesLineRxPackets	OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Rx packets"
			::= { sesLineStatusEntry 6 }

		sesLineTxFrames		OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Tx frames"
			::= { sesLineStatusEntry 7 }

		sesLineRxFrames		OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Rx frames"
			::= { sesLineStatusEntry 8 }

		sesLineTxCells		OBJECT-TYPE
			SYNTAX		Counter
			ACCESS	read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Tx cells"
			::= { sesLineStatusEntry 9 }

		sesLineRxCells		OBJECT-TYPE
			SYNTAX		Counter
			ACCESS		read-only
			STATUS		mandatory
			DESCRIPTION
				"Count of line Rx cells"
			::= { sesLineStatusEntry 10 }


        sesMaxNumOfProfiles OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                      "The maximum number of SHDSL profiles which the system supports."
        ::= { sesSeriesCommon 2 }

        sesLineConfTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF SesLineConfEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 	"This table includes common attributes describing the SHDSL line."
        ::= { sesSeriesCommon 3 }

	sesLineConfEntry OBJECT-TYPE
        SYNTAX	SesLineConfEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION    	"An entry in sesLineConfTable."
        INDEX          	{ ifIndex }
        ::= { sesLineConfTable 1 }

        SesLineConfEntry ::=
           SEQUENCE {
		sesLineConfEncap	INTEGER,
		sesLineConfVpi		INTEGER,
		sesLineConfVci		INTEGER
           }

        sesLineConfEncap OBJECT-TYPE
        SYNTAX  INTEGER {
			llc(1),
			vc(2)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The encapsulation of the SHDSL line."
        ::= { sesLineConfEntry 1 }

        sesLineConfVpi OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The VPI of the SHDSL line."
        ::= { sesLineConfEntry 2 }

        sesLineConfVci OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                      	"The VCI of the SHDSL line."
        ::= { sesLineConfEntry 3 }
        
	-- Port Bonding Talbe

        sesMaxNumOfPortBondings OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
        	"The maximum number of port bondings which the system supports."
       ::= { sesSeriesCommon 4 }

        sesPortBondingTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF SesPortBondingEntry
        ACCESS  not-accessible
        STATUS  mandatory
       DESCRIPTION
        	"This table includes the configuration of port bonding."
        ::= { sesSeriesCommon 5 }

	sesPortBondingEntry OBJECT-TYPE
        SYNTAX	SesPortBondingEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION
		"An entry in sesPortBondingTable."
        INDEX   { IMPLIED sesPortBondingName }
        ::= { sesPortBondingTable 1 }

        SesPortBondingEntry ::=
           SEQUENCE {
		sesPortBondingName		DisplayString,
		sesPortBondingMemberList	OCTET STRING,
		sesPortBondingNumOfMembers	INTEGER,
		sesPortBondingMode		INTEGER,
		sesPortBondingRowStatus		RowStatus
           }

        sesPortBondingName    OBJECT-TYPE
        SYNTAX	DisplayString (SIZE (1..32))
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION
        	"This object is used by the port bonding table
                in order to identify a row of this table."
         ::= { sesPortBondingEntry 1 }

        sesPortBondingNumOfMembers    OBJECT-TYPE
        SYNTAX	INTEGER
        ACCESS	read-write
        STATUS	mandatory
        DESCRIPTION
                "The number of members included in the bonding entry."
         ::= { sesPortBondingEntry 2 }

        sesPortBondingMemberList    OBJECT-TYPE
        SYNTAX	OCTET STRING
        ACCESS	read-write
        STATUS	mandatory
        DESCRIPTION
                "The member list is included in the bonding entry. Each member is
		identified by two octets.
		In the 2-wire mode, each member stands for a single port.
		In the 4-wire mode, each member stands for a 4-wire group.
		In the 8-wire mode, each member stands for a 8-wire group."
         ::= { sesPortBondingEntry 3 }

        sesPortBondingMode OBJECT-TYPE
       SYNTAX  INTEGER {
			twoWireC(1),
			twoWireR(2),
			fourWireC(3),
			fourWireR(4),
			eightWireC(5),
			eightWireR(6)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        	"The mode in which the bonding entry is.
        	twoWireC mode stands for 2-wire plus stu-c, and so on."
        ::= { sesPortBondingEntry 4 }

        sesPortBondingRowStatus OBJECT-TYPE
        SYNTAX	RowStatus
        ACCESS	read-write
        STATUS	mandatory
        DESCRIPTION
                "To delete an existing row in this table."
         ::= { sesPortBondingEntry 5 }	
         
         
-- N-Wire Bonding Table         
         
        sesNwireTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF SesNwireEntry
        ACCESS  not-accessible
        STATUS  mandatory
       DESCRIPTION
        	"This table includes N-wire configurations."
        ::= { sesSeriesCommon 6 }

	sesNwireEntry OBJECT-TYPE
        SYNTAX	SesNwireEntry
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION
		"An entry in sesNwireTable."
        INDEX   { IMPLIED sesNwireGroupName }
        ::= { sesNwireTable 1 }

        SesNwireEntry ::=
           SEQUENCE {
		sesNwireGroupName		DisplayString,
		sesNwireGroupNumber		OCTET STRING,
		sesNwireMode			INTEGER,
		sesNwireRowStatus		RowStatus
           }

        sesNwireGroupName    OBJECT-TYPE
        SYNTAX	DisplayString (SIZE (1..32))
        ACCESS	not-accessible
        STATUS	mandatory
        DESCRIPTION
        	"This object is used by the N-wire table
                in order to identify a row of this table."
         ::= { sesNwireEntry 1 }

        sesNwireGroupNumber    OBJECT-TYPE
        SYNTAX	OCTET STRING
        ACCESS	read-write
        STATUS	mandatory
        DESCRIPTION
                "The group number included in the N-wire entry. Each group is
		identified by two octets.
		In the 4-wire mode:
		Group1 stands for Port1 and Port2
		Group2 stands for Port3 and Port4
		Group3 stands for Port5 and Port6
		Group4 stands for Port7 and Port8
		
		In the 8-wire mode:
		Group1 stands for Port1, Port2, Port3 and Port4
		Group2 stands for Port5, Port6, Port7 and Port8"
         ::= { sesNwireEntry 2 }

        sesNwireMode OBJECT-TYPE
       SYNTAX  INTEGER {
			fourWireC(1),
			fourWireR(2),
			eightWireC(3),
			eightWireR(4)
	}
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
        	"The mode in which the N-wire entry is.
        	fourWireC mode stands for 4-wire plus stu-c, and so on."
        ::= { sesNwireEntry 3 }

        sesNwireRowStatus OBJECT-TYPE
        SYNTAX	RowStatus
        ACCESS	read-write
        STATUS	mandatory
        DESCRIPTION
                "To delete an existing row in this table."
         ::= { sesNwireEntry 4 }
       
         
         		
END
