The bnxe Ethernet driver is a multi-threaded, loadable, clonable, GLDv3-based driver supporting the Data Link Provider Interface, dlpi(7P), 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.
The primary methods of configuration are via modification of the /kernel/drv/bnxe.conf file or execution of the dladm(1M) 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(1M) 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 NAME bnxe - bnxe driver status SYNOPSIS [ addr ] ::bnxe [ -i # ] [ -a | -b | -r | -l | -c # | -f ] DESCRIPTION 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
32-bit i386 driver binary
64-bit i386 driver binary
SPARC driver binary
32-bit i386 debugger module
64-bit i386 debugger module
SPARC debugger module
Revision history of the driver
README guide for the driver
See attributes(5) for descriptions of the following attributes:
Broadcom NetXtreme II 10 Gigabit Adapter Driver Installation Notes
Writing Device Drivers
STREAMS Programming Guide
Network Interfaces Guide