|Skip Navigation Links|
|Exit Print View|
|man pages section 7: Device and Network Interfaces Oracle Solaris 11 Information Library|
- Broadcom NetXtreme II 10 Gigabit Ethernet Device Driver
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. NetXtreme II 10 Gigabit devices provide 10/100/1000/10000 Mbps networking interfaces for Copper and 1000/2500/10000 Mbps for Fiber physical interfaces.
The IEEE 802.3 standard specifies an auto-negotiation protocol to automatically select the mode and speed of operation. The PHY device is capable of doing auto-negotiation with the remote-end of the link (Link Partner) and receives the capabilities from the remote end. It selects the Highest Common Denominator mode of operation. It also supports forced-mode of operation where the driver can select desired mode of operation.
There are two facilities by which the administrator can configure each NetXtreme II 10 Gigabit device in the system, the hardware configuration file and the NDD subsystem. The hardware configuration file is located at /kernel/drv/bnxe.conf and contains a list of options that are read when the driver is loaded. The NDD subsystem options are used as a way to modify the device's configuration at runtime. All changes made with the NDD subsystem are lost after device reset or system reboot. The remainder of this section discusses configuration options common to both facilities.Link Speed and Duplex Parameters
The primary way link speed and duplex settings are configured is through the following list of options. Non-zero values turn them on, a value of zero disables them.
When the adv_autoneg_cap option is set to a non-zero value, the remaining options control which capabilities we advertise to the link partner during auto-negotiation. When the adv_autoneg_cap option is set to zero, the driver walks down the list, from the highest speed / duplex option to the lowest, and use the first non-zero option as the speed / duplex setting to force the link with.Flow Control Parameters
Flow control parameters configure the flow control properties of the physical link. The properties are configured through the following list of options. Like the link speed and duplex settings, non-zero values turn them on, a value of zero disables them.
Controls whether or not the flow control properties are auto-negotiated or forced.
Controls whether or not Tx flow control can be configured.
Controls whether or not Rx flow control can be configured.
If Tx flow control is enabled, pause frames are sent to the link partner when Rx resources are low. If Rx flow control is enabled, the hardware automatically stops transmitting if pause frames are received. How Tx and Rx flow control are enabled depends on how the driver is configured. When the autoneg_flow option is non-zero, the flow control capabilities become advertisement settings and theauto-negotiation process dictates what actual flow control settings are used. If the autoneg_flow option is zero, the flow control capabilities specified are still advertised if the link is auto-negotiated, but the actual flow control settings are forced to the specified settings.
This parameter configures checksum calculation tasks to be offloaded to the hardware. If 0 then no checksums are offloaded. If 1 then IPv4 header checksums offloaded for Rx/Tx. If 2 then TCP/UDP/IPv4 header checksums are offloaded for Rx/Tx. The default is 2 (TCP/UDP/IPv4 checksums).
This parameter controls the MTU (Message Tranfer Unit) size of the hardware. Egress Ethernet frames larger than this size is fragmented and ingress Ethernet frames larger than this size is dropped. The valid range is from 60 to 9216 (decimal). The default value is 1500.
These parameters control how many packets can be in-transit within the driver. The greater the number of packets that are allowed to be in-transit, the more memory the driver requires to operate. The valid range is 1 to 32767. The default value is 1280.
These parameters control the threshold of freely available packet descriptors that are allowed to be free before reposting back to the hardware so they can be reused for future packets. The valid range is 0 to the value of rx_descs for Rx and tx_descs for Tx. A freely available packet descriptor is, for Rx a packet that has been received and processing finished, and for Tx a packet that has already been sent. The default value is 1/16 of rx_descs for Rx and tx_descs for Tx.
This parameter gives the administrator the ability to allow the hardware to collect more network events before interrupting the host processor. Interrupt coalescing within the NetXtreme II 10 Gigabit hardware is quite aggressive resulting in great sustained throughput but low latency for interactive traffic. Setting to 1 turns it on and 0 off. Default is off.
These parameters control the packet size threshold, in number of bytes, when packets are double copied before processing. A value of 0 turns off double copies. For Tx a value of 1 means all packets are copied. For Rx a really large value, that is, greater than the mtu, that means all packets are copied. The default is 0 for both Rx and Tx which implies that no copying is ever performed.
The following is a read-only list of capabilities the device is capable of supporting. A value of 1 means the capability is supported. A value of 0 means the capability is not supported.
The auto-negotiation advertisement parameters work exactly as described in the Hardware Capability Parameters section of this man page with the difference that they show what is actually being advertisedMiscellaneous Link Parameters
These parameters show the other phy options.
These parameters show the current status of the physical link.
Shows if the link is up or down.
Shows the current speed of the link.
Shows the current duplex setting of the link.
Shows whether or not TX flow control is enabled.
Shows whether or not RX flow control is enabled.
The following parameters display multiple settings at once. They are intended for convenience.
Shows all the device hardware capabilities
Shows all the capabilities we are advertising or have forced.
The following parameters are used to aid in debugging driver issues. These should be used in conjunction with kstat statistic diagnostics.
Shows the state of all the internal packet descriptor queues.
bnxe character special device.
Configuration file of the bnxe driver.
32-bit i386 driver binary
64-bit i386 driver binary
Revision history of 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 Programmer's Guide