|
NAMEbxe —
QLogic NetXtreme II Ethernet 10Gb PCIe adapter driver
SYNOPSISTo compile this driver into the kernel, place the following lines in your kernel configuration file:device bxe Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): if_bxe_load="YES" DESCRIPTIONThebxe 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).
HARDWAREThebxe driver provides support for various NICs based
on the QLogic NetXtreme II family of 10Gb Ethernet controller chips, including
the following:
CONFIGURATIONThere 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.
Special care must be taken when modifying the number of queues and receive buffers. FreeBSD imposes a limit on the maximum number of mbuf(9) allocations. If buffer allocations fail, the interface initialization will fail and the interface will not be usable. The driver does not make a best effort for buffer allocations. It is an all or nothing effort. You can tweak the mbuf(9) allocation limit using sysctl(8) and view the current usage with netstat(1) as follows: # netstat -m # sysctl kern.ipc.nmbclusters # sysctl kern.ipc.nmbclusters=<#> There are additional configuration parameters that can be set on a per-instance basis to dynamically override the default configuration. The '#' below must be replaced with the driver instance / interface unit number:
Additional items can be configured using ifconfig(8):
DIAGNOSTICS AND DEBUGGINGThere are many statistics exposed bybxe via
sysctl(8).
To dump the default driver configuration: # sysctl -a | grep hw.bxe To dump every instance's configuration and detailed statistics: # sysctl -a | grep dev.bxe To dump information for a single instance (replace the '#' with the driver instance / interface unit number): # sysctl -a | grep dev.bxe.# To dump information for all the queues of a single instance: # sysctl -a | grep dev.bxe.#.queue To dump information for a single queue of a single instance (replace the additional '#' with the queue number): # sysctl -a | grep dev.bxe.#.queue.# The 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 */ For example, to debug an issue in the receive path on bxe0: # sysctl dev.bxe.0.debug=0x22 When finished turn the logging back off: # sysctl dev.bxe.0.debug=0 SUPPORTFor 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 ALSOnetstat(1), altq(4), arp(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)HISTORYThebxe device driver first appeared in
FreeBSD 9.0.
AUTHORSThebxe driver was written by Eric
Davis
<edavis@broadcom.com>,
David Christensen <davidch@broadcom.com>, and Gary Zambrano <zambrano@broadcom.com>.
Visit the GSP FreeBSD Man Page Interface. |