xref: /dragonfly/share/man/man4/nfe.4 (revision a361ab31)
1.\"	$OpenBSD: nfe.4,v 1.10 2006/08/30 22:56:05 jmc 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.Dd November 28, 2014
18.Dt NFE 4
19.Os
20.Sh NAME
21.Nm nfe
22.Nd NVIDIA nForce MCP 10/100/Gigabit Ethernet driver
23.Sh SYNOPSIS
24To compile this driver into the kernel,
25place the following lines in your
26kernel configuration file:
27.Bd -ragged -offset indent
28.Cd "device miibus"
29.Cd "device nfe"
30.Ed
31.Pp
32Alternatively, to load the driver as a
33module at boot time, place the following line in
34.Xr loader.conf 5 :
35.Bd -literal -offset indent
36if_nfe_load="YES"
37.Ed
38.Sh DESCRIPTION
39The
40.Nm
41driver supports PCI Ethernet adapters based on the NVIDIA
42nForce Media and Communications Processors (MCP), such as
43the nForce, nForce 2, nForce 3, CK804, MCP04, MCP51, MCP55,
44MCP61, MCP65, MCP67, MCP73, MCP77 and MCP79 Ethernet controller chips.
45.Pp
46The
47.Nm
48driver supports the following
49.Ar media
50types:
51.Pp
52.Bl -tag -width autoselect -compact
53.It Cm autoselect
54Enable autoselection of the media type and options.
55.It Cm 10baseT
56Set 10Mbps operation.
57.It Cm 100baseTX
58Set 100Mbps (Fast Ethernet) operation.
59.It Cm 1000baseT
60Set 1000Mbps (Gigabit Ethernet) operation (recent models only).
61.El
62.Ss MIB Variables and Loader Tunables
63The following per-interface variables are implemented in the
64.Va dev.nfe. Ns Em X
65branch of the
66.Xr sysctl 3
67MIB.
68Loader tunables with the same names, but using the prefix
69.Va hw.nfe
70are also implemented, they apply to all
71.Nm
72interfaces in system and can be set in
73.Xr loader.conf 5 .
74.Bl -tag -width ".Va rx_ring_count"
75.It Va imtimer
76Interrupt moderation time (unit: microseconds).
77The default value is -125.
78A value of 0 means disabled.
79A negative value, -Y, means hardware timer simulated interrupt moderation,
80the simulated interrupt moderation timer will be set to Y.
81A positive valye, Y, means hardware timer only interrupt moderation,
82hardware timer will be set to Y.
83Value can be tuned when the interface is running.
84Positive values in the range 64-128 seems to be a reasonable.
85.It Va rx_ring_count
86RX ring count.
87sysctl node is read-only.
88The default value is 128.
89With heavier interrupt moderation (eg. imtimer=-250),
90it is recommended to increase rx_ring_count (eg. to 512).
91.It Va tx_ring_count
92TX ring count.
93sysctl node is read-only.
94The default value is 256.
95.El
96.Pp
97For more information on configuring this device, see
98.Xr ifconfig 8 .
99The
100.Nm
101driver supports
102.Xr polling 4 .
103.Sh SEE ALSO
104.Xr arp 4 ,
105.Xr ifmedia 4 ,
106.Xr intro 4 ,
107.Xr miibus 4 ,
108.Xr netintro 4 ,
109.Xr pci 4 ,
110.Xr polling 4 ,
111.Xr vlan 4 ,
112.Xr loader.conf 5 ,
113.Xr ifconfig 8
114.Sh HISTORY
115The
116.Nm
117device driver first appeared in
118.Ox 3.9
119and was imported into
120.Dx 1.7 .
121.Sh AUTHORS
122.An -nosplit
123The
124.Nm
125driver was written by
126.An Jonathan Gray Aq Mt jsg@openbsd.org
127and
128.An Damien Bergamini Aq Mt damien@openbsd.org .
129It was ported to
130.Dx
131by
132.An Sepherosa Ziehau Aq Mt sepherosa@gmail.com .
133.Sh CAVEATS
134NVIDIA refuse to release any documentation on their products.
135