Chelsio T3 Family 10Gb Ethernet driver RPM packages for cxgb3toe_necpkg.

Supported Linux operating systems
=================================
Redhat Enterprise Linux 4 update 4 (RHEL4.4), 2.6.9-42.EL
Supports the following types of kernels and architectures:
i686 (32-bit): up (single CPU), smp, hugemem
x86_64 (64-bit): up (single CPU), smp, largesmp



Package contents
================
This package contains all available RPM packages for the supported kernel and
architures. The RPM files are located within sub-directories of the top-level
of this package.

CHANGES
CHELSIO-GPG-PUBLIC-KEY
ERRATA
README

<kernelversion>/
  |
  +---- <arch>/
  |
  \---- <arch>/

src/
  |
  \---- <source RPM package>



RPM package naming conventions
==============================
The following naming conventions are applicible to all RPM releases and naming
throughout this document. Released RPM packages are named using the following
convention:

<drivername>_<pkgtype>_<kernelversion>-<driverversion>-<rpmversion>.<arch>.rpm

The source RPM packages are not kernel version or architecture dependent, so
they have a different naming convention:

<drivername>_<pkgtype>-<driverversion>-<rpmversion>.src.rpm



Installing the Chelsio GPG key
==============================
In order to verify the RPM package is authentic, Chelsio provides signed RPM
packages which will verify with the CHELSIO-GPG-PUBLIC-KEY provided in this
package. In order for the RPM to be verified, the GPG key must first be
imported prior to installing any RPM. Use the "rpm" utility to import the GPG
key.
  rpm --import CHELSIO-GPG-PUBLIC-KEY



Installing RPMs
===============
Before installing an RPM, the running kernel version and system architecture
must be identified. The driver RPM packages are precompiled against specific
kernel versions, so the correct version must be installed.

Check the current kernel version using the uname utilty.
  uname -r
Check the current system architecture using the uname utility.
  uname -m

The kernel version is part of the RPM package name, see "RPM package naming
conventions". Install the correct RPM for the running kernel.

Once the architecture and kernel versions are identified and the correct RPM
package file is located, install the RPM using the "rpm" command (as root).
  rpm -ivh cxgb3toe_necpkg_2.6.9-42.EL-1.0.106-1.x86_64.rpm

Before upgrading to a new driver version, it is recommended that the previous
RPM be uninstalled. Use the "rpm" command (as root) to uninstall the package.
  rpm -e cxgb3toe_necpkg-1.0.106-1



Source RPM packages
===================
The RPM package kit normally includes the src.rpm package. This RPM contains
the source code used to build the binary packages as well as a spec file which
can be used to generate RPM images for other kernel versions or architectures.
See the "rpmbuild" and "rpm" manpages for details on building RPM packages.
Normally, this package is not needed unless performing development or
debugging.

Install the source RPM using the "rpm" command.
  rpm -ivh cxgb3toe_necpkg_2.6.9-42.EL

The package will be installed (unless specified differently in rpmrc) to the
/usr/src/redhat directory. The source tarball will be in SOURCES and the spec
file will be in SPECS.

To build an RPM, change to the SPECS directory and run the "rpmbuild" command:
  rpmbuild -bb cxgb3toe.spec

This will generate an RPM package for the current running kernel version and
architecture. It may be necessary to add the "--type i686" flag when compiling
on i686 systems. The RPM package will be generated and placed in the
/usr/src/redhat/RPMS/<arch> directory (unless specified differently in rpmrc).



Installed components
====================
The driver RPM package installs the following components:

cxgb3             - The low level network driver.
t3_tom            - The TCP Offload Module (TOE driver).
toecore           - The TCP Offload Engine core.
/sbin/cxgbtool    - Administrative utility.
/sbin/perftune.sh - Performance tuning script.
/sbin/ifup-local  - Automated script for loading TOE driver and tuning.

The firmware and protocol SRAM files required by the driver are installed in
the /lib/firmware directory.



Firmware Updates
================
The T3 firmware is install on the system, typically /lib/firmware, and the
driver will auto-load the firmware if an update is required.

In the event that the firmware is not installed, or the driver does not locate
the firmware directory, manual firmware update may be necessary.

To manually update the firmware, use cxgbtool:
cxgbtool <iface> loadfw <t3fw-x.x.x.bin>

The firmware version can be verified using ethtool:
ethtool -i <iface>
