BCM5700(4) BCM5700(4) NAME bcm5700 - Broadcom NetXtreme BCM5700 series Gigabit Ether- net device driver SYNOPSIS insmod bcm5700.o [line_speed=_____] [auto_speed=_____] [full_duplex=_____] [rx_flow_control=_____] [tx_flow_control=_____] [auto_flow_control=_____] [mtu=_____] [tx_checksum=_____] [rx_checksum=_____] [scatter_gather=_____] [tx_pkt_desc_cnt=_____] [rx_std_desc_cnt=_____] [rx_jumbo_desc_cnt=_____] [rx_adaptive_coalesce=_____] [rx_coalesce_ticks=_____] [rx_max_coalesce_frames=_____] [tx_coalesce_ticks=_____] [tx_max_coalesce_frames=_____] [stats_coa- lesce_ticks=_____] [enable_wol=_____] DESCRIPTION _______ is the lowlevel device driver for the Broadcom NetXtreme BCM5700 series PCI/PCIX Gigabit Ethernet NIC. The driver has been tested on most 2.2.x and 2.4.x kernels for i386 and IA64 systems. It supports up to 16 NICs and allocates the next available ethernet device (eth0..eth#) for each NIC found. The driver is available as a loadable module or can be compiled into the kernel. The loadable module binary bcm5700.o is installed in the following path: 2.2.x kernels: /lib/modules//net/bcm5700.o 2.4.x kernels: /lib/modules//ker- nel/drivers/net/bcm5700.o 2.4.x kernels with bcm5700 driver patched in (e.g. Red Hat 7.1, 7.2): /lib/modules//ker- nel/drivers/net/bcm/bcm5700.o Refer to other Linux documentations on how to configure network protocol and address. PARAMETERS Optional parameters for the driver can be supplied as com- mand line arguments to the insmod command. These parame- ters can also be set in the file /etc/modules.conf (see the man page for modules.conf). These parameters take the form =n1[,n2,...] where the multiple values n1,n2,... are for multiple NICs installed in the system. Note that default or other meaningful values will be used when invalid values are selected. Some combinations of parameters may conflict and lead to failures. The driver cannot detect all such conflicting combinations. All the parameters are listed below. line_speed Selects the line speed of the link. This parameter is used together with full_duplex and auto_speed to select the speed and duplexity of the link and the setting of autonegotiation. The valid values are: 0 Autonegotiate for highest speed supported by link partner (default) 10 10 Mbps 100 100 Mbps 1000 1000 Mbps If line_speed is set to 10, 100, or 1000, the NIC will autonegotiate for the selected speed (and selected duplexity) if auto_speed is set to 1. If auto_speed is set to 0, the selected speed and duplexity will be set without autonegotiation. Note that 1000 Mbps must be negotiated for copper twisted pair links. auto_speed Enables or disables autonegotiation. The valid val- ues are: 0 Autonegotiation disabled 1 Autonegotiation enabled (default) Note that this parameter is ignored and assumed 1 if line_speed is set to 0. full_duplex Selects the duplexity of the link. This paramter is used together with line_speed to select the speed and duplexity of the link. Note that this parameter is ignored if line_speed is 0. The valid values are: 0 half duplex 1 full duplex (default) rx_flow_control Enables or disables receiving flow control (pause) frames. This parameter is used together with auto_flow_control. The valid values are: 0 pause receive disabled (default) 1 pause receive enabled if auto_flow_control is set to 0, or pause receive advertised if auto_flow_control is set to 1 tx_flow_control Enables or disables transmitting flow control (pause) frames. This parameter is used together with auto_flow_control. The valid values are: 0 pause transmit disabled (default) 1 pause transmit enabled if auto_flow_control is set to 0, or pause transmit advertised if auto_flow_control is set to 1 auto_flow_control Enables or disables autonegotiation of flow con- trol. This parameter is used together with rx_flow_control and tx_flow_control to determine the advertised flow control capability. The valid values are: 0 flow control autonegotiation disabled (default) 1 flow control autonegotiation enabled with capability specified in rx_flow_control and tx_flow_control (only valid if line_speed is set to 0 or auto_speed is set to 1) mtu Enables jumbo frames up to the specified MTU size. The valid range is from 1500 to 9000. Default is 1500. Note that the MTU size excludes the ethernet header size of 14 bytes. Actual frame size is MTU size + 14 bytes. tx_checksum Enables or disables hardware transmit TCP/UDP checksum. The valid values are: 0 checksum disabled 1 checksum enabled (default) rx_checksum Enables or disables hardware receive TCP/UDP check- sum validation. The valid values are: 0 checksum disabled 1 checksum enabled (default) scatter_gather Enables or disables scattergather and 64bit DMA on x86. This option is only useful when running on TUXenabled kernels or newer kernels with zerocopy TCP. The valid values are: 0 scattergather and 64bit DMA on x86 disabled 1 scattergather and 64bit DMA on x86 enabled (default) tx_pkt_desc_cnt Configures the number of transmit descriptors. Default is 100. The valid range is from 1 to 600. Note that the driver may not be able to allocate the required amount of memory if this parameter is set too high. rx_std_desc_cnt Configures the number of receive descriptors for standard frames. Default is 200. The valid range is from 1 to 800. This parameter should not be set less than 80 on systems with high network traffic. Setting this parameter higher allows the NIC to buffer larger bursts of network traffic without dropping frames, especially on slower systems. Note that the driver may not be able to allocate the required amount of memory if this parameter is set too high. rx_jumbo_desc_cnt Configures the number of receive descriptors for jumbo frames larger than 1528 bytes. Default is 128 and valid range is from 1 to 255. When jumbo frames larger than 1528 bytes are used, this param- eter should not be set lower than 60 on systems with high network traffic. Setting this parameter higher allows the NIC to buffer larger bursts of jumbo traffic without dropping frames, especially on slower systems. Note that each descriptor requires a buffer the size of a maximum jumbo frame. On systems with insufficient memory, it may be necessary to reduce this parameter. When the maximum frame size is less than 1528 (mtu parameter less than 1514), this parameter is not used and is always 0. rx_adaptive_coalesce Enables or disables adaptive adjustments to the receive coalescing parameters. Enabling it allows the driver to dynamically adjust the receive coa- lescing parameters to achieve high throughput dur- ing heavy traffic and low latency during light traffic. rx_std_desc_cnt (and rx_jumbo_desc_cnt if using jumbo frames) should not be set much lower than the default value if this parameter is enabled. The valid values are: 0 disabled 1 enabled (default) rx_coalesce_ticks Configures the number of 1 usec ticks before the NIC generates receive interrupt after receiving a frame. This parameter works in conjunction with the rx_max_coalesce_frames parameter. Interrupt will be generated when either of these thresholds is exceeded. 0 means this parameter is ignored and interrupt will be generated when the rx_max_coa- lesce_frames threshold is reached. The valid range is from 0 to 500, and default is 100. This parame- ter is not used and will be adjusted automatically if rx_adaptive_coalesce is set to 1. rx_max_coalesce_frames Configures the number of received frames before the NIC generates receive interrupt. The valid range is from 0 to 100, and default is 10. This parameter and rx_coalesce_ticks cannot be both 0, otherwise no receive interrupts will be generated. It should also be set significantly lower than rx_std_desc_cnt (and rx_jumbo_desc_cnt if using jumbo frames). This parameter is not used and will be adjusted automatically if rx_adaptive_coalesce is set to 1. tx_coalesce_ticks Configures the number of 1 usec ticks before the NIC generates transmit interrupt after transmitting a frame. This parameter works in conjunction with the tx_max_coalesce_frames parameter. Interrupt will be generated when either of these thresholds is exceeded. 0 means this parameter is ignored and interrupt will be generated when the tx_max_coa- lesce_frames threshold is reached. The valid range is from 0 to 500, and default is 500. tx_max_coalesce_frames Configures the number of transmitted frames before the NIC generates transmit interrupt. The valid range is from 0 to 100, and default is 75. This parameter and tx_coalesce_ticks cannot be both 0, otherwise no transmit completion interrupts will be generated. This parameter should always be set lower than tx_pkt_desc_cnt. stats_coalesce_ticks Configures the number of 1 usec ticks between peri- odic statistics block DMAs. The valid range is from 0 to 3600000000, and default is 1000000 (1 sec.). Set to 0 to disable statistics updates. This param- eter is not used and will be set to default if rx_adaptive_coalesce is set to 1. enable_wol Enables or disables magic packet WakeOnLAN when the system is shutdown. Note that not all systems sup- port WakeOnLAN. The valid values are: 0 magic packet WakeOnLAN disabled (default) 1 magic packet WakeOnLAN enabled FILES ___________________________ Detailed statistics and configuration file. AUTHOR Michael Chan - mchan@broadcom.com SEE ALSO ifconfig(8), insmod(8), modules.conf(5). Broadcom Corporation 08/18/01 BCM5700(4)