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