30.11. Asynchronous Transfer Mode (ATM)

Contributed by Harti Brandt.

30.11.1. Configuring Classical IP over ATM

Classical IP over ATM (CLIP) is the simplest method to use Asynchronous Transfer Mode (ATM) with IP. It can be used with Switched Virtual Circuits (SVCs) and with Permanent Virtual Circuits (PVCs). This section describes how to set up a network based on PVCs.

30.11.1.1. Fully Meshed Configurations

The first method to set up a CLIP with PVCs is to connect each machine to each other machine in the network via a dedicated PVC. While this is simple to configure, it becomes impractical for a large number of machines. The following example supposes four machines in the network, each connected to the ATM network with an ATM adapter card. The first step is the planning of the IP addresses and the ATM connections between the machines. This example uses the following:

HostIP Address
hostA192.168.173.1
hostB192.168.173.2
hostC192.168.173.3
hostD192.168.173.4

To build a fully meshed net, one ATM connection is needed between each pair of machines:

MachinesVPI.VCI couple
hostA - hostB0.100
hostA - hostC0.101
hostA - hostD0.102
hostB - hostC0.103
hostB - hostD0.104
hostC - hostD0.105

The Virtual Path Identifier VPI and Virtual Channel Identifier VCI values at each end of the connection may differ, but for simplicity, this example assumes they are the same. Next, configure the ATM interfaces on each host:

hostA# ifconfig hatm0 192.168.173.1 up
hostB# ifconfig hatm0 192.168.173.2 up
hostC# ifconfig hatm0 192.168.173.3 up
hostD# ifconfig hatm0 192.168.173.4 up

This example assumes that the ATM interface is hatm0 on all hosts. Next, the PVCs need to be configured on hostA. This should already be configured on the ATM switch; consult the manual for the switch on how to do this.

hostA# atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA# atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA# atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr

hostB# atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB# atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB# atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr

hostC# atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC# atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC# atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr

hostD# atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD# atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD# atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr

Other traffic contracts besides ubr can be used if the ATM adapter supports it. In this case, the name of the traffic contract is followed by the parameters of the traffic. Help for the atmconfig(8) tool can be obtained with:

# atmconfig help natm add

Refer to atmconfig(8) for more information.

The same configuration can also be done via /etc/rc.conf. These lines configure hostA:

network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"

The current state of all CLIP routes can be obtained with:

hostA# atmconfig natm show

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.