Description
===========

This is a Linux ATM driver for the FORE Systems ForeRunnerHE adapters.
It supports both the 155 and 622 flavors of the card.  The driver was
primarily developed on a powerpc (604e@200MHz) but it has been ported
and tested on an i386 (2 i686@800Mhz).

This is the sixth public release of the driver.   Its mainly to provide
interrupt sharing fixes and updates for the latest 2.4 kernels.

Current features:

	. interrupt sharing
	. hardware traffic shaping
	. cbr
	. tasklet support
	. uses new pci loadable module scheme
	. 64bit PCI bus operation tested
	. SMP tested
	. 2.2 kernel support

Feedback (including fixes or suggestions) is welcome. 
Contact chas@cmf.nrl.navy.mil.

History
=======

This driver has been an informal project for Eric Kinzie,
ekinzie@cmf.nrl.navy.mil, and I.  It represents most of our spare time
during the month of March, 2000.  It started last November when we wanted a
cheap oc-12c capable router.  I wrote the skeleton in about a week but had
to put it aside until recently.  Most of the brain damage in the driver
can be attributed directly to me and my lack of understanding regarding
linux internals.  Eric has the i386 with the 622 board (and a slightly
out of date linux device driver book).

Requirements
============

ATM 0.59 - ATM 0.78

Installation
============

copy atm_he.h to /usr/src/linux/include/linux:

	% cp atm_he.h /usr/src/linux/include/linux

copy he.c and he.h to /usr/src/linux/drivers/atm:

	% cp he.c he.h /usr/src/linux/drivers/atm

apply the patches:

	% cd /usr/src/inux/drivers/atm

	[2.2 KERNELS ONLY]
	% patch < he.patch-2.2

	[2.4 KERNELS ONLY]
	% patch < he.patch-2.4

reconfigure your kernel and select the 'FORE HE' driver in the Network
Device/ATM Adapters menu and rebuild your kernel:

	% cd /usr/src/linux
	% make menuconfig (enable the HE card in the Networking/ATM menu)
	% make dep
	% make (or 'make modules' if you building as a module)

boot your new kernel or insmod the driver.

Miscellaneous
=============

hediag.c is a utility to dump the various registers on the adapter.
Its handy for debugging the driver.

BUGS
====

. aal0 receive only (atmdump works though)

. the driver seems to use a fair amount of memory.  this can be a problem
  for smaller memory (<64M) machines.  there should possibly be a small
  memory config.

--chas
chas@cmf.nrl.navy.mil
