xref: /freebsd/share/man/man4/mxge.4 (revision 4b9d6057)
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.Dd February 13, 2008
33.Dt MXGE 4
34.Os
35.Sh NAME
36.Nm mxge
37.Nd "Myricom Myri10GE 10 Gigabit Ethernet adapter driver"
38.Sh SYNOPSIS
39To compile this driver into the kernel,
40place the following lines in your
41kernel configuration file:
42.Bd -ragged -offset indent
43.Cd "device firmware"
44.Cd "device mxge"
45.Ed
46.Pp
47Alternatively, to load the driver as a
48module at boot time, place the following lines in
49.Xr loader.conf 5 :
50.Bd -literal -offset indent
51if_mxge_load="YES"
52mxge_ethp_z8e_load="YES"
53mxge_eth_z8e_load="YES"
54mxge_rss_ethp_z8e_load="YES"
55mxge_rss_eth_z8e_load="YES"
56.Ed
57.Sh DESCRIPTION
58The
59.Nm
60driver provides support for PCI Express 10 Gigabit Ethernet adapters based on
61the Myricom LANai Z8E chip.
62The driver supports Transmit/Receive checksum offload,
63Jumbo Frames, TCP segmentation offload (TSO) as well
64as Large Receive Offload (LRO).
65For further hardware information, see
66.Pa http://www.myri.com/ .
67.Pp
68For questions related to hardware requirements,
69refer to the documentation supplied with your Myri10GE adapter.
70All hardware requirements listed apply to use with
71.Fx .
72.Pp
73Support for Jumbo Frames is provided via the interface MTU setting.
74Selecting an MTU larger than 1500 bytes with the
75.Xr ifconfig 8
76utility configures the adapter to receive and transmit Jumbo Frames.
77The maximum MTU size for Jumbo Frames is 9000.
78.Pp
79For more information on configuring this device, see
80.Xr ifconfig 8 .
81.Sh HARDWARE
82The
83.Nm
84driver supports 10 Gigabit Ethernet adapters based on the
85Myricom LANai Z8E chips:
86.Pp
87.Bl -bullet -compact
88.It
89Myricom 10GBase-CX4 (10G-PCIE-8A-C, 10G-PCIE-8AL-C)
90.It
91Myricom 10GBase-R (10G-PCIE-8A-R, 10G-PCIE-8AL-R)
92.It
93Myricom 10G XAUI over ribbon fiber (10G-PCIE-8A-Q, 10G-PCIE-8AL-Q)
94.El
95.Sh LOADER TUNABLES
96Tunables can be set at the
97.Xr loader 8
98prompt before booting the kernel or stored in
99.Xr loader.conf 5 .
100.Bl -tag -width indent
101.It Va hw.mxge.flow_control_enabled
102Whether or not hardware flow control is enabled on the adapter.
103The default value is 1.
104.It Va hw.mxge.intr_coal_delay
105This value delays the generation of all interrupts in units of
1061 microsecond.
107The default value is 30.
108.It Va hw.mxge.skip_pio_read
109This value determines whether or not the driver may omit doing a
110PIO read in the interrupt handler which ensures that the interrupt
111line has been deasserted when using xPIC interrupts.
112A non-zero value
113may result in lower CPU overhead, however it may also result in
114spurious interrupts.
115The default value is 0.
116This tunable has no effect when the device is
117using MSI or MSI-X interrupts.
118.It Va hw.mxge.max_slices
119This value determines the maximum number of slices the driver
120will attempt to use.
121The default value is 1.
122A slice is comprised
123of a set of receive queues and an associated interrupt thread.
124When using multiple slices, the NIC hashes traffic to different slices
125based on the value of
126.Va hw.mxge.rss_hashtype .
127Using multiple slices requires that your motherboard and Myri10GE NIC
128both be capable of MSI-X.
129Older Myri10GE NICs can be field upgraded to add
130MSI-X using the "10G NIC Tool Kit" for FreeBSD which is available from
131.Pa http://www.myri.com/scs/download-10g-tools.html .
132.It Va hw.mxge.rss_hashtype
133This value determines how incoming traffic is steered to different
134slices.
135This tunable is ignored when using just a single slice.
136The legal values for this tunable are:
137.Bl -tag -width "XXXX"
138.It 1
139Hash on the source and destination IPv4 addresses.
140.It 2
141Hash on source and destination IPv4 addresses and if the packet
142is TCP, then also hash on the TCP source and destination ports.
143.It 4
144Hash on the TCP or UDP source ports.
145This is the default value.
146.El
147.El
148.Sh DIAGNOSTICS
149.Bl -diag
150.It "mxge%d: Unable to allocate bus resource: memory"
151A fatal initialization error has occurred.
152.It "mxge%d: Unable to allocate bus resource: interrupt"
153A fatal initialization error has occurred.
154.It "mxge%d: Could not find firmware image %s"
155The appropriate firmware kld module was not installed.
156This is a non-fatal initialization error, but will
157result in running in a reduced performance mode.
158.El
159.Sh SUPPORT
160For general information and support,
161go to the Myricom support website at:
162.Pa http://www.myri.com/scs/ .
163.Pp
164If an issue is identified with the released source code on the supported kernel
165with a supported adapter, email the specific information related to the
166issue to
167.Aq Mt help@myri.com .
168.Sh SEE ALSO
169.Xr altq 4 ,
170.Xr arp 4 ,
171.Xr netintro 4 ,
172.Xr ng_ether 4 ,
173.Xr ifconfig 8
174.Sh HISTORY
175The
176.Nm
177device driver first appeared in
178.Fx 6.3 .
179.Sh AUTHORS
180The
181.Nm
182driver was written by
183.An Andrew Gallatin Aq Mt gallatin@FreeBSD.org .
184