Skip Navigation Links | |
Exit Print View | |
man pages section 7: Device and Network Interfaces Oracle Solaris 11.1 Information Library |
- Broadcom NetXtreme II Gigabit Ethernet Device Driver
/dev/bnx
The bnx Gigabit Ethernet driver is a multi-threaded, loadable, clonable, GLD v3-based STREAMS driver supporting the Data Link Provider Interface, dlpi(7P), over Broadcom NetXtreme II Ethernet controllers, including the BCM5706, BCM5708 and BCM5709 controllers. Driver functions include controller initialization, frame transmit and receive, promiscuous and multicast support and error recovery and reporting.
The cloning, character-special device /dev/bnx is used to access all Broadcom NetXtreme II Ethernet devices installed within the system.
The bnx driver is dependent on /kernel/misc/mac, a loadable kernel module that provides the bnx driver with the DLPI and STREAMS functionality required of a LAN driver.
The values returned by the driver in the DL_INFO_ACK primitive in response to the DL_INFO_REQ are:
Maximum SDU (with jumbo frame) is 9000.
Minimum SDU is 0. The driver pads to 60-byte minimum packet size.
DSLAP address length is 8 bytes.
MAC type is DL_ETHER.
SAP length value is -2, meaning the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.
Version is DL_VERSION_2.
Broadcast address value is Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).
By default, the bnx driver performs auto-negotiation to select the link speed and mode. Link speed and mode can be any of the following:
2500 Mbps, full-duplex (fiber physical interface controller only)
1000 Mbps, full-duplex
100 Mbps, full-duplex
100 Mbps, half-duplex
10 Mbps, full-duplex
10 Mbps, half-duplex
To customize the driver parameters, edit the /kernel/drv/bnx.conf file. The driver properties are:
The adv parameters are advertised to the link partner and include:
adv_autoneg_cap adv_pause_cap adv_2500fdx_cap adv_1000fdx_cap adv_1000hdx_cap adv_100fdx_cap adv_100hdx_cap adv_10fdx_cap adv_10hdx_cap
The driver attempts to auto-negotiate but is restricted to the specified speed. Duplex mode is determined through auto-negotiation.
Forces speed and duplex mode to a fixed value. This value take precedence over others.
Configures link (or instance) to a designated speed. By default, AutoNegotiate (0) is set. The setup is based on the following values:
AutoNegotiate.
10 Mbps speed mode (Copper only).
100 Mbps speed mode (Copper only).
1000 Mbps speed mode (Copper and fiber).
2500 Mbps speed mode (Fiber only).
Configures flow control parameters of a link. The setup is based on the following values:
Tx and Rx flow control are disabled.
Tx flow control is enabled. Pause frames are sent if resource is low, but device does not process Rx Pause Frame.
Only Rx flow control is enabled. If device receives Pause Frame, it stops sending.
Rx and TX flow control are enabled. Pause frames are sent if resource is low. If device receives Pause Frame, it stops sending.
Advertise Rx and TX flow control are enabled and negotiating with link partner. If link AutoNegotiate is not enabled, Tx and Rx Flow Control are disabled.
Configures Jumbo Frame link feature. Valid range for this parameter is 0 to 3800. If value configured is less then 1500, Jumbo Frame feature is disabled.
Configures number of Rx packet descriptor. The valid value is 32 to 1024. More system memory resource is used for larger number of Rx Packet Descriptors. Default value is 500.
Configures number of Rx Host Coalescing Ticks in microseconds. This determines the maximum time interval in which the device generates an interrupt if one or more frames are received. The default value is 25.
Configures number of Tx/Rx Maximum Coalesced Frames parameters. This determines the maximum number of buffer descriptors the device processes before it generates an interrupt. The default value is 16.
Configures number of Tx Host Coalescing Ticks in microseconds. This determines the maximum time interval in which the device generates an interrupt if one or more frames are sent. The default value is 45.
Configures number of Tx Maximum Coalesced Frames parameters. This determines the maximum number of Tx buffer descriptors the device processes before it generates an interrupt. The default value is 80.
Configures number of Rx Host Coalescing Ticks in microseconds during interrupt. This determines the maximum time interval in which the device generates interrupt if one or more frames are received during interrupt handling. The default value is 15.
Configures number of Tx Host Coalescing Ticks in microseconds during interrupt. This determines the maximum time interval in which the device generates an interrupt if one or more frames are received during interrupt handling. The default value is 15.
Configures how often adapter statistics are DMA'd to host memory in microsecond. Default is 1000000.
You can also perform configuration tasks using ndd(1M). For example, to prevent the device bnx1 from advertising gigabit capabilities, do the following as super-user:
# ndd -set /dev/bnx1 adv_1000fdx_cap 0
All capabilities default to enabled and that changing any parameter causes the link to go down while the link partners renegotiate the link speed/duplex. To view current parameters, use ndd-get. In addition, the driver exports the current state, speed, duplex setting and working mode of the link by way of the ndd parameters, which are read only and cannot be changed. For example, to check the state of device bnx0:
# ndd -get /dev/bnx0 link_status 1 # ndd -get /dev/bnx0 link_speed 100 # ndd -get /dev/bnx0 link_duplex 2
The output above indicates that the link is up and running at 100Mbps full-duplex.
Special character device
64-bit ELF Kernel module (x86)
Driver configuration file
See attributes(5) for descriptions of the following attributes:
|
The bnx driver is Committed. The /kernel/drv/bnx.conf configuration file is Uncommitted.
dladm(1M), ndd(1M), attributes(5), streamio(7I), dlpi(7P)
Writing Device Drivers
STREAMS Programming Guide
Network Interfaces Programmer's Guide