1 .\" Copyright (c) 2011 Solarflare Communications, Inc.
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .Nd "Solarflare 10Gb Ethernet adapter driver"
34 To compile this driver into the kernel,
35 place the following lines in your
36 kernel configuration file:
37 .Bd -ragged -offset indent
41 To load the driver as a
42 module at boot time, place the following line in
44 .Bd -literal -offset indent
50 driver provides support for 10Gb Ethernet adapters based on
51 Solarflare SFC9000 family controllers.
52 The driver supports jumbo
53 frames, transmit/receive checksum offload, TCP Segmentation Offload
54 (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO,
55 and Receive Side Scaling (RSS) using MSI-X interrupts.
57 The driver allocates 1 receive queue, transmit queue, event queue and
58 IRQ per CPU up to a maximum of 64.
59 IRQ affinities should be spread out using
61 Interrupt moderation may be controlled through the sysctl
62 .Va dev.sfxge.%d.int_mod
63 (units are microseconds).
65 For more information on configuring this device, see
68 A large number of MAC, PHY and data path statistics are available
70 .Va dev.sfxge.%d.stats .
72 fields including its serial number are available under the sysctl
73 .Va dev.sfxge.%d.vpd .
77 driver supports all 10Gb Ethernet adapters based on Solarflare SFC9000
80 Tunables can be set at the
82 prompt before booting the kernel or stored in
84 Actual values can be obtained using
86 .Bl -tag -width indent
87 .It Va hw.sfxge.rx_ring
88 The maximum number of descriptors in a receive queue ring.
89 Supported values are: 512, 1024, 2048 and 4096.
90 .It Va hw.sfxge.tx_ring
91 The maximum number of descriptors in a transmit queue ring.
92 Supported values are: 512, 1024, 2048 and 4096.
93 .It Va hw.sfxge.tx_dpl_get_max
94 The maximum length of the deferred packet
96 for queued transmit packets (TCP and non-TCP), used only if the transmit
97 queue lock can be acquired.
98 If a packet is dropped, the
100 counter is incremented and the local sender receives ENOBUFS.
101 The value must be greater than 0.
102 .It Va hw.sfxge.tx_dpl_get_non_tcp_max
103 The maximum number of non-TCP packets in the deferred packet
105 , used only if the transmit queue lock can be acquired.
106 If a packet is dropped, the
107 .Va tx_get_non_tcp_overflow
108 counter is incremented and the local sender receives ENOBUFS.
109 The value must be greater than 0.
110 .It Va hw.sfxge.tx_dpl_put_max
111 The maximum length of the deferred packet
114 packets, used if the transmit queue lock cannot be acquired.
115 If a packet is dropped, the
117 counter is incremented and the local sender receives ENOBUFS.
118 The value must be greater than or equal to 0.
119 .It Va hw.sfxge.N.max_rss_channels
120 The maximum number of allocated RSS channels for the Nth adapter.
121 If set to 0 or unset, the number of channels is determined by the number
125 For general information and support,
126 go to the Solarflare support website at:
127 .Pa https://support.solarflare.com .
138 driver was written by
141 .An Solarflare Communications, Inc.