-- DES-3216 SWITCH HUB MIB V0.02		 08/02/97

	DES3216-MIB

	DEFINITIONS ::= BEGIN

	IMPORTS
		enterprises, IpAddress,
		TimeTicks,Counter
			FROM RFC1155-SMI
		DisplayString, PhysAddress
			FROM RFC1213-MIB
	TRAP-TYPE
	    FROM RFC-1215
	OBJECT-TYPE
	    FROM RFC-1212;

	-- OwnerString ::= DisplayString
	-- This data type is used to model an administratively
	-- assigned name of the owner of a resource. This
	-- information is taken from the NVT ASCII character set.
	-- It is suggested that this name contain one or more
	-- of the following:
	-- IP address, management station name, network manager's
	-- name, location, or phone number.
	--	SIZE (0..xx)


    dlink		    OBJECT IDENTIFIER ::= { enterprises 171 }
    dlink-products	    OBJECT IDENTIFIER ::= { dlink 10 }
    dlink-Des3216Prod	    OBJECT IDENTIFIER ::= { dlink-products 9 }
    dlink-Des3216ProdId     OBJECT IDENTIFIER ::= { dlink-Des3216Prod 1  }
    des3216SwHub	    OBJECT IDENTIFIER ::= { dlink-Des3216Prod 2 }


    dlink-mgmt		    OBJECT IDENTIFIER ::= { dlink 11 }

    agentConfigInfo	    OBJECT IDENTIFIER ::= { dlink-mgmt 1 }
    des3216series	    OBJECT IDENTIFIER ::= { dlink-mgmt 9 }

    -- agentBasicInfo

    agentBasicInfo	    OBJECT IDENTIFIER ::= { agentConfigInfo 1 }

    agentRuntimeSwVersion OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..12))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This is a textual description of the runtime software version
	and revision. If the version number is one and revision number is
	zero agentRuntimeSwVersion would be 'Ver. 1.0'"
	::= { agentBasicInfo 1 }

    agentPromFwVersion OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..12))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This is a textual description of the agent PROM firmware version
	and revision. If the version number is one and revision number is
	zero agentPromFwVersion would be 'Ver. 1.0'"
	::= { agentBasicInfo 2 }

    agentHwRevision OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..12))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This is a textual description of the hardware revision.
	The display string should look like 'Rev. A1'"
	::= { agentBasicInfo 3 }

    agentMgmtProtocolCapability OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		snmp-ip(2),
		snmp-ipx(3),
		snmp-ip-ipx(4)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The network management protocol(s) supported by this agent."
	::= { agentBasicInfo 4 }

    -- agentMibcapabilityTable

    agentMibCapabilityTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AgentMibCapabilityEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of MIB capability entries supported by this agent."
	::= { agentBasicInfo 5 }

    agentMibCapabilityEntry OBJECT-TYPE
	SYNTAX	AgentMibCapabilityEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A MIB capability entry contains objects describing a particular MIB
	supported by this agent."
	INDEX	{ agentMibCapabilityIndex }
	::= { agentMibCapabilityTable 1 }

    AgentMibCapabilityEntry ::= SEQUENCE {
	agentMibCapabilityIndex
	    INTEGER,
	agentMibCapabilityDescr
	    DisplayString,
	agentMibCapabilityVersion
	    INTEGER,
	agentMibCapabilityType
	    INTEGER
    }

    agentMibCapabilityIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"A list of agentMibCapabilityDescr entries."
	::= { agentMibCapabilityEntry 1 }

    agentMibCapabilityDescr OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..16))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The name of the MIB supported by the agent."

	::= { agentMibCapabilityEntry 2 }

    agentMibCapabilityVersion OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The version of the MIB specified in this entry."
	::= { agentMibCapabilityEntry 3 }

    agentMibCapabilityType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		standard(2),
		proprietary(3),
		experiment(4)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The type of the MIB specified in this entry."
	::= { agentMibCapabilityEntry 4 }

   -- agentMgmtRole OBJECT-TYPE
   --	  SYNTAX  INTEGER {
   --		  other(1),
   --		  primary-master(2),
   --		  backup-master(3)
   --	  }
   --	  ACCESS  read-only
   --	  STATUS  mandatory
   --	  DESCRIPTION
   --	  "The role of this agent within this particular hub stack"
   --	  ::= { agentBasicInfo 6 }


    -- agentBasicConfig

    agentBasicConfig	    OBJECT IDENTIFIER ::= { agentConfigInfo 2 }

    agentSwUpdateMode OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		network-load(2),
		out-of-band-load(3)
	}
	ACCESS	read-write
	STATUS
	mandatory
	DESCRIPTION
	"The download media used by the system to download the
	runtime software."
	::= { agentBasicConfig 1 }

    agentSwUpdateCtrl OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Current status of software download control. The setting
	is effective the next time you reset or power on the hub."
	::= { agentBasicConfig 2 }

    agentBootFile OBJECT-TYPE
	SYNTAX	DisplayString  (SIZE (0..64))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The name of the file to be downloaded from the TFTP server when
	software update is enabled."
	::= { agentBasicConfig 3 }

    agentSystemReset OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		reset(2),
		no-reset(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"This object indicates the agent system reset state.
	Setting this object to no-reset(3) has no effect.
	Setting this object to reset(2) will reset the agent.
	The agent always returns no-reset(3) when this object is read."
	::= { agentBasicConfig 4 }

    agentRs232PortConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		console(2),
		out-of-band(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The current setting of RS-232C port.
	The RS-232C port can be configured as the console port or
	used for out-of-band connection."
	::= { agentBasicConfig 5 }

    agentOutOfBandBaudRateConfig OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		baudRate-1200 (2),
		baudRate-2400 (3),
		baudRate-9600 (4),
		baudRate-19200(5)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The baud rate setting for out of band connection.
	The baud rate for the console interface is always 9600."
	::= { agentBasicConfig 6 }

    agentOutOfBandDialNumber OBJECT-TYPE
	SYNTAX	DisplayString  (SIZE (0..32))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The dial out phone number for out of band to establish
	a connection.  This entry is used for reference only."
	::= { agentBasicConfig 7 }



    -- agentIpProtocolConfig

    agentIpProtoConfig	    OBJECT IDENTIFIER ::= { agentConfigInfo 3 }

    agentIpNumOfIf OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The total number of IP interfaces supported by this agent."
	::= {  agentIpProtoConfig 1 }

    agentIpIfTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AgentIpIfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of IP interface entries supported by the agent."
	::= {  agentIpProtoConfig 2 }

    agentIpIfEntry OBJECT-TYPE
	SYNTAX	AgentIpIfEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"An agentIPIfEntry contains information about a particular
	IP interface."
	INDEX	{ agentIpIfIndex }
	::= { agentIpIfTable 1 }

    AgentIpIfEntry ::= SEQUENCE {
	agentIpIfIndex
	    INTEGER,
	agentIpIfAddress
	    IpAddress,
	agentIpIfNetMask
	    IpAddress,
	agentIpIfDefaultRouter
	    IpAddress,
	agentIpIfMacAddr
	    PhysAddress,
	agentIpIfType
	    INTEGER
    }

    agentIpIfIndex OBJECT-TYPE
	SYNTAX	INTEGER (1..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object uniquely identifies the IP interface number
	in agentIpIfTable.
	This value should never greater than agentIpNumOfIf"
	::= {  agentIpIfEntry 1 }

    agentIpIfAddress OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The IP address of the interface."
	::= {  agentIpIfEntry 2 }

    agentIpIfNetMask OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The IP net mask for this interface."
	::= {  agentIpIfEntry 3 }

    agentIpIfDefaultRouter OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The default gateway for this IP interface."
	::= {  agentIpIfEntry 4 }

    agentIpIfMacAddr OBJECT-TYPE
	SYNTAX	PhysAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The MAC address of this IP interface.
	 For interfaces which do not have such an address
	(e.g., a serial line), this object should contain
	an octet string of zero length."
	::= {  agentIpIfEntry 5 }

    agentIpIfType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),	   -- none of the following
		ethernet-csmacd(6),
		slip(28)	   -- generic SLIP
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The physical layer interface of the IP interface."
	::= {  agentIpIfEntry 6 }

    agentIpBootServerAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The IP Address of Boot Server."
	::= {  agentIpProtoConfig 3 }

    agentIpBootProtocol OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		bootp-tftp(2),
		tftp(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The software download protocol used for software update."
	::= { agentIpProtoConfig 4 }

    agentIpGetIpFromBootpServer OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"This object indicates whether the agent get its system IP address
	from BootP server at start up."
	::= { agentIpProtoConfig 5 }

    agentIpUnauthAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The IP address of an unauthorized SNMP packet."
	::= { agentIpProtoConfig 6 }

    agentIpUnauthComm OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..20))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The community string of an unauthorized SNMP packet."
	::= { agentIpProtoConfig 7 }

    agentIpLastBootServerAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The last IP address used as Boot server IP address."
	::= {  agentIpProtoConfig 8 }

    agentIpLastIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The last IP address used as the agent system IP address."
	::= {  agentIpProtoConfig 9 }

    -- agentIptrapMangerTable

    agentIpTrapManagerTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF AgentIpTrapManagerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of trap manager entries to which to send SNMP traps ."
	::= {  agentIpProtoConfig 10 }

    agentIpTrapManagerEntry OBJECT-TYPE
	SYNTAX	AgentIpTrapManagerEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"This entry contains the particular trap manager settings."
	INDEX	{ agentIpTrapManagerIpAddr }
	::= { agentIpTrapManagerTable 1 }

    AgentIpTrapManagerEntry ::= SEQUENCE {
	agentIpTrapManagerIpAddr
	    IpAddress,
	agentIpTrapManagerComm
	    DisplayString,
	agentIpTrapManagerStatus
	    INTEGER
    }

    agentIpTrapManagerIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The IP address to receive SNMP traps from this device."
	::= { agentIpTrapManagerEntry 1 }

    agentIpTrapManagerComm OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..20))
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"The community string of the SNMP trap packet sent to
	the trap manager."
	::= { agentIpTrapManagerEntry 2 }

    agentIpTrapManagerStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"This object indicates whether or not the trap should be send to this
	trap manager."
	::= { agentIpTrapManagerEntry 3 }



    des3216MIB		    OBJECT IDENTIFIER ::= { des3216series 1 }
    swDevicePackage	    OBJECT IDENTIFIER ::= { des3216MIB 1 }
    swPortPackage	    OBJECT IDENTIFIER ::= { des3216MIB 2 }

    swDeviceInfo	    OBJECT IDENTIFIER ::= { swDevicePackage 1 }

    swDevInfoTotalNumOfPort OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The  number of ports within this switch hub. This value
	is the sum of the ports of each group within this
	switch hub."
	::= { swDeviceInfo 1 }

    swDevInfoNumOfPortOnUse OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of ports in this switch hub connected to the
	segment or end stations."
	::= { swDeviceInfo 2 }

 -- swDevInfoSerialNum OBJECT-TYPE
 --	SYNTAX	INTEGER
 --	ACCESS	read-only
 --	STATUS	mandatory
 --	DESCRIPTION
 --	"The serial number of this switch hub."
 --	::= { swDeviceInfo 3 }

    swDevInfoDesc OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..64))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"A textual description of this switch hub."
	::= { swDeviceInfo 3 }

    -- swDevInfoRepeaterType OBJECT-TYPE
    --	  SYNTAX  INTEGER {
    --		  other(1),
    --		  baseband-10-Mb(2),
    --		  baseband-100-Mb-class-I(3),
    --		  baseband-100-Mb-class-II(4)
    --	  }
    --	  ACCESS  read-only
    --	  STATUS  mandatory
    --	  DESCRIPTION
    --	  "This objects indicates the CSMA/CD repeater type. The type
    --	  value matches the clause number of the standard that specifies
    --	  the particular repeater, with further numerical identification
    --	  for the repeater classes within the same clause."
    --	  ::= { swDeviceInfo 5 }

    swDevInfoPortType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		portType-UTP(2),
		portType-AUI(3),
		portType-Fiber(4),
		portType-BNC(5),
		portType-Option-module-RAS(6),
		portType-Option-module-100Bridge(7)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The connector type of this port."
	::= { swDeviceInfo 4 }

    swDevInfoHwRev OBJECT-TYPE
	SYNTAX	DisplayString (SIZE (0..12))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"A textual description of the hardware revision of
	this switch bub."
	::= { swDeviceInfo 5 }

    swDevInfoSystemUpTime OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The value of sysUpTime at the time the switch
	entered its current operational state.	If the
	current state was entered prior to the last re-
	initialization, then this object contains a zero
	value."
	::= { swDeviceInfo 6 }

    swDevInfoFrontPanelLedStatus OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE (0..127))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The current status of front panel LED."
	::= { swDeviceInfo 7 }

    -- swDevInfoMdiSwitch OBJECT-TYPE
    --	  SYNTAX  INTEGER {
    --		  other(1),
    --		  mdi(2),
    --		  mdi-x(3)
    --	  }
    --	  ACCESS  read-only
    --	  STATUS  mandatory
    --	  DESCRIPTION
    --	  "The current setting of the MDI switch."
    --	  ::= { swDeviceInfo 9 }

    swDevInfoDramSize OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The DRAM size of the switch hub"
	::= { swDeviceInfo 8 }

    swDevInfoGroupTypeTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwDevInfoGroupTypeEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of MIB capability entries supported by this agent."
	::= { swDeviceInfo 9 }

    swDevInfoGroupTypeEntry OBJECT-TYPE
	SYNTAX	SwDevInfoGroupTypeEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A MIB capability entry contains objects describing a particular MIB
	supported by this agent."
	INDEX	{ swDevInfoGroupIndex }
	::= { swDevInfoGroupTypeTable 1 }

    SwDevInfoGroupTypeEntry ::= SEQUENCE {
	swDevInfoGroupIndex
	    INTEGER,
	swDevInfoGroupMediaType
	    INTEGER
    }

    swDevInfoGroupIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	::= { swDevInfoGroupTypeEntry 1 }

    swDevInfoGroupMediaType OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	::= { swDevInfoGroupTypeEntry 2 }




    swDeviceCtl 	    OBJECT IDENTIFIER ::= { swDevicePackage 2 }

    swDevCtrlDisableLearningState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the switch hub wether or not learn any
	 new addresses from the Ethernet ports."
	::= { swDeviceCtl 1 }

    swDevCtrlReset OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		reset(2),
		no-reset(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"This object indicates the switch hub reset state.
	Setting this object to no-reset(3) has no effect.
	Setting this object to reset(2) will reset the agent.
	The agent always returns no-reset(3) when this object is read."
	::= { swDeviceCtl 2 }

    swPortInfoTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwPortInfoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of port information entries."
	::= { swPortPackage 1 }

    swPortInfoEntry OBJECT-TYPE
	SYNTAX	SwPortInfoEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"This entry contains the port information, like porttype,
	 linkstatus..."
	INDEX	{ swPortInfoGroupIndex,swPortInfoIndex }
	::= { swPortInfoTable 1 }

    SwPortInfoEntry ::= SEQUENCE {
	swPortInfoGroupIndex
	    INTEGER,
	swPortInfoIndex
	    INTEGER,
	swPortInfoType
	    INTEGER,
	swPortInfoPartitionStatus
	    INTEGER,
	swPortInfoLinkStatus
	    INTEGER,
	swPortInfoDuplexMode
	    INTEGER,
	swPortInfoNegotiationStatus
	    INTEGER,
	swPortInfoSpeedStatus
	    INTEGER
    }

    swPortInfoGroupIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object identifies the port within the group for
	 which this entry contains infomation."
	::= { swPortInfoEntry 1 }

    swPortInfoIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object indicate switch hub port number."
	::= { swPortInfoEntry 2 }

    swPortInfoType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		portType-UTP(2),
		portType-AUI(3),
		portType-Fiber(4),
		portType-BNC(5),
		portType-Option-module-RAS(6),
		portType-Option-module-100Bridge(7)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The connector type of this port."
	::= { swPortInfoEntry 3 }

    swPortInfoPartitionStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		no-partion(2),
		partion(3)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the port partition status."
	::= { swPortInfoEntry 4 }

    swPortInfoLinkStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		link-pass(2),
		link-fail(3)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the port link test status."
	::= { swPortInfoEntry 5 }

    swPortInfoDuplexMode OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		half(2),
		full(3)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the port work in which duplex mode."
	::= { swPortInfoEntry 6 }

    swPortInfoNegotiationStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the port work in auto negotiation
	 enabled or disabled."
	::= { swPortInfoEntry 7 }

    swPortInfoSpeedStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		speed-10M(2),
		speed-100M(3)
	}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This Object indicate the port trasmit rate is in 10M bps
	 or 100M bps ."
	::= { swPortInfoEntry 8 }

    swPortCtrlTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwPortCtrlEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of port state control entries."
	::= { swPortPackage 2 }

    swPortCtrlEntry OBJECT-TYPE
	SYNTAX	SwPortCtrlEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"This entry control the port state, like filter broadcast,
	 linkstatus..."
	INDEX	{ swPortCtrlGroupIndex,swPortCtrlIndex }
	::= { swPortCtrlTable 1 }

    SwPortCtrlEntry ::= SEQUENCE {
	swPortCtrlGroupIndex
	    INTEGER,
	swPortCtrlIndex
	    INTEGER,
	swPortCtrlAdminState
	    INTEGER,
	swPortCtrlDuplexState
	    INTEGER,
	swPortCtrlLinkStatusAlarmState
	    INTEGER,
	swPortCtrlFilterBcastState
	    INTEGER,
	swPortCtrlForwardUnknowState
	    INTEGER,
	swPortCtrlPartitionStatus
	    INTEGER,
	swPortCtrlNegotiationStatus
	    INTEGER,
	swPortCtrlSpeedStatus
	    INTEGER
    }

    swPortCtrlGroupIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object identifies the port within the group for
	 which this entry contains infomation."
	::= { swPortCtrlEntry 1 }

    swPortCtrlIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object indicate switch hub port number."
	::= { swPortCtrlEntry 2 }

    swPortCtrlAdminState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Port control administration state."
	::= { swPortCtrlEntry 3 }

     swPortCtrlDuplexState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		half(2),
		full(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Indicating the port work in half/full duplex mode."
	::= { swPortCtrlEntry 4 }

     swPortCtrlLinkStatusAlarmState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Depending on this object to determine wether send a trap or
	 not when link status change ."
	::= { swPortCtrlEntry 5 }

     swPortCtrlFilterBcastState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		forward(2),
		discard(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Port control filter broadcast to all port or discard."
	::= { swPortCtrlEntry 6 }

     swPortCtrlForwardUnknowState OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Port control forward unknow packet state."
	::= { swPortCtrlEntry 7 }

     swPortCtrlPartitionStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Depending on this object determine to send a trap or not when
	 the port was partition."
	::= { swPortCtrlEntry 8 }

     swPortCtrlNegotiationStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		disabled(2),
		enabled(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Depending on this object determine to enable NWAY or disable."
	::= { swPortCtrlEntry 9 }

     swPortCtrlSpeedStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		speed-10M(2),
		speed-100M(3)
	}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
	"Depending on this object to determining this port transmit
	 rate is 10M bps or 100M bps."
	::= { swPortCtrlEntry 10}

    swPortCounterTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF SwPortCounterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"A list of port MIB statistic Counter entries."
	::= { swPortPackage 3 }

    swPortCounterEntry OBJECT-TYPE
	SYNTAX	SwPortCounterEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
	"This entry include all the port Counter which support by
	 DES3216, like Bytes received, Bytes Sent ..."
	INDEX	{ swPortCounterGroupIndex,swPortCounterIndex }
	::= { swPortCounterTable 1 }

    SwPortCounterEntry ::= SEQUENCE {
	swPortCounterGroupIndex
	    INTEGER,
	swPortCounterIndex
	    INTEGER,
	swPortBytesReceived
	    Counter,
	swPortBytesSent
	    Counter,
	swPortFramesReceived
	    Counter,
	swPortFramesSent
	    Counter,
	swPortTotalBytesReceived
	    Counter,
	swPortTotalFramesReceived
	    Counter,
	swPortBroadcastFramesReceived
	    Counter,
	swPortMulticastFramesReceived
	    Counter,
	swPortCRCError
	    Counter,
	swPortOversizeFrames
	    Counter,
	swPortFragments
	    Counter,
	swPortJabber
	    Counter,
	swPortCollision
	    Counter,
	swPortLateCollision
	    Counter,
	swPortFrames64Bytes
	    Counter,
	swPortFrames65To127Bytes
	    Counter,
	swPortFrames128To255Bytes
	    Counter,
	swPortFrames256To511Bytes
	    Counter,
	swPortFrames512To1023Bytes
	    Counter,
	swPortFrames1024To1522Bytes
	    Counter,
	swPortMACRxError
	    Counter
    }

    swPortCounterGroupIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object identifies the port within the group for
	 which this entry contains infomation."
	::= { swPortCounterEntry 1 }

    swPortCounterIndex OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"This object indicate switch hub port number."
	::= { swPortCounterEntry 2 }

    swPortBytesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good bytes received. Local and dropped packets
	 increment the counter as well."
	::= { swPortCounterEntry 3 }

    swPortBytesSent OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good bytes sent."
	::= { swPortCounterEntry 4 }

    swPortFramesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good frames received. Local and dropped packets
	 increment the counter as well."
	::= { swPortCounterEntry 5 }

    swPortFramesSent OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good frames sent."
	::= { swPortCounterEntry 6 }

    swPortTotalBytesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of bytes received(good and bad)."
	::= { swPortCounterEntry 7 }

    swPortTotalFramesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of frames bytes received(good and bad)."
	::= { swPortCounterEntry 8 }

    swPortBroadcastFramesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good broadcast frames received. Local and dropped
	 packets increment the counter as well."
	::= { swPortCounterEntry 9 }

    swPortMulticastFramesReceived OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good multicast frames received. Local and dropped
	 packets increment the counter as well."
	::= { swPortCounterEntry 10 }

    swPortCRCError OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of frames with valid packet length and CRC error or
	 misaligned(odd number of nibbles)
	 increment the counter as well."
	::= { swPortCounterEntry 11 }

    swPortOversizeFrames OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good frames with length more than 1518 bytes (
	 or 1522 bytes for LongEn = 1)."
	::= { swPortCounterEntry 12 }

    swPortFragments OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good bytes received. Local and dropped packets
	 increment the counter as well."
	::= { swPortCounterEntry 13 }

    swPortJabber OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of frames with length more than 1518 bytes and with
	 CRC error or misaligned."
	::= { swPortCounterEntry 14 }

    swPortCollision OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of Collisions"
	::= { swPortCounterEntry 15 }

    swPortLateCollision OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of Late Collision(collision occurring later than
	 576th transmitted bit"
	::= { swPortCounterEntry 16 }

    swPortFrames64Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length of 64 bytes "
	::= { swPortCounterEntry 17 }

    swPortFrames65To127Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length between 65 to 127 bytes "
	::= { swPortCounterEntry 18 }

    swPortFrames128To255Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length between 128 to 255 bytes "
	::= { swPortCounterEntry 19 }

    swPortFrames256To511Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length between 256 to 511 bytes "
	::= { swPortCounterEntry 20 }

    swPortFrames512To1023Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length between 512 to 1023 bytes "
	::= { swPortCounterEntry 21 }

    swPortFrames1024To1522Bytes OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of good packets with length between 1024 to 1522 bytes "
	::= { swPortCounterEntry 22 }

    swPortMACRxError OBJECT-TYPE
	SYNTAX	Counter
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
	"The number of frames with RX MAC Error "
	::= { swPortCounterEntry 23 }

 -- swPortDroppedFrames OBJECT-TYPE
 --	SYNTAX	Counter
 --	ACCESS	read-only
 --	STATUS	mandatory
 --	DESCRIPTION
 --	"The number of dropped frames.Dropped packets are those which a
 --	 receive buffer could not be allocated."
 --	::= { swPortCounterEntry 24 }



	-- link up/down Trap

	linkChangeEvent TRAP-TYPE
		ENTERPRISE dlink
		VARIABLES {
	    swPortInfoIndex,
	    swPortInfoType,
	    swPortInfoPartitionStatus,
	    swPortInfoLinkStatus,
	    swPortInfoDuplexMode
	}
		DESCRIPTION
	    "The trap is sent whenever the link state of a port changes
	    from link up to link down or from link down to link up"
		::= 1


	portPartition TRAP-TYPE
		ENTERPRISE dlink
		VARIABLES {
	    swPortInfoIndex,
	    swPortInfoType,
	    swPortInfoPartitionStatus,
	    swPortInfoLinkStatus,
	    swPortInfoDuplexMode
	}
		DESCRIPTION
	    "The trap is sent whenever the port state enter the Partion
	    mode when more than 32 collisions occur while trasmitting."
		::= 2

    END
