FILE NAME: basplnx-3.0.13-1.src.i386.rpm TITLE: Compaq Tested and Approved bcm5700 Advanced Server Program (basp) for Linux VERSION: 3.0.13 LANGUAGE: English CATEGORY: Software Solutions DIVISIONS: Systems PRODUCTS AFFECTED: Compaq NC6770 Gigabit Server Adapter Compaq NC7760 Gigabit Server Adapter Compaq NC7770 Gigabit Server Adapter Compaq NC7771 Gigabit Server Adapter Compaq NC7780 Gigabit Server Adapter Compaq NC7781 Gigabit Server Adapter OPERATING SYSTEM: Red Hat Linux 7.3 Professional ( 32-bit ) Red Hat Linux Advanced Server 2.1 ( 32-bit ) SuSE Linux Enterprise Server 7 (SLES-7) ( 32-bit ) PREREQUISITES: Compaq NC67XX/NC77XX Gigabit Server Adapters Network device driver bcm5700.o version 2.2.23 Kernel source tree installed and setup Pentium-based computer 128Mb RAM minimum Root or Super user mode Latest ROM on the Compaq Server Note: Please visit the following URL to upgrade the ROM http://www.compaq.com/support/files EFFECTIVE DATE: 07/16/2002 SUPERSEDES: basplnx-2.0.5-1a.src.rpm DESCRIPTION: This RPM Package Manager contains the Compaq Tested and Approved basplnx Linux teaming driver for use with Compaq NC67XX/NC77XX Gigabit Server Adapters. ENHANCEMENTS/FIXES: Documentation enhancements Table of Contents ================= Introduction Overview Packaging Installing Source RPM Package Team Configuration and Sample Scripts Variables and Definitions Uninstall BASPLNX Limitations Introduction ============ This file describes the Linux teaming driver for the Compaq NC67XX/NC77xx Gigabit Server Adapters. Additional information can be found in the MAN page for basp and in the RELEASE.TXT file after installation. For Red Hat: /usr/share/doc/basplnx-3.0.13/release.txt For SuSE: /usr/share/doc/packages/basplnx/release.txt User guides and additional Compaq Network Adapter information can be found at: http://www.compaq.com/support/networking/nics/index.html Overview ======== The bcm5700 Advanced Server Program for Linux (BASP) is a kernel module designed to team Compaq NC67XX/NC77XX Gigabit Server Adapters into one virtual network interface. BASP provides fault tolerance, load balancing and the option to create VLAN tagging. A BASP team supports from 1 to 8 adapters and provides two modes of teaming, SLB and GEC. Smart Load Balance (SLB) works with all switches and does not require manual switch configuration. The Generic Trunking mode (GEC) requires a switch capable of supporting Fast EtherChannel (FEC), Gigabit EtherChannel (GEC) or 802.3ad. This mode, GEC, requires switch configuration. Note: please don't confuse the GEC team mode with the GEC switch technology. Each adapter in a BASP team is designated as either PRIMARY or HOT-STANDBY. All PRIMARY adapters participate in load balancing operations while HOT-STANDBY adapters participate only in the event that all PRIMARY adapters have lost their links or have failed. GEC teams require all adapters be designated as PRIMARY adapters. Before installing the BASP teaming module make sure all Compaq NC67XX/NC77XX Gigabit Server Adapters work independently with the base driver bcm5700. When BASP starts all current network settings are replaced. BASP uses the configuration supplied in a user defined "team-*" file to over-write previously defined network settings for bcm5700 eth# adapters. Packaging ========= The driver is released in a source RPM format. The file name for the package is basplnx-.src.i386.rpm and is dependent on kernel source code. Installing Source RPM package ============================= Before installing BASP make sure that all Compaq NC67XX/NC77XX Gigabit Server Adapter(s) are configured and that the network is up and running. If at least one stand alone adapter has not been configured with the bcm5700 driver, please install and configure all stand alone adapter(s) according to the RELEASE.TXT notes supplied with the bcm5700 driver. Then proceed with the steps listed below. BASP requires that at least one network adapter is up and running as a stand alone adapter. The reason for this is, BASP over-rides all stand alone adapters with the configuration specified in the "team-*" file. If the network is not up and running before BASP starts, then BASP would not have active adapters to over-ride and then team. Please ensure that at least one bcm5700 eth# adapters is up at this time. To do so use the following command. # ifconfig 1. Install the RPM source package. # rpm -ivh basplnx-{version}.src.i386.rpm 2. Change to the following directory and build the binary RPM for the BASP teaming driver. # cd /usr/src/{redhat,packages} # rpm -bb SPECS/basplnx.spec Note: If an error is encountered while building the driver or this directory doesn't exist, please refer to the RELEASE.TXT file supplied with the latest bcm5700 driver. Please refer to "Kernel Source Code Setup" section. 3. Install the new binary RPM package. This installs the teaming driver and man page. If an older version of the basplnx package exists on the system, please remove the older package and install this version. A check can be made for the existence of a previous version and remove it if applicable. To verify the old teaming driver exists. # rpm -q basplnx If an old version of the package exists the RPM package should be removed first and then the loaded BASP module should be removed. Note: removing BASP does not remove the user modified "team-*" files. # rpm -e basplnx # rmmod basp Verify that the old teaming driver has been removed as follows: # rpm -q basplnx The new driver can be installed with: # rpm -ivh RPMS/i386/basplnx-{version}.i386.rpm 4. Follow the "Team configuration and Sample Scripts" section below to set up the team's configuration script(s). Note: Each team script file needs the "team-" prefix. If more than one team exists then each team needs a distinct team configuration script. Example: if the first team has a file name of "team-one", then the second team file could be named "team-two". 5. SuSE users only! Red Hat users can skip to step 6. Starting BASP after the network services start ensures that all active stand alone adapters, as designated in the "team-*" file(s), are correctly teamed and networked correctly. After installing basplnx By default, on SuSE installations, the BASP services are configured to start before the network services. To start BASP after the network services, the following changes need to be made. First, verify the current run mode. # runlevel The current run level should be either 3 or 5. Change to the respective /etc/rc.d/rc#.d directory. Note: rc3.d and rc5.d is for run level 3 and 5, respectively. Now issue the linux "mv" command to start BASP after the nework services start. # mv S04basp S06basp The network services are set as "S05network". Changing basp from 4 to 6 ensures basp starts after network services are started. Please ensure that the "S" in S06basp is upper-case and the "0" is the number zero. Please note that at a later time, if the basplnx rpm package is to be removed, the above step has to be reversed before removing the package. Please do the following before removing the package # mv S06basp S04basp 6. To test the teams setup, manually start the team for the first time. Red Hat users: # /etc/rc.d/init.d/basp start SuSE users: # /etc/rc.d/basp start Note: This step is not required after reboot. During the installation, BASP was configured to start on each reboot. After the network starts, BASP will start and utilize the "team-*" files to over-write all eth# network configurations associated with the "team-*" file(s). Check the team status by typing one or more of the following commands: # ifconfig # baspcfg show 7. After the desired team-script file(s) is/are copied and configured, you should be able to reboot the system. The bcm5700 Advanced Server Program for Linux is installed in the /etc/rc.d/init.d directory for Red Hat and /etc/rc.d directory for SuSE. This script will be executed at runlevel 2, 3, 4 and 5. When "basp" is run, it will search the /etc/basp directory for all the files with "team-" prefix, and then invoke the "baspteam" script to start the teams. Team Configuration and Sample Scripts ===================================== Installing basplnx package will create three sample files in the /etc/basp/sample directory. The sample file names are "team-sample", "team-gec" and "team-vlan". The team configuration process involves the following steps: 1. Copy one of configuration scripts from the "/etc/basp/samples" directory to the "/etc/basp" directory. Note the configuration script must have the "team-" prefix. 2. Modify the configuration script for the appropriate network environment. a) change the team id b) change the team type c) change the team name d) add/delete physical adapter e) change the physical adapter's role f) add/delete virtual adapter g) add/delete tagged vlan h) assign IP address to the virtual adapter i) assign the netmask to the virtual adapter Notes: 1) SLB teams require at least one PRIMARY Adapter. 2) GEC teams require all adapters to be set as PRIMARY Adapters. 3) Forming multiple teams is possible by copying the sample files into the "/etc/basp" directory and modifying the file name to be unique as well as modifying the file information as described in the sample files. 4) Each team should have a unique file name. Example: "team-zero" and "team-one" 5) Each team should have a unique team name, "TEAM_NAME". Example: "TeamZero" and "TeamOne" 6) Each team should have a unique team identification number, "TEAM_ID". Example: "0" and "1" 7) Each team should have a unique virtual adapter 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". Since the vlan value equals 0 this team is not configured for tagged vlans. 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". VLANs are not enabled. since the vlan value equals 0 this team is not configured for tagged vlans. team-vlan This configuration script creates a tagged 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 a tagged vlan of "1". Note: "vlan" equal to 0 is not a tagged vlan. Sample files: "team-sample", "team-gec" and "team-vlan" are intended to be customized for each team. The desired script should be copied to /etc/basp directory and retain the "team-" prefix. 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 adapter x, where x can be 0 to 7. TEAM_PAx_ROLE: role of the physical adapter x. 0 = Primary, 1 = Standby. This field must be 0 for Generic Trunking (GEC) team mode. TEAM_VAx_NAME: ascii name of the virtual adapter x, where x can be 0 to 63 TEAM_VAx_VLAN: 802.1Q VLAN ID of the virtual adapter x. Valid VLAN ID's can be 0 to 4094. For untagged virtual interface, set this field to equal to 0. TEAM_VAx_IP: IP address of the virtual interface x. Set the IP address in the format XXX.XXX.XXX.XXX TEAM_VAx_NETMASK: Subnet mask of the virtual interface x. Set the Netmask in the format XXX.XXX.XXX.XXX Uninstall BASPLNX ================= To uninstall the basp rpm package, remove the RPM package first then the loaded module BASP. Note: removing the rpm package does not erase the user configured "team-*" files. # rpm -e basplnx # rmmod basp Limitations =========== 1. DHCP address problem It has been identified that there is an incompatibility between SLB and IP address obtained via DHCP. It has been observed that the virtual network interface loses the IP address after running for a period of time. To solve this problem, always assign static IP address to the virtual network interfaces. 2. To avoid fail-over issues when using BASP, make sure that spanning tree is disabled on the switch to which the network adapter is connected. 3. The baspcfg commands i.e "baspcfg show" can only be executed in Super User mode. Using other login modes will produce the following error message: "Error in communicating to BASP module: Is it loaded?". 4. To help facilitate trouble shooting team startup failures, manually stop the services before trying a new configuration. Then issue the start command after configuration. Red Hat users: # /etc/rc.d/init.d/basp stop # /etc/rc.d/init.d/basp start SuSE users: # /etc/rc.d/basp stop # /etc/rc.d/basp start Compaq Computer Corporation, Copyright 2000-2002. All rights reserved. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies