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 April 16, 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 and MCP73 Ethernet controller chips. 47.Pp 48Supported features include (hardware support provided): 49.Pp 50.Bl -bullet -compact 51.It 52Receive/Transmit IP/TCP/UDP checksum offload 53.It 54Hardware VLAN tag insertion/stripping 55.It 56TCP segmentation offload (TSO) 57.It 58MSI/MSI-X 59.It 60Jumbo Frames 61.El 62.Pp 63Support for Jumbo Frames is provided via the interface MTU setting. 64Selecting an MTU larger than 1500 bytes with the 65.Xr ifconfig 8 66utility configures the adapter to receive and transmit Jumbo Frames. 67.Pp 68The 69.Nm 70driver supports the following media types: 71.Bl -tag -width "10baseT/UTP" 72.It Cm autoselect 73Enable autoselection of the media type and options. 74.It Cm 10baseT/UTP 75Set 10Mbps operation. 76.It Cm 100baseTX 77Set 100Mbps (Fast Ethernet) operation. 78.It Cm 1000baseT 79Set 1000Mbps (Gigabit Ethernet) operation (recent models only). 80.El 81.Pp 82The 83.Nm 84driver supports the following media options: 85.Bl -tag -width ".Cm 10baseT/UTP" 86.It Cm half-duplex 87Force half duplex operation. 88.It Cm full-duplex 89Force full duplex operation. 90.El 91.Pp 92For more information on configuring this device, see 93.Xr ifconfig 8 . 94.Sh HARDWARE 95The 96.Nm 97driver supports the following NVIDIA MCP onboard adapters: 98.Pp 99.Bl -bullet -compact 100.It 101NVIDIA nForce MCP Networking Adapter 102.It 103NVIDIA nForce MCP04 Networking Adapter 104.It 105NVIDIA nForce 430 MCP12 Networking Adapter 106.It 107NVIDIA nForce 430 MCP13 Networking Adapter 108.It 109NVIDIA nForce MCP51 Networking Adapter 110.It 111NVIDIA nForce MCP55 Networking Adapter 112.It 113NVIDIA nForce MCP61 Networking Adapter 114.It 115NVIDIA nForce MCP65 Networking Adapter 116.It 117NVIDIA nForce MCP67 Networking Adapter 118.It 119NVIDIA nForce MCP73 Networking Adapter 120.It 121NVIDIA nForce2 MCP2 Networking Adapter 122.It 123NVIDIA nForce2 400 MCP4 Networking Adapter 124.It 125NVIDIA nForce2 400 MCP5 Networking Adapter 126.It 127NVIDIA nForce3 MCP3 Networking Adapter 128.It 129NVIDIA nForce3 250 MCP6 Networking Adapter 130.It 131NVIDIA nForce3 MCP7 Networking Adapter 132.It 133NVIDIA nForce4 CK804 MCP8 Networking Adapter 134.It 135NVIDIA nForce4 CK804 MCP9 Networking Adapter 136.El 137.Sh LOADER TUNABLES 138Tunables can be set at the 139.Xr loader 8 140prompt before booting the kernel or stored in 141.Xr loader.conf 5 . 142.Bl -tag -width indent 143.It Va hw.nfe.msi_disable 144Whether or not MSI support is enabled in the driver. 145The default value is 0. 146.It Va hw.nfe.msix_disable 147Whether or not MSI-X support is enabled in the driver. 148The default value is 0. 149.El 150.Sh SYSCTL VARIABLES 151The following 152.Xr sysctl 8 153variables can be used to modify or monitor 154.Nm 155behavior. 156.Bl -tag -width indent 157.It Va dev.nfe.%d.process_limit 158Maximum number of Rx events to be processed in the event loop 159before rescheduling a taskqueue. 160The accepted range is 50 to 255, the default value is 192. 161The interface does not need to be brought down and up again 162before a change takes effect. 163.El 164.Sh SEE ALSO 165.Xr altq 4 , 166.Xr arp 4 , 167.Xr intro 4 , 168.Xr miibus 4 , 169.Xr netintro 4 , 170.Xr pci 4 , 171.Xr polling 4 , 172.Xr sysctl 8 , 173.Xr ifconfig 8 174.Sh HISTORY 175The 176.Nm 177device driver first appeared in 178.Ox 3.9 , 179and then in 180.Fx 7.0 . 181.Sh AUTHORS 182.An -nosplit 183The 184.Nm 185driver was written by 186.An Jonathan Gray 187.Aq jsg@openbsd.org 188and 189.An Damien Bergamini 190.Aq damien@openbsd.org . 191The 192.Nm 193driver was ported to 194.Fx 195by 196.An Shigeaki Tagashira 197.Aq shigeaki@se.hiroshima-u.ac.jp . 198