xref: /freebsd/share/man/man4/nfe.4 (revision d5bb114360fa418c9c74f7a5082accc86aacebfd)
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