ATM Networking in Linux


The IBM Turboways 25 Mbps NIC driver for ATM in Linux was developed by faculty and graduate students in the Department of Computer Science at Clemson. The architecture of this driver was described in a 1998 Linux Expo paper. The conference presentation may be found here. The full text of the paper is also available in .pdf format and in .ps format.    Another presentation that may be of use to device driver developers and others interested in the internal bindings that glue the socket, protocol, and driver together is also available in .pdf and .ps formats.   The data structures  shown in this presentation are kernel 2.0.27 and protocol 0.31 level.

The current release (as of 1 August 1999) of the Turboways 25 device driver is version it25-0.59bIt is for kernel version 2.2.9 and protocol version 0.59.    This version is thought (hoped ;-) to be SMP safe and also corrects some deficiencies in the management of the PCI interface.  To request a copy of the Turboways 25 device driver send an e-mail request to me at westall@cs.clemson.edu.



Graduate student papers associated with the Turboways 25 development include the following:
 
Sripriya Bhikeshesvaran: Implementation and Performance Testing of a Single Copy Device Driver for the IBM APE25 (pdf or ps).   This paper demonstrates that what appears at first glance to be a big performance improver may actually harm performance.   A version of the driver was constructed which eliminated all frame copying by the kernel.  The only copying of the AAL5 frames was done via DMA transfer directly from user space to the NIC.   In most cases worse performance was obtained than when the each frame was copied by the kernel between user space and kernel buffers!!

Alice Flower: Integration and Performance Testing of IP over ATM (pdf or ps). This paper provides an overview of the integration of TCP/IP with ATM.  Three approaches are considered: Classical IP over PVCs; Classical IP over SVCs and LANE Emulation.  This work was done using kernel 2.0.27 and protocol 0.31 and some aspects may be now be dated.   It contains a fairly thorough descriptions of the protocol bindings and dataflow through the IP and ATM stacks.

Sridatta Viswanath: TCP Performance Evaluation Using the TIGER Network Testbed  (pdf or ps).  This paper describes the use of a Linux PC  equipped with both Ethernet and ATM interfaces in studying TCP performance.    The  PC was used as a router, and the Turboways 25 driver was modified so that any level of congestion could be induced and various packet drop strategies investigated.   The author discovered a nasty performance anomaly that can occur when a PC is used as a gateway between a sender on an Ethernet segment and a receiver on a CLIP segment.


Linux support for the IBM Turboways 155 Mbps NIC is also being developed. At present this driver is not integrated with the Linux ATM protocol, works only in standalone mode, and the driver is not yet available for distribution.

Graduate student papers associated with the Turboways 155 development include the following:

Ishraq Ahmed: Linux Device Driver for the IBM Charm-Lite Asynchronous Transfer Mode Adapter (pdf or psThis paper provides a good overview of the architecture of IBM's high-end ATM offering and describes the present state of the 155Mbps device driver.


Acknowledgments:
Financial support for the development of the Turboways 25 driver was provided by the Network Products Division of the IBM Corporation.   Hardware support was provided for the Turboways 155 project. IBM data sheets for their ATM adapters may be found here. IBM and Turboways are registered trademarks of the IBM Corporation.
The development of the Linux ATM protocol stack is coordinated by Werner Almesberger of the ICA in Lausanne, Switzerland.  More information on this project can be found here.


Back to Mike Westall's home page.