summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ix.4 3.html
blob: 95e033456947961e90c05de4b765fa0b6821b011 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<table class="head">
  <tr>
    <td class="head-ltitle">IX(4)</td>
    <td class="head-vol">Device Drivers Manual</td>
    <td class="head-rtitle">IX(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">ix</code> &#x2014; <span class="Nd">Intel 10Gb
    Ethernet driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, place the following lines
    in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device iflib</code>
<br/>
<code class="Cd">device ix</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
    the following line in <a class="Xr">loader.conf(5)</a>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>if_ix_load=&quot;YES&quot;</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">ix</code> driver provides support for
    Intel(R) 10Gb Ethernet PCIe adapters. The driver supports Jumbo Frames,
    MSIX, TSO, and RSS.</p>
<p class="Pp">For questions related to hardware requirements, refer to the
    documentation supplied with your Intel 10GbE adapter. All hardware
    requirements listed apply to use with <span class="Ux">FreeBSD</span>.</p>
<p class="Pp">Support for Jumbo Frames is provided via the interface MTU
    setting. Selecting an MTU larger than 1500 bytes with the
    <a class="Xr">ifconfig(8)</a> utility configures the adapter to receive and
    transmit Jumbo Frames. The maximum MTU size for Jumbo Frames is 9710.</p>
<p class="Pp">This driver version supports VLANs. For information on enabling
    VLANs, see <a class="Xr">ifconfig(8)</a>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
<p class="Pp">The <code class="Nm">ix</code> driver supports Intel 10Gb Ethernet
    PCIe adapters, including:</p>
<p class="Pp"></p>
<ul class="Bl-bullet Bl-compact">
  <li>Intel(R) Ethernet E610</li>
  <li>Intel(R) Ethernet X553</li>
  <li>Intel(R) Ethernet X552</li>
  <li>Intel(R) Ethernet X550</li>
  <li>Intel(R) Ethernet X540 Bypass</li>
  <li>Intel(R) Ethernet X540</li>
  <li>Intel(R) Ethernet X520 Bypass (82599)</li>
  <li>Intel(R) Ethernet X520 (82599)</li>
  <li>Intel(R) 10 Gigabit Server Adapter (82598EB)</li>
</ul>
</section>
<section class="Sh">
<h1 class="Sh" id="LOADER_TUNABLES"><a class="permalink" href="#LOADER_TUNABLES">LOADER
  TUNABLES</a></h1>
<p class="Pp">The <code class="Nm">ix</code> driver supports the following
    loader tunables:</p>
<dl class="Bl-tag">
  <dt id="hw.ix.max_interrupt_rate"><var class="Va">hw.ix.max_interrupt_rate</var></dt>
  <dd>Maximum interrupts per second.</dd>
  <dt id="hw.ix.flow_control"><var class="Va">hw.ix.flow_control</var></dt>
  <dd>Default flow control used for all adapters.</dd>
  <dt id="hw.ix.advertise_speed"><var class="Va">hw.ix.advertise_speed</var></dt>
  <dd>Default advertised speed for all adapters.</dd>
  <dt id="hw.ix.enable_msix"><var class="Va">hw.ix.enable_msix</var></dt>
  <dd>Enable Message Signalled Interrupts (MSI-X).</dd>
  <dt id="hw.ix.allow_unsupported_sfp"><var class="Va">hw.ix.allow_unsupported_sfp</var></dt>
  <dd>Allow unsupported small form-factor pluggable (SFP) modules. Use at your
      own risk.</dd>
  <dt id="hw.ix.enable_fdir"><var class="Va">hw.ix.enable_fdir</var></dt>
  <dd>Enable Flow Director. Flow Director directs Ethernet packets to the core
      where the packet consuming process, application, container, or
      microservice is running.</dd>
  <dt id="hw.ix.enable_rss"><var class="Va">hw.ix.enable_rss</var></dt>
  <dd>Enable Receive-Side Scaling (RSS). When RSS is enabled, all of the receive
      data processing for a particular TCP connection is shared across multiple
      processors or processor cores. Without RSS, all of the processing is
      performed by a single processor, resulting in inefficient system cache
      utilization. This has no effect if your system has only one processing
      unit.</dd>
  <dt id="hw.ix.enable_aim"><var class="Va">hw.ix.enable_aim</var></dt>
  <dd>Enable Adaptive Interrupt Moderation (AIM). Vary the interrupt rate over
      time based on the traffic for that interrupt vector.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
  VARIABLES</a></h1>
<p class="Pp">The <code class="Nm">ix</code> driver supports the following
    <a class="Xr">sysctl(8)</a> variables:</p>
<dl class="Bl-tag">
  <dt id="dev.ix.?.debug.dump.clusters"><var class="Va">dev.ix.?.debug.dump.clusters</var></dt>
  <dd>Specify a bitmask to select firmware event clusters to be included in the
      debug dump. Possible values include:
    <p class="Pp"></p>
    <dl class="Bl-tag Bl-compact">
      <dt>0</dt>
      <dd>All clusters excluding Manageability Transactions</dd>
      <dt>0x1</dt>
      <dd>Link cluster</dd>
      <dt>0x2</dt>
      <dd>Full CSR Space excluding RCW registers</dd>
    </dl>
    <p class="Pp">This feature is only supported on E610 devices.</p>
  </dd>
  <dt id="dev.ix.?.debug.dump.dump"><var class="Va">dev.ix.?.debug.dump.dump</var></dt>
  <dd>Specify 1 to generate a per-device debugging snapshot. Output must be
      redirected to a file and decoded by Intel Customer Support.
    <p class="Pp">This feature is only supported on E610.</p>
  </dd>
  <dt id="dev.ix.?.debug.fw_log.severity._module_"><var class="Va">dev.ix.?.debug.fw_log.severity.&lt;module&gt;</var></dt>
  <dd>Specify firmware logging verbosity level for the specified module.
      Available levels include:
    <p class="Pp"></p>
    <dl class="Bl-tag Bl-compact">
      <dt>0</dt>
      <dd>none</dd>
      <dt>1</dt>
      <dd>error</dd>
      <dt>2</dt>
      <dd>warning</dd>
      <dt>3</dt>
      <dd>normal</dd>
      <dt>4</dt>
      <dd>verbose</dd>
    </dl>
    <p class="Pp">Supported modules: general, ctrl, link, link_topo, dnl, i2c,
        sdp, mdio, adminq, hdma, lldp, dcbx, dcb, xlr, nvm, auth, vpd, iosf,
        parser, sw, scheduler, txq, acl, post, watchdog, task_dispatch, mng,
        synce, health, tsdrv, pfreg, mdlver.</p>
    <p class="Pp">This feature is only supported on E610 devices.</p>
  </dd>
  <dt id="dev.ix.?.debug.fw_log.register"><var class="Va">dev.ix.?.debug.fw_log.register</var></dt>
  <dd>Specify 1 to apply per-device firmware logging configuration.
    <p class="Pp">This feature is only supported on E610 devices.</p>
  </dd>
  <dt id="dev.ix.?.debug.fw_log.on_load"><var class="Va">dev.ix.?.debug.fw_log.on_load</var></dt>
  <dd>Enable firmware logging during driver initialization when set via
      <a class="Xr">kenv(1)</a>.
    <p class="Pp">This feature is only supported on E610 devices.</p>
  </dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1>
<dl class="Bl-diag">
  <dt>ix%d: Unable to allocate bus resource: memory</dt>
  <dd>A fatal initialization error has occurred.</dd>
  <dt>ix%d: Unable to allocate bus resource: interrupt</dt>
  <dd>A fatal initialization error has occurred.</dd>
  <dt>ix%d: watchdog timeout -- resetting</dt>
  <dd>The device has stopped responding to the network, or there is a problem
      with the network connection (cable).</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SUPPORT"><a class="permalink" href="#SUPPORT">SUPPORT</a></h1>
<p class="Pp">For general information and support, go to the Intel support
    website at: <span class="Pa">http://support.intel.com</span>.</p>
<p class="Pp">If an issue is identified with the released source code on the
    supported kernel with a supported adapter, email the specific information
    related to the issue to
    &lt;<a class="Mt" href="mailto:freebsd@intel.com">freebsd@intel.com</a>&gt;.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">altq(4)</a>, <a class="Xr">arp(4)</a>,
    <a class="Xr">iflib(4)</a>, <a class="Xr">netintro(4)</a>,
    <a class="Xr">ng_ether(4)</a>, <a class="Xr">polling(4)</a>,
    <a class="Xr">vlan(4)</a>, <a class="Xr">ifconfig(8)</a>,
    <a class="Xr">sysctl(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">ix</code> device driver first appeared in
    <span class="Ux">FreeBSD 7.0</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">ix</code> driver was written by
    <span class="An">Intel Corporation</span>
    &lt;<a class="Mt" href="mailto:freebsd@intel.com">freebsd@intel.com</a>&gt;.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp">Intel (R) Flow director support is not fully implemented in
    <span class="Ux">FreeBSD</span> at this time and additional work is required
    before those features can be supported.</p>
<p class="Pp">Enabling flow director may route traffic to the wrong RX queue of
    the NIC, resulting in sub-optimal performance on the receive side.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">November 10, 2025</td>
    <td class="foot-os">FreeBSD 15.0</td>
  </tr>
</table>