NAME
wm —
Intel i8254x Gigabit Ethernet
driver
SYNOPSIS
wm* at pci? dev ? function ?
options WM_RX_PROCESS_LIMIT_DEFAULT
options WM_RX_INTR_PROCESS_LIMIT_DEFAULT
Configuration of PHYs may also be necessary. See
mii(4).
DESCRIPTION
The
wm device driver supports Gigabit Ethernet interfaces
based on the Intel i8254x family of Gigabit Ethernet chips. The interfaces
supported by the
wm driver include:
- Intel i82542 1000BASE-X Ethernet
- Intel i82543GC 1000BASE-X Ethernet
- Intel i82543GC 1000BASE-T Ethernet
- Intel i82544EI 1000BASE-T Ethernet
- Intel i82544EI 1000BASE-X Ethernet
- Intel i82544GC 1000BASE-T Ethernet
- Intel i82544GC (LOM) 1000BASE-T Ethernet
- Intel i82540EM 1000BASE-T Ethernet
- Intel i82540EM (LOM) 1000BASE-T Ethernet
- Intel i82540EP 1000BASE-T Ethernet
- Intel i82541EI 1000BASE-T Ethernet
- Intel i82541EI (Mobile) 1000BASE-T Ethernet
- Intel i82541ER 1000BASE-T Ethernet
- Intel i82541GI 1000BASE-T Ethernet
- Intel i82541PI 1000BASE-T Ethernet
- Intel i82545EM 1000BASE-T Ethernet
- Intel i82545EM 1000BASE-X Ethernet
- Intel i82545GB 1000BASE-T Ethernet
- Intel i82545GB 1000BASE-X Ethernet
- Intel i82545GM 1000BASE-T Ethernet
- Intel i82546EB 1000BASE-T Ethernet (dual-port)
- Intel i82546EB 1000BASE-X Ethernet (dual-port)
- Intel i82546GB 1000BASE-T Ethernet (dual-port)
- Intel i82546GB 1000BASE-X Ethernet (dual-port)
- Intel i82547EI 1000BASE-T Ethernet (CSA)
- Intel i82547GI 1000BASE-T Ethernet (CSA)
- Intel i82571 1000BASE-T Ethernet (dual-port)
- Intel i82572 1000BASE-T Ethernet
- Intel i82573 1000BASE-T Ethernet
- Intel i82575 1000BASE-T Ethernet
- Intel i82576 Ethernet (Copper, Fiber)
- Intel i80003 Ethernet (Copper, Fiber)
- Intel i82801H (ICH8 LAN) 1000BASE-T Ethernet
- Intel i82801I (ICH9 LAN) 1000BASE-T Ethernet
- Intel i82801J (ICH10 LAN) 1000BASE-T Ethernet
- Intel 82578 with Intel 5 series chipset (PCH)
- Intel 82579 with Intel 6 or 7 series chipset (PCH2)
- Intel 82580 Ethernet (Copper, Fiber)
- Intel 82583 1000BASE-T Ethernet
- Intel I350 Ethernet (Copper, Fiber)
- Intel I354 (C2000 Internal) Ethernet (Copper,
Fiber)
- Intel I210 Ethernet (Copper, Fiber)
- Intel I211 Ethernet
- Intel I217 and I218 Ethernet
In addition to Intel's own “PRO/1000” line of Gigabit Ethernet
interfaces, these chips also appear on some server systems, processor
evaluation boards, and in embedded systems.
The i825[478]x supports IPv4/TCP/UDP checksumming and TCP segmentation in
hardware. The
wm driver supports these features of the chip.
See
ifconfig(8) for
information on how to enable this feature.
OPTIONS
-
-
WM_RX_PROCESS_LIMIT_DEFAULT
- The maximum number of received packets processed in each
softint(9) context. This
option only affects multiqueue. The value range is from zero to
UINT_MAX
. The default value is 100. When you
increase this value, both the receive latency and the receive throughput
will increase.
-
-
WM_RX_INTR_PROCESS_LIMIT_DEFAULT
- The maximum number of received packets processed in each
hardware interrupt context. This option only affects multiqueue. The value
range is from zero to
UINT_MAX
. The default value
is 0. When you increase this value, both the receive latency and the
receive throughput will decrease.
-
-
WM_EVENT_COUNTERS
- Enable many event counters such as each Tx drop counter and
Rx interrupt counter. Caution: If this flag is enabled, the number of
evcnt entries increase very much.
-
-
WM_DISABLE_MSI
- If this option is set non-zero value, this driver does not
use msi. The default value is 0.
-
-
WM_DISABLE_MSIX
- If this option is set non-zero value, this driver does not
use msix. The default value is 0.
Setting
WM_RX_INTR_PROCESS_LIMIT_DEFAULT
to zero means
so-called polling mode, that is, once an interrupt occurs, the driver keep
processing received packets until
WM_RX_PROCESS_LIMIT_DEFAULT
. Polling mode increases
latency a little, however it suppresses performance degradation at high load
very well.
If you want to disable polling mode (to use traditional interrupt driven mode),
you should set
WM_RX_PROCESS_LIMIT_DEFAULT
to zero and
set
WM_RX_INTR_PROCESS_LIMIT_DEFAULT
to
UINT_MAX
.
SEE ALSO
arp(4),
ifmedia(4),
mii(4),
netintro(4),
pci(4),
ifconfig(8)
HISTORY
The
wm driver first appeared in
NetBSD
1.6.
AUTHORS
The
wm driver was written by
Jason R.
Thorpe
<
thorpej@wasabisystems.com>.
BUGS
EEE (Energy Efficiency Ethernet) is not currently supported.