©Copyright 2003-2008 Marvell®.
All rights reserved.
mykbsd70x64-10.60.1.3.htm created 25-Sep-2008
Readme File for mykbsd70x64-10.60.1.3.tgz
Yukon/Yukon II Ethernet Adapter family
This file contains
The mykbsd driver supports the Yukon/Yukon II Ethernet Adapter family on the
FreeBSD 7.x operating system running on AMD x64 hardware.
For proper software installation the following package file is required:
installbsd70x64-10.60.1.3.tar.gz .
This section describes the installation of the driver software on a
computer running FreeBSD 7.x .
3.1 Installation of driver software
NOTE: root privileges are necessary to install the driver.
First of all, the package containing the driver software must be installed
and unpacked:
1. Login as 'root'.
2. Unpack the driver installation package using the command
# tar xfvz installbsd70x64-10.60.1.3.tar.gz
or
# gunzip -c installbsd70x64-10.60.1.3.tar.gz | tar xfv -
After the driver installation package is unpacked, type the following
commands to start the driver installation process:
# cd DriverInstall
# pkg_add mykbsd70x64-10.60.1.3.tgz
This installs the driver binary into /boot/modules and the manpage into
/usr/share/man/man4.
In order for the system to load the driver automatically on booting, the
following line must be added to the file /boot/loader.conf:
if_myk_load="YES"
In addition to this, the following line must be added to the /etc/rc.conf
file to configure the interface when the system is booted:
ifconfig_myk0="inet 192.168.100.1"
This assumes a local IP address of 192.168.100.1. You must replace this
IP address with your computer's IP address.
On reboot, the driver will be loaded and the interface configured
automatically.
It is also possible to load and unload the kernel module by hand. To load
the kernel module by hand, type:
kldload if_myk.ko
To unload the kernel module by hand, type:
kldunload if_myk.ko
3.2 Deinstallation of driver software
To deinstall the driver, type:
pkg_delete mykbsd70x64-10.60.1.3
This removes the driver kernel module from the /boot/modules directory, as
well as the manpage from the /usr/share/man/man4 directory.
If you have set up your machine to load the driver automatically, you must
delete the lines you added in /boot/loader.conf and /etc/rc.conf
There are a number of driver parameters that can be changed to suit different
operating conditions. These parameters include:
o DualNet mode
o Speed
o Duplex settings
o Hardware checksumming
o Clocking Master
o Virtual LANs
o Jumbo frames
o Interrupt moderation
o Redundant link management modes (dual-port adapters only)
o Preferred port settings (dual-port adapters only)
All these parameters except DualNet mode and Interrupt moderation are modified
with the ifconfig utility. For detailed information about the usage of this
program, please consult the relevant FreeBSD manual pages (ie. man ifconfig).
DualNet mode
============
By default, DualNet mode is enabled on dual-port adapters. This means that
each port has its own interface and is completely independent from the other
port. If you want to change this behaviour to use the redundant link management
features, please use the sysctl command. It allows the user to examine and set
the value of the driver's DualNet mode variable.
This value can be displayed by typing:
sysctl hw.mykc0
It can be modified by typing:
sysctl -w hw.mykc0.dual_net_mode=0
The default value is 1 (DualNet mode). A value of 0 means SingleNet ie.
redundant link management mode.
In order for the setting to take effect automatically on system
boot, the above line may be added to the file /etc/sysctl.conf
Speed
=====
The following adapter speed settings are available:
auto Auto-negotiated speed setting (default)
1000baseTX 1000baseTX, no auto-negotiation
100baseTX 100baseTX, no auto-negotiation
10baseT/UTP 10baseT/UTP, no auto-negotiation
To change the adapter speed setting to 100baseTX, type:
ifconfig myk0 media 100baseTX
To switch it back to auto-negotiation, type:
ifconfig myk0 media auto
Duplex settings
===============
Please note that half duplex at 1000baseTX is not supported.
Duplex settings (full or half duplex) are set with the mediaopt keyword. For
example, to set 100baseTX, half duplex, type:
ifconfig myk0 media 100baseTX mediaopt half-duplex
To clear half-duplex mode, prefix the mediaopt keyword with a hyphen:
ifconfig myk0 media 100baseTX -mediaopt half-duplex
Note that clearing half-duplex mode implies setting full-duplex.
Hardware checksumming
=====================
By default, hardware checksumming is enabled for both receive and transmit.
To turn this feature off, type:
ifconfig myk0 -rxcsum
or
ifconfig myk0 -txcsum
Note that it is currently not possible to switch hardware checksumming on or
off independently. It is only possible to switch both transmit and receive
together.
To turn hardware checksumming on, type:
ifconfig myk0 rxcsum
or
ifconfig myk0 txcsum
Clocking Master
===============
This parameter only applies to Copper adapters with a fixed speed of
1000baseTX. In this case, autonegotiation is disabled and each side of the
link must agree on who is clocking master and who is slave. By default,
the adapter is clocking slave ie. the other end is the master. If the
reverse is desired (this adapter should be clocking master), the
"flag0" media option must be set via ifconfig.
To set clocking master, type:
ifconfig myk0 media 1000baseTX mediaopt flag0
To reset clocking master to the default of slave, type:
ifconfig myk0 media 1000baseTX -mediaopt flag0
Virtual LANs
============
Virtual LAN (VLAN) functionality is supported by the myk driver
in conjunction with FreeBSD's if_vlan driver. This can be verified by
checking the output of ifconfig, where the line listing the interface
options should include VLAN_MTU. This means that the driver (and thus
the hardware) can accept packets that are 4 bytes longer than the norm
(due to the added vlan tag). For further details, see the section 4
manpage for vlan.
To use vlans, one or more vlan interfaces must be created and bound
to the physical interface. In the example below, we assume a physical
interface of myk0 and two vlan interfaces, vlan0 and vlan1,
with vlan IDs of 2 and 3 respectively.
Create two vlan interfaces:
ifconfig vlan0 create
ifconfig vlan1 create
Assign a vlan ID to each vlan device and attach a physical interface:
ifconfig vlan0 vlan 2 vlandev myk0
ifconfig vlan1 vlan 3 vlandev myk0
Use vlan interface as normal:
ifconfig vlan0 inet 192.168.100.1
ifconfig vlan1 inet 192.168.101.1
To remove the vlans and their interfaces:
ifconfig vlan0 destroy
ifconfig vlan1 destroy
Jumbo frames
============
For some applications throughput can be enhanced by the use of frames
larger than the default of 1500 bytes. These so-called jumbo frames are
set by the mtu (maximum transfer unit) switch of ifconfig.
To set the frame size to the maximum of 9000 bytes, type:
ifconfig myk0 mtu 9000
To reset the adapter to use normal (1500 byte) frames, type:
ifconfig myk0 mtu 1500
Note that any frame size between 1500 and 9000 is valid. Note also that
your switch must be capable of processing large frames and must be
appropriately configured to do so.
If you are using jumbo frames, do not forget to configure other hosts
on the same switch and network to use the same frame size. Failure to
do this will result in faulty network operation with large numbers of
frame errors.
Interrupt moderation
====================
In certain circumstances, it may be desirable to limit the number of
interrupts the card generates per second in order to reduce the
interrupt processing overhead.
This is done with the sysctl command, which allows the user to examine
and set the value of the driver's interrupt moderation variable.
This value can be displayed by typing:
sysctl hw.mykc0
It can be modified by typing:
sysctl -w hw.mykc0.max_ints_per_sec=4000
In order for the setting to take effect automatically on system
boot, the above line may be added to the file /etc/sysctl.conf
A value of 0 stops interrupt moderation. The value to set depends on
the speed of the computer (higher for faster machines) and your
requirements for throughput versus response time. Note that high
throughput is achieved at the expense of response time. A value
between 1000 and 20000 is reasonable, although the exact setting for
optimum performance has to be determined for each system via
benchmark tests.
Redundant Link Management
=========================
SysKonnect's dual-port adapters can be configured to operate in redundant
link management mode, where traffic passes via the main port (which is
user-configurable), switching to the backup port if the main link breaks
down. Three operating modes are available: CLS (Check Link State), CLP
(Check Local Port) and CLPSS (Check Local Port and Segmentation Status).
CLS is the simplest mode and is also the default. It merely checks for
the presence of a link on the active port, switching to the other port
when the link breaks down and switching back immediately when the main
link comes back up.
CLP performs additional port-to-port link connectivity checks and
automatically switches to the port with the highest quality link (as
measured by link stability).
CLPSS provides full switch redundancy by periodically checking inter-switch
connectivity via a spanning tree algorithm.
All three modes define a standard ("preferred") port over which traffic
should flow under normal operating conditions, the default being port 0.
The operating modes and the default port are set with the link options
available with ifconfig. Link0 switches on CLP mode, Link0 together with
Link1 switches on CLPSS mode and Link2 sets the preferred port to port 1.
Note that setting Link1 without Link0 has no effect, ie. the default CLS
mode will be used. It is also worth noting that these switches have no
effect on single port adapters.
To set CLP mode:
ifconfig myk0 down
ifconfig myk0 up link0
To clear CLP mode:
ifconfig myk0 down -link0
ifconfig myk0 up
To set CLPSS mode:
ifconfig myk0 down
ifconfig myk0 up link0 link1
To clear CLPSS mode:
ifconfig myk0 down -link0 -link1
ifconfig myk0 up
Preferred Port Settings
=======================
To set port 1 (port B) as preferred port:
ifconfig myk0 down
ifconfig myk0 up link2
To set port 0 (port A) as preferred port (ie. to reset to the default):
ifconfig myk0 down -link2
ifconfig myk0 up
***End of Readme File***