table of contents
BXE(4) | Device Drivers Manual | BXE(4) |
NAME¶
bxe
—
QLogic NetXtreme II Ethernet 10Gb PCIe adapter
driver
SYNOPSIS¶
To compile this driver into the kernel, place the following lines in your kernel configuration file:device bxe
if_bxe_load="YES"
DESCRIPTION¶
Thebxe
driver provides support for PCIe 10Gb
Ethernet adapters based on the QLogic NetXtreme II family of 10Gb chips. The
driver supports Jumbo Frames, VLAN tagging, checksum offload (IPv4, TCP, UDP,
IPv6-TCP, IPv6-UDP), MSI-X interrupts, TCP Segmentation Offload (TSO), Large
Receive Offload (LRO), and Receive Side Scaling (RSS).
HARDWARE¶
Thebxe
driver provides support for various
NICs based on the QLogic NetXtreme II family of 10Gb Ethernet controller
chips, including the following:
- QLogic NetXtreme II BCM57710 10Gb
- QLogic NetXtreme II BCM57711 10Gb
- QLogic NetXtreme II BCM57711E 10Gb
- QLogic NetXtreme II BCM57712 10Gb
- QLogic NetXtreme II BCM57712-MF 10Gb
- QLogic NetXtreme II BCM57800 10Gb
- QLogic NetXtreme II BCM57800-MF 10Gb
- QLogic NetXtreme II BCM57810 10Gb
- QLogic NetXtreme II BCM57810-MF 10Gb
- QLogic NetXtreme II BCM57840 10Gb / 20Gb
- QLogic NetXtreme II BCM57840-MF 10Gb
CONFIGURATION¶
There a number of configuration parameters that can be set to tweak the driver's behavior. These parameters can be set via the loader.conf(5) file to take affect during the next system boot. The following parameters affect ALL instances of the driver.- hw.bxe.debug
- DEFAULT = 0
- hw.bxe.interrupt_mode
- DEFAULT = 2
- hw.bxe.queue_count
- DEFAULT = 4
- hw.bxe.max_rx_bufs
- DEFAULT = 0
- hw.bxe.hc_rx_ticks
- DEFAULT = 25
- hw.bxe.hc_tx_ticks
- DEFAULT = 50
- hw.bxe.rx_budget
- DEFAULT = 0xffffffff
- hw.bxe.max_aggregation_size
- DEFAULT = 32768
- hw.bxe.mrrs
- DEFAULT = -1
- hw.bxe.autogreeen
- DEFAULT = 0
- hw.bxe.udp_rss
- DEFAULT = 0
# netstat -m # sysctl kern.ipc.nmbclusters # sysctl kern.ipc.nmbclusters=<#>
- dev.bxe.#.debug
- DEFAULT = 0
- dev.bxe.#.rx_budget
- DEFAULT = 0xffffffff
- MTU - Maximum Transmission Unit
- DEFAULT = 1500
- Promiscuous Mode
- DEFAULT = OFF
- Rx/Tx Checksum Offload
- DEFAULT = RX/TX CSUM ON
- TSO - TCP Segmentation Offload
- DEFAULT = ON
- LRO - TCP Large Receive Offload
- DEFAULT = ON
DIAGNOSTICS AND DEBUGGING¶
There are many statistics exposed bybxe
via
sysctl(8).
To dump the default driver configuration:
# sysctl -a | grep hw.bxe
# sysctl -a | grep dev.bxe
# sysctl -a | grep dev.bxe.#
# sysctl -a | grep dev.bxe.#.queue
# sysctl -a | grep dev.bxe.#.queue.#
bxe
driver has the ability to dump a ton
of debug messages to the system log. The default level of logging can be set
with the hw.bxe.debug
sysctl(8). Take care with this setting as it can
result in too many logs being dumped. Since this parameter is the default one,
it affects every instance and will dramatically change the timing in the
driver. A better alternative to aid in debugging is to dynamically change the
debug level of a specific instance with the
dev.bxe.#.debug
sysctl(8). This allows you to turn on/off logging
of various debug groups on-the-fly.
The different debug groups that can be toggled are:
DBG_LOAD 0x00000001 /* load and unload */ DBG_INTR 0x00000002 /* interrupt handling */ DBG_SP 0x00000004 /* slowpath handling */ DBG_STATS 0x00000008 /* stats updates */ DBG_TX 0x00000010 /* packet transmit */ DBG_RX 0x00000020 /* packet receive */ DBG_PHY 0x00000040 /* phy/link handling */ DBG_IOCTL 0x00000080 /* ioctl handling */ DBG_MBUF 0x00000100 /* dumping mbuf info */ DBG_REGS 0x00000200 /* register access */ DBG_LRO 0x00000400 /* lro processing */ DBG_ASSERT 0x80000000 /* debug assert */ DBG_ALL 0xFFFFFFFF /* flying monkeys */
# sysctl dev.bxe.0.debug=0x22
# sysctl dev.bxe.0.debug=0
SUPPORT¶
For support questions please contact your QLogic approved reseller or QLogic Technical Support at http://support.qlogic.com, or by E-mail at ⟨support@qlogic.com⟩.SEE ALSO¶
netstat(1), altq(4), arp(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)HISTORY¶
Thebxe
device driver first appeared in
FreeBSD 9.0.
AUTHORS¶
Thebxe
driver was written by
Eric Davis
⟨edavis@broadcom.com⟩,
David Christensen ⟨davidch@broadcom.com⟩, and
Gary Zambrano ⟨zambrano@broadcom.com⟩.
April 29, 2012 | Debian |