1.\" $OpenBSD: nfe.4,v 1.10 2006/08/30 22:56:05 jmc Exp $ 2.\" $DragonFly: src/share/man/man4/nfe.4,v 1.10 2008/07/26 07:41:45 sephe Exp $ 3.\" 4.\" Copyright (c) 2006 Jonathan Gray <jsg@openbsd.org> 5.\" 6.\" Permission to use, copy, modify, and distribute this software for any 7.\" purpose with or without fee is hereby granted, provided that the above 8.\" copyright notice and this permission notice appear in all copies. 9.\" 10.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17.\" 18.Dd July 12, 2008 19.Dt NFE 4 20.Os 21.Sh NAME 22.Nm nfe 23.Nd NVIDIA nForce MCP 10/100/Gigabit Ethernet driver 24.Sh SYNOPSIS 25To compile this driver into the kernel, 26place the following lines in your 27kernel configuration file: 28.Bd -ragged -offset indent 29.Cd "device miibus" 30.Cd "device nfe" 31.Ed 32.Pp 33Alternatively, to load the driver as a 34module at boot time, place the following line in 35.Xr loader.conf 5 : 36.Bd -literal -offset indent 37if_nfe_load="YES" 38.Ed 39.Sh DESCRIPTION 40The 41.Nm 42driver supports PCI Ethernet adapters based on the NVIDIA 43nForce Media and Communications Processors (MCP), such as 44the nForce, nForce 2, nForce 3, CK804, MCP04, MCP51, MCP55, 45MCP61, MCP65, MCP67, MCP73, MCP77 and MCP79 Ethernet controller chips. 46.Pp 47The 48.Nm 49driver supports the following 50.Ar media 51types: 52.Pp 53.Bl -tag -width autoselect -compact 54.It Cm autoselect 55Enable autoselection of the media type and options. 56.It Cm 10baseT 57Set 10Mbps operation. 58.It Cm 100baseTX 59Set 100Mbps (Fast Ethernet) operation. 60.It Cm 1000baseT 61Set 1000Mbps (Gigabit Ethernet) operation (recent models only). 62.El 63.Ss MIB Variables and Loader Tunables 64The following per-interface variables are implemented in the 65.Va hw.nfe Ns Em X 66branch of the 67.Xr sysctl 3 68MIB. 69Loader tunables with the same names, but using the prefix 70.Va hw.nfe 71are also implemented, they apply to all 72.Nm 73interfaces in system and can be set in 74.Xr loader.conf 5 . 75.Bl -tag -width ".Va rx_ring_count" 76.It Va imtimer 77Interrupt moderation time (unit: microseconds). 78The default value is -125. 79A value of 0 means disabled. 80A negative value, -Y, means hardware timer simulated interrupt moderation, 81the simulated interrupt moderation timer will be set to Y. 82A positive valye, Y, means hardware timer only interrupt moderation, 83hardware timer will be set to Y. 84Value can be tuned when the interface is running. 85Positive values in the range 64-128 seems to be a reasonable. 86.It Va rx_ring_count 87RX ring count. 88sysctl node is read-only. 89The default value is 128. 90With heavier interrupt moderation (eg. imtimer=-250), 91it is recommended to increase rx_ring_count (eg. to 512). 92.It Va tx_ring_count 93TX ring count. 94sysctl node is read-only. 95The default value is 256. 96.El 97.Pp 98For more information on configuring this device, see 99.Xr ifconfig 8 . 100The 101.Nm 102driver supports 103.Xr polling 4 . 104.Sh SEE ALSO 105.Xr arp 4 , 106.Xr ifmedia 4 , 107.Xr intro 4 , 108.Xr miibus 4 , 109.Xr netintro 4 , 110.Xr pci 4 , 111.Xr polling 4 , 112.Xr vlan 4 , 113.Xr loader.conf 5 , 114.Xr ifconfig 8 115.Sh HISTORY 116The 117.Nm 118device driver first appeared in 119.Ox 3.9 120and was imported into 121.Dx 1.7 . 122.Sh AUTHORS 123.An -nosplit 124The 125.Nm 126driver was written by 127.An Jonathan Gray 128.Aq jsg@openbsd.org 129and 130.An Damien Bergamini 131.Aq damien@openbsd.org . 132It was ported to 133.Dx 134by 135.An Sepherosa Ziehau 136.Aq sepherosa@gmail.com . 137.Sh CAVEATS 138NVIDIA refuse to release any documentation on their products. 139