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

FreeBSD Manual Pages

  
 
  

home | help
BNXT(4)			    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:

          Broadcom BCM57301 NetXtreme-C 10Gb Ethernet Controller
          Broadcom BCM57302 NetXtreme-C 10Gb/25Gb Ethernet Controller
          Broadcom BCM57304  NetXtreme-C  10Gb/25Gb/40Gb/50Gb	Ethernet  Con-
	   troller
          Broadcom BCM57304 NetXtreme-C Ethernet Virtual Function
          Broadcom BCM57314 NetXtreme-C Ethernet Virtual Function
          Broadcom BCM57402 NetXtreme-E 10Gb Ethernet Controller
          Broadcom BCM57402 NetXtreme-E Ethernet Partition
          Broadcom BCM57404 NetXtreme-E 10Gb/25Gb Ethernet Controller
          Broadcom BCM57404 NetXtreme-E Ethernet Virtual Function
          Broadcom BCM57404 NetXtreme-E Partition
          Broadcom BCM57406 NetXtreme-E 10GBASE-T Ethernet Controller
          Broadcom BCM57406 NetXtreme-E Partition
          Broadcom BCM57407 NetXtreme-E 10GBase-T Ethernet Controller
          Broadcom BCM57407 NetXtreme-E 25Gb Ethernet Controller
          Broadcom BCM57407 NetXtreme-E Partition
          Broadcom BCM57412 NetXtreme-E Partition
          Broadcom BCM57414 NetXtreme-E Ethernet Virtual Function
          Broadcom BCM57414 NetXtreme-E Partition
          Broadcom BCM57416 NetXtreme-E Partition
          Broadcom BCM57417 NetXtreme-E Ethernet Partition
          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
	       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.

       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 sup-
	       port.  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 num-
	       ber 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.   En-
	       abling  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  com-
       mand  from  the driver.	There might be a driver/firmware HWRM API mis-
       match.

       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  de-
       vice 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.2			August 18, 2020			       BNXT(4)

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+14.0-RELEASE+and+Ports>

home | help