xref: /freebsd/share/man/man4/cxgbe.4 (revision f6e648b896b75642129d0a868a6b18b28eabf3d0)
199defe5eSNavdeep Parhar.\" Copyright (c) 2011-2014, 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.\"
34fe2ebb76SJohn Baldwin.Dd December 2, 2015
3554e4ee71SNavdeep Parhar.Dt CXGBE 4
3654e4ee71SNavdeep Parhar.Os
3754e4ee71SNavdeep Parhar.Sh NAME
3854e4ee71SNavdeep Parhar.Nm cxgbe
39*f6e648b8SJohn Baldwin.Nd "Chelsio T4-, T5-, and T6-based 100Gb, 40Gb, 25Gb, 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
497bbe4d1fSNavdeep Parharmodule at boot time, place the following lines in
5054e4ee71SNavdeep Parhar.Xr loader.conf 5 :
5154e4ee71SNavdeep Parhar.Bd -literal -offset indent
527bbe4d1fSNavdeep Parhart4fw_cfg_load="YES"
53ad016cb8SNavdeep Parhart5fw_cfg_load="YES"
54*f6e648b8SJohn Baldwint6fw_cfg_load="YES"
5554e4ee71SNavdeep Parharif_cxgbe_load="YES"
5654e4ee71SNavdeep Parhar.Ed
5754e4ee71SNavdeep Parhar.Sh DESCRIPTION
5854e4ee71SNavdeep ParharThe
5954e4ee71SNavdeep Parhar.Nm
6054e4ee71SNavdeep Parhardriver provides support for PCI Express Ethernet adapters based on
61*f6e648b8SJohn Baldwinthe Chelsio Terminator 4, Terminator 5, and Terminator 6 ASICs (T4, T5, and T6).
623102cfe2SGlen BarberThe driver supports Jumbo Frames, Transmit/Receive checksum offload,
6354e4ee71SNavdeep ParharTCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
6454e4ee71SNavdeep Parhartag insertion/extraction, VLAN checksum offload, VLAN TSO, and
6554e4ee71SNavdeep ParharReceive Side Steering (RSS).
6654e4ee71SNavdeep ParharFor further hardware information and questions related to hardware
6754e4ee71SNavdeep Parharrequirements, see
6854e4ee71SNavdeep Parhar.Pa http://www.chelsio.com/ .
6954e4ee71SNavdeep Parhar.Pp
70*f6e648b8SJohn BaldwinThe
71*f6e648b8SJohn Baldwin.Nm
72*f6e648b8SJohn Baldwindriver uses different names for devices based on the associated ASIC:
73*f6e648b8SJohn Baldwin.Bl -column -offset indent "ASIC" "Port Name" "Parent Device"
74*f6e648b8SJohn Baldwin.It Sy ASIC Ta Sy Port Name Ta Sy Parent Device Ta Sy Virtual Interface
75*f6e648b8SJohn Baldwin.It T4 Ta cxgbe Ta t4nex Ta vcxgbe
76*f6e648b8SJohn Baldwin.It T5 Ta cxl Ta t5nex Ta vcxl
77*f6e648b8SJohn Baldwin.It T6 Ta cc Ta t6nex Ta vcc
78*f6e648b8SJohn Baldwin.El
79*f6e648b8SJohn Baldwin.Pp
80*f6e648b8SJohn BaldwinLoader tunables with the hw.cxgbe prefix apply to all cards.
81*f6e648b8SJohn BaldwinThe driver provides sysctl MIBs for both ports and parent devices using
82*f6e648b8SJohn Baldwinthe names above.
83*f6e648b8SJohn BaldwinFor example, a T5 adapter will provide port MIBs under dev.cxl and
84*f6e648b8SJohn Baldwinadapter-wide MIBs under dev.t5nex.
85*f6e648b8SJohn BaldwinReferences to sysctl MIBs in the remainder of this page will use
86*f6e648b8SJohn Baldwindev.<port> for port MIBs and dev.<nexus> for adapter-wide MIBs.
87ad016cb8SNavdeep Parhar.Pp
8854e4ee71SNavdeep ParharFor more information on configuring this device, see
8954e4ee71SNavdeep Parhar.Xr ifconfig 8 .
9054e4ee71SNavdeep Parhar.Sh HARDWARE
9154e4ee71SNavdeep ParharThe
9254e4ee71SNavdeep Parhar.Nm
93*f6e648b8SJohn Baldwindriver supports 100Gb and 25Gb Ethernet adapters based on the T6 ASIC:
94*f6e648b8SJohn Baldwin.Pp
95*f6e648b8SJohn Baldwin.Bl -bullet -compact
96*f6e648b8SJohn Baldwin.It
97*f6e648b8SJohn BaldwinChelsio T6225-CR
98*f6e648b8SJohn Baldwin.It
99*f6e648b8SJohn BaldwinChelsio T6225-SO-CR
100*f6e648b8SJohn Baldwin.It
101*f6e648b8SJohn BaldwinChelsio T62100-LP-CR
102*f6e648b8SJohn Baldwin.It
103*f6e648b8SJohn BaldwinChelsio T62100-SO-CR
104*f6e648b8SJohn Baldwin.It
105*f6e648b8SJohn BaldwinChelsio T62100-CR
106*f6e648b8SJohn Baldwin.El
107*f6e648b8SJohn Baldwin.Pp
108*f6e648b8SJohn BaldwinThe
109*f6e648b8SJohn Baldwin.Nm
1106af45170SJohn Baldwindriver supports 40Gb, 10Gb and 1Gb Ethernet adapters based on the T5 ASIC:
111ad016cb8SNavdeep Parhar.Pp
112ad016cb8SNavdeep Parhar.Bl -bullet -compact
113ad016cb8SNavdeep Parhar.It
114ad016cb8SNavdeep ParharChelsio T580-CR
115ad016cb8SNavdeep Parhar.It
116ad016cb8SNavdeep ParharChelsio T580-LP-CR
117ad016cb8SNavdeep Parhar.It
118ad016cb8SNavdeep ParharChelsio T580-LP-SO-CR
119ad016cb8SNavdeep Parhar.It
120ad016cb8SNavdeep ParharChelsio T560-CR
121ad016cb8SNavdeep Parhar.It
122ad016cb8SNavdeep ParharChelsio T540-CR
123ad016cb8SNavdeep Parhar.It
124ad016cb8SNavdeep ParharChelsio T540-LP-CR
125ad016cb8SNavdeep Parhar.It
126ad016cb8SNavdeep ParharChelsio T522-CR
127ad016cb8SNavdeep Parhar.It
128ad016cb8SNavdeep ParharChelsio T520-LL-CR
129ad016cb8SNavdeep Parhar.It
130ad016cb8SNavdeep ParharChelsio T520-CR
131ad016cb8SNavdeep Parhar.It
132ad016cb8SNavdeep ParharChelsio T520-SO
133ad016cb8SNavdeep Parhar.It
134ad016cb8SNavdeep ParharChelsio T520-BT
135ad016cb8SNavdeep Parhar.It
136ad016cb8SNavdeep ParharChelsio T504-BT
137ad016cb8SNavdeep Parhar.El
138ad016cb8SNavdeep Parhar.Pp
139ad016cb8SNavdeep ParharThe
140ad016cb8SNavdeep Parhar.Nm
14154e4ee71SNavdeep Parhardriver supports 10Gb and 1Gb Ethernet adapters based on the T4 ASIC:
14254e4ee71SNavdeep Parhar.Pp
14354e4ee71SNavdeep Parhar.Bl -bullet -compact
14454e4ee71SNavdeep Parhar.It
14554e4ee71SNavdeep ParharChelsio T420-CR
14654e4ee71SNavdeep Parhar.It
14754e4ee71SNavdeep ParharChelsio T422-CR
14854e4ee71SNavdeep Parhar.It
14954e4ee71SNavdeep ParharChelsio T440-CR
15054e4ee71SNavdeep Parhar.It
15154e4ee71SNavdeep ParharChelsio T420-BCH
15254e4ee71SNavdeep Parhar.It
15354e4ee71SNavdeep ParharChelsio T440-BCH
15454e4ee71SNavdeep Parhar.It
15554e4ee71SNavdeep ParharChelsio T440-CH
15654e4ee71SNavdeep Parhar.It
15754e4ee71SNavdeep ParharChelsio T420-SO
15854e4ee71SNavdeep Parhar.It
15954e4ee71SNavdeep ParharChelsio T420-CX
16054e4ee71SNavdeep Parhar.It
16154e4ee71SNavdeep ParharChelsio T420-BT
16254e4ee71SNavdeep Parhar.It
16354e4ee71SNavdeep ParharChelsio T404-BT
16454e4ee71SNavdeep Parhar.El
16554e4ee71SNavdeep Parhar.Sh LOADER TUNABLES
16654e4ee71SNavdeep ParharTunables can be set at the
16754e4ee71SNavdeep Parhar.Xr loader 8
16854e4ee71SNavdeep Parharprompt before booting the kernel or stored in
16954e4ee71SNavdeep Parhar.Xr loader.conf 5 .
17054e4ee71SNavdeep Parhar.Bl -tag -width indent
171733b9277SNavdeep Parhar.It Va hw.cxgbe.ntxq10g
172*f6e648b8SJohn BaldwinThe number of tx queues to use for a 10Gb or higher-speed port.
1739d496f5aSGlen BarberThe default is 16 or the number
174733b9277SNavdeep Parharof CPU cores in the system, whichever is less.
175733b9277SNavdeep Parhar.It Va hw.cxgbe.nrxq10g
176*f6e648b8SJohn BaldwinThe number of rx queues to use for a 10Gb or higher-speed port.
1779d496f5aSGlen BarberThe default is 8 or the number
178733b9277SNavdeep Parharof CPU cores in the system, whichever is less.
179733b9277SNavdeep Parhar.It Va hw.cxgbe.ntxq1g
1809d496f5aSGlen BarberThe number of tx queues to use for a 1Gb port.
1819d496f5aSGlen BarberThe default is 4 or the number
182733b9277SNavdeep Parharof CPU cores in the system, whichever is less.
183733b9277SNavdeep Parhar.It Va hw.cxgbe.nrxq1g
1849d496f5aSGlen BarberThe number of rx queues to use for a 1Gb port.
1859d496f5aSGlen BarberThe default is 2 or the number
186733b9277SNavdeep Parharof CPU cores in the system, whichever is less.
187733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldtxq10g
188*f6e648b8SJohn BaldwinThe number of TOE tx queues to use for a 10Gb or higher-speed port.
1899d496f5aSGlen BarberThe default is 8 or the
190733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less.
191733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldrxq10g
192*f6e648b8SJohn BaldwinThe number of TOE rx queues to use for a 10Gb or higher-speed port.
1939d496f5aSGlen BarberThe default is 2 or the
194733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less.
195733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldtxq1g
1969d496f5aSGlen BarberThe number of TOE tx queues to use for a 1Gb port.
1979d496f5aSGlen BarberThe default is 2 or the
198733b9277SNavdeep Parharnumber of CPU cores in the system, whichever is less.
199733b9277SNavdeep Parhar.It Va hw.cxgbe.nofldrxq1g
2009d496f5aSGlen BarberThe number of TOE rx queues to use for a 1Gb port.
2019d496f5aSGlen BarberThe default is 1.
202fe2ebb76SJohn Baldwin.It Va hw.cxgbe.num_vis
203fe2ebb76SJohn BaldwinThe number of virtual interfaces (VIs) created for each port.
204fe2ebb76SJohn BaldwinEach virtual interface creates a separate network interface.
205fe2ebb76SJohn BaldwinThe first virtual interface on each port is required and represents
206fe2ebb76SJohn Baldwinthe primary network interface on the port.
207*f6e648b8SJohn BaldwinAdditional virtual interfaces on a port are named using the Virtual Interface
208*f6e648b8SJohn Baldwinname from the table above.
209fe2ebb76SJohn BaldwinAdditional virtual interfaces use a single pair of queues
210fe2ebb76SJohn Baldwinfor rx and tx as well an additional pair of queues for TOE rx and tx.
211fe2ebb76SJohn BaldwinThe default is 1.
21254e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_timer_idx_10G
21354e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_timer_idx_1G
21454e4ee71SNavdeep ParharThe timer index value to use to delay interrupts.
21554e4ee71SNavdeep ParharThe holdoff timer list has the values 1, 5, 10, 50, 100, and 200
21654e4ee71SNavdeep Parharby default (all values are in microseconds) and the index selects a
21754e4ee71SNavdeep Parharvalue from this list.
21899defe5eSNavdeep ParharThe default value is 1 which means the timer value is 5us.
219ad016cb8SNavdeep ParharDifferent interfaces can be assigned different values at any time via the
220*f6e648b8SJohn Baldwindev.<port>.X.holdoff_tmr_idx sysctl.
22154e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_pktc_idx_10G
22254e4ee71SNavdeep Parhar.It Va hw.cxgbe.holdoff_pktc_idx_1G
22354e4ee71SNavdeep ParharThe packet-count index value to use to delay interrupts.
22454e4ee71SNavdeep ParharThe packet-count list has the values 1, 8, 16, and 32 by default
22554e4ee71SNavdeep Parharand the index selects a value from this list.
22699defe5eSNavdeep ParharThe default value is -1 which means packet counting is disabled and interrupts
22799defe5eSNavdeep Parharare generated based solely on the holdoff timer value.
228ad016cb8SNavdeep ParharDifferent interfaces can be assigned different values via the
229*f6e648b8SJohn Baldwindev.<port>.X.holdoff_pktc_idx sysctl.
230733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by
231733b9277SNavdeep Parharifconfig up).
23254e4ee71SNavdeep Parhar.It Va hw.cxgbe.qsize_txq
23354e4ee71SNavdeep ParharThe size, in number of entries, of the descriptor ring used for a tx
23454e4ee71SNavdeep Parharqueue.
23554e4ee71SNavdeep ParharA buf_ring of the same size is also allocated for additional
2369d496f5aSGlen Barbersoftware queuing.
2379d496f5aSGlen BarberSee
23854e4ee71SNavdeep Parhar.Xr ifnet 9 .
23954e4ee71SNavdeep ParharThe default value is 1024.
240ad016cb8SNavdeep ParharDifferent interfaces can be assigned different values via the
241*f6e648b8SJohn Baldwindev.<port>.X.qsize_txq sysctl.
242733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by
243733b9277SNavdeep Parharifconfig up).
24454e4ee71SNavdeep Parhar.It Va hw.cxgbe.qsize_rxq
24554e4ee71SNavdeep ParharThe size, in number of entries, of the descriptor ring used for an
24654e4ee71SNavdeep Parharrx queue.
24754e4ee71SNavdeep ParharThe default value is 1024.
248ad016cb8SNavdeep ParharDifferent interfaces can be assigned different values via the
249*f6e648b8SJohn Baldwindev.<port>.X.qsize_rxq sysctl.
250733b9277SNavdeep ParharThis sysctl works only when the interface has never been marked up (as done by
251733b9277SNavdeep Parharifconfig up).
252733b9277SNavdeep Parhar.It Va hw.cxgbe.interrupt_types
253733b9277SNavdeep ParharThe interrupt types that the driver is allowed to use.
254733b9277SNavdeep ParharBit 0 represents INTx (line interrupts), bit 1 MSI, bit 2 MSI-X.
255733b9277SNavdeep ParharThe default is 7 (all allowed).
256733b9277SNavdeep ParharThe driver will select the best possible type out of the allowed types by
257733b9277SNavdeep Parharitself.
258d78bd33fSNavdeep Parhar.It Va hw.cxgbe.fw_install
259d78bd33fSNavdeep Parhar0 prohibits the driver from installing a firmware on the card.
260d78bd33fSNavdeep Parhar1 allows the driver to install a new firmware if internal driver
261d78bd33fSNavdeep Parharheuristics indicate that the new firmware is preferable to the one
262d78bd33fSNavdeep Parharalready on the card.
263d78bd33fSNavdeep Parhar2 instructs the driver to always install the new firmware on the card as
264d78bd33fSNavdeep Parharlong as it is compatible with the driver and is a different version than
265d78bd33fSNavdeep Parharthe one already on the card.
266d78bd33fSNavdeep ParharThe default is 1.
26799defe5eSNavdeep Parhar.It Va hw.cxgbe.fl_pktshift
2687c64ddd5SWarren BlockThe number of bytes of padding inserted before the beginning of an Ethernet
26999defe5eSNavdeep Parharframe in the receive buffer.
27099defe5eSNavdeep ParharThe default value of 2 ensures that the Ethernet payload (usually the IP header)
27199defe5eSNavdeep Parharis at a 4 byte aligned address.
27299defe5eSNavdeep Parhar0-7 are all valid values.
27399defe5eSNavdeep Parhar.It Va hw.cxgbe.fl_pad
27499defe5eSNavdeep ParharA non-zero value ensures that writes from the hardware to a receive buffer are
27599defe5eSNavdeep Parharpadded up to the specified boundary.
27699defe5eSNavdeep ParharThe default is -1 which lets the driver pick a pad boundary.
27799defe5eSNavdeep Parhar0 disables trailer padding completely.
27899defe5eSNavdeep Parhar.It Va hw.cxgbe.cong_drop
27999defe5eSNavdeep ParharControls the hardware response to congestion.
28099defe5eSNavdeep Parhar-1 disables congestion feedback and is not recommended.
28199defe5eSNavdeep Parhar0 instructs the hardware to backpressure its pipeline on congestion.
2823eb2c201SNavdeep ParharThis usually results in the port emitting PAUSE frames.
28399defe5eSNavdeep Parhar1 instructs the hardware to drop frames destined for congested queues.
2843eb2c201SNavdeep Parhar.It Va hw.cxgbe.pause_settings
2853eb2c201SNavdeep ParharPAUSE frame settings.
2863eb2c201SNavdeep ParharBit 0 is rx_pause, bit 1 is tx_pause.
2873eb2c201SNavdeep Parharrx_pause = 1 instructs the hardware to heed incoming PAUSE frames, 0 instructs
2883eb2c201SNavdeep Parharit to ignore them.
2893eb2c201SNavdeep Parhartx_pause = 1 allows the hardware to emit PAUSE frames when its receive FIFO
2903eb2c201SNavdeep Parharreaches a high threshold, 0 prohibits the hardware from emitting PAUSE frames.
2913eb2c201SNavdeep ParharThe default is 3 (both rx_pause and tx_pause = 1).
2923eb2c201SNavdeep ParharThis tunable establishes the default PAUSE settings for all ports.
2933eb2c201SNavdeep ParharSettings can be displayed and controlled on a per-port basis via the
294*f6e648b8SJohn Baldwindev.<port>.X.pause_settings sysctl.
29599defe5eSNavdeep Parhar.It Va hw.cxgbe.buffer_packing
29699defe5eSNavdeep ParharAllow the hardware to deliver multiple frames in the same receive buffer
29799defe5eSNavdeep Parharopportunistically.
29899defe5eSNavdeep ParharThe default is -1 which lets the driver decide.
29999defe5eSNavdeep Parhar0 or 1 explicitly disable or enable this feature.
30099defe5eSNavdeep Parhar.It Va hw.cxgbe.allow_mbufs_in_cluster
30199defe5eSNavdeep Parhar1 allows the driver to lay down one or more mbufs within the receive buffer
30225972509SEdward Tomasz Napieralaopportunistically.
30325972509SEdward Tomasz NapieralaThis is the default.
30499defe5eSNavdeep Parhar0 prohibits the driver from doing so.
30599defe5eSNavdeep Parhar.It Va hw.cxgbe.largest_rx_cluster
30699defe5eSNavdeep Parhar.It Va hw.cxgbe.safest_rx_cluster
30725972509SEdward Tomasz NapieralaSizes of rx clusters.
30825972509SEdward Tomasz NapieralaEach of these must be set to one of the sizes available
30999defe5eSNavdeep Parhar(usually 2048, 4096, 9216, and 16384) and largest_rx_cluster must be greater
31099defe5eSNavdeep Parharthan or equal to safest_rx_cluster.
31199defe5eSNavdeep ParharThe defaults are 16384 and 4096 respectively.
31299defe5eSNavdeep ParharThe driver will never attempt to allocate a receive buffer larger than
31399defe5eSNavdeep Parharlargest_rx_cluster and will fall back to allocating buffers of
31499defe5eSNavdeep Parharsafest_rx_cluster size if an allocation larger than safest_rx_cluster fails.
31599defe5eSNavdeep ParharNote that largest_rx_cluster merely establishes a ceiling -- the driver is
31699defe5eSNavdeep Parharallowed to allocate buffers of smaller sizes.
317733b9277SNavdeep Parhar.It Va hw.cxgbe.config_file
318733b9277SNavdeep ParharSelect a pre-packaged device configuration file.
319733b9277SNavdeep ParharA configuration file contains a recipe for partitioning and configuring the
320733b9277SNavdeep Parharhardware resources on the card.
321733b9277SNavdeep ParharThis tunable is for specialized applications only and should not be used in
322733b9277SNavdeep Parharnormal operation.
323*f6e648b8SJohn BaldwinThe configuration profile currently in use is available in the dev.<nexus>.X.cf
324*f6e648b8SJohn Baldwinand dev.<nexus>.X.cfcsum sysctls.
325733b9277SNavdeep Parhar.It Va hw.cxgbe.linkcaps_allowed
326733b9277SNavdeep Parhar.It Va hw.cxgbe.niccaps_allowed
327733b9277SNavdeep Parhar.It Va hw.cxgbe.toecaps_allowed
328733b9277SNavdeep Parhar.It Va hw.cxgbe.rdmacaps_allowed
329733b9277SNavdeep Parhar.It Va hw.cxgbe.iscsicaps_allowed
330733b9277SNavdeep Parhar.It Va hw.cxgbe.fcoecaps_allowed
331733b9277SNavdeep ParharDisallowing capabilities provides a hint to the driver and firmware to not
332733b9277SNavdeep Parharreserve hardware resources for that feature.
333733b9277SNavdeep ParharEach of these is a bit field with a bit for each sub-capability within the
334733b9277SNavdeep Parharcapability.
335733b9277SNavdeep ParharThis tunable is for specialized applications only and should not be used in
336733b9277SNavdeep Parharnormal operation.
337733b9277SNavdeep ParharThe capabilities for which hardware resources have been reserved are listed in
338*f6e648b8SJohn Baldwindev.<nexus>.X.*caps sysctls.
339cb379161SGlen Barber.El
34054e4ee71SNavdeep Parhar.Sh SUPPORT
34154e4ee71SNavdeep ParharFor general information and support,
34254e4ee71SNavdeep Parhargo to the Chelsio support website at:
34354e4ee71SNavdeep Parhar.Pa http://www.chelsio.com/ .
34454e4ee71SNavdeep Parhar.Pp
34554e4ee71SNavdeep ParharIf an issue is identified with this driver with a supported adapter,
34654e4ee71SNavdeep Parharemail all the specific information related to the issue to
3476c899950SBaptiste Daroussin.Aq Mt support@chelsio.com .
34854e4ee71SNavdeep Parhar.Sh SEE ALSO
34954e4ee71SNavdeep Parhar.Xr altq 4 ,
35054e4ee71SNavdeep Parhar.Xr arp 4 ,
35154e4ee71SNavdeep Parhar.Xr cxgb 4 ,
3526af45170SJohn Baldwin.Xr cxgbev 4 ,
35354e4ee71SNavdeep Parhar.Xr netintro 4 ,
35454e4ee71SNavdeep Parhar.Xr ng_ether 4 ,
35554e4ee71SNavdeep Parhar.Xr ifconfig 8
35654e4ee71SNavdeep Parhar.Sh HISTORY
35754e4ee71SNavdeep ParharThe
35854e4ee71SNavdeep Parhar.Nm
35954e4ee71SNavdeep Parhardevice driver first appeared in
36050d922a0SGlen Barber.Fx 9.0 .
361ad016cb8SNavdeep ParharSupport for T5 cards first appeared in
362ad016cb8SNavdeep Parhar.Fx 9.2
363ad016cb8SNavdeep Parharand
364ad016cb8SNavdeep Parhar.Fx 10.0 .
365*f6e648b8SJohn BaldwinSupport for T6 cards first appeared in
366*f6e648b8SJohn Baldwin.Fx 11.1
367*f6e648b8SJohn Baldwinand
368*f6e648b8SJohn Baldwin.Fx 12.0 .
36954e4ee71SNavdeep Parhar.Sh AUTHORS
37054e4ee71SNavdeep Parhar.An -nosplit
37154e4ee71SNavdeep ParharThe
37254e4ee71SNavdeep Parhar.Nm
37354e4ee71SNavdeep Parhardriver was written by
3746c899950SBaptiste Daroussin.An Navdeep Parhar Aq Mt np@FreeBSD.org .
375