FILE NAME: basplnx-2.0.5-1.src.rpm TITLE: Compaq Tested and Approved Network Teaming Driver VERSION: 2.0.5 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Mainstream Servers PRODUCTS AFFECTED: Compaq NC67xx Gigabit Server Adapter Compaq NC77xx Gigabit Server Adapter OPERATING SYSTEM: Red Hat Linux 7.1 Red Hat Linux 7.2 SuSE SLES 7 Caldera 3.1 PREREQUISITES: N/A EFFECTIVE DATE: November 30, 2001 SUPERSEDES: N/A, First time release DESCRIPTION: This RPM Package Manager contains the Compaq Tested and Approved basplnx Linux intermediate teaming driver for use with the bcm5700 network deivces. ENHANCEMENTS/FIXES: N/A, First time release HOW TO USE: Table of Contents ================= 1 - Overview 2 - Install - RPM package 3 - Team Configuration Sample Files 4 - Red Hat 7.1 & 7.2 Notes 5 - SuSE SLES 7 Notes 6 - Caldera 3.1 Notes 7 - Configuration Script Variables and Definitions 8 - Uninstall - RPM package 9 - Limitations 1. Overview =========== The bcm5700 Advanced Server Program for Linux (also referred to as BASP) is a kernel module designed to team Compaq NCX7XX Server adapters into one virtual interface providing load balancing, fault-tolerance, and VLAN tagging. A team can consist of 1 to 8 adapters. Each interface can be designated PRIMARY or STANDBY. All PRIMARY adapters will participate in load balancing operations by sending and receiving a portion of the total traffic. STANDBY interfaces take over only in the event that all PRIMARY interfaces have lost their links or have failed. The bcm5700 Advanced Server Program for Linux supports two modes, Smart Load-Balance (SLB) and Generic Trunking. SLB mode works with all Ethernet switches and does not require configuring the switch to any special trunking mode. Generic trunking requires an Ethernet switch capable of supporting such technology and must be properly configured. Generic trunking is protocol-independent and requires that all adapters be set to PRIMARY. Compaq has tested and approved the bcm5700 Advanced Server Program for Linux with Red Hat 7.1, 7.2, SuSE SLES 7 and Caldera 3.1. The following installation procedures work with these Linux distributions. Minimal test has been done on other Linux distributions, however, the bcm5700 Advanced Server Program for Linux is designed to work on Linux 2.2.X and 2.4.X kernels. Before installing the teaming module bcm5700 Advanced Server Program for Linux, make sure all Compaq NC67XX/NC77XX Server Adapters work with the base driver bcm5700. Once you have verified that all adapters are functioning and compatible with the bcm5700 you can remove the current network setting and proceed with the installation procedures below. Also insure that the Compaq Server has the latest system ROM. 2. Install - RPM package ======================== 1) Install the RPM source package. > rpm -ivh basplnx-{version}.src.{arch}.rpm 2) Change directory to the RPM path and build the binary driver for the kernel. Note that the RPM path is different for different Linux distributions. > cd /usr/src/{redhat, packages, OpenLinux} > rpm -bb SPECS/basplnx.spec 3) Install the newly built package > rpm -ivh RPMS/i386/basplnx-{version}.{arch}.rpm NOTE - When installing on Caldera 3.1, warnings will be displayed for chkconfig not being found and various modules not being an ELF file type. These are expected and can be ignored. The bcm5700 Advanced Server Program for Linux is installed in the /etc/rc.d/init.d directory. This script will be executed at runlevel 2, 3, 4 and 5. When "basp" is run, it will search the /etc/basp directory to list all the files with "team-" prefix, and then it will invoke the "baspteam" script to add or delete the teams. It is required that each "team-*" file in /etc/basp represents 1 team. 3. Team Configuration Sample Files ================================== Installing the bcm5700 Advanced Server Program for Linux will create three sample files in the /etc/basp/sample directory. The sample file names are "team-sample", "team-gec" and "team-vlan". The configuration process involves the following steps: 1) Copy one configuration script from the "/etc/basp/samples" directory to the "/etc/basp" directory. Note the configuration script must be prefixed with "team-". 2) Modify the configuration script for the appropriate network environment. See the notes section below and the Configuration Scripts Variables and Definitions section for more information. 3) Once the configuration scripts are configured, skip to either the Red Hat, SuSE or Caldera installation section below to finish installation. Notes: -SLB teams require at lease one PRIMARY adapter. -Generic Trunking teams require all adapters to be PRIMARY mode adapters. -Forming multiple teams is possible by copying the sample files into the "/etc/basp/team-" directory and modifying the file name to be distinctive as well as modifying the file information as described in the sample file. -Each team should have a distinctive file name. Example: "team-zero" and "team-one" -Each team should have a distinctive team name, "TEAM_NAME". Example: "TeamZero" and "TeamOne" -Each team should have a distinctive team identification number, "TEAM_ID". Example: "0" and "1" -Each team should have a distinctive virtual name, "TEAM_VA0_NAME". Example: "sw0" and "sw1" team-sample This script contains a SLB team configuration with 3 NICs: eth0, eth1 and eth2. The team name is "TeamSample". All 3 NICs are primary. One virtual interface is also created for this team and the name of the virtual interface is "sw0". "sw0" is the device that "ifconfig" should be run against to set up the IP address. VLANs are not enabled in this script. team-gec This configuration script creates a GEC team with 3 network interfaces, eth0, eth1 and eth2. The team name is "TeamGEC". All 3 NICs are primary. One virtual interface is added to the team with the name "sw0" and VLANs are not enabled. team-vlan This configuration script creates a VLAN team with 3 network interfaces, eth0, eth1 and eth2. The team name is "vlan". All 3 NICs are primary. Two virtual interfaces are added to the team with the names "sw0" and "sw1". The second interface is on vlan "1". The following is a correction for the team-vlan sample script for multiple vlan tagging: FROM: # 1st virtual interface in the team TEAM_VA0_NAME=sw0 TEAM_VA0_VLAN=0 # 2nd virtual interface in the team TEAM_VA0_NAME=sw1 TEAM_VA0_VLAN=1 TO: # 1st virtual interface in the team TEAM_VA0_NAME=sw0 TEAM_VA0_VLAN=100 # 2nd virtual interface in the team TEAM_VA1_NAME=sw1 TEAM_VA1_VLAN=200 Sample files: "team-sample", "team-gec" and "team-vlan" are intended to be customized for each team. This script should be copied to /etc/basp directory and retain the "team-" prefix. 4. Red Hat 7.1 and 7.2 Notes ============================ The following error message may be seen upon starting the team for the first time: >/etc/rc.d/init.d/basp start Adding BASP team [OK] Starting BASP team [FAILED] Activate the virtual network interface by entering the following command: >ifconfig xxx.xxx.xxx.xxx up Now check and see if the team is up by typing: >ifconfig or >baspcfg show By default, the bcm5700 Advanced Server Program for Linux will start with each and every boot (Red Hat only). To check and see if the BASP service is set to start at boot-up, type the following command: > chkconfig --list | grep basp To add or remove BASP services use the following commands, respectively: > chkconfig --add basp > chkconfig --del basp 5. SuSE SLES 7 Notes ==================== The bcm5700 Advanced Server Program for Linux services do not start automatically at boot, which requires a manual startup each and every time. Step #1 and #2 are onetime configurations, but step #3 is required at each and every server boot. 1) To ensure that the bcm5700 driver is initialized at boot up add the team name and bcm5700 to the /etc/modules.conf file. For simplicity assume the team virtual interface name is sw0. The following should be added to the file: alias sw0 bcm5700 If more than one team is using the same simple naming convention then the "modules.conf" file should look similar to the example below. Also note that to add bcm5700 values to the adapters (such as jumbo frames) then the values should correspond so that the first value is for eth0, the second for eth1, the third for eth2. In other words, if there are six adapters they should have six values. alias sw0 bcm5700 alias sw1 bcm5700 alias sw2 bcm5700 options bcm5700 = 2) Use SuSE's YAST to insert the teams correct configuration. Type "yast" at the command line. Select the "System Administration" option. Select the "Network Configuration" option. Select the "Network Base Configuration" option. Next, configure the team's name, startup option and IP configuration. Type "f6" to get into the IP configuration tool. Configure the IP address for the team. For simplicity, supply a IP address of "xxx.xxx.xxx.xxx" and a team name of "sw0". Enter the IP address "xxx.xxx.xxx.xxx" and a netmask "xxx.xxx.xxx.xxx". Exit back to the previous screen. Now type "f5" to configure the "Device Name". Select "". Once there, type in the team's name, "sw0". Save and exit to the previous screen. Now type "f4" to "Active" the team at boot. An "X" will appear in the "Activation" box next to the team just configured. 3) The following commands are required for each and every boot. After booting, please type the two following commands. > /etc/rc.d/init.d/basp start The following nessage will be displayed: Adding BASP team [OK] Starting BASP team [FAILED] Enter the following command for each team. > ifconfig xxx.xxx.xxx.xxx up Now check and see if the team is up by typing: > ifconfig or > baspcfg show 6. Caldera 3.1 Notes ==================== The bcm5700 Advanced Server Program for Linux services do not start automatically at boot. 1) The following commands are required for each and every boot! After booting, please type the two following commands. > /etc/rc.d/init.d/basp start The following nessage will be displayed: Adding BASP team [OK] Starting BASP team [FAILED] Enter the following command for each team. > ifconfig xxx.xxx.xxx.xxx up Now check and see if the team is up by typing: > ifconfig or > baspcfg show 7. Configuration Script Variables and Definitions ================================================== The sample files: "team-sample", "team-gec" and "team-vlan" are configuration scripts that follow the syntax listed below. TEAM_ID: this number uniquely identifies a team. TEAM_TYPE: 0 = SLB, 1 = Generic Trunking/GEC/FEC TEAM_NAME: ascii name of the team TEAM_PAx_NAME: ascii name of the physical interface x, where x can be 0 to 7. TEAM_PAx_ROLE: role of the physical interface x 0 = Primary, 1 = Standby. This field must be 0 for Generic Trunking/GEC/FEC team. TEAM_VAx_NAME: ascii name of the virtual interface x, where x can be 0 to 63 TEAM_VAx_VLAN: 802.1Q VLAN ID of the virtual interface x. For untagged virtual interface, i.e. without VLAN enable, set it to 0. The valid VLAN ID can be 0 to 4094. 8. Uninstall - RPM package =========================== To uninstall the basp rpm package: > rpm -e basplnx 9. Limitations ================== 1) The following error message may be seen when running the "basp" init script: > ./etc/rc.d/init.d/basp start Adding BASP team [OK] Starting BASP team [FAILED] To activate the virtual network interface, enter the following command: > ifconfig sw0 xxx.xxx.xxx.xxx up The above command can be added into a startup script to start the virtual interface automatically. 2) Always assign static IP address to the virtual network interfaces. Copyright 2000-2001, Compaq Computer Corporation. All rights reserved. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies