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