©Copyright 1998-2003 Marvell®.
All rights reserved

yukonnw.htm created 19-Sep-2003

Readme File for yukonnw.lan v6.08
Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter Driver
for Novell NetWare 5


This file contains




1  Overview

The YUKONNW.LAN driver is a 32-bit ODI HSM Novell NetWare server driver for
the Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter.
The driver complies with the CHSM Driver Specification Version 1.11 from
January 29, 1998.

2  Required Files

	YUKONNW.LAN	driver
	YUKONNW.LDI	installation script

	(to use the hardware based IP/TCP/UDP checksum calculation
	you must have installed at least Support Pack 2 for NetWare 5)

3  Installation

NOTE:	The setting for MINIMUM PACKET RECEIVE BUFFERS in the STARTUP.NCF must
	be increased to at least 120 per adapter (e.g. for three adapters you
	should add "SET MINIMUM PACKET RECEIVE BUFFERS=360" to STARTUP.NCF).
	On SMP systems, you may have to multiply this number with the number
	of active processors.

If the adapter is installed in the machine NetWare detects the new adapter
and tries to install a driver. Press <ENTER> to get a list of all available
drivers and then <INSERT> to install an unlisted driver. Enter the path to
the driver and select YUKONNW.LAN. Choose Yes to copy the driver to
the server. NetWare will now install the driver.

Once the driver has been installed, the adapter parameters or bindings
can be changed in the AUTOEXEC.NCF file using the NWCONFIG tool.

4  Parameters

SLOT = [ 1 .. 65535 ]
	Description:	Defines the slot in which the adapter is installed.
	Help:		If you do not enter a slot number, the driver scans
			automatically for network adapters and prompts the
			slot number in which the network card is found at
			the server console.
	Example:
			LOAD YUKONNW ... SLOT=3 ...

FRAME = [ ETHERNET_802.2 | ETHERNET_II | ETHERNET_SNAP | ETHERNET_802.3 ]
	Description:	Sets the frame type used by the network.
	Help:		The NetWare Server and the Workstations must use
			the same frame type. Otherwise they cannot
			communicate with each other.
	Example:
			LOAD YUKONNW ... FRAME=ETHERNET_II ...

NODE = [ xxxxxxxxxxxx ]
	Description:	Overwrites the network card node address.
	Help:		With this parameter, you can overwrite the default
			node address.
			In a network, every network card must have its own
			unique node address.
			Do not change this address unless you are prepared
			to administer local addresses according to the
			IEEE 802.2 specifications.
			The driver defaults to the node address on the
			board, which corresponds to an undefined override.
	Example:
			LOAD YUKONNW ... NODE=40005A123456 ...

MAXFRAMESIZE = [ 512 .. 9018 ]
	Description:	Set the maximum frame size.
	Help:		The value has to be in the range 512 to 9018.
			The default value is 1514.
			Setting the value above 1514 is only effective if you
			use an ETHERTSM.NLM that supports Jumbo Frames and
			if you load the frame type ETHERNET_II as the first
			frame type on the specific adapter.
			When you change this parameter you should change the
			setting for MAXIMUM PHYSICAL RECEIVE PACKET SIZE in
			your STARTUP.NCF accordingly.
	Example:
			LOAD YUKONNW ... MAXFRAMESIZE=9018 ...

HWCSUM = [ ON | OFF ]
	Description:	Controls hardware checksum offloading
	Help:		By default ON the hardware checksum offload for
			IP/TCP/UDP is enabled. There should be no need to
			disable checksum offload.
			Offloading computation of internet checksums is only
			supported by NetWare 5.x or higher.
	Example:
			LOAD YUKONNW ... HWCSUM=OFF ...

QUIET = [ AUTO | ON | OFF ]
	Description:	Suppress driver status messages.
	Help:		By default AUTO will be used which means that
			status messages will not be suppressed if running on
			a server and will be suppressed if running on a
			client.
			OFF means that messages will not be suppressed.
			ON means that messages will be suppressed.

Auto-negotiation

AUTONEG_A = [ ON | OFF ]
	Description:	Set mode for auto-negotiation on port.
	Help:		The default value will is ON.
	Example:
			LOAD YUKONNW ... AUTONEG_A=ON ...

DUPCAP_A = [ BOTH | FULL | HALF ]
	Description:	Define duplex capabilities for the port.
	Help:		If AUTONEG_A is set to ON, this parameter defines the
			duplex mode capabilities the adapter will show on the
			port in the auto-negotiation process. Changing this
			parameter may lead to a failed auto-negotiation
			process.
			By default BOTH will be used which means the port is
			capable to connect with full-duplex or half-duplex.
			If AUTONEG_A is set to OFF, DUPCAP_A determines
			if the adapter uses a full duplex or a half duplex
			connection.
			The value BOTH is not allowed in this case.
	Example:
			LOAD YUKONNW ... DUPCAP_A=FULL ...

FLOWCTRL_A = [ SYMORREM | SYM | LOCSEND | NONE ]
	Description:	Define flow control capabilities for the port.
	Help:		Used as workaround for switches that do not behave
			standards-compliant.
			By default, SYMORREM will be used.
			The values represent the following configurations:
			SYMORREM:	supporting symmetric flow control and
				asymmetric flow control towards me
				(possible results: symmetric flow
				control, asymmetric flow control
				towards me, no flow control)
			SYM:	supporting symmetric flow control only
				(possible results: symmetric flow
				control, no flow control)
			LOCSEND:	supporting asymmetric flow control to
				other station (possible results: flow
				control to other station, no flow
				control)
			NONE:	supporting no flow control
	Example:
			LOAD YUKONNW ... FLOWCTRL_A=NONE ...

ROLE_A = [ AUTO | MASTER | SLAVE ]
	Description:	Defines the role of the port for the physical clock
			generation.
	Help:		For two 1000Base-T ports to communicate, one must
			operate as master (providing timing information),
			while the other must be slave. Usually, this is
			negotiated between the two ports during link
			establishment. If this should ever fail, you can
			force a port to a specific setting with this
			parameter.
			If AUTONEG_A is set to OFF, the correct role
			must be set manually. The value AUTO is not allowed
			in this case.

SPEED_A = [ Auto | 1000 | 100 | 10 ]
	Description:	Defines the link speed to use. 
	Help:		If AUTONEG_A is set to ON, this parameter defines
			the link speed capabilities the adapter will try to
			use for the auto-negotiation process. Changing this
			parameter may lead to a failed auto-negotiation
			process.
			By default AUTO will be used which means the port
			is capable to connect with 10, 100, 1000.
			If AUTONEG_A is set to OFF, SPEED_A determines
			the link speed the adapter uses for the connection.
			The value AUTO is not allowed in this case.
	Example:
			LOAD YUKONNW ... SPEED_A=1000 ...

Interrupt Moderation (Paced Packet Batch)

Interrupt moderation can be used to decrease the CPU load on systems
with high utilization. But the latency of packets will increase. To
enable interrupt moderation you must specify the mode and the interrupt
rate. The parameters IRQPERSEC and MAXIRQPERSEC are mutual exclusive.

MODERATE = [ NONE | RX | TX | BOTH | ALL ]
	Description:	Interrupt moderation mode.
	Help:		By default, NONE will be used which means interrupt
			moderation is disabled.
			If RX is used only receive interrupts are moderated,
			which means if more than the specified rate of
			interrupts occur they will be congested to reach the
			specified rate. But other interrupts may occur without
			any limitation.
			If TX is specified transmit complete interrupts will
			be moderated.
			BOTH will lead to a moderation of receive and transmit
			interrupts.
			By using ALL, all interrupts will get moderated.

IRQPERSEC = [ 1000 .. 15000 ]
	Desription:	Interrupt rate for static moderation.
	Help:		Independent of the interrupt load only at specified
			intervals interrupts occur. This will increase
			latency of receive or transmit path dependent on
			the mode specified using parameter MODERATE.
			This parameter has a different meaning if used
			together with POLL.
	Example:
			LOAD YUKONNW ... MODERATE=TX IRQPERSEC=5000

MAXIRQPERSEC = [ 1000 .. 15000 ]
	Desription:	Interrupt rate for dynamic moderation.
	Help:		Using dynamic interrupt moderation means that
			interrupt moderation will be enabled only if more
			than the specified number of interrupts occur. The
			measured interrupt rate is not limited to receive
			or transmit interrupts as specified in MODERATE.
			All interrupts will be counted. If more interrupts
			occur the interrupts specified in MODERATE are
			moderated. If the number of interrupts goes down
			below the specified level moderation is disabled.
			Using dynamic interrupt moderation has the
			advantage that the latency is increased only
			if interrupt load is high.
	Example:
			LOAD YUKONNW ... MODERATE=BOTH MAXIRQPERSEC=1000

Other Parameters

Please do not try changing these parameters in a production environment
unless you have figured out that they fit your needs. The changes can
affect the server performance in a postive or negative way. It depends
on the purpose of the server. The default settings of the driver should
meet the requirements of a normal server.

TXCOPYSIZE = [ 0 .. 9018 ]
	Description:	Size of Transmit Copy Buffers.
	Help:		The first fragments of a frame will be copied
			together as long as they fit into this buffer.
			This may lead to a higher transmit throughput
			but it will cost some CPU load. A value of 0
			will disable this feature. The default value
			is 128 on a server and 0 on a client.
			If the driver cannot get physically contiguous memory
			for copy buffers of size 4097 and above, it will not
			load.

POLL
	Description:	Use polling instead of interrupts.
	Help:		In polling mode the adapter will not generate
			interrupts for every received and transmitted
			frame. Interrupts are used for backup purposes
			only. The interrupt rate can be modified using
			parameter IRQPERSEC between 10 and 15000 per
			second (10 by default).
			Polling may be useful if there are multiple
			adapters in the server and interrupts become a
			problem. By default the adapter works in
			interrupt mode.

TXDESC1 = [ 20 .. 200 ]
	Description:	Number of transmit descriptors used.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 100 on a server and 40 on a client.

RXDESC1 = [ 10 .. 200 ]
	Description:	Number of receive descriptors used.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 100 on a server and 20 on a client.

HWCSUMCAP = [ 00 .. FF ]
	Description:	Limit the capabilities for hardware IP/TCP/UDP
				checksum offload.
	Help:		It is possible to disable specific checksum offload
			capabilities. The parameter specifies the allowed
			checksum offload capabilities for the adapter. It
			is in hexadecimal format and you have to add the
			values for the desired capabilities. The default
			value is FF.
			00: Checksum offload not supported
			01: TCP checksum verification (RX)
			02: UDP checksum verification (RX)
			04: IP checksum verification (RX)
			10: TCP checksum generation (TX)
			20: UDP checksum generation (TX)
			FF: all checksum offloads the adapter can support
	Example:
			LOAD YUKONNW ... HWCSUMCAP=7 ...

*** End of Readme File ***