17a32954cSNavdeep Parhar.\" Copyright (c) 2011-2012, Chelsio Inc 254e4ee71SNavdeep Parhar.\" All rights reserved. 354e4ee71SNavdeep Parhar.\" 454e4ee71SNavdeep Parhar.\" Redistribution and use in source and binary forms, with or without 554e4ee71SNavdeep Parhar.\" modification, are permitted provided that the following conditions are met: 654e4ee71SNavdeep Parhar.\" 754e4ee71SNavdeep Parhar.\" 1. Redistributions of source code must retain the above copyright notice, 854e4ee71SNavdeep Parhar.\" this list of conditions and the following disclaimer. 954e4ee71SNavdeep Parhar.\" 1054e4ee71SNavdeep Parhar.\" 2. Redistributions in binary form must reproduce the above copyright 1154e4ee71SNavdeep Parhar.\" notice, this list of conditions and the following disclaimer in the 1254e4ee71SNavdeep Parhar.\" documentation and/or other materials provided with the distribution. 1354e4ee71SNavdeep Parhar.\" 1454e4ee71SNavdeep Parhar.\" 3. Neither the name of the Chelsio Inc nor the names of its 1554e4ee71SNavdeep Parhar.\" contributors may be used to endorse or promote products derived from 1654e4ee71SNavdeep Parhar.\" this software without specific prior written permission. 1754e4ee71SNavdeep Parhar.\" 1854e4ee71SNavdeep Parhar.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1954e4ee71SNavdeep Parhar.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2054e4ee71SNavdeep Parhar.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2154e4ee71SNavdeep Parhar.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2254e4ee71SNavdeep Parhar.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2354e4ee71SNavdeep Parhar.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2454e4ee71SNavdeep Parhar.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2554e4ee71SNavdeep Parhar.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2654e4ee71SNavdeep Parhar.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2754e4ee71SNavdeep Parhar.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2854e4ee71SNavdeep Parhar.\" POSSIBILITY OF SUCH DAMAGE. 2954e4ee71SNavdeep Parhar.\" 3054e4ee71SNavdeep Parhar.\" * Other names and brands may be claimed as the property of others. 3154e4ee71SNavdeep Parhar.\" 3254e4ee71SNavdeep Parhar.\" $FreeBSD$ 3354e4ee71SNavdeep Parhar.\" 343102cfe2SGlen Barber.Dd February 25, 2012 3554e4ee71SNavdeep Parhar.Dt CXGBE 4 3654e4ee71SNavdeep Parhar.Os 3754e4ee71SNavdeep Parhar.Sh NAME 3854e4ee71SNavdeep Parhar.Nm cxgbe 3954e4ee71SNavdeep Parhar.Nd "Chelsio T4 10Gb and 1Gb Ethernet adapter driver" 4054e4ee71SNavdeep Parhar.Sh SYNOPSIS 4154e4ee71SNavdeep ParharTo compile this driver into the kernel, 4254e4ee71SNavdeep Parharplace the following lines in your 4354e4ee71SNavdeep Parharkernel configuration file: 4454e4ee71SNavdeep Parhar.Bd -ragged -offset indent 4554e4ee71SNavdeep Parhar.Cd "device cxgbe" 4654e4ee71SNavdeep Parhar.Ed 4754e4ee71SNavdeep Parhar.Pp 4854e4ee71SNavdeep ParharTo load the driver as a 4954e4ee71SNavdeep Parharmodule at boot time, place the following line in 5054e4ee71SNavdeep Parhar.Xr loader.conf 5 : 5154e4ee71SNavdeep Parhar.Bd -literal -offset indent 5254e4ee71SNavdeep Parharif_cxgbe_load="YES" 5354e4ee71SNavdeep Parhar.Ed 5454e4ee71SNavdeep Parhar.Sh DESCRIPTION 5554e4ee71SNavdeep ParharThe 5654e4ee71SNavdeep Parhar.Nm 5754e4ee71SNavdeep Parhardriver provides support for PCI Express Ethernet adapters based on 5854e4ee71SNavdeep Parharthe Chelsio Terminator 4 (T4) ASIC. 593102cfe2SGlen BarberThe driver supports Jumbo Frames, Transmit/Receive checksum offload, 6054e4ee71SNavdeep ParharTCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN 6154e4ee71SNavdeep Parhartag insertion/extraction, VLAN checksum offload, VLAN TSO, and 6254e4ee71SNavdeep ParharReceive Side Steering (RSS). 6354e4ee71SNavdeep ParharFor further hardware information and questions related to hardware 6454e4ee71SNavdeep Parharrequirements, see 6554e4ee71SNavdeep Parhar.Pa http://www.chelsio.com/ . 6654e4ee71SNavdeep Parhar.Pp 6754e4ee71SNavdeep ParharFor more information on configuring this device, see 6854e4ee71SNavdeep Parhar.Xr ifconfig 8 . 6954e4ee71SNavdeep Parhar.Sh HARDWARE 7054e4ee71SNavdeep ParharThe 7154e4ee71SNavdeep Parhar.Nm 7254e4ee71SNavdeep Parhardriver supports 10Gb and 1Gb Ethernet adapters based on the T4 ASIC: 7354e4ee71SNavdeep Parhar.Pp 7454e4ee71SNavdeep Parhar.Bl -bullet -compact 7554e4ee71SNavdeep Parhar.It 7654e4ee71SNavdeep ParharChelsio T420-CR 7754e4ee71SNavdeep Parhar.It 7854e4ee71SNavdeep ParharChelsio T422-CR 7954e4ee71SNavdeep Parhar.It 8054e4ee71SNavdeep ParharChelsio T440-CR 8154e4ee71SNavdeep Parhar.It 8254e4ee71SNavdeep ParharChelsio T420-BCH 8354e4ee71SNavdeep Parhar.It 8454e4ee71SNavdeep ParharChelsio T440-BCH 8554e4ee71SNavdeep Parhar.It 8654e4ee71SNavdeep ParharChelsio T440-CH 8754e4ee71SNavdeep Parhar.It 8854e4ee71SNavdeep ParharChelsio T420-SO 8954e4ee71SNavdeep Parhar.It 9054e4ee71SNavdeep ParharChelsio T420-CX 9154e4ee71SNavdeep Parhar.It 9254e4ee71SNavdeep ParharChelsio T420-BT 9354e4ee71SNavdeep Parhar.It 9454e4ee71SNavdeep ParharChelsio T404-BT 9554e4ee71SNavdeep Parhar.El 9654e4ee71SNavdeep Parhar.Sh LOADER TUNABLES 9754e4ee71SNavdeep ParharTunables can be set at the 9854e4ee71SNavdeep Parhar.Xr loader 8 9954e4ee71SNavdeep Parharprompt before booting the kernel or stored in 10054e4ee71SNavdeep Parhar.Xr loader.conf 5 . 10154e4ee71SNavdeep Parhar.Bl -tag -width indent 102733b9277SNavdeep Parhar.It Va hw.cxgbe.ntxq10g 1039d496f5aSGlen BarberThe number of tx queues to use for a 10Gb port. 1049d496f5aSGlen BarberThe default is 16 or the number 105733b9277SNavdeep Parharof CPU cores in the system, whichever is less. 106733b9277SNavdeep Parhar.It Va hw.cxgbe.nrxq10g 1079d496f5aSGlen BarberThe number of rx queues to use for a 10Gb port. 1089d496f5aSGlen BarberThe default is 8 or the number 109733b9277SNavdeep Parharof CPU cores in the system, whichever is less. 110733b9277SNavdeep Parhar.It Va hw.cxgbe.ntxq1g 1119d496f5aSGlen BarberThe number of tx queues to use for a 1Gb port. 1129d496f5aSGlen BarberThe default is 4 or the number 113733b9277SNavdeep Parharof CPU cores in the system, whichever is less. 114733b9277SNavdeep Parhar.It Va hw.cxgbe.nrxq1g 1159d496f5aSGlen BarberThe number of rx queues to use for a 1Gb port. 1169d496f5aSGlen BarberThe default is 2 or the number 117733b9277SNavdeep Parharof CPU cores in the system, whichever is less. 118733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldtxq10g 1199d496f5aSGlen BarberThe number of TOE tx queues to use for a 10Gb port. 1209d496f5aSGlen BarberThe default is 8 or the 121733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less. 122733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldrxq10g 1239d496f5aSGlen BarberThe number of TOE rx queues to use for a 10Gb port. 1249d496f5aSGlen BarberThe default is 2 or the 125733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less. 126733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldtxq1g 1279d496f5aSGlen BarberThe number of TOE tx queues to use for a 1Gb port. 1289d496f5aSGlen BarberThe default is 2 or the 129733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less. 130733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldrxq1g 1319d496f5aSGlen BarberThe number of TOE rx queues to use for a 1Gb port. 1329d496f5aSGlen BarberThe default is 1. 13354e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_timer_idx_10G 13454e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_timer_idx_1G 13554e4ee71SNavdeep ParharThe timer index value to use to delay interrupts. 13654e4ee71SNavdeep ParharThe holdoff timer list has the values 1, 5, 10, 50, 100, and 200 13754e4ee71SNavdeep Parharby default (all values are in microseconds) and the index selects a 13854e4ee71SNavdeep Parharvalue from this list. 13954e4ee71SNavdeep ParharThe default value is 1 for both 10Gb and 1Gb ports, which means the 14054e4ee71SNavdeep Parhartimer value is 5us. 141733b9277SNavdeep ParharDifferent cxgbe interfaces can be assigned different values at any time via the 142733b9277SNavdeep Parhardev.cxgbe.X.holdoff_tmr_idx sysctl. 14354e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_pktc_idx_10G 14454e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_pktc_idx_1G 14554e4ee71SNavdeep ParharThe packet-count index value to use to delay interrupts. 14654e4ee71SNavdeep ParharThe packet-count list has the values 1, 8, 16, and 32 by default 14754e4ee71SNavdeep Parharand the index selects a value from this list. 1487a32954cSNavdeep ParharThe default value is -1 for both 10Gb and 1Gb ports, which means packet 1497a32954cSNavdeep Parharcounting is disabled and interrupts are generated based solely on the 1507a32954cSNavdeep Parharholdoff timer value. 151733b9277SNavdeep ParharDifferent cxgbe interfaces can be assigned different values via the 152733b9277SNavdeep Parhardev.cxgbe.X.holdoff_pktc_idx sysctl. 153733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by 154733b9277SNavdeep Parharifconfig up). 15554e4ee71SNavdeep Parhar.It Va hw.cxgbe.qsize_txq 15654e4ee71SNavdeep ParharThe size, in number of entries, of the descriptor ring used for a tx 15754e4ee71SNavdeep Parharqueue. 15854e4ee71SNavdeep ParharA buf_ring of the same size is also allocated for additional 1599d496f5aSGlen Barbersoftware queuing. 1609d496f5aSGlen BarberSee 16154e4ee71SNavdeep Parhar.Xr ifnet 9 . 16254e4ee71SNavdeep ParharThe default value is 1024. 163733b9277SNavdeep ParharDifferent cxgbe interfaces can be assigned different values via the 164733b9277SNavdeep Parhardev.cxgbe.X.qsize_txq sysctl. 165733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by 166733b9277SNavdeep Parharifconfig up). 16754e4ee71SNavdeep Parhar.It Va hw.cxgbe.qsize_rxq 16854e4ee71SNavdeep ParharThe size, in number of entries, of the descriptor ring used for an 16954e4ee71SNavdeep Parharrx queue. 17054e4ee71SNavdeep ParharThe default value is 1024. 171733b9277SNavdeep ParharDifferent cxgbe interfaces can be assigned different values via the 172733b9277SNavdeep Parhardev.cxgbe.X.qsize_rxq sysctl. 173733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by 174733b9277SNavdeep Parharifconfig up). 175733b9277SNavdeep Parhar.It Va hw.cxgbe.interrupt_types 176733b9277SNavdeep ParharThe interrupt types that the driver is allowed to use. 177733b9277SNavdeep ParharBit 0 represents INTx (line interrupts), bit 1 MSI, bit 2 MSI-X. 178733b9277SNavdeep ParharThe default is 7 (all allowed). 179733b9277SNavdeep ParharThe driver will select the best possible type out of the allowed types by 180733b9277SNavdeep Parharitself. 181733b9277SNavdeep Parhar.It Va hw.cxgbe.config_file 182733b9277SNavdeep ParharSelect a pre-packaged device configuration file. 183733b9277SNavdeep ParharA configuration file contains a recipe for partitioning and configuring the 184733b9277SNavdeep Parharhardware resources on the card. 185733b9277SNavdeep ParharThis tunable is for specialized applications only and should not be used in 186733b9277SNavdeep Parharnormal operation. 187733b9277SNavdeep ParharThe configuration profile currently in use is available in the dev.t4nex.X.cf 188733b9277SNavdeep Parharand dev.t4nex.X.cfcsum sysctls. 189733b9277SNavdeep Parhar.It Va hw.cxgbe.linkcaps_allowed 190733b9277SNavdeep Parhar.It Va hw.cxgbe.niccaps_allowed 191733b9277SNavdeep Parhar.It Va hw.cxgbe.toecaps_allowed 192733b9277SNavdeep Parhar.It Va hw.cxgbe.rdmacaps_allowed 193733b9277SNavdeep Parhar.It Va hw.cxgbe.iscsicaps_allowed 194733b9277SNavdeep Parhar.It Va hw.cxgbe.fcoecaps_allowed 195733b9277SNavdeep ParharDisallowing capabilities provides a hint to the driver and firmware to not 196733b9277SNavdeep Parharreserve hardware resources for that feature. 197733b9277SNavdeep ParharEach of these is a bit field with a bit for each sub-capability within the 198733b9277SNavdeep Parharcapability. 199733b9277SNavdeep ParharThis tunable is for specialized applications only and should not be used in 200733b9277SNavdeep Parharnormal operation. 201733b9277SNavdeep ParharThe capabilities for which hardware resources have been reserved are listed in 202733b9277SNavdeep Parhardev.t4nex.X.*caps sysctls. 203cb379161SGlen Barber.El 20454e4ee71SNavdeep Parhar.Sh SUPPORT 20554e4ee71SNavdeep ParharFor general information and support, 20654e4ee71SNavdeep Parhargo to the Chelsio support website at: 20754e4ee71SNavdeep Parhar.Pa http://www.chelsio.com/ . 20854e4ee71SNavdeep Parhar.Pp 20954e4ee71SNavdeep ParharIf an issue is identified with this driver with a supported adapter, 21054e4ee71SNavdeep Parharemail all the specific information related to the issue to 21154e4ee71SNavdeep Parhar.Aq support@chelsio.com . 21254e4ee71SNavdeep Parhar.Sh SEE ALSO 21354e4ee71SNavdeep Parhar.Xr altq 4 , 21454e4ee71SNavdeep Parhar.Xr arp 4 , 21554e4ee71SNavdeep Parhar.Xr cxgb 4 , 21654e4ee71SNavdeep Parhar.Xr netintro 4 , 21754e4ee71SNavdeep Parhar.Xr ng_ether 4 , 21854e4ee71SNavdeep Parhar.Xr ifconfig 8 21954e4ee71SNavdeep Parhar.Sh HISTORY 22054e4ee71SNavdeep ParharThe 22154e4ee71SNavdeep Parhar.Nm 22254e4ee71SNavdeep Parhardevice driver first appeared in 223*50d922a0SGlen Barber.Fx 9.0 . 22454e4ee71SNavdeep Parhar.Sh AUTHORS 22554e4ee71SNavdeep Parhar.An -nosplit 22654e4ee71SNavdeep ParharThe 22754e4ee71SNavdeep Parhar.Nm 22854e4ee71SNavdeep Parhardriver was written by 22954e4ee71SNavdeep Parhar.An Navdeep Parhar Aq np@FreeBSD.org . 230