msk
—
Marvell/SysKonnect Yukon II Gigabit Ethernet adapter
driver
To compile this driver into the kernel, place the following lines in your kernel
configuration file:
device miibus
device msk
Alternatively, to load the driver as a module at boot time, place
the following line in
loader.conf(5):
The msk
device driver provides support for various NICs
based on the Marvell/SysKonnect Yukon II Gigabit Ethernet controller chip.
All NICs supported by the msk
driver have
TCP/UDP/IP checksum offload for transmit, TCP segmentation offload (TSO),
hardware VLAN tag stripping/insertion features and an interrupt moderation
mechanism as well as a 64-bit multicast hash filter. The Yukon II supports
TBI (ten bit interface) and GMII transceivers, which means it can be used
with either copper or 1000baseX fiber applications.
The Yukon II also supports Jumbo Frames (up to 9022 bytes), which
can be configured via the interface MTU setting. Selecting an MTU larger
than 1500 bytes with the
ifconfig(8)
utility configures the adapter to receive and transmit Jumbo Frames.
The msk
driver supports the following
media types:
autoselect
- Enable autoselection of the media type and options. The user can manually
override the autoselected mode by adding media options to
rc.conf(5).
10baseT/UTP
- Set 10Mbps operation. The
ifconfig(8)
mediaopt
option can also be used to select either
full-duplex
or half-duplex
modes.
100baseTX
- Set 100Mbps (Fast Ethernet) operation. The
ifconfig(8)
mediaopt
option can also be used to select either
full-duplex
or half-duplex
modes.
1000baseTX
- Set 1000baseTX operation over twisted pair. The
ifconfig(8)
mediaopt
option can also be used to select either
full-duplex
or half-duplex
modes.
1000baseSX
- Set 1000Mbps (Gigabit Ethernet) operation. Both
full-duplex
and
half-duplex
modes are supported.
The msk
driver supports the following
media options:
full-duplex
- Force full duplex operation.
half-duplex
- Force half duplex operation.
For more information on configuring this device, see
ifconfig(8).
The msk
driver provides support for various NICs based
on the Marvell/SysKonnect Yukon II based Gigabit Ethernet controller chips,
including:
- D-Link 550SX Gigabit Ethernet
- D-Link 560SX Gigabit Ethernet
- D-Link 560T Gigabit Ethernet
- Marvell Yukon 88E8021CU Gigabit Ethernet
- Marvell Yukon 88E8021 SX/LX Gigabit Ethernet
- Marvell Yukon 88E8022CU Gigabit Ethernet
- Marvell Yukon 88E8022 SX/LX Gigabit Ethernet
- Marvell Yukon 88E8061CU Gigabit Ethernet
- Marvell Yukon 88E8061 SX/LX Gigabit Ethernet
- Marvell Yukon 88E8062CU Gigabit Ethernet
- Marvell Yukon 88E8062 SX/LX Gigabit Ethernet
- Marvell Yukon 88E8035 Fast Ethernet
- Marvell Yukon 88E8036 Fast Ethernet
- Marvell Yukon 88E8038 Fast Ethernet
- Marvell Yukon 88E8039 Fast Ethernet
- Marvell Yukon 88E8040 Fast Ethernet
- Marvell Yukon 88E8040T Fast Ethernet
- Marvell Yukon 88E8042 Fast Ethernet
- Marvell Yukon 88E8048 Fast Ethernet
- Marvell Yukon 88E8050 Gigabit Ethernet
- Marvell Yukon 88E8052 Gigabit Ethernet
- Marvell Yukon 88E8053 Gigabit Ethernet
- Marvell Yukon 88E8055 Gigabit Ethernet
- Marvell Yukon 88E8056 Gigabit Ethernet
- Marvell Yukon 88E8057 Gigabit Ethernet
- Marvell Yukon 88E8058 Gigabit Ethernet
- Marvell Yukon 88E8059 Gigabit Ethernet
- Marvell Yukon 88E8070 Gigabit Ethernet
- Marvell Yukon 88E8071 Gigabit Ethernet
- Marvell Yukon 88E8072 Gigabit Ethernet
- Marvell Yukon 88E8075 Gigabit Ethernet
- SysKonnect SK-9Sxx Gigabit Ethernet
- SysKonnect SK-9Exx Gigabit Ethernet
Tunables can be set at the
loader(8)
prompt before booting the kernel or stored in
loader.conf(5).
- hw.msk.msi_disable
- This tunable disables MSI support on the Ethernet hardware. The default
value is 0.
The following variables are available as both
sysctl(8)
variables and
loader(8)
tunables:
- dev.mskc.%d.int_holdoff
- Maximum number of time to delay interrupts. The valid range is 0 to
34359738 for 125MHz clock in units of 1us, the default is 100 (100us). The
interface need to be brought down and up again before a change takes
effect.
- dev.mskc.%d.process_limit
- Maximum amount of Rx events to be processed in the event loop before
rescheduling a taskqueue. The accepted range is 30 to 256, the default
value is 128 events. The interface does not need to be brought down and up
again before a change takes effect.
The msk
driver was written by Pyun
YongHyeon
<yongari@FreeBSD.org>
and it is based on
sk(4) and
Marvell's FreeBSD driver. It first appeared in
FreeBSD 7.0 and FreeBSD 6.3.