release.txt Driver File Contents (LnX.exe)

                  ===========================
                  R E L E A S E    N O T E S
                  ===========================

          Broadcom Advanced Server Program (BASP) Driver
                     for Linux 2.2 kernel
                        Version 1.1.12

            Copyright (c) 2000-2001 Broadcom Corporation
                     All rights reserved.
                         Feb. 1, 2001

Table of Contents
-----------------
    Overview
    Limitation
    Install - TAR archive
    Install - RPM package
    Files
    Configuration
    baspcfg
    Startup scripts
    Configuration scripts
    Uninstall - RPM package
    Removal of physical interface in Generic Trunking mode
    Logs

Overview
--------
BASP is a kernel module designed for the Linux 2.2 kernel that provides
load-balancing, fault-tolerance, and VLAN features. These features
are provided by creating teams that consist of multiple NIC interfaces.
A team can consist of 1 to 8 NIC interfaces and each interface can be
designated primary or standby. All primary NICs in a team will participate
in Load-balancing operations by sending and receiving a portion of the
total traffic. Standby interfaces will take over in the event that all
primary interfaces have lost their links. VLANs can be added to a team
to allow multiple VLANs with different VLAN IDs. A virtual network interface
is created for each VLAN added.

BASP supports Smart Load-balance, SLB<tm> and Generic trunking. 
SLB mode works with all Ethernet switches without configuring the switch
ports to any special trunking mode. Only IP traffic will be load-balanced
in both inbound and outbound directions. The Generic trunking mode requires
the Ethernet switch to support the technology and to be properly configured. 
This mode is protocol-independent and all traffic should be load-balanced 
and fault-tolerant.

BASP is available in two packaging formats: TAR archive and RPM. Both
packages include the exact same source files.

Limitation
----------
BASP has been tested on Redhat 6.2 and Redhat 7.0. The following installation
procedures work with the aforementioned distributions. Minor modification 
may be required to install BASP on other Linux distribution.

VLANs are only supported by the Broadcom 5700 Gigabit Network adapter. As 
opposed to VLANs support in other platforms, VLANs are not supported by 
Alteon Acenic driver (acenic.c).

Install - TAR archive
---------------------
Note: Building the BASP driver requires that the Linux kernel source tree
      is installed and properly configured. The kernel source tree
      configuration must match that of the running kernel. 

To uncompress and expand the tar archive, run

    % tar xvfz basplnx-{version}.tgz

The installation process involves the following steps:

(1) Configure the major device number for BASP configuration. The default
    major number is 254 and it can be changed by editing "Makefile" and
    replacing "BLF_DEVICE_MAJOR=254" with "BLF_DEVICE_MAJOR=xxx". Note that
    "xxx" is the new major device number. To determine whether or not 
    major device number 254 is available, read the file /proc/devices.

(2) To build kernel module, "basp.o",

    % make

    Note that the Make process will automatically build the correct module 
    for different kernel configuration, e.g. symbol versioning and 
    SMP support. There is NO need to define -DMODVERSIONS in the Makefile.

(3) To create device file and to copy files,

    % make install

(4) To update the module reference,

    % depmod -a

(5) To load the driver,

    % insmod basp

(6) Follow the instructions in the Configuration section to set up the teams.


Install - RPM package
---------------------
Note: Building the BASP driver requires that the Linux kernel source tree
      is installed and properly configured. The kernel source tree
      configuration must match that of the running kernel. 

Note: The RPM installation will create a device (/dev/basp) with major
      device number 254. If you already have a device with major device
      number 254, follow the instructions for installing from the TAR
      archives. To determine whether or not major device number 254 is in
      use, read the file /proc/devices.

Complete the following steps to install BASP from the RPM package.

(1) To install the RPM source package, run

    % rpm -i basplnx-{version}.src.rpm

(2) Change directory to the RPM path and build the binary driver,

    % cd /usr/src/{redhat, OpenLinux, turbo, ...}
    % rpm -bb SPECS/basplnx.spec

    Note that the RPM path is different for different Linux distributions.

(3) Install the newly built package

    % rpm -i RPMS/i386/basplnx-{version}.i386.rpm

    The driver and other required files will be installed.

(4) To load the driver,

    % insmod basp

(5) Follow the instructions in the Configuration section to set up the teams.


Files
-----
    Makefile                    makefile
    baspcfg                     precompiled configuration utility
    bcmtype.h                   commonly use type header file
    blf.c                       BASP module entry points
    blf.h                       ioctl interface
    blfcore.h                   core interface
    blfcore.o                   pre-compiled core object
    blfopt.h                    automatic generated header file by Make
    blfver.h                    version header file
    nicext.h                    header file
    pal.c                       platform abstraction implementation
    pal.h                       header for paltform abstraction
    release.txt                 this file
    scripts                     contains sample scripts
    scripts/basp                init script, goes to /etc/rc.d/init.d
    scripts/baspteam            start/stop script, goes to /etc/basp
    scripts/baspif              start/stop network i/f, goes to /etc/basp
    scripts/team-sample         sample script of SLB team with 3 NICs
    scripts/team-gec            sample script of GEC team with 3 NICs

Configuration
-------------
The BASP distribution includes an utility program and several scripts for
team configuration. The configuration process involves the following steps:

(1) Copy a configuration script from the "/etc/basp/samples" directory to
    the "/etc/basp" directory. Note that the configuration script must be 
    prefixed with "team-". For example,

    % cp /etc/basp/samples/team-gec /etc/basp/team-MyTeam

(2) Modify the configuration script to create the desired configuration.
    The syntax of the configuration script can be found in the Configuration
    script section. This step usually involves

    (a) change the team ID, which must be unique in the system.
    (b) change the team type.
    (c) change the team name.
    (d) add/delete physical network interfaces.
    (e) add/delete virtual network interfaces.

(3) Manually start the team for the first time,

    % /etc/rc.d/init.d/basp start

(4) Run "netcfg" to configure the IP addresses of the virtual and physical
    network interfaces. Note that "netcfg" is a X-Window GUI for 
    configuring the network interfaces. Other tools may be available to 
    perform the same function.

    A. From the "Network Configurator" window, select the "Interfaces" tab.
 
    B. For each virtual and physical interface belonging to the BASP teams, 
       select the interface and click the "Edit" button.

    C. At the "Edit Ethernet/Bus Interface" window, assign IP address and
       netmask. For the physical interfaces only, select the "Activate
       interface at boot time". Click "Done" button to finish editing.

    D. After finish editing all the desired interfaces, click the "Save" 
       button at the "Network Configurator" window to committ the changes.

Note-1) Starting the team manually is only required for the first time, 
        and the teams will be started automatically in subsequent reboots.

Note-2) Forming multiple teams is possible by copying the sample files 
        into "/etc/basp/team-<name>" and modifying this file as 
        described in the sample file.

Note-3) In order to create more than one virtual interface (VLAN) for 
        each team, refer to the respective description section in the
        sample files.

Note-4) The IP addresses assigned to the physical interfaces are only
        place-holders. These addresses will not be active on the network,
        but are necessary to allow the physical interafces to start 
        properly. The physical interfaces should be enabled so that they 
        will start when the networking sub-system is started.

(5) Manually stop the BASP teams,

    % /etc/rc.d/init.d/basp stop

(6) Manually restart the networking sub-system and the BASP teams:

    % /etc/rc.d/init.d/network restart
    % /etc/rc.d/init.d/basp start

baspcfg
-------
"baspcfg" is a command line tool to configure the BASP teams, add/remove
NICs and add/remove virtual devices. Changes made with "baspcfg" are not
persistent. Any changes made with "baspcfg" will be lost the next time
BASP is restarted or the server is rebooted.

The following describes the usage of this tool:

baspcfg v1.1.12  - Broadcom Advanced Server Program Configuration Utility
Copyright (c) 2000-2001 Broadcom Corporation. All rights reserved.
usage: baspcfg <commands>
commands:
    addteam <tid> <type> <tname>    -- create a team
    delteam <tid>                   -- delete a team
    addva   <tid> <vlan_id> <vname> [macaddr]
                                    -- add a virtual adapter to a team
    delva   <tid> <vlan_id>         -- del a virtual adapter from a team
    bind    <tid> <role> <device>   -- bind a physical adapter to a team
    unbind  <tid> <device>          -- unbind a physical adapter from a team
    show    [tid]                   -- display team configurations
where
    tid      -- An unique ID for each Team, starting from 0
    type     -- Team type: 0=SLB, 1=FEC/GEC
    tname    -- ASCII string of the team
    vlan_id  -- VLAN ID: from 1 to 4094, 0=untagged or no VLAN
    vname    -- ASCII string of the virtual device
    macaddr  -- MAC address (optional), e.g. 00:10:18:00:11:44
    role     -- Role of the physical device: 0=primary, 1=hot-standby
    device   -- ASCII string of the physical device, e.g. eth0

Startup scripts
---------------
(1) basp
This script is intended to be installed in /etc/rc.d/init.d directory.
After copying the script, run "chkconfig --add basp". 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 "baspteam" script to add or delete the teams. It
is normal that each "team-*" file in /etc/basp represents 1 team.

(2) baspteam
This script is called by "basp" script to add or delete a team. 
To install, create "/etc/basp" directory and copy this script over. 

To manually add a team:

    % baspteam team-sample add

To delete a team:

    % baspteam team-sample del

Note that "team-sample" is the configuration script.

(3) 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.

This script and "team-gec" are intended to be customized. Refer to the 
configuration scripts section for details. This script should be copied
to /etc/basp directory and retain the "team-" prefix.

(4) 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.

This script and "team-sample" are intended to be customized. Refer to the 
configuration scripts section for details. This script should be copied
to /etc/basp directory and retain the "team-" prefix.

Configuration scripts
---------------------
Both "team-sample" and "team-gec" are configuration scripts that follow
the same syntax, as following

    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 = Hot-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.

Uninstall - RPM package
-----------------------
To uninstall RPM package, 

    % rpm -e basplnx-{version}.i386.rpm

and to reboot the system,

    % reboot

Removal of physical interface in Generic Trunking mode
------------------------------------------------------
In Generic Trunking mode, all the physical and virtual interfaces 
belonging to a team have the same MAC address. This MAC address is the same
address as that of the first physical interface bound to the team. In 
the case that this first physical interface is removed dynamically from 
the team using "baspcfg" and then bound to the protocol directly, 
this could lead to a duplicate MAC address problem on the network. 
Note that if the removed physical interface does not participate in 
any traffic, there will not be any problem.

To properly remove a physical interface in a Generic Trunking team, follow
the steps listed below:

(1) Backup the original team configuration script

    % cp /etc/basp/team-gec /etc/basp/backup-gec

Note-1) "team-gec" is the name of the configuration script.

Note-2) "backup-gec" is the name of the backup script. The name of the
        backup script must NOT be prefixed with "team-".

(2) Modify the team configuration script to remove the physical interface

(3) Stop the running team

    % /etc/basp/baspif /etc/basp/backup-gec stop
    % /etc/basp/baspteam /etc/basp/backup-gec del

(4) Re-start the team again
    
    % /etc/basp/baspteam /etc/basp/team-gec add
    % /etc/basp/baspif /etc/basp/team-gec start

Logs
----
v1.1.12
- Updated the release note.
v1.1.11
- Fixed the problem of adding the same virtual interface twice.
- Correctly attribute packet counters to the correct virtual interfaces
  when VLAN is enabled.
v1.1.10
- Fixed the problem that invalid VLAN can be added but not removed.
- Add removing of BASP teams in RPM de-installation.
- Added usage and argument checking to basp script.
- Fixed the problem that init script fails with multiple teams.
- Fixed the problem in switching runlevels.
v1.1.9
- Enhanced RPM packaging support.
- Changed "basp" script to run at priority 11, which is right after
  "network" script.
- Automatically detect the presence of "kgcc" and use "kgcc" to get
  around Redhat 7.0 compiler problem.
- Added "baspif" script to start and stop network interfaces.
v1.1.8
- Added RPM packaging.
v1.1.7
- Fixed failure of server originated ping with VLAN enable.
- Fixed loss of network connection under heavy traffic on SMP system.
v1.1.6
- Changed both module and device name to "basp.o" and "/dev/basp" 
  respectively for consistency.
- Added startup scripts.
- Enhanced Generic Trunking support by automatically programing the MAC
  addresses.
- Addressed VLAN deletion issue.
v1.1.5
- Fixed Generic Trunking problem.
- Improved error messages in runing baspcfg utility.
- Added Generic Trunking sample script.
v1.1.4
- Added "show" command in baspcfg to display team configurations and status.
- Improved module build process for MODVERSIONS and SMP kernel.
- Display module build options in syslog during module load time.
- Display blfcore.o version during module loading time.
- Major changes in Makefiles to improve the build process.
- Improved build documentation.
- Changed to new baspcfg usage to the release.txt.
- Added documentation to describe how to install NICE patched drivers.
v1.1.3
- Fixed pal_read_mii() function.
v1.1.2
- Fixed linux/if.h dependency problem which prevented BASP from detecting
  NICE supported driver on older kernels.



Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.00