FreeBSD Man Pages

BCE(4) FreeBSD Kernel Interfaces Manual BCE(4)
NAMEbce -- Broadcom NetXtreme II (BCM5706/5708/5709/5716) PCI/PCIe Gigabit
Ethernet adapter driver
SYNOPSIS
To compile this driver into the kernel, place the following lines in your
kernel configuration file:
devicemiibusdevicebce
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
if_bce_load="YES"
DESCRIPTION
The bce driver supports Broadcom's NetXtreme II product family, including
the BCM5706, BCM5708, BCM5709 and BCM5716 Ethernet controllers.
The NetXtreme II product family is composed of various Converged NIC (or
CNIC) Ethernet controllers which support a TCP Offload Engine (TOE),
Remote DMA (RDMA), and iSCSI acceleration, in addition to standard L2
Ethernet traffic, all on the same controller.
The following features are supported in the bce driver under FreeBSD:
IP/TCP/UDP checksum offload
Jumbo frames (up to 9022 bytes)
VLAN tag stripping
Interrupt coalescing
10/100/1000Mbps operation in full-duplex mode
10/100Mbps operation in half-duplex mode
The bce driver supports the following media types:
autoselect Enable autoselection of the media type and options. The
user can manually override the autoselected mode by adding
media options to rc.conf(5).
10baseT/UTP Set 10Mbps operation. The ifconfig(8)mediaopt option can
also be used to select either full-duplex or half-duplex
modes.
100baseTX Set 100Mbps (Fast Ethernet) operation. The ifconfig(8)mediaopt option can also be used to select either
full-duplex or half-duplex modes.
1000baseSX Sets 1000Mbps operation. Only full-duplex mode is supported
at this speed.
1000baseT Set 1000baseT operation over twisted pair. Only full-duplex
mode is supported.
2500BaseSX Set 2500Mbps operation. Only full-duplex mode is supported.
The bce driver supports the following media options:
full-duplex Force full duplex operation.
half-duplex Force half duplex operation.
For more information on configuring this device, see ifconfig(8).
HARDWARE
The bce driver provides support for various NICs based on the Broadcom
NetXtreme II family of Gigabit Ethernet controllers, including the fol-
lowing:
+o Broadcom NetXtreme II BCM5706 1000Base-SX
+o Broadcom NetXtreme II BCM5706 1000Base-T
+o Broadcom NetXtreme II BCM5708 1000Base-SX
+o Broadcom NetXtreme II BCM5708 1000Base-T
+o Broadcom NetXtreme II BCM5709 1000Base-SX
+o Broadcom NetXtreme II BCM5709 1000Base-T
+o Broadcom NetXtreme II BCM5716 1000Base-T
+o Dell PowerEdge 1950 integrated BCM5708 NIC
+o Dell PowerEdge 2950 integrated BCM5708 NIC
+o Dell PowerEdge R710 integrated BCM5709 NIC
+o HP NC370F Multifunction Gigabit Server Adapter
+o HP NC370T Multifunction Gigabit Server Adapter
+o HP NC370i Multifunction Gigabit Server Adapter
+o HP NC371i Multifunction Gigabit Server Adapter
+o HP NC373F PCIe Multifunc Giga Server Adapter
+o HP NC373T PCIe Multifunction Gig Server Adapter
+o HP NC373i Multifunction Gigabit Server Adapter
+o HP NC373m Multifunction Gigabit Server Adapter
+o HP NC374m PCIe Multifunction Adapter
+o HP NC380T PCIe DP Multifunc Gig Server Adapter
+o HP NC382T PCIe DP Multifunction Gigabit Server Adapter
+o HP NC382i DP Multifunction Gigabit Server Adapter
+o HP NC382m DP 1GbE Multifunction BL-c Adapter
SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and
loader(8) tunables:
hw.bce.msi_enable
Whether or not MSI support is enabled in the driver. The default
value is 1.
DIAGNOSTICSbce%d:PCImemoryallocationfailed! The driver has encountered a fatal
initialization error.
bce%d:PCImapinterruptfailed! The driver has encountered a fatal ini-
tialization error.
bce%d:Unsupportedcontrollerrevision(%c%d) The driver does not sup-
port the controller revision in use.
bce%d:Controllerinitializationfailed! The driver has encountered a
fatal initialization error.
bce%d:NVRAMtestfailed! The driver could not access the controller
NVRAM correctly.
bce%d:DMAresourceallocationfailed! The driver could not allocate DMA
memory to setup the controllers host memory data structures.
bce%d:Interfaceallocationfailed! The driver could not create a net-
work interface for the controller.
bce%d:PHYprobefailed! The driver could not access the PHY used by the
controller.
bce%d:FailedtosetupIRQ! The driver could not initialize the IRQ han-
dler.
bce%d:Error:PHYreadtimeout! The driver could not read a PHY register
before the timeout period expired.
bce%d:PHYwritetimeout! The driver could not write to the PHY register
because a timeout occurred.
bce%d:TimeouterrorreadingNVRAMatoffset0x%08X! The driver could
not write to NVRAM because a timeout occurred.
bce%d:UnknownFlashNVRAMfound! The driver does not recognize the
NVRAM device being used and therefore cannot access it correctly.
bce%d:InvalidNVRAMmagicvalue! The driver cannot read NVRAM or the
NVRAM is corrupt.
bce%d:InvalidManufacturingInformationNVRAMCRC! The driver cannot
read NVRAM or the NVRAM is corrupt.
bce%d:InvalidFeatureConfigurationInformationNVRAMCRC! The driver
cannot read NVRAM or the NVRAM is corrupt.
bce%d:DMAmappingerror! The driver was unable to map memory into DMA
addressable space required by the controller.
bce%d:CouldnotallocateparentDMAtag! The driver could not allocate
a PCI compatible DMA tag.
bce%d:CouldnotallocatestatusblockDMAtag! The driver could not
allocate a DMA tag for the controller's status block.
bce%d:CouldnotallocatestatusblockDMAmemory! The driver could not
allocate DMA addressable memory for the controller's status block.
bce_d:CouldnotmapstatusblockDMAmemory! The driver could not map
the status block memory into the controller's DMA address space.
bce%d:CouldnotallocatestatisticsblockDMAtag! The driver could not
allocate a DMA tag for the controller's statistics block.
bce%d:CouldnotallocatestatisticsblockDMAmemory! The driver could
not allocate DMA addressable memory for the controller's statistics
block.
bce%d:CouldnotmapstatisticsblockDMAmemory! The driver could not
map the statistics block memory into the controller's DMA address space.
bce%d:CouldnotallocateTXdescriptorchainDMAtag! The driver could
not allocate a DMA tag for the controller's TX chain.
bce%d:CouldnotallocateTXdescriptorchainDMAmemory! The driver
could not allocate DMA addressable memory for the controller's TX chain.
bce%d:CouldnotmapTXdescriptorchainDMAmemory! The driver could
not map the TX descriptor chain memory into the controller's DMA address
space.
bce%d:CouldnotallocateTXmbufDMAtag! The driver could not allocate
a DMA tag for the controller's TX mbuf memory.
bce%d:UnabletocreateTXmbufDMAmap! The driver could not map the TX
mbuf memory into the controller's DMA address space.
bce%d:CouldnotallocateRXdescriptorchainDMAtag! The driver could
not allocate a DMA tag for the controller's RX chain.
bce%d:CouldnotallocateRXdescriptorchain The driver could not
allocate DMA addressable memory for the controller's RX chain.
bce%d:CouldnotmapRXdescriptorchainDMAmemory! The driver could
not map the RX descriptor chain memory into the controller's DMA address
space.
bce%d:CouldnotallocateRXmbufDMAtag! The driver could not allocate
a DMA tag for the controller's RX mbuf memory.
bce%d:UnabletocreateRXmbufDMAmap! The driver could not map the RX
mbuf memory into the controller's DMA address space.
bce%d:Firmwaresynchronizationtimeout! The driver was not able to syn-
chronize with the firmware running on the controller. The firmware may
be stopped or hung.
bce%d:InvalidEthernetaddress! The driver was not able to read a valid
Ethernet MAC address from NVRAM.
bce%d:Resetfailed! The driver has encountered a fatal initialization
error.
bce%d:Byteswapisincorrect! The driver has encountered a fatal ini-
tialization error. Contact the author with details of the CPU architec-
ture and system chipset in use.
bce%d:Firmwaredidnotcompleteinitialization! The driver has encoun-
tered a fatal initialization error.
bce%d:Bootcodenotrunning! The driver has encountered a fatal initial-
ization error.
bce%d:ErrormappingmbufintoRXchain! The driver could not map a RX
mbuf into DMA addressable memory.
bce%d:ErrorfillingRXchain:rx_bd[0x%04X]! The driver was unable to
allocate enough mbufs to fill the RX chain during initialization. Try
increasing the number of mbufs available in the system, increase system
memory, or if using jumbo frames, make sure enough 9KB mbufs are avail-
able.
bce%d:Failedtoallocatenewmbuf,incomingframedropped! The driver
was unable to allocate a new mbuf for the RX chain and reused the mbuf
for the received frame, dropping the incoming frame in the process. Try
increasing the number of mbufs available in the system or increase system
memory.
bce%d:Controllerresetfailed! A fatal initialization error has
occurred.
bce%d:Controllerinitializationfailed! A fatal initialization error
has occurred.
bce%d:Blockinitializationfailed! A fatal initialization error has
occurred.
bce%d:ErrormappingmbufintoTXchain! The driver could not map a TX
mbuf into DMA addressable memory.
bce%d:Errorregisteringpollfunction! The driver received an error
while attempting to register the poll function.
bce%d:ChangingVLAN_MTUnotsupported. Changing the VLAN MTU is not
currently supported by the driver.
bce%d:CannotchangeVLAN_HWTAGGINGwhilemanagementfirmware(ASF/IPMI/UMP)isrunning! Management firmware to support ASF/IPMI/UMP
requires that VLAN tag stripping be enabled in the controller.
bce%d:ChangingVLAN_HWTAGGINGnotsupported! Disabling VLAN tag strip-
ping is not currently supported by the driver.
bce%d:Watchdogtimeoutoccurred,resetting! The device has stopped
responding to the network, there is a problem with the cable connection,
or a driver logic problem has occurred..
bce%d:Fatalattentiondetected:0x%08X! A controller hardware failure
has occurred. If the problem continues replace the controller.
SEE ALSOaltq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4),
ifconfig(8)HISTORY
The bce device driver first appeared in FreeBSD 6.1.
AUTHORS
The bce driver was written by David Christensen <davidch@broadcom.com>.
FreeBSD 10.2 October 7, 2009 FreeBSD 10.2