Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

bnxe(4D)

Name

bnxe - Broadcom NetXtreme II 10 Gigabit Ethernet Device Driver

Synopsis

/dev/bnxe*

Description

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.

Debugging

kstat

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

kmdb

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

Files

/dev/bnx[instance]

bnxe character special device

/kernel/drv/bnxe.conf

Driver configuration file

/kernel/drv/amd64/bnxe

x86 kernel module

/kernel/drv/sparcv9/bnxe

SPARC kernel module

/kernel/kmdb/amd64/bnxe

x86 debugger module

/kernel/kmdb/sparcv9/bnxe

SPARC debugger module

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
driver/network/ethernet/bnxe
Architecture
x86

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