In order to install this package, you'll need
the package itself from http://linux-atm.sourceforge.net/dist.php
the Linux kernel, version 2.4.x, e.g. from ftp://ftp.kernel.org/pub/linux/kernel/v2.4/
Perl, version 4 or 5
if you want memory debugging: MPR, e.g. from ftp://ibiblio.org/pub/Linux/devel/lang/c/
If you do not wish to futz with extracting and building the source yourself, the ATM tools are also distributed in RPM format. The RPM can be installed as follows:
First, extract the ATM on Linux distribution:
Documentation (including this HOWTO) in SGML DocBook format
UNI 3.0, UNI 3.1, and UNI 4.0 signaling demon: atmsigd
Signaling AAL library (SSCOP, SSCF, and SAAL)
Q.2931-style message handling
ILMI address registration demon: ilmid
ATM maintenance programs: atmaddr, atmdiag, atmdump, atmloop, atmtcp, enitune, esi, sonetdiag, saaldump, and zntune
Test programs: align, aping, aread, awrite, br, bw, isp, ttcp_atm, window
ATMARP tools and demon: atmarp, atmarpd
LAN Emulation demon: zeppelin
LAN Emulation servers: bus, lecs, les
Multi-Protocol Over ATM demon: mpcd
Debugging tools: delay, ed, encopy, endump, svctor, zndump, and znth
Libraries for applications and demons
Miscellaneous man pages
Extra packages and RPM spec files.
Configuration and rc file examples
Switch fabric control (under construction)
If you are not familiar with building and installing a new kernel, please see the The Linux Kernel HOWTO
After unpacking the kernel distribution, do the usual make config, make menuconfig, or make xconfig in the top-level of your Linux kernel source tree. First, enable
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)
Asynchronous Transfer Mode (ATM, EXPERIMENTAL) (CONFIG_ATM) Use "new" skb structure (CONFIG_ATM_SKB) Classical IP over ATM (CONFIG_ATM_CLIP) Do NOT send ICMP if no neighbour (CONFIG_ATM_CLIP_NO_ICMP) LAN Emulation (LANE) support (CONFIG_ATM_LANE) Multi-Protocol Over ATM (MPOA) support (CONFIG_ATM_MPOA) ATM over TCP (CONFIG_ATM_TCP) Efficient Networks ENI155P (CONFIG_ATM_ENI) Enable extended debugging (CONFIG_ATM_ENI_DEBUG) Fine-tune burst settings (CONFIG_ATM_ENI_TUNE_BURST) Enable 16W TX bursts (discouraged) (CONFIG_ATM_ENI_BURST_TX_16W) Enable 8W TX bursts (recommended) (CONFIG_ATM_ENI_BURST_TX_8W) Enable 4W TX bursts (optional) (CONFIG_ATM_ENI_BURST_TX_4W) Enable 2W TX bursts (optional) (CONFIG_ATM_ENI_BURST_TX_2W) Enable 16W RX bursts (discouraged) (CONFIG_ATM_ENI_BURST_RX_16W) Enable 8W RX bursts (discouraged) (CONFIG_ATM_ENI_BURST_RX_8W) Enable 4W RX bursts (recommended) (CONFIG_ATM_ENI_BURST_RX_4W) Enable 2W RX bursts (optional) (CONFIG_ATM_ENI_BURST_RX_2W) ZeitNet ZN1221/ZN1225 (CONFIG_ATM_ZATM) Enable extended debugging (CONFIG_ATM_ZATM_DEBUG) Enable usec resolution timestamps (CONFIG_ATM_ZATM_EXACT_TS) IDT 77201 (NICStAR) (CONFIG_ATM_NICSTAR) Use suni PHY driver (155Mbps) (CONFIG_ATM_NICSTAR_USE_SUNI) Use IDT77015 PHY driver (25Mbps) (CONFIG_ATM_NICSTAR_USE_IDT77105) Madge Ambassador (Collage PCI 155 Server) (CONFIG_ATM_AMBASSADOR) Enable debugging messages (CONFIG_ATM_AMBASSADOR_DEBUG) Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client) Enable debugging messages (CONFIG_ATM_HORIZON_DEBUG) Interphase ATM PCI x575/x525/x531 (CONFIG_ATM_IA) Enable debugging messages (CONFIG_ATM_IA_DEBUG)
The burst settings of the ENI driver can be fine-tuned. This may be necessary if the default settings lead to buffer overruns in the PCI chipset. See the on-line help on "CONFIG_ATM_ENI_TUNE_BURST" for a detailed discussion of the implications of changing the burst settings.
Note that the file drivers/atm/nicstar.h contains a few configurable settings for the IDT 77201 driver.
Some drivers can also be used with certain compatible cards. The latest information about compatible cards can be found at ATM on Linux information page.
Then build your kernel and reboot.
If you've configured the ENI155p-MF driver, you should see two lines like these (512kB for the -C version, 2048kB for the -S version.):
If you've configured the ZN1221/ZN1225 driver, you will get something like:
zatm(itf 0): rev.3,base=0xf800,irq=11,mem=128kB,MMF (00-20-D4-10-2A-80) zatm(itf 0): uPD98401 0.5 at 30.024 MHz zatm(itf 0): 16 shapers, 32 pools, 2048 RX, 3958 VCs
Note that if you've configured only the ATM over TCP driver, there are no messages at startup, because ATM over TCP devices are created later using the atmtcp command.
If you want to enable debugging for options for memory allocations, you need to install MPR before compiling the ATM tools.
If you chose to download the binary RPM package, you can install MPR like so:
If you chose to download the source, extract mpr-x.x.tar.gz like so:
Detection of some general mis-use of
automatically performed if the program was compiled with MPR present.
Tracing of allocations is enabled by setting
See doc/mpr.html or doc/mpr.ps in the
MPR distribution for details.
Only little run-time overhead is incurred if memory debugging is included, but those environment variables are not set.
Now, as the final step, configure and build the ATM tools. Configuration is only necessary if your switch uses UNI 3.1 or 4.0, or if it has certain bugs. The configuration options selected by passing the appropriate options to the ./configure script in the linux-atm distribution.
Issue ./configure --help from the top-level directory of the linux-atm distribution to view all possible options.
The ATM tools are built with the following commands:
Some programs are based on large packages that are already distributed outside of the ATM context. For some packages, patches are contained in the ATM on Linux distribution. They are contained in the src/extra directory of the ATM on Linux distribution.
Currently, the following extra packages are available:
dumps network traffic (enhanced for ATM)
ATM name server (based on named 4.9.5)
Note that text2atm automatically uses ANS if available, so ans only needs to be installed on systems providing name server functionality or if ATM-aware maintenance tools nslookup, etc.) are needed.
A script hosts2ans.pl to convert a /etc/hosts.atm file to ANS zone files are provided in the src/extra/ANS/ directory. Its use is described at the beginning of the file.