diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
| commit | 5cb84ec742fd33f78c8022863fadaa8d0d93e176 (patch) | |
| tree | 1a81ca3665e6153923e40db7b0d988f8573ab59c /static/netbsd/man4/wm.4 | |
| parent | a59214f344567c037d5776879bcfc5fcc1d4d5f6 (diff) | |
feat: Added NetBSD man pages
Diffstat (limited to 'static/netbsd/man4/wm.4')
| -rw-r--r-- | static/netbsd/man4/wm.4 | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/static/netbsd/man4/wm.4 b/static/netbsd/man4/wm.4 new file mode 100644 index 00000000..16d457b3 --- /dev/null +++ b/static/netbsd/man4/wm.4 @@ -0,0 +1,273 @@ +.\" $NetBSD: wm.4,v 1.44 2024/05/01 11:22:06 andvar Exp $ +.\" +.\" Copyright 2002, 2003 Wasabi Systems, Inc. +.\" All rights reserved. +.\" +.\" Written by Jason R. Thorpe for Wasabi Systems, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project by +.\" Wasabi Systems, Inc. +.\" 4. The name of Wasabi Systems, Inc. may not be used to endorse +.\" or promote products derived from this software without specific prior +.\" written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 17, 2021 +.Dt WM 4 +.Os +.Sh NAME +.Nm wm +.Nd Intel i8254x Gigabit Ethernet driver +.Sh SYNOPSIS +.Cd "wm* at pci? dev ? function ?" +.Pp +.Cd options WM_RX_PROCESS_LIMIT_DEFAULT +.Cd options WM_RX_INTR_PROCESS_LIMIT_DEFAULT +.Pp +Configuration of PHYs may also be necessary. +See +.Xr mii 4 . +.Sh DESCRIPTION +The +.Nm +device driver supports Gigabit Ethernet interfaces based on the Intel +i8254x family of Gigabit Ethernet chips. +The interfaces supported by the +.Nm +driver include: +.Bl -bullet +.It +Intel i82542 1000BASE-X Ethernet +.It +Intel i82543GC 1000BASE-X Ethernet +.It +Intel i82543GC 1000BASE-T Ethernet +.It +Intel i82544EI 1000BASE-T Ethernet +.It +Intel i82544EI 1000BASE-X Ethernet +.It +Intel i82544GC 1000BASE-T Ethernet +.It +Intel i82544GC (LOM) 1000BASE-T Ethernet +.It +Intel i82540EM 1000BASE-T Ethernet +.It +Intel i82540EM (LOM) 1000BASE-T Ethernet +.It +Intel i82540EP 1000BASE-T Ethernet +.It +Intel i82541EI 1000BASE-T Ethernet +.It +Intel i82541EI (Mobile) 1000BASE-T Ethernet +.It +Intel i82541ER 1000BASE-T Ethernet +.It +Intel i82541GI 1000BASE-T Ethernet +.It +Intel i82541PI 1000BASE-T Ethernet +.It +Intel i82545EM 1000BASE-T Ethernet +.It +Intel i82545EM 1000BASE-X Ethernet +.It +Intel i82545GB 1000BASE-T Ethernet +.It +Intel i82545GB 1000BASE-X Ethernet +.It +Intel i82545GM 1000BASE-T Ethernet +.It +Intel i82546EB 1000BASE-T Ethernet +.Pq dual-port +.It +Intel i82546EB 1000BASE-X Ethernet +.Pq dual-port +.It +Intel i82546GB 1000BASE-T Ethernet +.Pq dual-port +.It +Intel i82546GB 1000BASE-X Ethernet +.Pq dual-port +.It +Intel i82547EI 1000BASE-T Ethernet +.Pq CSA +.It +Intel i82547GI 1000BASE-T Ethernet +.Pq CSA +.It +Intel i82571 1000BASE-T Ethernet +.Pq dual-port +.It +Intel i82572 1000BASE-T Ethernet +.It +Intel i82573 1000BASE-T Ethernet +.It +Intel i82575 1000BASE-T Ethernet +.It +Intel i82576 Ethernet (Copper, Fiber) +.It +Intel i80003 Ethernet (Copper, Fiber) +.It +Intel i82801H (ICH8 LAN) 1000BASE-T Ethernet +.It +Intel i82801I (ICH9 LAN) 1000BASE-T Ethernet +.It +Intel i82801J (ICH10 LAN) 1000BASE-T Ethernet +.It +Intel 82578 with Intel 5 series chipset (PCH) +.It +Intel 82579 with Intel 6 or 7 series chipset (PCH2) +.It +Intel 82580 Ethernet (Copper, Fiber) +.It +Intel 82583 1000BASE-T Ethernet +.It +Intel I350 Ethernet (Copper, Fiber) +.It +Intel I354 (C2000 Internal) Ethernet (Copper, Fiber) +.It +Intel I210 Ethernet (Copper, Fiber) +.It +Intel I211 Ethernet +.It +Intel I217 and I218 Ethernet +.It +Intel I219 Ethernet (with Intel [123]00 series chipset) +.El +.Pp +In addition to Intel's own +.Dq PRO/1000 +line of Gigabit Ethernet interfaces, these chips also appear on +some server systems, processor evaluation boards, and in embedded +systems. +.Pp +The i825[478]x supports IPv4/TCP/UDP checksumming and TCP segmentation +in hardware. +The +.Nm +driver supports these features of the chip. +At least for some chips (e.g. I219) hardware TCP segmentation is slow, +and slows down transmit performance when turned on. +See +.Xr ifconfig 8 +for information on how to enable this feature. +.Pp +Many chips supported by the +.Nm +driver support jumbo frames, however several chips do not support +jumbo frames, e.g. i82542, i82081H and 82567V. +Jumbo frames can be configured via the interface MTU setting. +Selecting an MTU larger than 1500 bytes with the +.Xr ifconfig 8 +utility configures the adapter to receive and transmit jumbo frames. +.\" .Sh DIAGNOSTICS +.\" XXX to be done. +.Sh OPTIONS +The driver default behavior is to handle packets in interrupt context, +which reduces the CPU time available to user processes when under +heavy network load. The +.Em hw.wmX.txrx_workqueue +.Xr sysctl 8 +alters this behavior so that packets are handled by a kernel thread, +which executes at a lower priority. This gives user processes more +opportunity to be executed, at the expense of network throughput. +.Pp +The following options can be set at build time: +.Bl -tag -width WM_RX_INTR_PROCESS_LIMIT_DEFAULT -offset 3n +.It Dv WM_RX_PROCESS_LIMIT_DEFAULT +The maximum number of received packets processed in each +.Xr softint 9 +context. +This option only affects multiqueue. +The value range is from zero to +.Dv UINT_MAX . +The default value is 100. +When you increase this value, both the receive latency and +the receive throughput will increase. +.It Dv WM_TX_PROCESS_LIMIT_DEFAULT +Transmit side of +.Dv WM_RX_PROCESS_LIMIT_DEFAULT . +.It Dv 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 +.Dv UINT_MAX . +The default value is 0. +When you increase this value, both the receive latency and +the receive throughput will decrease. +.It Dv WM_TX_INTR_PROCESS_LIMIT_DEFAULT +Transmit side of +.Dv WM_RX_INTR_PROCESS_LIMIT_DEFAULT . +.It Dv WM_EVENT_COUNTERS +Enable many event counters such as each Tx drop counter and Rx interrupt +counter. +In 64 bit architectures, this is enabled by default. +Caution: If this flag is enabled, the number of evcnt entries increase +very much. +.It Dv WM_DISABLE_EVENT_COUNTERS +Disable event counters for 64 bit architectures. +.It Dv WM_DISABLE_MSI +If this option is set non-zero value, this driver does not use msi. +The default value is 0. +.It Dv WM_DISABLE_MSIX +If this option is set non-zero value, this driver does not use msix. +The default value is 0. +.El +.Pp +Setting +.Dv 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 +.Dv WM_RX_PROCESS_LIMIT_DEFAULT . +Polling mode increases latency a little, however it suppresses +performance degradation at high load very well. +.Pp +If you want to disable polling mode (to use traditional interrupt +driven mode), you should set +.Dv WM_RX_PROCESS_LIMIT_DEFAULT +to zero and set +.Dv WM_RX_INTR_PROCESS_LIMIT_DEFAULT +to +.Dv UINT_MAX . +.Sh SEE ALSO +.Xr arp 4 , +.Xr ifmedia 4 , +.Xr mii 4 , +.Xr netintro 4 , +.Xr pci 4 , +.Xr ifconfig 8 , +.Xr sysctl 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Nx 1.6 . +.Sh AUTHORS +The +.Nm +driver was written by +.An Jason R. Thorpe Aq Mt thorpej@wasabisystems.com . +.Sh BUGS +EEE (Energy Efficiency Ethernet) is not currently supported. |
