Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BNXT(4)		       FreeBSD Kernel Interfaces Manual		       BNXT(4)

NAME
     bnxt -- Broadcom NetXtreme-C/NetXtreme-E Family Ethernet driver

SYNOPSIS
     To	compile	this driver into the kernel, place the following lines in your
     kernel configuration file:

	   device iflib
	   device bnxt

     Alternatively, to load the	driver as a module at boot time, place the
     following line in loader.conf(5):

	   if_bnxt_load="YES"

DESCRIPTION
     The bnxt driver provides support for various NICs based on	the Broadcom
     BCM57301/2/4, and BCM57402/4/6 Ethernet controller	chips.

     For more information on configuring this device, see ifconfig(8).

HARDWARE
     The bnxt driver provides support for various NICs based on	the Broadcom
     NetXtreme-C and NetXtreme-E families of Gigabit Ethernet controller
     chips, including the following:

     o	 Broadcom BCM57301 NetXtreme-C 10Gb Ethernet Controller
     o	 Broadcom BCM57302 NetXtreme-C 10Gb/25Gb Ethernet Controller
     o	 Broadcom BCM57304 NetXtreme-C 10Gb/25Gb/40Gb/50Gb Ethernet Controller
     o	 Broadcom BCM57304 NetXtreme-C Ethernet	Virtual	Function
     o	 Broadcom BCM57314 NetXtreme-C Ethernet	Virtual	Function
     o	 Broadcom BCM57402 NetXtreme-E 10Gb Ethernet Controller
     o	 Broadcom BCM57402 NetXtreme-E Ethernet	Partition
     o	 Broadcom BCM57404 NetXtreme-E 10Gb/25Gb Ethernet Controller
     o	 Broadcom BCM57404 NetXtreme-E Ethernet	Virtual	Function
     o	 Broadcom BCM57404 NetXtreme-E Partition
     o	 Broadcom BCM57406 NetXtreme-E 10GBASE-T Ethernet Controller
     o	 Broadcom BCM57406 NetXtreme-E Partition
     o	 Broadcom BCM57407 NetXtreme-E 10GBase-T Ethernet Controller
     o	 Broadcom BCM57407 NetXtreme-E 25Gb Ethernet Controller
     o	 Broadcom BCM57407 NetXtreme-E Partition
     o	 Broadcom BCM57412 NetXtreme-E Partition
     o	 Broadcom BCM57414 NetXtreme-E Ethernet	Virtual	Function
     o	 Broadcom BCM57414 NetXtreme-E Partition
     o	 Broadcom BCM57416 NetXtreme-E Partition
     o	 Broadcom BCM57417 NetXtreme-E Ethernet	Partition
     o	 Broadcom BCM57454 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet

SYSCTL VARIABLES
     These variables must be set before	loading	the driver, either via
     loader.conf(5) or through the use of kenv(1).  These are provided by the
     iflib(4) framework, and might be better documented	there.

     dev.bnxt.X.iflib.override_nrxds
	     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.

     dev.bnxt.X.iflib.override_ntxds
	     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 respec-
	     tively.  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.

     dev.bnxt.X.iflib.override_qs_enable
	     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.

     dev.bnxt.X.iflib.override_nrxqs
	     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.

     dev.bnxt.X.iflib.override_ntxqs
	     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.

     These sysctl(8) variables can be changed at any time:

     dev.bnxt.X.vlan_only
	     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.

     dev.bnxt.X.vlan_strip
	     When non-zero the NIC strips VLAN tags on receive.	 Defaults to
	     0.

     dev.bnxt.X.rx_stall
	     Enable buffering rather than dropping frames when there are no
	     available host RX buffers for DMA.	 Defaults to 0.

     dev.bnxt.X.rss_type
	     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.

     dev.bnxt.X.rss_key
	     Current RSS key.  Defaults	to a randomly generated	value which is
	     generated for each	device during attach.

     dev.bnxt.X.ver.hwrm_min_ver
	     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.

     These sysctl(8) variables are read-only:

     dev.bnxt.X.if_name
	     Current interface name of the device.  This will normally be
	     bnxtX, but	this can be changed using ifconfig name.  This sysctl
	     allows correlating	an interface with a child of dev.bnxt.

     dev.bnxt.X.nvram.*
	     Information about the NVRAM device	which contains the device
	     firmware.

     dev.bnxt.X.ver.*
	     Version-related information about the device and firmware:

     dev.bnxt.X.ver.hwrm_if
	     Supported HWRM API	version	of the currently running firmware.

     dev.bnxt.X.ver.driver_hwrm_if
	     HWRM API version the driver was built to support.

     dev.bnxt.X.hwstats.*
	     Per-queue statistics tracked by the hardware.

     dev.bnxt.X.hwstats.port_stats.*
	     Per-port statistics tracked by the	hardware.

     dev.bnxt.X.hwstats.rxq0.drop_pkts
	     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.

     dev.bnxt.X.hwstats.rxq0.tpa_*
	     statistics	related	to HW LRO.

     dev.bnxt.X.hw_lro.*
	     Enable / Disable HW LRO feature.  Defaults	to disable.  Enabling
	     HW	LRO could cause	issues when forwarding is enabled on host.

     dev.bnxt.X.fc
	     Enable / Disable Flow Control feature.  Defaults to Enable

DIAGNOSTICS
     bnxt%d: %s	command	returned %s error.  Device firmware rejected a command
     from the driver.  There might be a	driver/firmware	HWRM API mismatch.

     bnxt%d: Timeout sending %s	(timeout: %d) seq %d  Device firmware unre-
     sponsive.	A PCI device reset is likely needed.

     bnxt%d: Timeout sending %s	(timeout: %d) msg {0x%x	0x%x} len:%d v:	%d
     Partial firmware response.	 A PCI device reset is likely needed.

     As	of this	writing, the system must be rebooted to	initiate a PCI device
     reset.

SEE ALSO
     altq(4), arp(4), iflib(4),	netintro(4), ng_ether(4), vlan(4), ifconfig(8)

HISTORY
     The bnxt device driver first appeared in FreeBSD 11.1.

AUTHORS
     The bnxt driver was written by Jack Vogel <jfvogel@gmail.com> and Stephen
     Hurd <shurd@freebsd.org>, and is currently	maintained by Broadcom Limited
     <freebsd.pdl@broadcom.com>.

FreeBSD	13.0			August 18, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | HARDWARE | SYSCTL VARIABLES | DIAGNOSTICS | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bnxt&sektion=4&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help