Because ATM addresses are inconvenient to use, most ATM tools also
accept names instead of numeric addresses. The mapping between names and
numbers is defined in the file /etc/hosts.atm.
The structure of
this file is similar to the /etc/hosts file:
e.g.
The numeric address can be specified in any of the formats described
in [api].
The numeric address(es) of a Linux system can be
determined with the command atmaddr -n
(see also section
Manual Address Configuration).
Many ATM tools also attempt to find the corresponding name when displaying
an address. When translating from the numeric form to a name, the first
applicable name in the file is used.
In addition to ATM addresses for SVCs, also PVC addresses can be stored in
/etc/hosts.atm.
If different address types are stored under the
same name, the first suitable one will be chosen, i.e. if an application
explicitly requests only SVC addresses, any PVC addresses will be ignored.
If you have access to the ATM Name Service (ANS, e.g because you've installed
the ANS extension), you can use it instead of or in addition to the hosts
file by specifying the host that runs ANS in the
/etc/resolv.conf file.
For performing reverse lookups of E.164 addresses, the list of telephony
country codes needs to be known. That list can be obtained from the
International Telecommunications Union.
The
List of ITU-T Recommendation E.164 Assigned Country Codes
is currently available in PDF and Word document formats.
| NOTE |
---|
| Should the URL become out of date, the document should easily be found by
searching for the document's title at the ITU web site. |
The script
src/lib/pdf2e164_cc.pl in the atm-linux distribution can
be used to create the E.164 county codes table with the PDF version
of the country code list, e.g.
It should be noted that
pdftotext needs to be
available in order to run the script above. It can be obtained with
xpdf.
Man pages:
atmsigd(8)
atmsigd.conf(4)
Note that atmsigd's support for point-to-multipoint
is very limited:
only operation as a single leaf of a point-to-multipoint tree works.
By default, atmsigd is configured to conform to
dynamically configure the UNI version. It can be
compiled for UNI 3.0, 3.1, or 4.0 specifically by passing the
--with-uni=VERSION to the
./configure script in the top-level directory of the
linux-atm source distribution.
Note that atmsigd is configured to be paranoid.
If it detects unusual
problems, it frequently terminates. This will (obviously) change in the
future.
atmsigd also looks for a configuration file at the
location specified
with the -c option.
The default location is /usr/local/etc/atmsigd.conf.
ILMI provides a mechanism for automatic address configuration. If there is
no switch or if the switch doesn't support ILMI, the ATM addresses must
be configured manually (see section
Manual Address Configuration).
Note that the ILMI
demon should not be used on interfaces where addresses are manually
configured.
The ILMI demon is started as follows:
ilmid [-b] [-d] [-i local_ip] [-l log_file] [-q qos] [-u uni_version] [-v] [-x] [itf]
- -b
background. Run in a forked child process after initializing.
- -d
enables debugging output. By default, ilmid is very quiet.
- -i local_ip
IP address to tell switch when asked for one.
Can be in either dotted decimal or textual format.
By default, ilmid
uses some heuristics to select a local IP address.
- -l logfile
write diagnostic messages to the specified
file instead of to standard error.
The special name syslog is
used to send diagnostics to the system logger.
- -q qos
configures the ILMI VC to use the specified
quality of service. By default, UBR at link speed is used on the ILMI VC.
- -u uni_version
set UNI version. Possible values are
3.0,
3.1, and
4.0. The dot can be omitted. The default
value depends on how ilmid was compiled.
Typically, it is 3.0.
- -v
enables extensive debugging output.
- -x
disable inclusion of variable bindings in the
ColdstartTrap. Some switches (e.g. the LS100) only work if this option is set.
If no interface number is specified, ilmid
serves interface 0.
You can check whether address registration was successful with the
atmaddr command (see below).
The agent supports only the address registration procedures specified
in section 5.8 of the ATM Forum's UNI 3.1 specification. These
procedures involve the switch registering the network prefix on the
host and the host registering the final ATM address back on the
switch. The host accomplishes this by appending an ESI (End System
Identifier) and a null selector byte to the network prefix registered
by the switch. The ESI is the physical or MAC address of the ATM
interface.
If your switch doesn't support ILMI, you have to set the ATM address
manually on the switch and on the PC(s). On the Linux side, make sure that
ilmid doesn't interfere, then use the
atmaddr command to set
the address(es).
Man pages:
atmaddr(8)
Manual configuration of ATM addresses on the switch depends on the brand.
On a Fore ASX-200, it can be done with the following command:
e.g.
The entire NSAP address always has to have a length of 40 digits.
Note that you can also use addresses with a different prefix and an ESI
that doesn't correspond to any ESI your adapters have. The value of the
selector byte (SEL) is ignored.
It is also possible to run with two ATM NICs connected back-to-back,
and no switch in between.
This is great for simple test environments.
First, if you're using UTP or STP-5, you need a suitable cable. Our
experience with standard 100Base-T back-to-back cables was not
good. It appears that the pin-out they use is different. After some
false starts, we found that the following cable works:
A better way to illustrate this may be to show the proper color
schemes for the RJ45 connectors at each end of the back-to-back cable.
The first connector should use the following scheme:
And the second connector should use this scheme:
You can also make up a loopback cable with 1 -- 7 and 2 -- 8 connected for
ultra-cheap setups.
Here we have two machines called ``virgil'' and ``nestor''.
Substitute your own names as necessary.
One side of the ATM connection needs to use the network version of
atmsigd and the other side should use the
normal user version.
So here on nestor we start atmsigd with:
and on virgil with:
Without a switch, you won't be able to use ILMI. Instead, create a
/etc/hosts.atm file containing two dummy addresses.
Our ATM hosts file contains:
These are completely spurious addresses, of course, but as long as you're
not connected to a public or private ATM network, I don't think it matters.
To set the address correctly in the driver, we use:
on virgil, and:
on nestor. Now start
atmarpd on both machines
in the normal way. Now you (should) have a working ATM set-up. To get
IP over ATM working, just follow the instructions in
section
IP Over ATM.
The Q.2931 message compiler also generates a pretty-printer for Q.2931
messages. The executable is called q.dump
is stored in the
src/qgen directory. Note that it is not copied elsewhere
by make install.
q.dump expects a sequence of whitespace-separated
hex bytes at standard
input and outputs the message structure if the message can be parsed.
Example: