MSK(4) MidnightBSD Kernel Interfaces Manual MSK(4)

NAME

msk — Marvell/SysKonnect Yukon II Gigabit Ethernet adapter driver

SYNOPSIS

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):

if_msk_load="YES"

DESCRIPTION

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.

The msk driver also supports one special link option for 1000baseTX cards:

link0

With 1000baseTX cards, establishing a link between two ports requires that one port is configured as master and the other one as slave. With autonegotiation, the master/slave settings will be chosen automatically. However when manually selecting the link state, it is necessary to force one side of the link to be a master and the other a slave. The msk driver configures the ports as slaves by default. Setting the link0 flag with ifconfig(8) will set a port as a master instead.

For more information on configuring this device, see ifconfig(8).

HARDWARE

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 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 Gigabit Ethernet

Marvell Yukon 88E8036 Gigabit Ethernet

Marvell Yukon 88E8038 Gigabit Ethernet

Marvell Yukon 88E8039 Gigabit 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

SysKonnect SK-9Sxx Gigabit Ethernet

SysKonnect SK-9Exx Gigabit Ethernet

LOADER TUNABLES

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.

SYSCTL VARIABLES

The following variables are available as both sysctl(8) variables and loader(8) tunables:

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.

SEE ALSO

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)

HISTORY

The msk driver was written by Pyun YongHyeon 〈yongari@FreeBSD.org〉 for FreeBSD 7.0 and it is based on sk(4) and Marvell’s FreeBSD driver. It was ported to MidnightBSD by Lucas Holt. It first appeared in MidnightBSD 0.2 and MidnightBSD 0.3.

BUGS

This implementation does not yet support jumbo frames, vlan tags, or MSI.

MidnightBSD 0.3 June 30, 2008 MidnightBSD 0.3