1.\" $OpenBSD: nfe.4,v 1.7 2006/02/28 08:13:47 jsg Exp $ 2.\" 3.\" Copyright (c) 2006 Jonathan Gray <jsg@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.\" $FreeBSD$ 18.\" 19.Dd October 2, 2008 20.Dt NFE 4 21.Os 22.Sh NAME 23.Nm nfe 24.Nd "NVIDIA nForce MCP Ethernet driver" 25.Sh SYNOPSIS 26To compile this driver into the kernel, 27place the following lines in your 28kernel configuration file: 29.Bd -ragged -offset indent 30.Cd "device miibus" 31.Cd "device nfe" 32.Ed 33.Pp 34Alternatively, to load the driver as a 35module at boot time, place the following line in 36.Xr loader.conf 5 : 37.Bd -literal -offset indent 38if_nfe_load="YES" 39.Ed 40.Sh DESCRIPTION 41The 42.Nm 43driver supports PCI Ethernet adapters based on the NVIDIA 44nForce Media and Communications Processors (MCP), such as 45the nForce, nForce 2, nForce 3, CK804, MCP04, MCP51, MCP55, 46MCP61, MCP65, MCP67, MCP73, MCP77 and MCP79 Ethernet 47controller chips. 48.Pp 49Supported features include (hardware support provided): 50.Pp 51.Bl -bullet -compact 52.It 53Receive/Transmit IP/TCP/UDP checksum offload 54.It 55Hardware VLAN tag insertion/stripping 56.It 57TCP segmentation offload (TSO) 58.It 59MSI/MSI-X 60.It 61Jumbo Frames 62.El 63.Pp 64Support for Jumbo Frames is provided via the interface MTU setting. 65Selecting an MTU larger than 1500 bytes with the 66.Xr ifconfig 8 67utility configures the adapter to receive and transmit Jumbo Frames. 68.Pp 69The 70.Nm 71driver supports the following media types: 72.Bl -tag -width "10baseT/UTP" 73.It Cm autoselect 74Enable autoselection of the media type and options. 75.It Cm 10baseT/UTP 76Set 10Mbps operation. 77.It Cm 100baseTX 78Set 100Mbps (Fast Ethernet) operation. 79.It Cm 1000baseT 80Set 1000Mbps (Gigabit Ethernet) operation (recent models only). 81.El 82.Pp 83The 84.Nm 85driver supports the following media options: 86.Bl -tag -width ".Cm 10baseT/UTP" 87.It Cm half-duplex 88Force half duplex operation. 89.It Cm full-duplex 90Force full duplex operation. 91.El 92.Pp 93For more information on configuring this device, see 94.Xr ifconfig 8 . 95.Sh HARDWARE 96The 97.Nm 98driver supports the following NVIDIA MCP onboard adapters: 99.Pp 100.Bl -bullet -compact 101.It 102NVIDIA nForce MCP Networking Adapter 103.It 104NVIDIA nForce MCP04 Networking Adapter 105.It 106NVIDIA nForce 430 MCP12 Networking Adapter 107.It 108NVIDIA nForce 430 MCP13 Networking Adapter 109.It 110NVIDIA nForce MCP51 Networking Adapter 111.It 112NVIDIA nForce MCP55 Networking Adapter 113.It 114NVIDIA nForce MCP61 Networking Adapter 115.It 116NVIDIA nForce MCP65 Networking Adapter 117.It 118NVIDIA nForce MCP67 Networking Adapter 119.It 120NVIDIA nForce MCP73 Networking Adapter 121.It 122NVIDIA nForce MCP77 Networking Adapter 123.It 124NVIDIA nForce MCP79 Networking Adapter 125.It 126NVIDIA nForce2 MCP2 Networking Adapter 127.It 128NVIDIA nForce2 400 MCP4 Networking Adapter 129.It 130NVIDIA nForce2 400 MCP5 Networking Adapter 131.It 132NVIDIA nForce3 MCP3 Networking Adapter 133.It 134NVIDIA nForce3 250 MCP6 Networking Adapter 135.It 136NVIDIA nForce3 MCP7 Networking Adapter 137.It 138NVIDIA nForce4 CK804 MCP8 Networking Adapter 139.It 140NVIDIA nForce4 CK804 MCP9 Networking Adapter 141.El 142.Sh LOADER TUNABLES 143Tunables can be set at the 144.Xr loader 8 145prompt before booting the kernel or stored in 146.Xr loader.conf 5 . 147.Bl -tag -width indent 148.It Va hw.nfe.msi_disable 149Whether or not MSI support is enabled in the driver. 150The default value is 0. 151.It Va hw.nfe.msix_disable 152Whether or not MSI-X support is enabled in the driver. 153The default value is 0. 154.El 155.Sh SYSCTL VARIABLES 156The following 157.Xr sysctl 8 158variables can be used to modify or monitor 159.Nm 160behavior. 161.Bl -tag -width indent 162.It Va dev.nfe.%d.process_limit 163Maximum number of Rx events to be processed in the event loop 164before rescheduling a taskqueue. 165The accepted range is 50 to 255, the default value is 192. 166The interface does not need to be brought down and up again 167before a change takes effect. 168.El 169.Sh SEE ALSO 170.Xr altq 4 , 171.Xr arp 4 , 172.Xr intro 4 , 173.Xr miibus 4 , 174.Xr netintro 4 , 175.Xr pci 4 , 176.Xr polling 4 , 177.Xr sysctl 8 , 178.Xr ifconfig 8 179.Sh HISTORY 180The 181.Nm 182device driver first appeared in 183.Ox 3.9 , 184and then in 185.Fx 7.0 . 186.Sh AUTHORS 187.An -nosplit 188The 189.Nm 190driver was written by 191.An Jonathan Gray 192.Aq jsg@openbsd.org 193and 194.An Damien Bergamini 195.Aq damien@openbsd.org . 196The 197.Nm 198driver was ported to 199.Fx 200by 201.An Shigeaki Tagashira 202.Aq shigeaki@se.hiroshima-u.ac.jp . 203