Add a new section: ATM on FreeBSD 5.X

I hardly used acronym tags in that section:
linguistics.arizona.edu/~hharley/PDFs/HarleyAcronyms2003.pdf
is a good explanation of what is and what is not an acronym.

Submitted by:	harti
This commit is contained in:
Marc Fonvieille 2004-03-31 09:21:33 +00:00
parent ec310d45a7
commit 05ef92ff70
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=20449

View file

@ -7845,6 +7845,184 @@ gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
</sect2>
</sect1>
<sect1 id="network-atm">
<sect1info>
<authorgroup>
<author>
<firstname>Harti</firstname>
<surname>Brandt</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>ATM on &os;&nbsp;5.X</title>
<sect2>
<title>Configuring classical IP over ATM (PVCs)</title>
<para>Classical IP over ATM (<acronym>CLIP</acronym>) is the
simplest method to use ATM with IP. It can be used with
switched connections (SVCs) and with permanent connections
(PVCs). This section describes how to setup a network based
on PVCs.</para>
<sect3>
<title>Fully meshed configurations</title>
<para>The first method to setup a <acronym>CLIP</acronym> 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 tends to become impractical for larger number
of machines. The example supposes that we have 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. We use the following:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Host</entry>
<entry>IP Adress</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.1</hostid></entry>
</row>
<row>
<entry><hostid>hostB</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.2</hostid></entry>
</row>
<row>
<entry><hostid>hostC</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.3</hostid></entry>
</row>
<row>
<entry><hostid>hostD</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.4</hostid></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>To build a fully meshed net we need one ATM connection
between each pair of machines:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Machines</entry>
<entry>VPI.VCI couple</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostB</hostid></entry>
<entry>0.100</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostC</hostid></entry>
<entry>0.101</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostD</hostid></entry>
<entry>0.102</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostC</hostid></entry>
<entry>0.103</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostD</hostid></entry>
<entry>0.104</entry>
</row>
<row>
<entry><hostid>hostC</hostid> - <hostid>hostD</hostid></entry>
<entry>0.105</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>The VPI and VCI values at each end of the connection may
of course differ, but for simplicity we assume that they are
the same. Next we need to configure the ATM interfaces on
each host:</para>
<screen>hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 up</screen>
<para>assuming that the ATM interface is
<devicename>hatm0</devicename> on all hosts. Now the PVCs
need to configured on <hostid>hostA</hostid> (we assume that
they are already configured on the ATM switches, you need to
consult the manual for the switch on how to do this).</para>
<screen>hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</screen>
<para>Of course other traffic contracts than UBR can be used
given the ATM adapter supports those. In this case the name
of the traffic contract is followed by the parameters of the
traffic. Help for the &man.atmconfig.8; tool can be
obtained with:</para>
<screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
<para>or in the &man.atmconfig.8; manual page.</para>
<para>The same configuration can also be done via
<filename>/etc/rc.conf</filename>.
For <hostid>hostA</hostid> this would look like:</para>
<programlisting>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"</programlisting>
<para>The current state of all <acronym>CLIP</acronym> routes
can be obtained with:</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
</sect3>
</sect2>
</sect1>
</chapter>
<!--