AMD PCNet-Fast PCI driver with Fast EtherChannel Support

PCNet PCI driver (pnt2) supports the AMD PCNet-FAST adapter under SCO UnixWare 7.0. The driver also supports Cisco Fast EtherChannel configuration for this adapter. It replaces the original AMD pnt driver.

NOTE: NOTE: PNT2 driver can not be used together with the old PNT driver. New driver should be used for all AMD PCNet network adapters!

Fast Ether Channel Driver Configuration

To configure the driver for normal use, please use the netcfg(1M) utility in the normal way to configure your networking driver and protocols. For Fast EtherChannel configuration, you need to use a specific procedure described below to properly configure it.

Fast EtherChannel is a specification developed by several companies to support several links between the server and the switch. Communication between the server and specific client follows the same physical, although, server may use different links to talk to different clients, so total network bandwidth may be increased significantly. The reliability is also increased due to the "failover" feature which automatically redirects traffic from the bad link to the working link.

A group of adapters, constituting a single logical channel is called a trunk. The operating systems is not aware of all the adapters in a trunk and can see only one device in a group which is called trunk master - this is the device configured by the netcfg(1M) utility. All other adapters in the trunk share the same MAC address and are called slave devices.

All trunk master devices should be properly configured with netcfg(1M). Slave devices are attached to corresponding master devices during system boot time using information specified in trunk configuration file /etc/etherchannel/ethertrunk.conf. At boot time system startup scripts convert the file into the Resource Manager Database records. Upon loading, the pnt driver will read the information in the "trunk" records of the database and build appropriate EtherChannel configuration. All EtherChannel configuration is done in terms of PCI slots used by PCNet cards.

Due to a bug in the netcfg implementation, specific steps should be performed to configure systems with several PCNet-fast adapters.

  1. Use netcfg(1M) to configure trunk master device.
  2. Run the command
    resmgr | grep 10222000
    to see all available PCNet cards in the system. The 3-d entry from the end will be PCI slot number and the first entry will be resource database key.
  3. Use
    resmgr -r -k <key>
    command to remove each entry not configured by netcfg.
  4. Run the command
    /etc/conf/bin/idconfupdate
    to permanently save resource manager information.
  5. Edit the file /etc/etherchannel/etherchannel.conf and put a list of devices (including master and all slaves) for each trunk. A sample file called /etc/etherchannel/etherchannel.conf.sample is provided as an example.
  6. Reboot the system.
  7. Use resmgr(1M) utility to check your configuration.
  8. Configure Switch to support Fast EtherChannel configuration. Note, that for Cisco switches you need to disable Spanning Tree Protocol on the ports, used for the trunk. Refer to switch documentation for details.
  9. Reboot the system. The file /etc/.osm should reflect current trunk configuration.

Link Status Indication

When any trunks are configured, the driver will use syslog(3G)(1M) facility to log information about links going up and down. The driver will only detect status of used links. It will not show the status change of any link that is not currently in use by a driver.

ethertruck.conf Configuration File Format

The configuration of Fast EtherChannel groups is specified in the file /etc/etherchannel/ethertrunk.conf. The sample configuration file /etc/etherchannel/ethertrunk.conf.sample is provided for references.

This file contains description of each trunk, one per line. Each line consist of pairs of the type keyword = value, searated by semicolons. Lines started with hash sign or semicolon are treated as comments. Recognized keywords are:

trunk:
An integer, specifying trunk number. It is required keyword. Trunks should be enumerated from 0 to the maximum of 8.
name:
A string, specifying trunk name.
slot:
An Integer, specifying the PCI slot number of the adapter to be included in the trunk. All slots should be specified on the same line. All specified slots will be gathered in one Fast EtherChannel trunk.

Example configuration file:

# Example entries. Do not use as is - edit for your hardware configuration!
# Define two trunks, two cards in each.
# One trunk has cards in PCI slots 5 and 9, another trunk has cards in 
# PCI slots 6 and 8.
#
trunk=0: name = t0; slot = 5, slot = 9;
trunk=1: name = t1; slot = 6, slot = 8;

Glossary

Trunk:
A set of network adapters grouped into one logical network interface.
Trunk Master:
Member of the trunk, configured with the netcfg(1M) utility.
Trunk Slave:
Member of the trunk not configured through netcfg.
Link Failover:
The ability to redirect the traffic from the failed link in the trunk to the working link without disturbing running applications.

See also:


© 1997 The Santa Cruz Operation, Inc. All rights reserved.
© 1998 AMD Inc, All rights reserved.