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 July 13, 2009 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 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 and hardware vlan 61tagging. 62.\"Support for Jumbo frames is not yet implemented, while support for TCP 63.\"Segmentation Offload (TSO) as well as Large Receive Offload (LRO) is not 64.\"implemented in 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.Dx . 72.Sh HARDWARE 73The 74.Nm 75driver supports 10 Gigabit Ethernet adapters based on the 76Myricom LANai Z8E chips: 77.Pp 78.Bl -bullet -compact 79.It 80Myricom 10GBase-CX4 (10G-PCIE-8A-C, 10G-PCIE-8AL-C) 81.It 82Myricom 10GBase-R (10G-PCIE-8A-R, 10G-PCIE-8AL-R) 83.It 84Myricom 10G XAUI over ribbon fiber (10G-PCIE-8A-Q, 10G-PCIE-8AL-Q) 85.El 86.Sh LOADER TUNABLES 87Tunables can be set at the 88.Xr loader 8 89prompt before booting the kernel or stored in 90.Xr loader.conf 5 . 91.Bl -tag -width indent 92.It Va hw.mxge.flow_control_enabled 93Whether or not hardware flow control is enabled on the adapter. 94The default value is 1. 95.It Va hw.mxge.intr_coal_delay 96This value delays the generation of all interrupts in units of 971 microsecond. 98The default value is 30. 99.It Va hw.mxge.skip_pio_read 100This value determines whether or not the driver may omit doing a 101PIO read in the interrupt handler which ensures that the interrupt 102line has been deasserted when using xPIC interrupts. 103A non-zero value 104may result in lower CPU overhead, however it may also result in 105spurious interrupts. 106The default value is 0. 107This tunable has no effect when the device is 108using MSI or MSI-X interrupts. 109.It Va hw.mxge.max_slices 110This value determines the maximum number of slices the driver 111will attempt to use. 112The default value is 1. 113A slice is comprised 114of a set of receive queues and an associated interrupt thread. 115When using multiple slices, the NIC hashes traffic to different slices 116based on the value of 117.Va hw.mxge.rss_hash_type . 118Using multiple slices requires that your motherboard and Myri10GE NIC 119both be capable of MSI-X. 120Older Myri10GE NICs can be field upgraded to add 121MSI-X using the "10G NIC Tool Kit" for 122.Fx 123which is available from 124.Pa http://www.myri.com/scs/download-10g-tools.html . 125.Pp 126.It Va hw.mxge.rss_hash_type 127This value determines how incoming traffic is steered to different 128slices. 129This tunable is ignored when using just a single slice. 130The legal values for this tunable are: 131.Bl -tag -width "XXXX" 132.It 1 133Hash on the source and destination IPv4 addresses. 134.It 2 135Hash on source and destination IPv4 addresses and if the packet 136is TCP, then also hash on the TCP source and destination ports. 137.It 4 138Hash on the TCP or UDP source ports. 139This is the default value. 140.El 141.El 142.Sh DIAGNOSTICS 143.Bl -diag 144.It "mxge%d: Unable to allocate bus resource: memory" 145A fatal initialization error has occurred. 146.It "mxge%d: Unable to allocate bus resource: interrupt" 147A fatal initialization error has occurred. 148.It "mxge%d: Could not find firmware image %s" 149The appropriate firmware kld module was not installed. 150This is a non-fatal initialization error, but will 151result in running in a reduced performance mode. 152.El 153.Sh SUPPORT 154For general information and support, 155go to the Myricom support website at: 156.Pa http://www.myri.com/scs/ . 157.Sh SEE ALSO 158.Xr altq 4 , 159.Xr arp 4 , 160.Xr ifmedia 4 , 161.Xr netintro 4 , 162.Xr ng_ether 4 , 163.Xr ifconfig 8 , 164.Xr firmware 9 165.Sh HISTORY 166The 167.Nm 168device driver first appeared in 169.Fx 6.3 . 170It was first ported to 171.Dx 2.3 . 172.Sh AUTHORS 173The 174.Nm 175driver was written by 176.An Andrew Gallatin Aq gallatin@FreeBSD.org . 177