diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:43 -0400 |
| commit | ac5e55f5f2af5b92794c2aded46c6bae85b5f5ed (patch) | |
| tree | 9367490586c84cba28652e443e3166d66c33b0d9 /static/freebsd/man4/bnxt.4 3.html | |
| parent | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (diff) | |
docs: Added All FreeBSD Manuals
Diffstat (limited to 'static/freebsd/man4/bnxt.4 3.html')
| -rw-r--r-- | static/freebsd/man4/bnxt.4 3.html | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/static/freebsd/man4/bnxt.4 3.html b/static/freebsd/man4/bnxt.4 3.html new file mode 100644 index 00000000..9699d491 --- /dev/null +++ b/static/freebsd/man4/bnxt.4 3.html @@ -0,0 +1,211 @@ +<table class="head"> + <tr> + <td class="head-ltitle">BNXT(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">BNXT(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">bnxt</code> — <span class="Nd">Broadcom + NetXtreme family 10Gb to 400Gb 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 bnxt</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_bnxt_load="YES"</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">bnxt</code> driver provides support for PCIe + NICs based on the Broadcom BCM573XX, BCM574XX, BCM575XX, and BCM576XX + Ethernet controllers.</p> +<p class="Pp">For more information on configuring this device, 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">bnxt</code> driver supports the following + Broadcom 10Gb to 400Gb Ethernet controllers:</p> +<p class="Pp"></p> +<ul class="Bl-bullet Bl-compact"> + <li>Broadcom BCM57301 NetXtreme-C 10Gb Ethernet Controller</li> + <li>Broadcom BCM57302 NetXtreme-C 10Gb/25Gb Ethernet Controller</li> + <li>Broadcom BCM57304 NetXtreme-C 10Gb/25Gb/40Gb/50Gb Ethernet Controller</li> + <li>Broadcom BCM57304 NetXtreme-C Ethernet Virtual Function</li> + <li>Broadcom BCM57314 NetXtreme-C Ethernet Virtual Function</li> + <li>Broadcom BCM57402 NetXtreme-E 10Gb Ethernet Controller</li> + <li>Broadcom BCM57402 NetXtreme-E Ethernet Partition</li> + <li>Broadcom BCM57404 NetXtreme-E 10Gb/25Gb Ethernet Controller</li> + <li>Broadcom BCM57404 NetXtreme-E Ethernet Virtual Function</li> + <li>Broadcom BCM57404 NetXtreme-E Partition</li> + <li>Broadcom BCM57406 NetXtreme-E 10GBASE-T Ethernet Controller</li> + <li>Broadcom BCM57406 NetXtreme-E Partition</li> + <li>Broadcom BCM57407 NetXtreme-E 10GBase-T Ethernet Controller</li> + <li>Broadcom BCM57407 NetXtreme-E 25Gb Ethernet Controller</li> + <li>Broadcom BCM57407 NetXtreme-E Partition</li> + <li>Broadcom BCM57412 NetXtreme-E Partition</li> + <li>Broadcom BCM57414 NetXtreme-E Ethernet Virtual Function</li> + <li>Broadcom BCM57414 NetXtreme-E Partition</li> + <li>Broadcom BCM57416 NetXtreme-E Partition</li> + <li>Broadcom BCM57417 NetXtreme-E Ethernet Partition</li> + <li>Broadcom BCM57454 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet</li> + <li>Broadcom BCM57502 NetXtreme-E 10Gb/25Gb/50Gb Ethernet</li> + <li>Broadcom N425 BCM57504 NetXtreme-E 10Gb/25Gb Ethernet</li> + <li>Broadcom P425 BCM57504 NetXtreme-E 10Gb/25Gb Ethernet</li> + <li>Broadcom N1100 BCM57504 NetXtreme-E 10Gb/25Gb/50Gb/100Gb Ethernet</li> + <li>Broadcom N2100 BCM57508 Thor 10Gb/25Gb/50Gb/100Gb Ethernet</li> + <li>Broadcom P2100 BCM57508 Thor 10Gb/25Gb/50Gb/100Gb Ethernet</li> + <li>Broadcom N2200 BCM57608 Thor 2 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet</li> + <li>Broadcom P2200 BCM57608 Thor 2 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet</li> + <li>Broadcom N1400 BCM57608 Thor 2 25Gb/50Gb/100Gb/200Gb/400Gb Ethernet</li> + <li>Broadcom P1400 BCM57608 Thor 2 25Gb/50Gb/100Gb/200Gb/400Gb Ethernet</li> +</ul> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL + VARIABLES</a></h1> +<p class="Pp">These variables must be set before loading the driver, either via + <a class="Xr">loader.conf(5)</a> or through the use of + <a class="Xr">kenv(1)</a>. These are provided by the + <a class="Xr">iflib(4)</a> framework, and might be better documented + there.</p> +<dl class="Bl-tag"> + <dt id="dev.bnxt.X.iflib.override_nrxds"><var class="Va">dev.bnxt.X.iflib.override_nrxds</var></dt> + <dd>Override the number of RX descriptors for each queue. The value is a comma + separated list of three positive integers: the size of the completion + ring, the size of the receive ring, and the size of the aggregation ring + respectively. The completion ring should be at least the size of the + aggregation ring plus four times the size of the receive ring. These + numbers must be powers of two, and zero means to use the default. Defaults + to 0,0,0.</dd> + <dt id="dev.bnxt.X.iflib.override_ntxds"><var class="Va">dev.bnxt.X.iflib.override_ntxds</var></dt> + <dd>Override the number of TX descriptors for each queue. The value is a comma + separated list of two positive integers: the size of the completion ring, + and the size of the transmit ring respectively. The completion ring should + be at least twice the size of the transmit ring. These numbers must be + powers of two, and zero means to use the default. Defaults to 0,0.</dd> + <dt id="dev.bnxt.X.iflib.override_qs_enable"><var class="Va">dev.bnxt.X.iflib.override_qs_enable</var></dt> + <dd>When set, allows the number of transmit and receive queues to be + different. If not set, the lower of the number of TX or RX queues will be + used for both.</dd> + <dt id="dev.bnxt.X.iflib.override_nrxqs"><var class="Va">dev.bnxt.X.iflib.override_nrxqs</var></dt> + <dd>Set the number of RX queues. If zero, the number of RX queues is derived + from the number of cores on the socket connected to the controller. + Defaults to 0.</dd> + <dt id="dev.bnxt.X.iflib.override_ntxqs"><var class="Va">dev.bnxt.X.iflib.override_ntxqs</var></dt> + <dd>Set the number of TX queues. If zero, the number of TX queues is derived + from the number of cores on the socket connected to the controller.</dd> +</dl> +<p class="Pp">These <a class="Xr">sysctl(8)</a> variables can be changed at any + time:</p> +<dl class="Bl-tag"> + <dt id="dev.bnxt.X.vlan_only"><var class="Va">dev.bnxt.X.vlan_only</var></dt> + <dd>Require that incoming frames must have a VLAN tag on them that matches one + that is configured for the NIC. Normally, both frames that have a matching + VLAN tag and frames that have no VLAN tag are accepted. Defaults to + 0.</dd> + <dt id="dev.bnxt.X.vlan_strip"><var class="Va">dev.bnxt.X.vlan_strip</var></dt> + <dd>When non-zero the NIC strips VLAN tags on receive. Defaults to 0.</dd> + <dt id="dev.bnxt.X.rx_stall"><var class="Va">dev.bnxt.X.rx_stall</var></dt> + <dd>Enable buffering rather than dropping frames when there are no available + host RX buffers for DMA. Defaults to 0.</dd> + <dt id="dev.bnxt.X.rss_type"><var class="Va">dev.bnxt.X.rss_type</var></dt> + <dd>Comma-separated list of RSS hash types to support. Default is all types. + Defaults to ipv4,tcp_ipv4,udp_ipv4,ipv6,tcp_ipv6,udp_ipv6.</dd> + <dt id="dev.bnxt.X.rss_key"><var class="Va">dev.bnxt.X.rss_key</var></dt> + <dd>Current RSS key. Defaults to a randomly generated value which is generated + for each device during attach.</dd> + <dt id="dev.bnxt.X.ver.hwrm_min_ver"><var class="Va">dev.bnxt.X.ver.hwrm_min_ver</var></dt> + <dd>Minimum HWRM (HardWare Resource Manager) firmware API to support. If the + firmware implements an older version, a warning will be printed, and the + firmware should be upgraded. Defaults to 1.2.2.</dd> +</dl> +<p class="Pp">These <a class="Xr">sysctl(8)</a> variables are read-only:</p> +<dl class="Bl-tag"> + <dt id="dev.bnxt.X.if_name"><var class="Va">dev.bnxt.X.if_name</var></dt> + <dd>Current interface name of the device. This will normally be + <var class="Va">bnxtX</var>, but this can be changed using + <code class="Cm">ifconfig name</code>. This sysctl allows correlating an + interface with a child of <var class="Va">dev.bnxt</var>.</dd> + <dt id="dev.bnxt.X.nvram.*"><var class="Va">dev.bnxt.X.nvram.*</var></dt> + <dd>Information about the NVRAM device which contains the device + firmware.</dd> + <dt id="dev.bnxt.X.ver.*"><var class="Va">dev.bnxt.X.ver.*</var></dt> + <dd>Version-related information about the device and firmware:</dd> + <dt id="dev.bnxt.X.ver.hwrm_if"><var class="Va">dev.bnxt.X.ver.hwrm_if</var></dt> + <dd>Supported HWRM API version of the currently running firmware.</dd> + <dt id="dev.bnxt.X.ver.driver_hwrm_if"><var class="Va">dev.bnxt.X.ver.driver_hwrm_if</var></dt> + <dd>HWRM API version the driver was built to support.</dd> + <dt id="dev.bnxt.X.hwstats.*"><var class="Va">dev.bnxt.X.hwstats.*</var></dt> + <dd>Per-queue statistics tracked by the hardware.</dd> + <dt id="dev.bnxt.X.hwstats.port_stats.*"><var class="Va">dev.bnxt.X.hwstats.port_stats.*</var></dt> + <dd>Per-port statistics tracked by the hardware.</dd> + <dt id="dev.bnxt.X.hwstats.rxq0.drop_pkts"><var class="Va">dev.bnxt.X.hwstats.rxq0.drop_pkts</var></dt> + <dd>Number of packets dropped by hardware on queue zero. This number might + seem high, but the count includes packets dropped due to incorrect + destination MAC, unsubscribed multicast address, and other normal reasons + to ignore Ethernet frames.</dd> + <dt id="dev.bnxt.X.hwstats.rxq0.tpa_*"><var class="Va">dev.bnxt.X.hwstats.rxq0.tpa_*</var></dt> + <dd>statistics related to HW LRO.</dd> + <dt id="dev.bnxt.X.hw_lro.*"><var class="Va">dev.bnxt.X.hw_lro.*</var></dt> + <dd>Enable / Disable HW LRO feature. Defaults to disable. Enabling HW LRO + could cause issues when forwarding is enabled on host.</dd> + <dt id="dev.bnxt.X.fc"><var class="Va">dev.bnxt.X.fc</var></dt> + <dd>Enable / Disable Flow Control feature. Defaults to Enable</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1> +<dl class="Bl-diag"> + <dt>bnxt%d: %s command returned %s error.</dt> + <dd>Device firmware rejected a command from the driver. There might be a + driver/firmware HWRM API mismatch.</dd> + <dt>bnxt%d: Timeout sending %s (timeout: %d) seq %d</dt> + <dd>Device firmware unresponsive. A PCI device reset is likely needed.</dd> + <dt>bnxt%d: Timeout sending %s (timeout: %d) msg {0x%x 0x%x} len:%d v: %d</dt> + <dd>Partial firmware response. A PCI device reset is likely needed. + <p class="Pp">As of this writing, the system must be rebooted to initiate a + PCI device reset.</p> + </dd> +</dl> +</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">vlan(4)</a>, + <a class="Xr">ifconfig(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">bnxt</code> device driver first appeared in + <span class="Ux">FreeBSD 11.1</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">bnxt</code> driver was written by + <span class="An">Jack Vogel</span> + <<a class="Mt" href="mailto:jfvogel@gmail.com">jfvogel@gmail.com</a>> + and <span class="An">Stephen Hurd</span> + <<a class="Mt" href="mailto:shurd@freebsd.org">shurd@freebsd.org</a>>, + and is currently maintained by <span class="An">Broadcom Limited</span> + <<a class="Mt" href="mailto:freebsd.pdl@broadcom.com">freebsd.pdl@broadcom.com</a>>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">December 10, 2025</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
