Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022



bnxe - Broadcom NetXtreme II 10 Gigabit Ethernet Device Driver




The bnxe Ethernet driver is a multi-threaded, loadable, clonable, GLDv3-based driver supporting the Data Link Provider Interface, dlpi(4P), over Broadcom NetXtreme II 10 Gigabit Ethernet controllers. Multiple NetXtreme II controllers installed within the system are supported by the driver.

The bnxe driver provides basic support for the NetXtreme II 10 Gigabit line of devices. Functions include chip initialization, frame transit and receive, multicast and promiscuous support, and error recovery and reporting. These devices provide 10/100/1000/2500/10000 Mbps networking interfaces.

Driver Configuration

The primary methods of configuration are via modification of the /kernel/drv/bnxe.conf file or execution of the dladm(8) utility. There are many configuration items available and all are thoroughly documented in the /kernel/drv/bnxe.conf file. For changes to this file to take effect, the driver must be reloaded or the system rebooted. To reload the driver with new configuration changes, all bnxe interfaces must be first unplumbed and then the update_drv(8) utility must be executed. For the configuration items that do not require a driver reload, the dladm utility can be used to dynamically change the option.



There are many statistics exposed via kstat by bnxe. The main groups are:

  • intr for interrupts statistics

  • l2chip for layer 2 chip statistics

  • l2driver for layer 2 driver statistics

  • l2stats for general layer 2 statistics

  • link for detailed link status

  • mac for GLDv3 MAC layer statistics

  • rxq# for Rx ring statistics

  • txq# for Tx ring statistics

  • stats for general driver statistics and version information

To obtain a list of all the individual statistics in these groups, run:

% kstat -m bnxe -i 0 -l


There is an MDB module for bnxe that offers a much deeper level of debugging information in comparison to kstat. Depending on how kmdb(1) is initiated the bnxe module might or might not be automatically loaded. If not then is must be loaded manually.

> ::load /kernel/kmdb/amd64/bnxe
> ::help bnxe

  bnxe - bnxe driver status

  [ addr ] ::bnxe [ -i # ] [ -a | -b | -r | -l | -c # | -f ]

  addr::  dev_info address ('::devbindings -q bnxe')
  -i #    driver instance # (instead of 'addr::')
  -a      show all (basic, interrupts, all chains, fcoe)
  -b      basic status (default)
  -r      interrupt status
  -l      mutex locks status
  -c #    status for chain # (-1 for all chains)
  -f      fcoe status



bnxe character special device


Driver configuration file


x86 kernel module


SPARC kernel module


x86 debugger module


SPARC debugger module


See attributes(7) for descriptions of the following attributes:


See Also

kmdb(1), gld(4D), dlpi(4P), driver.conf(5), attributes(7), dladm(8), ifconfig(8), netstat(8), update_drv(8)

Broadcom NetXtreme II 10 Gigabit Adapter Driver Installation Notes

Writing Device Drivers in Oracle Solaris 11.4

STREAMS Programming Guide

Network Interfaces Guide