mxge.4: Some small changes.
[dragonfly.git] / share / man / man4 / mxge.4
CommitLineData
490c73d5
AE
1.\" Copyright (c) 2006, Myricom Inc
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions are met:
6.\"
7.\" 1. Redistributions of source code must retain the above copyright notice,
8.\" this list of conditions and the following disclaimer.
9.\"
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\"
14.\" 3. Neither the name of the Myricom Inc nor the names of its
15.\" contributors may be used to endorse or promote products derived from
16.\" this software without specific prior written permission.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.\" * Other names and brands may be claimed as the property of others.
31.\"
32.\" $FreeBSD: src/share/man/man4/mxge.4,v 1.7.4.2.4.1 2009/04/15 03:14:26 kensmith Exp $
33.\"
d2c1d584 34.Dd July 13, 2009
490c73d5
AE
35.Dt MXGE 4
36.Os
37.Sh NAME
38.Nm mxge
39.Nd "Myricom Myri10GE 10 Gigabit Ethernet adapter driver"
40.Sh SYNOPSIS
41To compile this driver into the kernel,
42place the following lines in your
43kernel configuration file:
44.Bd -ragged -offset indent
45.Cd "device firmware"
46.Cd "device mxge"
47.Ed
48.Pp
49Alternatively, to load the driver as a
429df13f 50module at boot time, place the following line in
490c73d5
AE
51.Xr loader.conf 5 :
52.Bd -literal -offset indent
53if_mxge_load="YES"
490c73d5
AE
54.Ed
55.Sh DESCRIPTION
56The
57.Nm
58driver provides support for PCI Express 10 Gigabit Ethernet adapters based on
59the Myricom LANai Z8E chip.
429df13f
AE
60The driver supports Transmit/Receive checksum offload and hardware vlan tagging.
61Support for Jumbo frames is not yet implemented, while support for TCP
62Segmentation Offload (TSO) as well as Large Receive Offload (LRO) is not
63implemented in
490c73d5
AE
64For further hardware information, see
65.Pa http://www.myri.com/ .
66.Pp
67For questions related to hardware requirements,
68refer to the documentation supplied with your Myri10GE adapter.
69All hardware requirements listed apply to use with
429df13f 70.Dx .
490c73d5
AE
71.Sh HARDWARE
72The
73.Nm
74driver supports 10 Gigabit Ethernet adapters based on the
75Myricom LANai Z8E chips:
76.Pp
77.Bl -bullet -compact
78.It
79Myricom 10GBase-CX4 (10G-PCIE-8A-C, 10G-PCIE-8AL-C)
80.It
81Myricom 10GBase-R (10G-PCIE-8A-R, 10G-PCIE-8AL-R)
82.It
83Myricom 10G XAUI over ribbon fiber (10G-PCIE-8A-Q, 10G-PCIE-8AL-Q)
84.El
85.Sh LOADER TUNABLES
86Tunables can be set at the
87.Xr loader 8
88prompt before booting the kernel or stored in
89.Xr loader.conf 5 .
90.Bl -tag -width indent
91.It Va hw.mxge.flow_control_enabled
92Whether or not hardware flow control is enabled on the adapter.
93The default value is 1.
94.It Va hw.mxge.intr_coal_delay
95This value delays the generation of all interrupts in units of
961 microsecond.
97The default value is 30.
98.It Va hw.mxge.skip_pio_read
99This value determines whether or not the driver may omit doing a
100PIO read in the interrupt handler which ensures that the interrupt
101line has been deasserted when using xPIC interrupts.
102A non-zero value
103may result in lower CPU overhead, however it may also result in
104spurious interrupts.
105The default value is 0.
106This tunable has no effect when the device is
107using MSI or MSI-X interrupts.
108.It Va hw.mxge.max_slices
109This value determines the maximum number of slices the driver
110will attempt to use.
111The default value is 1.
112A slice is comprised
113of a set of receive queues and an associated interrupt thread.
114When using multiple slices, the NIC hashes traffic to different slices
115based on the value of
116.Va hw.mxge.rss_hash_type .
117Using multiple slices requires that your motherboard and Myri10GE NIC
118both be capable of MSI-X.
119Older Myri10GE NICs can be field upgraded to add
120MSI-X using the "10G NIC Tool Kit" for FreeBSD which is available from
121.Pa http://www.myri.com/scs/download-10g-tools.html .
122.Pp
123.It Va hw.mxge.rss_hash_type
124This value determines how incoming traffic is steered to different
125slices.
126This tunable is ignored when using just a single slice.
127The legal values for this tunable are:
128.Bl -tag -width "XXXX"
129.It 1
130Hash on the source and destination IPv4 addresses.
131.It 2
132Hash on source and destination IPv4 addresses and if the packet
133is TCP, then also hash on the TCP source and destination ports.
134.It 4
135Hash on the TCP or UDP source ports.
136This is the default value.
137.El
138.El
139.Sh DIAGNOSTICS
140.Bl -diag
141.It "mxge%d: Unable to allocate bus resource: memory"
142A fatal initialization error has occurred.
143.It "mxge%d: Unable to allocate bus resource: interrupt"
144A fatal initialization error has occurred.
145.It "mxge%d: Could not find firmware image %s"
146The appropriate firmware kld module was not installed.
147This is a non-fatal initialization error, but will
148result in running in a reduced performance mode.
149.El
150.Sh SUPPORT
151For general information and support,
152go to the Myricom support website at:
153.Pa http://www.myri.com/scs/ .
490c73d5
AE
154.Sh SEE ALSO
155.Xr altq 4 ,
156.Xr arp 4 ,
157.Xr netintro 4 ,
158.Xr ng_ether 4 ,
159.Xr ifconfig 8
160.Sh HISTORY
161The
162.Nm
163device driver first appeared in
164.Fx 6.3 .
429df13f 165It was first ported to
d2c1d584 166.Dx 2.3 .
490c73d5
AE
167.Sh AUTHORS
168The
169.Nm
170driver was written by
171.An Andrew Gallatin Aq gallatin@FreeBSD.org .