xref: /dragonfly/share/man/man4/mxge.4 (revision bb8c85ff)
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.\"
34.Dd May 25, 2017
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 mxge"
46.Cd "device mxgefw"
47.Ed
48.Pp
49Alternatively, to load the driver as a
50module at boot time, place the following line in
51.Xr loader.conf 5 :
52.Bd -literal -offset indent
53if_mxge_load="YES"
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.
60The driver supports Transmit/Receive checksum offload,
61TCP Segmentation Offload (TSO),
62multiple reception queues,
63multiple tranmission queues and
64multiple vector MSI-X.
65.\"Support for Jumbo frames is not yet implemented, while support for
66.\"as well as Large Receive Offload (LRO) is not
67.\"implemented in
68Using multiple vector MSI-X requires that Myri10GE NIC be capable of MSI-X.
69Older Myri10GE NICs can be field upgraded to add MSI-X using the
70"Myri-10G Network Adapter Toolkit" for FreeBSD or Linux
71which is available from
72.Pa https://www.myricom.com/support/downloads/tools/myri-10g-toolkit.html .
73.Pp
74For questions related to hardware requirements,
75refer to the documentation supplied with your Myri10GE adapter.
76All hardware requirements listed apply to use with
77.Dx .
78For further hardware information, see
79.Pa http://www.myricom.com .
80.Pp
81The
82.Nm
83driver supports the following media options:
84.Bl -tag -width ".Cm forcepause"
85.It Cm rxpause
86Enable flow control PAUSE reception.
87Due to hardware limitation,
88this will also enable PAUSE transmission.
89.It Cm txpause
90Enable flow control PAUSE transmission.
91Due to hardware limitation,
92this will also enable PAUSE reception.
93.It Cm forcepause
94Force flow control PAUSE operation as configured by
95.Cm rxpause
96and
97.Cm txpause
98media options.
99This media option can't be turned off.
100.El
101.Pp
102For more information on configuring this device, see
103.Xr ifconfig 8 .
104The
105.Nm
106driver supports
107.Xr polling 4 .
108.Sh HARDWARE
109The
110.Nm
111driver supports 10 Gigabit Ethernet adapters based on the
112Myricom LANai Z8E chips:
113.Pp
114.Bl -bullet -compact
115.It
116Myricom 10GBase-CX4 (10G-PCIE-8A-C, 10G-PCIE-8AL-C)
117.It
118Myricom 10GBase-R (10G-PCIE-8A-R, 10G-PCIE-8AL-R)
119.It
120Myricom 10G XAUI over ribbon fiber (10G-PCIE-8A-Q, 10G-PCIE-8AL-Q)
121.El
122.Sh TUNABLES
123.Em X
124is the device unit number.
125.Bl -tag -width indent
126.It Va hw.mxge.msix.enable Va hw.mxgeX.msix.enable
127By default,
128the driver will use MSI-X
129if it is supported.
130This behaviour can be turned off by setting this tunable to 0.
131.It Va hw.mxge.msi.enable Va hw.mxgeX.msi.enable
132If MSI-X is disabled and MSI is supported,
133the driver will use MSI.
134This behavior can be turned off by setting this tunable to 0.
135.It Va hw.mxgeX.msi.cpu
136If MSI is used, it specifies the MSI's target CPU.
137.It Va hw.mxge.num_slices Va hw.mxgeX.num_slices
138If MSI-X is used,
139this value determines the maximum number of slices the driver
140will attempt to use.
141Setting this value to 0 allows driver to enable as many slices
142as allowed by the number of CPUs.
143Each slice is comprised of one reception queue and one transmission
144queue.
145The transmission queue of each slice,
146except the first slice,
147could be disabled.
148The default value is 0.
149.It Va hw.mxge.multi_tx Va hw.mxgeX.multi_tx
150If more than 1 slice is enabled,
151this tunable controls whether the tranmission queue of each
152slice should be enabled.
153Setting this tunable to 0 will only enable the transmission queue
154on the first slice.
155The default value is 1.
156.It Va hw.mxge.use_rss
157This tunable controls whether standard RSS input hash function or
158chip private input hash function should be used.
159Using standard RSS input hash function degenerates reception
160performance significantly.
161The default value is 0.
162.It Va hw.mxge.intr_coal_delay
163This value delays the generation of all interrupts in units of
1641 microsecond.
165The default value is 150.
166.It Va hw.mxge.flow_ctrl
167The default flow control settings.
168Supported values are:
169force-full (forcefully enable PAUSE reception and transmission).
170force-none (forcefully disable flow control PAUSE operation).
171Default is force-none.
172.El
173.Sh MIB Variables
174A number of per-interface variables are implemented in the
175.Va dev.mxge. Ns Em X
176branch of the
177.Xr sysctl 3
178MIB.
179.Bl -tag -width "firmware_version"
180.It Va firmware_version
181The version string of firmware that is currently loaded by the driver.
182It is read-only.
183.It Va use_rss
184See tunable
185.Va hw.mxge.use_rss .
186Flipping its value will cause chip reinitialization.
187.It Va intr_coal_delay
188See tunable
189.Va hw.mxge.intr_coal_delay .
190.El
191.Sh SUPPORT
192For general information and support,
193go to the Myricom support website at:
194.Pa https://www.myricom.com/support.html .
195.Sh SEE ALSO
196.Xr altq 4 ,
197.Xr arp 4 ,
198.Xr ifmedia 4 ,
199.Xr netintro 4 ,
200.Xr ng_ether 4 ,
201.Xr ifconfig 8 ,
202.Xr firmware 9
203.Sh HISTORY
204The
205.Nm
206device driver first appeared in
207.Fx 6.3 .
208It was first ported to
209.Dx 2.3 .
210.Sh AUTHORS
211The
212.Nm
213driver was written by
214.An Andrew Gallatin Aq Mt gallatin@FreeBSD.org .
215