<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY howto      "http://www.traduc.org/docs/howto/lecture/">
  <!ENTITY guide      "http://www.traduc.org/docs/guides/lecture/">
  <!ENTITY traduc     "http://www.traduc.org">
  <!ENTITY gfdl-vo    "http://www.gnu.org/copyleft/fdl.html">
  <!ENTITY gfdl-vf    "http://cesarx.free.fr/gfdlf.html">
]>

<article id="ATM-Linux-HOWTO" lang="fr">

<articleinfo>
    <title>
        Guide pratique de la gestion d'ATM sous Linux
    </title>
    <subtitle>
        Version française du <foreignphrase>ATM on Linux 
        HOWTO</foreignphrase>
    </subtitle>
    
    <author>
        <firstname>Paul</firstname>
        <surname>Schroeder</surname>
        <othername role="mi">B</othername>
        <affiliation>
            <orgname>IBM Corporation</orgname>
            <address><email>paulsch CHEZ us POINT ibm POINT com</email></address>
        </affiliation>
    </author>

    <othercredit role="traduction">
        <firstname>François</firstname>
        <surname>Romieu</surname>
        <contrib>Traduction française</contrib>
        <email>francois CHEZ ueimor POINT eu POINT org</email>
    </othercredit>

    <othercredit role="relecture">
        <firstname>Frédéric</firstname>
        <surname>Delanoy</surname>
        <contrib>Relecture de la version française</contrib>
        <email>delanoy SOULIGNÉ f CHEZ yahoo POINT com</email>
    </othercredit>

    <abstract>
      <para>
        Ce document décrit l'installation et la configuration des 
        pilotes et outils nécessaires au fonctionnement d'ATM sous Linux.
      </para>
      <para>
        Pour les dernières informations, reportez-vous à la <ulink 
        url="http://linux-atm.sourceforge.net/">page d'accueil</ulink> 
        de <citetitle>ATM sous Linux</citetitle>.
      </para>
      <para>
        La prise en charge d'ATM par Linux est encore au stade 
        pré-alpha. La version actuelle gère les connexions ATM brutes au 
        niveau PVC et SVC, IP sur ATM, l'émulation LAN, MPOA, Arequipa 
        et d'autres choses.
      </para>
    </abstract>

    <releaseinfo>
    Version 2.4.0.fr.1.0
    </releaseinfo>

        <pubdate>2003-03-11</pubdate>
        
        <revhistory>
                <revision>
                        <revnumber>2.4.0.fr.1.0</revnumber>
                        <date>11/03/2003</date>
                        <authorinitials>FRom, FDel</authorinitials>
                        <revremark>
                                Traduction de la version 2.4.0 de
                                &laquo;&nbsp;ATM-Linux-HOWTO&nbsp;&raquo;.
                        </revremark>
                </revision>
                <revision>
                        <revnumber>2.4.0</revnumber>
                        <date>18/10/2001</date>
                        <authorinitials>PBS</authorinitials>
                        <revremark>
                                Converti de LaTeX en DocBook avec 
                                quelques ajouts et changements 
                                supplémentaires.
                                <emphasis>(Converted from LaTeX to 
                                DocBook along with some other additions 
                                and changes.)</emphasis>
                        </revremark>
                </revision>
        </revhistory>
</articleinfo>

<sect1 id="Introduction">
<title>Introduction</title>

<sect2 id="Introduction.Remerciements">
<title>Origine et remerciements</title>

<para>
Ce guide s'inspire largement du document 
<citetitle>Usage Instructions</citetitle> qui a été inclus dans le
paquet <emphasis>ATM on Linux</emphasis> jusqu'à la version 0.79.
Werner Almesberger <email>wa CHEZ almsesberger POINT net</email> l'a 
rédigé 
pendant
son séjour au
<ulink url="http://icawww.epfl.ch/">Institute for computer Communications
and Applications (ICA)</ulink>.
</para>

<para>
Richard Jones <email>rjones CHEZ imcl POINT com</email> est à l'origine 
de la 
partie
<link linkend="Signaling.Running-Two-ATM-NICs-Back-to-Back"
endterm="Signaling.Back-to-Back.title"></link>.
</para>

</sect2>

<sect2 id="Introduction.Copyright">
<title>Droits d'utilisation</title>

<note><para>
Le texte ci-dessous est la version française de la licence de ce 
document. Seule la version originale de cette licence, présentée dans la 
section suivante, fait foi.
</para></note>

<para>
La version originale de ce document a été réalisé par la société 
<emphasis>IBM Corporation</emphasis> en 2001.
</para>

<para>
Vous avez le droit de copier, distribuer et modifier la version 
originale de ce document selon les termes de la <ulink 
url="&gfdl-vo;">licence de documentation libre GNU (GFDL)</ulink> 
version 1.1 ou ultérieures, telle que publiée par la Free Software 
Foundation&nbsp;; sans section invariante, sans texte de première de 
couverture ni texte de quatrième de couverture. Une copie de la licence 
est disponible sur <ulink url="&gfdl-vo;"></ulink>.
</para>

<para>
Une partie importante de ce document provient du guide <citetitle>Usage 
Instructions</citetitle>, inclus dans le paquet <productname>ATM on 
Linux</productname> jusqu'à la version 0.79, qui a été disponible sous 
les licences BSD, GNU General Public License (GPL) et GNU Lesser General 
Public License (LGPL).
</para>

<para>
La version française de document a été réalisée par François Romieu et 
Frédéric Delanoy. La version française de ce guide pratique est publiée 
en accord avec les termes de la <ulink url="&gfdl-vo;">licence de 
documentation libre GNU (GFDL)</ulink>&nbsp;; sans section invariante, 
sans texte de première de couverture ni texte de quatrième de 
couverture. Une copie de la licence est disponible sur <ulink
url="&gfdl-vo;"></ulink>. Une version française non officielle de cette 
licence est disponible sur <ulink url="&gfdl-vf;"></ulink>.
</para>

</sect2>

<sect2>
<title>Copyright</title>

<note><para>
Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il 
est composé de la licence en anglais du document orignal, suivi de la 
licence en français de sa traduction.
</para></note>

<para>
Copyright 2001 IBM Corporation.
</para>

<para>
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink url="&gfdl-vo;">GNU Free Documentation 
License</ulink>, Version 1.1 or any later version published by the Free 
Software Foundation; with no Invariant Sections, with no Front-Cover 
Texts, and with no Back-Cover Texts. A copy of the license can be found 
at <ulink url="&gfdl-vo;"></ulink>.
</para>

<para>
A large portion of this document is derived from the <citetitle>Usage 
Instructions</citetitle> included with the <productname>ATM on 
Linux</productname> distribution up to version 0.79 which was released 
under the BSD License, GNU General Public License (GPL), and GNU Lesser 
General Public License (LGPL).
</para>

<para>
La version française de document a été réalisée par François Romieu et
Frédéric Delanoy. La version française de ce guide pratique est publiée
en accord avec les termes de la <ulink url="&gfdl-vo;">licence de 
documentation libre GNU (GFDL)</ulink>&nbsp;; sans section invariante, 
sans texte de première de couverture ni texte de quatrième de 
couverture. Une copie de la licence est disponible sur <ulink
url="&gfdl-vo;"></ulink>.
</para>

</sect2>

<sect2 id="Introduction.Mailing-List">
<title>Liste de diffusion</title>

<para>
Il existe une liste de diffusion pour discuter d'ATM sous Linux. Pour faire
part de remarques, poser des questions ou vous impliquer, n'hésitez pas à
rejoindre cette liste.
Vous pouvez vous y abonner (<emphasis>subscribe</emphasis>) et vous en
désabonner (<emphasis>unsubscribe</emphasis>) à l'adresse
<ulink url="http://lists.sourceforge.net/lists/listinfo/linux-atm-general">http://lists.sourceforge.net/lists/listinfo/linux-atm-general</ulink>.
</para>

<para>
La liste de diffusion est archivée sur
<ulink url="http://www.geocrawler.com/lists/3/SourceForge/6487/0/">http://www.geocrawler.com/lists/3/SourceForge/6487/0/</ulink>. 
</para>
</sect2>

<sect2 id="Introduction.CVS-Access">
<title>Accès CVS</title>

<para>
Il est conseillé aux utilisateurs d'employer les publications stables
plutôt que de récupérer la dernière version depuis le référentiel CVS.
Voici néanmoins la marche à suivre pour les amateurs de sensations fortes.
</para>

<para>
Commencez par vous connecter de façon anonyme&nbsp;:
</para>

<informalexample><screen>
% cvs -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm login
</screen></informalexample>

<para>
Appuyez sur Entrée à l'invite du mot de passe. Récupérez ensuite
l'arborescence&nbsp;:
</para>

<informalexample><screen>
% cvs -z6 -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm co -P linux-atm
</screen></informalexample>

<para>
Il est possible de spécifier une branche particulière&nbsp;:
</para>

<informalexample><screen>
% cvs -z6 -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm co -r V2_5_0 linux-atm
</screen></informalexample>

<para>
Dans tous les cas, un répertoire &laquo;&nbsp;linux-atm&nbsp;&raquo;
contenant la dernière version des sources est créé. Une fois à l'intérieur
de ce répertoire, l'option &laquo;&nbsp;-d&nbsp;&raquo; de CVS n'est plus
nécessaire. Par exemple, tapez&nbsp;:
</para>

<informalexample><screen>
% cvs -z6 up -d
</screen></informalexample>

<para>
pour obtenir les modifications apportées au référentiel (l'option
&laquo;&nbsp;-d&nbsp;&raquo; de l'exemple se rapporte à la sous-commande
&laquo;&nbsp;up&nbsp;&raquo; et n'a rien à voir avec le paramètre
&laquo;&nbsp;-d&nbsp;&raquo; employé pour spécifier l'emplacement de la
racine CVS).
</para>

<para>
Après avoir récupéré l'arborescence, exécutez le script 
<application>autotools</application> dans le répertoire de plus haut niveau
avant d'entamer la configuration, la compilation et l'installation. 
</para>

<informalexample><screen>
# ./autotools 
Running aclocal...
Running autoconf...
Running autoheader...
Running automake...
automake: configure.in: installing `./install-sh'
automake: configure.in: installing `./mkinstalldirs'
automake: configure.in: installing `./missing'
configure.in: 26: required file `./ltconfig' not found
automake: Makefile.am: installing `./INSTALL'
automake: configure.in: installing `src/lane/ylwrap'
Finished...  Now run './configure' and 'make'...
</screen></informalexample>

<para>
Pour construire un paquet .tar.gz ou un RPM, exécutez respectivement
<userinput>make dist</userinput> ou <userinput>make rpm</userinput>.
Le fichier .tar.gz se trouvera dans le répertoire de plus haut niveau de
l'arborescence tandis que le RPM sera placé dans le répertoire
<filename class="directory">src/extra/RPMS</filename>.
</para>

<para>
Une interface web permet de visualiser le contenu du référentiel CVS&nbsp;:
<ulink url="http://cvs.linux-atm.sourceforge.net/cgi-bin/viewcvs.cgi/linux-atm/linux-atm/">http://cvs.linux-atm.sourceforge.net/cgi-bin/viewcvs.cgi/linux-atm/linux-atm/</ulink>.
</para>

<para>
Enfin, si vous souhaitez recevoir un courrier électronique pour chaque
modification apportée au référentiel, abonnez-vous à la liste de
diffusion&nbsp;&laquo;&nbsp;linux-atm-commits&nbsp;&raquo;&nbsp;: <ulink
url="http://lists.sourceforge.net/lists/listinfo/linux-atm-commits">http://lists.sourceforge.net/lists/listinfo/linux-atm-commits</ulink>.
</para>

<para>
Cette liste de diffusion est en lecture seule et aucune discussion ni question
n'y est autorisée (idem pour les patches). Les discussions ont lieu sur la
liste de diffusion linux-atm-general.
</para>

</sect2>

</sect1>


<sect1 id="Installation">
<title>Installation</title>

<para>
Pour installer le paquet, il vous faut&nbsp;:

<itemizedlist>
        <listitem>
                <para>le paquet lui-même <ulink url="http://linux-atm.sourceforge.net/dist.php"></ulink></para>
        </listitem>
        <listitem>
                <para>un noyau Linux de type 2.4.x, p.ex. depuis <ulink url="ftp://ftp.kernel.org/pub/linux/kernel/v2.4/"></ulink></para>
        </listitem>
        <listitem>
                <para>Perl, version 4 ou 5</para>
        </listitem>
        <listitem>
                <para>(si vous souhaitez déverminer les accès mémoire) MPR, p.ex. depuis <ulink url="ftp://ibiblio.org/pub/Linux/devel/lang/c/"></ulink></para>
        </listitem>
</itemizedlist>
</para>

<sect2 id="Installation.The-Binary-RPMs">
<title>Les binaires RPM</title>

<para>
Si vous ne souhaitez pas extraire et compiler les sources vous-même, les
utilitaires ATM existent également sous forme de paquet RPM installable
comme suit&nbsp;:
</para>

<informalexample><screen>
rpm -ivh <replaceable>linux-atm-x.x.x-x.rpm</replaceable>
</screen></informalexample>

</sect2>

<sect2 id="Installation.The-source-tree">
<title>L'arborescence des sources</title>

<para>
Commencez par décompacter le paquet ATM pour Linux&nbsp;:
</para>

<informalexample><screen>
tar xzvf <replaceable>linux-atm-x.x.x.tar.gz</replaceable>
</screen></informalexample>

<para>
Ceci crée une arborescence de racine
<filename class="directory">linux-atm-x.x.x/</filename>.
On notera les répertoires suivants&nbsp;:
</para>

<variablelist>
        <varlistentry><term><filename class="directory">doc/</filename></term>
                <listitem>
                        <para>documentation au format SGML DocBook (ce HOWTO compris)</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/sigd/</filename></term>
                <listitem>
                        <para>démon de signalisation UNI 3.0, UNI 3.1 et UNI 4.0 
                                <application>atmsigd</application></para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/saal/</filename></term>
                <listitem>
                        <para>bibliothèque de signalisation AAL (SSCOP, SSCF et SAAL)</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/qgen/</filename></term>
                <listitem>
                        <para>gestion des messages de type Q.2931</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/ilmid/</filename></term>
                <listitem>
                        <para>démon d'enregistrement d'adresses ILMI&nbsp;: <application>ilmid</application></para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/maint/</filename></term>
                <listitem>
<para>
utilitaires de maintenance ATM&nbsp;: <application>atmaddr</application>,
<application>atmdiag</application>, <application>atmdump</application>,
<application>atmloop</application>, <application>atmtcp</application>,
<application>enitune</application>, <application>esi</application>,
<application>sonetdiag</application>, <application>saaldump</application> et
<application>zntune</application>
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/test/</filename></term>
                <listitem>
<para>
programmes de test&nbsp;: <application>align</application>,
<application>aping</application>, <application>aread</application>,
<application>awrite</application>, <application>br</application>,
<application>bw</application>, <application>isp</application>,
<application>ttcp_atm</application>, <application>window</application>
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/arpd/</filename></term>
                <listitem>
<para>
outils et démon ATMARP&nbsp;: <application>atmarp</application>,
<application>atmarpd</application>
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/led/</filename></term>
                <listitem>
                        <para>démon LAN Emulation&nbsp;: <application>zeppelin</application></para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/lane/</filename></term>
                <listitem>
<para>
serveurs LAN Emulation&nbsp;: <application>bus</application>,
<application>lecs</application>, <application>les</application>
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/mpoad/</filename></term>
                <listitem>
                        <para>démon MPOA (Multi-Protocol Over ATM)&nbsp;: <application>mpcd</application></para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/debug/</filename></term>
                <listitem>
<para>
outils d'examen&nbsp;: <application>delay</application>,
<application>ed</application>, <application>encopy</application>,
<application>endump</application>,
<application>svctor</application>, <application>zndump</application> et
<application>znth</application>
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/lib/</filename></term>
                <listitem>
                        <para>bibliothèques pour démons et applications</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/man/</filename></term>
                <listitem>
                        <para>pages de manuel diverses</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/extra/</filename></term>
                <listitem>
<para>
outils supplémentaires et fichiers de directives RPM.
</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/config/</filename></term>
                <listitem>
                        <para>fichiers de configuration et exemples de fichiers de type rc</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><filename class="directory">src/switch/</filename></term>
                <listitem>
                        <para>unité de commutation (en cours de développement)</para>
                </listitem>
        </varlistentry>
</variablelist>

</sect2>

<sect2 id="Installation.Kernel-Configuration">
<title>Configuration du noyau</title>

<warning><para>
Si vous n'avez pas l'habitude de compiler et d'installer un nouveau noyau,
reportez-vous au <ulink url="&howto;Kernel-HOWTO.html"><citetitle>guide 
pratique du noyau Linux</citetitle></ulink> (<foreignphrase>Linux Kernel 
HOWTO</foreignphrase>).
</para></warning>

<para>
Après avoir décompacté le paquet du noyau, exécutez la commande
habituelle au sommet de l'arborescence des sources du noyau&nbsp;:
<command>make config</command>, <command>make menuconfig</command> ou
<command>make xconfig</command>. Activez ensuite&nbsp;:
</para>
<screen>
Prompt for development and/or incomplete code/drivers
  (CONFIG_EXPERIMENTAL)
</screen>

<para>
Les options suivantes doivent apparaitre&nbsp;:
</para>

<screen>
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)
</screen>

<para>
Les paramètres &laquo;&nbsp;burst&nbsp;&raquo; du gestionnaire ENI sont
ajustables. Les modifier peut s'avérer nécessaire si le positionnement par
défaut provoque des épuisements de tampons mémoire lors des transferts PCI.
On se reportera à la documentation en ligne relative à
&laquo;&nbsp;CONFIG_ATM_ENI_TUNE_BURST&nbsp;&raquo; pour une explication
détaillée de l'impact de ce paramètre.
</para>

<para>
Le fichier <filename class="headerfile">drivers/atm/nicstar.h</filename> 
contient les variables sur lesquelles on peut jouer pour le pilote IDT 77201.
</para>

<para>
Les gestionnaires peuvent être employés avec certaines cartes compatibles.
La référence la plus à jour pour ces dernières se trouve sur la <ulink
url="http://linux-atm.sourceforge.net/info.php">page d'information</ulink>
relative à <citetitle>ATM on Linux</citetitle>.
</para>

<para>
Recompilez ensuite le noyau et redémarrez.
</para>

</sect2>

<sect2 id="Installation.Driver-Messages">
<title>Messages des gestionnaires de périphériques</title>

<para>
Si vous avez activé le pilote ENI155p-MF, deux lignes semblables aux 
suivantes devraient apparaître (512kB pour la version -C, 2048kB 
pour la version -S)&nbsp;:
</para>

<informalexample><screen>
eni(itf 0): rev.0,base=0xff400000,irq=10,mem=512kB (00-20-EA-00-07-56)
eni(itf 0): FPGA,MMF
</screen></informalexample>

<para>
Si vous avez activé le pilote ZN1221&nbsp;/ ZN1225, il apparaît des 
messages du genre&nbsp;:
</para>

<informalexample><screen>
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
</screen></informalexample>

<para>
Notez qu'une carte de révision 3 ou plus est nécessaire pour une carte-mère
équipée d'un jeu de composants Triton.
</para>

<para>
Si vous n'avez activé que le pilote ATM au-dessus de TCP, aucun message
n'apparaît au démarrage parce que les périphériques correspondants ne sont
créés qu'au moment de l'invocation de la commande <command>atmtcp</command>.
</para>

</sect2>

<sect2 id="Installation.Memory-Debugging">
<title>Débogage mémoire</title>

<para>
Si on désire analyser d'éventuels problèmes relatifs aux allocations mémoire,
il est nécessaire d'installer MPR avant de compiler les outils ATM.
</para>

<para>
Si vous récupérez un paquet RPM binaire, MPR s'installe comme suit&nbsp;:
</para>

<informalexample><screen>
rpm -ivh <replaceable>mpr-x.x-x.rpm</replaceable>
</screen></informalexample>

<para>
Si vous partez des sources, décompactez
<filename>mpr-x.x.tar.gz</filename> ainsi&nbsp;:
</para>

<informalexample><screen>
tar xzvf <replaceable>mpr-x.x.tar.gz</replaceable>
</screen></informalexample>

<para>
Puis exécutez les commandes suivantes&nbsp;:
</para>

<informalexample><screen>
cd <replaceable>mpr-x.x</replaceable>
./configure x86-linux
make
make install
</screen></informalexample>

<para>
Une détection automatique de certains usages erronés des fonctions
<function>malloc</function> et <function>free</function> aura alors lieu
automatiquement si les utilitaires ont été compilés après installation de MPR.
Le suivi des allocations est activé en positionnant <function>MPRPC</function> 
et <function>MPRFI</function>.
Reportez-vous aux fichiers <filename>doc/mpr.html</filename> et
<filename>doc/mpr.ps</filename> dans le paquet MPR pour davantage de 
détails.
</para>

<para>
Bien que le débogage des allocations n'implique qu'un léger surcoût à
l'exécution, ces variables d'environnement ne sont pas positionnées par
défaut.
</para>

</sect2>

<sect2 id="Installation.ATM-Tools">
<title>Utilitaires ATM</title>

<para>
Pour finir, configurez et compilez les outils ATM. La configuration n'est
requise que si votre commutateur utilise UNI 3.1 ou 4.0 ou s'il présente
certains dysfonctionnements. Les options de configuration sont activées par
passage au script <command>./configure</command> du paquet linux-atm.
</para>

<note><para>
Exécutez <command>./configure --help</command> à partir de la racine de l'arborescence linux-atm pour visualiser toutes les options
disponibles.
</para></note>

<para>
Les commandes suivantes compilent les utilitaires ATM&nbsp;:
</para>
<informalexample><screen>
cd <replaceable>linux-atm-x.x.x</replaceable>
./configure
make
make install
</screen></informalexample>

<para>
Sauf spécification particulière lors de l'invocation de la commande
<command>./configure</command>, <command>make install</command> installera
les exécutables dans les répertoires 
<filename class="directory">/usr/local/bin</filename> et
<filename class="directory">/usr/local/sbin</filename>.
À l'exception du fichier <filename>hosts.atm</filename> (qui est installé dans
le répertoire <filename class="directory">/etc</filename>), les fichiers de
configuration se situeront en
<filename class="directory">/usr/local/etc</filename>.
Les bibliothèques et les fichiers d'en-tête sont respectivement copiés dans
<filename class="directory">/usr/local/lib</filename> et
<filename class="directory">/usr/local/include</filename>. Les pages de manuel
se retrouvent dans <filename class="directory">/usr/local/man</filename>.
</para>

</sect2>

<sect2 id="Installation.Extra-Packages">
<title>Paquets supplémentaires</title>

<para>
Certains programmes reposent sur des paquets de grande taille qui ne
sont pas contrôlés par linux-atm. Pour d'autres, des patches sont fournis dans
le paquet ATM-Linux. Ils se trouvent dans le répertoire
<filename class="directory">src/extra</filename> de la distribution ATM-Linux.
</para>

<para>
Les paquets suivants sont disponibles&nbsp;:
</para>

<variablelist>
        <varlistentry><term><application><ulink url="http://www.tcpdump.org/">tcpdump</ulink></application></term>
                <listitem>
                        <para>capture de trafic réseau (amélioré pour ATM)</para>
                </listitem>
        </varlistentry>

        <varlistentry><term><application>ANS</application></term>
                <listitem>
                        <para>serveur de noms ATM (repose sur 
                                <application>named</application> 4.9.5)</para>
                </listitem>
        </varlistentry>
</variablelist>

<para>
Notez que <application>text2atm</application> emploie automatiquement ANS
s'il est disponible, et que celui-ci ne doit dès lors être installé que sur
les systèmes qui fournissent le service de résolution de noms ou lorsque
des outils de maintenance au fait d'ATM sont requis 
(<application>nslookup</application>, &hellip;).
</para>

<para>
Le script <application>hosts2ans.pl</application> dans le répertoire
<filename class="directory">src/extra/ANS/</filename> convertit un fichier
<filename>/etc/hosts.atm</filename> en un fichier de zone ANS. Son
utilisation est décrite en tête de fichier.
</para>

</sect2>

</sect1>


<sect1 id="Device-Setup">
<title>Configuration des périphériques</title>

<para>
Cette partie décrit des options de configuration propres à chaque type
de périphériques ainsi que des méthodes de diagnostic ATM ou SONET générales.
Reportez-vous à la documentation du périphérique pour les détails relatifs
à son installation et aux méthodes de diagnostic.
</para>

<sect2 id="Device-Setup.ATM-Over-TCP-Setup">
<title>ATM au-dessus de TCP</title>

<para>
En l'absence de véritable matériel ATM, vous pouvez utiliser l'API
par l'intermédiaire du gestionnaire ATM au-dessus de TCP. Il émule des
périphériques ATM qui sont directement connectés les uns aux autres à distance
(c.-à-d. sans manipulation de paires VPI/VCI).
</para>

<para>
Pour établir un lien (bidirectionnel) entre deux systèmes, devenez root sur
chacun d'entre eux (ou exécutez les deux commandes sur le même système pour
connecter deux interfaces) et exécutez la commande suivante sur l'un
d'eux (que l'on désignera par &laquo;&nbsp;a&nbsp;&raquo;)&nbsp;:
</para>

<informalexample><screen>
# atmtcp virtual listen
</screen></informalexample>

<para>
Puis, sur l'autre système (&laquo;&nbsp;b&nbsp;&raquo;)&nbsp;:
</para>

<informalexample><screen>
# atmtcp virtual connect <replaceable>adresse_de_a</replaceable>
</screen></informalexample>

<para>
Les utilitaires <command>atmtcp</command> émettront des messages au fur et à
mesure de leur avancement. Par exemple&nbsp;:
</para>

<informalexample><screen>
Link 0: virtual interface 2
Link 1: incoming ATMTCP connection from 127.0.0.1
</screen></informalexample>

<para>
et
</para>

<informalexample><screen>
Link 0: virtual interface 3
Link 1: ATMTCP connection to localhost
</screen></informalexample>

<para>
On notera que la commande <command>atmtcp</command> s'exécute en permanence
et que l'interrompre brise le lien virtuel.
</para>

<para>
Une même machine peut accepter plusieurs liens en spécifiant des numéros de
port différents (2812 par défaut). Aucun traitement AAL n'est effectué et
il n'est par conséquent pas possible d'employer une couche d'adaptation
différente (p.ex. AAL0) de celle utilisée à l'émission.
</para>

</sect2>

<sect2 id="Device-Setup.ZN1221-ZN1225-Tuning">
<title>ZN1221&nbsp;/ ZN1225</title>

<para>
Les cartes ZeitNet ZN1221 et ZN1225 emploient des réserves de mémoire
allouées à l'avance pour la réception. Dés qu'un circuit virtuel d'une
certaine SDU est activé en réception, la réserve correspondante est 
remplie de tampons vides par le gestionnaire. La carte consomme les 
tampons lors de la réception et, lorsque leur nombre passe en dessous 
d'une certaine limite, le gestionnaire alloue à nouveau la réserve.
</para>

<para>
Les limites inférieures et supérieures du nombre de tampons libres ainsi
que la valeur limite pour l'adaptation à un nouveau décalage de données (voir
ci-dessous) sont ajustables grâce au programme
<application>zntune</application>. Emploi&nbsp;:
</para>

<cmdsynopsis>
        <command>zntune</command>
        <arg choice="opt">-l <replaceable>marque_basse</replaceable></arg>
        <arg choice="opt">-h <replaceable>marque_haute</replaceable></arg>
        <arg choice="opt">-t <replaceable>seuil</replaceable></arg>
        <arg choice="plain"><replaceable>interface</replaceable></arg>
        <arg choice="opt"><replaceable>réserve</replaceable></arg>
</cmdsynopsis>

<para>
Les modifications sont appliquées à toutes les réserves si aucun indice
de réserve n'est spécifié. La réserve 2 stocke les paquets de 64 octets,
la réserve 3 les paquets de 128 octets, etc. Les réserves 0 et 1 ne sont
pour l'instant pas utilisées.
</para>

<para>
La configuration courante ainsi que des statistiques d'utilisation peuvent
être obtenues en invoquant la commande <command>zntune</command> sans
paramètre supplémentaire&nbsp;:
</para>

<cmdsynopsis>
        <command>zntune</command>
        <arg choice="opt">-z</arg>
        <arg choice="plain"><replaceable>interface</replaceable></arg>
        <arg choice="opt"><replaceable>réserve</replaceable></arg>
</cmdsynopsis>

<para>
La colonne &laquo;&nbsp;Size&nbsp;&raquo; indique la taille de tampon
mémoire en octets. La colonne &laquo;&nbsp;Ref&nbsp;&raquo; correspond au
nombre de VC ouverts qui emploient cette réserve. La colonne
&laquo;&nbsp;Alarm&nbsp;&raquo; indique combien de fois le nombre de
tampons mémoire disponibles a franchi la limite basse depuis la dernière
remise à zéro des compteurs. De même, la colonne
&laquo;&nbsp;&laquo;&nbsp;Under&nbsp;&raquo;&nbsp;&raquo; fournit le nombre
d'unités de données de protocole (PDU, Protocol Data Unit) jetées à cause
d'un manque de mémoire.
</para>

<para>
Les colonnes &laquo;&nbsp;Offs&nbsp;&raquo;,
&laquo;&nbsp;NxOf&nbsp;&raquo;, &laquo;&nbsp;Count&nbsp;&raquo; et
&laquo;&nbsp;Thres&nbsp;&raquo; indiquent l'état d'alignement.
&laquo;&nbsp;Offs&nbsp;&raquo; est le décalage des données utiles dans les
PDU attendues. Dans le cas d'une copie simple, les tampons de réception
sont alignés de telle sorte que les données soient reçues à partir de
frontières de page. &laquo;&nbsp;NxOf&nbsp;&raquo; correspond au décalage
des données utiles de la dernière PDU reçue pour laquelle le décalage
diffère de celui attendu. &laquo;&nbsp;Count&nbsp;&raquo; indique le nombre
de PDU reçues consécutivement avec un décalage de
&laquo;&nbsp;NxOf&nbsp;&raquo;. Enfin, lorsque
&laquo;&nbsp;Count&nbsp;&raquo; atteint &laquo;&nbsp;Thres&nbsp;&raquo;,
&laquo;&nbsp;NxOf&nbsp;&raquo; devient la nouvelle valeur de décalage.
</para>

<para>
L'option <parameter class="command">-z</parameter> permet de remettre à zéro
les compteurs &laquo;&nbsp;Alarm&nbsp;&raquo; et
&laquo;&nbsp;Under&nbsp;&raquo;.
</para>

</sect2>

<sect2 id="Device-Setup.Files-in-proc-net-atm">
<title>Fichiers du répertoire
<filename class="directory">/proc/net/atm/</filename></title>

<para>
Des informations sur l'état du système ATM sont accessibles via les
fichiers du répertoire <filename class="directory">/proc/net/atm/</filename>.
<filename>/proc/net/atm/arp</filename> contient des informations propres
à CLIP (Classical IP over ATM), cf.
<link linkend="IP-Over-ATM.CLIP" endterm="IP-Over-ATM.CLIP.title"></link>.
</para>

<para>
Les périphériques ATM actifs sont énumérés dans le fichier
<filename>/proc/net/atm/devices</filename>.
Chaque entrée comprend le numéro de l'interface, son type, l'identifiant
ESI (End System Identifier) ainsi que des compteurs d'usage. Ces derniers
correspondent à ceux fournis par l'utilitaire
<application>atmdiag</application>.
</para>

<para>
Les périphériques ATM peuvent déclarer des enregistrements de la forme
<literal><replaceable>type:indice</replaceable></literal>
(par exemple <literal>eni:0</literal>).
</para>

<para>
Les fichiers <filename>/proc/net/atm/pvc</filename> et
<filename>/proc/net/atm/svc</filename> énumèrent les sockets de type PVC et
SVC. L'interface et la paire d'indices VPI, VCI est donnée pour chaque
socket. Dans le cas des PVC, cette information est suivie du type d'AAL, de
la classe de trafic et du PCR en réception et en émission. Pour les SVC, on
trouve l'état du SVC et l'adresse du correspondant. Les SVC de numéro
d'interface 999 sont destinés à des mesures de contrôle particulières comme
indiqué dans la colonne &laquo;&nbsp;State&nbsp;&raquo;.
</para>

<para>
Enfin, le fichier <filename>/proc/net/atm/vc</filename> comprend
les tailles de tampon mémoire et d'autres données internes pour
les sockets ATM.
</para>

</sect2>

<sect2 id="Device-Setup.ATM-Diagnostics">
<title>Diagnostic ATM</title>

<para>
L'utilitaire <application>atmdiag</application> permet de récupérer
divers compteurs d'usage des gestionnaires de périphériques ATM.
Reportez-vous à la page de manuel associée pour davantage de détails.
</para>

</sect2>

<sect2 id="Device-Setup.SONET-Diagnostics">
<title>Diagnostic SONET</title>

<para>
L'outil de diagnostic SONET peut s'employer pour surveiller l'état du lien
et pour simuler des erreurs. Pour obtenir les compteurs d'usage SONET,
invoquez-le avec l'indice de l'interface ATM en argument. Par exemple&nbsp;:
</para>

<informalexample><screen>
% sonetdiag 0
</screen></informalexample>

<para>
L'option <parameter class="command">-z</parameter> remet les compteurs
à zéro&nbsp;:
</para>

<informalexample><screen>
# sonetdiag -z 0
</screen></informalexample>

<para>
Les erreurs suivantes peuvent être simulées<footnote><para>
Certains périphériques ne gèrent qu'un sous-ensemble de cette liste.
</para></footnote>
&nbsp;:
</para>

<variablelist>
        <varlistentry><term><errorcode>sbip</errorcode></term>
                <listitem>
                        <para>insertion d'erreur de section (B1)</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>lbip</errorcode></term>
                <listitem>
                        <para>insertion d'erreur de ligne (B2)</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>pbip</errorcode></term>
                <listitem>
                        <para>insertion d'erreur de chemin (B3)</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>frame</errorcode></term>
                <listitem>
                        <para>perte de trame en réception (RX)</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>los</errorcode></term>
                <listitem>
                        <para>perte de signal</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>lais</errorcode></term>
                <listitem>
                        <para>insertion d'un signal d'alarme de ligne</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>pais</errorcode></term>
                <listitem>
                        <para>insertion d'un signal d'alarme de chemin</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><errorcode>hcs</errorcode></term>
                <listitem>
                        <para>insertion d'erreurs de somme de contrôle de l'en-tête</para>
                </listitem>
        </varlistentry>
</variablelist>

<para>
Une erreur est activée par ajout du mot-clé correspondant à la ligne
de commande. L'erreur est désactivée en préfixant le mot-clé par un
signe négatif, par exemple&nbsp;:
</para>

<informalexample><screen>
a# sonetdiag -z 0 >/dev/null
b# sonetdiag -z 0 >/dev/null
a# sonetdiag 0 los
a# sonetdiag 0 -los
b# sonetdiag 0 | grep BIP
Section BIP errors:      56200
Line BIP errors:           342
Path BIP errors:           152
a# sonetdiag 0 | grep FEBE
Line FEBE:                 342
Path FEBE:                 152
</screen></informalexample>

<para>
Si des insertions d'erreurs sont demandées, leurs identifiants sont
indiqués lorsque les compteurs sont relevés via
<application>sonetdiag</application>. On notera que le matériel peut
spontanément désactiver certaines insertions d'erreur.
</para>

</sect2>

</sect1>

<sect1 id="Native-ATM-PVCs">
<title>Circuits virtuels permanents ATM natifs (PVC)</title>

<para>
Les circuits permanents s'utilisent pour des machines directement
connectées ou reliées à un commutateur. Dans le dernier cas, la
transmission des cellules doit être activée manuellement au niveau du
commutateur.
</para>

<sect2 id="Native-ATM-PVCs.Traffic-Tools">
<title>Outils de génération de trafic</title>

<para>
<application>aread</application>/<application>awrite</application> et
<application>br</application>/<application>bw</application> sont des
programmes élementaires donnant accès à l'API ATM.
<application>awrite</application> transmet la chaîne de texte donnée en
deuxième argument via une PDU AAL5. <application>aread</application> reçoit
une PDU AAL5 et l'affiche en hexadécimal. Ces deux programmes affichent
également la valeur de retour des appels système correspondants ainsi que
celle de <errorcode>errno</errorcode>.
</para>

<para>
<application>bw</application> transmet le contenu de son entrée standard ou
un flux de données arbitraires (si on lui passe un nombre en quatrième
argument). Les données transitent dans des PDU AAL5 de 8 Ko.
<application>br</application> reçoit les PDU AAL5 et les affiche sur sa
sortie standard.
</para>

<para>
Le premier argument des commandes <application>aread</application>,
<application>awrite</application>, <application>br</application> et
<application>bw</application> correspond à l'adresse du circuit permanent,
à savoir le numéro de l'interface ATM, le VPI et le VCI séparés à chaque
fois par un point. Le numéro de l'interface peut être omis s'il est nul.
Par exemple&nbsp;:
</para>

<informalexample><screen>
% awrite 1.0.42 hi
</screen></informalexample>

<para>
Certains matériels ne supportent qu'un VPI nul. Par ailleurs, la plage
des VCI peut être limitée, p.ex. entre 0 et 1023.
Le numéro de l'interface ATM s'obtient à partir des messages
d'initialisation du gestionnaire ATM concerné.
<interfacename>atm0</interfacename> correspond à l'interface 0,
<interfacename>atm1</interfacename> correspond à l'interface 1, etc.
Dans un système muni d'un véritable périphérique ATM (autre que
<application>atmtcp</application> donc), celui-ci se situe normalement
en <interfacename>atm0</interfacename>.
</para>

<para>
L'utilitaire <application>aping</application> émet et reçoit de petites PDU
AAL5 via un PVC. Il s'attend à ce que les messages soient renvoyés en écho
à l'autre extrémité ou à ce qu'une application similaire y émette un flux
de messages. <application>aping</application> signale une erreur si rien
n'est reçu pendant une certaine durée. Il s'invoque comme
<application>aread</application>, en spécifiant le PVC.
</para>

<para>
Pour des tests plus poussés, servez-vous de la version modifiée de 
<application>ttcp</application> incluse dans le paquet.
La version originale est disponible à l'adresse&nbsp;:
<ulink url="ftp://ftp.sgi.com/sgi/src/ttcp/"></ulink>.
Les options suivantes ont été ajoutées&nbsp;:
</para>

<variablelist>
        <varlistentry><term><parameter class="command">-a</parameter></term>
                <listitem>
<para>
emploi natif d'ATM au lieu d'UDP/TCP. L'adresse doit être de cette forme
pour les PVC&nbsp;:
<parameter class="command">[<replaceable class="option">itf.</replaceable>]vpi.vci</parameter>.
Pour les SVC, il s'agit d'une adresse terminale ATM.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-P</parameter> <replaceable>num</replaceable></term>
                <listitem>
<para>utilisation d'une connexion CBR avec un débit crête de
<replaceable>num</replaceable> cellules par secondes. Une classe de trafic UBR
est appliquée par défaut.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-C</parameter></term>
                <listitem>
                        <para>désactivation des sommes de contrôle (UDP)</para>
                </listitem>
        </varlistentry>
</variablelist>

<para>
Exemples&nbsp;:
</para>

<informalexample><screen>
%a ttcp_atm -r -a -s 0.90
%b ttcp_atm -t -a -s 0.90
</screen></informalexample>

</sect2>

<sect2 id="Native-ATM-PVCs.Direct-Cell-Access">
<title>Accès direct aux cellules</title>

<para>
Les cellules peuvent être formées et analysées avec l'utilitaire
<application>atmdump</application> pour les périphériques dont le
gestionnaire permet les accès directs aux cellules (mode AAL0).

Par exemple&nbsp;:
</para>

<informalexample><screen>
a% sleep 10; date | ./atmdump -t 1 -c 0.51
b% ./atmdump 0.51
825079645.192480: VPI=0 VCI=51, GFC=0x0, CLP=1, Data SDU 1 (PTI 1)
   46 72 69 20 46 65 62 20 32 33 20 31 32 3a 34 37 
   3a 32 35 20 47 4d 54 20 31 39 39 36 0a 00 00 00 
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
</screen></informalexample>

</sect2>

</sect1>


<sect1 id="Signaling">
<title>Signalisation</title>

<sect2 id="Signaling.ATM-Hosts-File">
<title>Fichier des hôtes ATM</title>

<para>
Les adresses ATM étant peu pratiques à manipuler, la plupart des outils
ATM acceptent également des noms au lieu des adresses numériques.
La conversion entre les noms et les adresses s'effectue via le fichier
<filename>/etc/hosts.atm</filename> dont la structure est analogue à celle
du fichier <filename>/etc/hosts</filename>&nbsp;:
</para>

<informalexample><screen>
<replaceable>adresse_numérique</replaceable> <replaceable>nom(s)</replaceable>
</screen></informalexample>

<para>
Par exemple&nbsp;:
</para>

<informalexample><screen>
47.0005.80FFE1000000F21A26D8.0020EA000EE0.00 pc2-a.fqdn pc2-a
47.0005.80FFE1000000F21A26D8.0020D4102A80.00 pc3-a.fqdn pc3-a
</screen></informalexample>

<para>
L'adresse numérique est spécifiée dans un des formats décrits dans
[<xref linkend="api"/>].
L'adresse d'un système Linux peut être déterminée avec la commande
<command>atmaddr <option>-n</option></command> (voir également la
section
<link linkend="Signaling.Manual-Address-Configuration" endterm="Signaling.Manual-Address-Configuration.title"></link>).
</para>

<para>
De nombreux outils ATM tentent également d'obtenir le nom qui correspond
à une adresse lorsqu'ils affichent cette dernière. Le premier nom qui
apparaît dans le fichier en regard d'une adresse est alors utilisé.
</para>

<para>
Outre les adresses ATM pour les SVC, les adresses des PVC peuvent également
être stockées dans le fichier <filename>/etc/hosts.atm</filename>.
Lorsque différents types d'adresses correspondent au même nom d'hôte, la
première dont le type convient est employée. Ainsi, lorsqu'une application
ne demande que des adresses de SVC, celles des PVC sont ignorées.
</para>

</sect2>

<sect2 id="Signaling.ANS">
<title>ANS</title>

<para>
Si vous avez accès au service de nom ATM (ATM Name Service), par exemple
parce que vous avez installé l'option ANS, vous pouvez l'employer en
remplacement ou en complément du fichier de noms en spécifiant le nom 
de l'hôte qui héberge le service ANS dans le fichier
<filename>/etc/resolv.conf</filename>.
</para>

<para>
La liste des codes téléphoniques doit être connue pour effectuer la
résolution inverse des adresses E.164. Cette liste se trouve sur le site
de <ulink url="http://www.itu.org/">l'ITU-T</ulink> (International
Telecommunications Union). La <ulink 
url="http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_717.html"><citetitle>liste 
des codes E.164 nationaux assignés par l'ITU-T</citetitle></ulink> est 
disponible aux formats PDF et Word.
</para>

<note><para>
Si l'URL venait à changer, le document devrait être facilement localisé
en utilisant le moteur de recherche du site.
</para></note>

<para>
Le script <command>src/lib/pdf2e164_cc.pl</command> du paquet atm-linux 
permet de créer un tableau des codes nationaux E.164 à partir de la 
version PDF. Par exemple&nbsp;:
</para>

<informalexample><screen>
perl pdf2e164_cc.pl <replaceable>e164_xxx.pdf</replaceable> &gt;/etc/e164_cc
</screen></informalexample>

<para>
Le script s'appuie sur l'utilitaire <application>pdftotext</application>.
Celui-ci est disponible avec l'application
<ulink url="http://www.foolabs.com/xpdf/"><application>xpdf</application></ulink>.
</para>

</sect2>

<sect2 id="Signaling.Signaling-Demon">
<title>Démon de signalisation</title>

<para>
Pages de manuel&nbsp;:
<citerefentry><refentrytitle>atmsigd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
<citerefentry><refentrytitle>atmsigd.conf</refentrytitle><manvolnum>4</manvolnum></citerefentry>
</para>

<para>
Notez que la prise en charge point-à-multipoint 
d'<application>atmsigd</application> est très limitée&nbsp;: seul l'emploi en tant
que feuille d'un arbre point-à-multipoint fonctionne.
</para>

<para>
Par défaut, <application>atmsigd</application> est configuré pour se
conformer à la version d'UNI choisie dynamiquement. Il peut être compilé
pour UNI 3.0, 3.1 ou 4.0 en employant l'argument
<parameter class="command">--with-uni=VERSION</parameter> du script 
<command>./configure</command> au sommet des sources du paquet 
linux-atm.
</para>

<para>
Notez que la configuration de <application>atmsigd</application> est assez
contraignante. Il s'arrête souvent en cas d'anomalie. Ceci devrait changer
dans le futur.
</para>

<para>
<application>atmsigd</application> cherche un fichier de configuration
à l'emplacement spécifié via l'option
<parameter class="command">-c</parameter>.
<filename>/usr/local/etc/atmsigd.conf</filename> correspond à l'emplacement
par défaut.
</para>
</sect2>

<sect2 id="Signaling.ILMI-Demon">
<title>Démon ILMI</title>

<para>
ILMI offre un mécanisme de configuration automatique des adresses. En
l'absence de commutateur ou si celui-ci ne gère pas ILMI, les adresses
ATM doivent être renseignées manuellement (se reporter à la section
<link linkend="Signaling.Manual-Address-Configuration" endterm="Signaling.Manual-Address-Configuration.title"></link>).
On notera que le démon ILMI ne doit pas être employé avec des interfaces
pour lesquelles les adresses sont positionnées manuellement.
</para>

<para>
Le démon ILMI est invoqué comme suit&nbsp;:
</para>

<cmdsynopsis>
        <command>ilmid</command>
        <arg choice="opt">-b</arg>
        <arg choice="opt">-d</arg>
        <arg choice="opt">-i <replaceable>ip_locale</replaceable></arg>
        <arg choice="opt">-l <replaceable>fichier_journal</replaceable></arg>
        <arg choice="opt">-q <replaceable>qos</replaceable></arg>
        <arg choice="opt">-u <replaceable>version_uni</replaceable></arg>
        <arg choice="opt">-v</arg>
        <arg choice="opt">-x</arg>
        <arg choice="opt"><replaceable>itf</replaceable></arg>
</cmdsynopsis>

<variablelist>
        <varlistentry><term><parameter class="command">-b</parameter></term>
                <listitem>
                        <para>arrière-plan. S'exécute dans un processus fils
après initialisation.</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-d</parameter></term>
                <listitem>
                        <para>messages de débogage. Par défaut,
<application>ilmid</application> est très discret.</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-i</parameter> <replaceable>ip_locale</replaceable></term>
                <listitem>
<para>
adresse IP à annoncer au commutateur quand il en demande une. Elle est
spécifiée sous forme décimale pointée ou textuelle. Par défaut,
<application>ilmid</application> la détermine de façon heuristique.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-l</parameter> <replaceable>fichier_journal</replaceable></term>
                <listitem>
<para>
fichier d'enregistrement des messages de diagnostic (au lieu de la sortie
standard). Le nom spécial <parameter class="command">syslog</parameter> implique
l'envoi des messages vers l'enregistreur système syslog.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-q</parameter> <replaceable>qos</replaceable></term>
                <listitem>
<para>
configure la classe de service pour le circuit ILMI. Par défaut une classe
UBR à la vitesse du lien est employée.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-u</parameter> <replaceable>version_uni</replaceable></term>
                <listitem>
<para>
version d'UNI. Les valeurs possibles sont&nbsp;:
<parameter class="command">3.0</parameter>,
<parameter class="command">3.1</parameter>, et
<parameter class="command">4.0</parameter>. Le point est facultatif. La valeur
employée par défaut dépend de la façon dont <application>ilmid</application>
a été compilé. Il s'agit typiquement de la valeur
<parameter class="command">3.0</parameter>.
</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-v</parameter></term>
                <listitem>
                        <para>verbosité de débogage accrue.</para>
                </listitem>
        </varlistentry>
        <varlistentry><term><parameter class="command">-x</parameter></term>
                <listitem>
<para>
désactive l'inclusion des liaisons de variables dans les ColdstartTrap
SNMP. Certains commutateurs (les LS1000 par exemple) ne fonctionnent que
si cette option est activée.
</para>
                </listitem>
        </varlistentry>
</variablelist>

<para>
En l'absence de numéro d'interface, <application>ilmid</application>
se sert de l'interface 0. La commande <command>atmaddr</command> permet
de vérifier le succès de l'enregistrement d'adresse.
</para>

<para>
L'agent ne supporte que les procédures d'enregistrement d'adresse
spécifiées dans la section 5.8 des spécification UNI 3.1 d'ATM Forum.
Ces procédures impliquent l'enregistrement du préfixe réseau de l'hôte
par le commutateur tandis que l'hôte enregistre en retour l'adresse
finale auprès du commutateur. L'hôte y parvient en ajoutant un
identificateur de système (ESI/End System Identifier) et un
octet sélecteur nul au préfixe réseau enregistré par le commutateur.
L'identificateur correspond à l'adresse physique ou MAC de l'interface
ATM.
</para>
</sect2>

<sect2 id="Signaling.Manual-Address-Configuration">
<title id="Signaling.Manual-Address-Configuration.title">Configuration manuelle d'adresse</title>

<para>
Si votre commutateur ne prend pas en charge ILMI, vous devez positionner
manuellement l'adresse ATM au niveau du commutateur et de l'ordinateur. Vérifiez
au préalable qu'<application>ilmid</application> est désactivé et utilisez
la commande <command>atmaddr</command> pour spécifier la ou les adresses.
</para>

<para>
Page de manuel&nbsp;:
<citerefentry><refentrytitle>atmaddr</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>

<para>
La configuration du commutateur dépend de son modèle. Par exemple, pour
un Fore ASX-200&nbsp;:
</para>

<informalexample><screen>
conf nsap route new <replaceable>adresse_nsap</replaceable> 152 <replaceable>port</replaceable> <replaceable>vpi</replaceable>
</screen></informalexample>

<para>
c'est-à-dire
</para>

<informalexample><screen>
conf nsap route new 47000580ffe1000000f21510650020ea000ee000 152 1a2 0
                    |&lt;---- préfixe NSAP ----&gt;||&lt;--ESI---&gt;|^^
                                                          SEL
</screen></informalexample>

<para>
La longueur de l'adresse NSAP complète doit toujours être de 40 chiffres
hexadécimaux. Il est possible d'employer des adresses avec un préfixe
différent et un ESI différent de ceux des périphériques. La valeur de
l'octet de sélection (SEL) est ignorée.
</para>

</sect2>

<sect2 id="Signaling.Running-Two-ATM-NICs-Back-to-Back">
<title id="Signaling.Back-to-Back.title">Emploi de deux adaptateurs ATM
directement connectés</title>

<para>
Il est également possible d'utiliser deux cartes ATM directement connectées
sans avoir besoin de commutateur. Ceci est très pratique pour des
environnements de test simples.
</para>

<para>
Un câblage adéquat est nécessaire si vous employez du câble UTP ou STP-5.
Nos essais avec des câbles croisés standard 100Base-T n'ont rien donné.
Le câblage est différent comme indiqué sur la figure suivante&nbsp;:
</para>

<informalexample><screen>
RJ45                            RJ45
   1        ------------        7
   2        ------------        8

   7        ------------        1
   8        ------------        2

Les broches 3, 4, 5, 6 ne sont pas connectées.
</screen></informalexample>

<para>
Les couleurs aux extrémités des connecteurs RJ45 permettent de mieux 
illustrer ce montage.
Le premier connecteur utilise le câblage ci-dessous&nbsp;:
</para>

<informalexample><screen>
RJ45-1
   1 - marron
   2 - blanc/marron
   3 - non connecté
   4 - non connecté
   5 - non connecté
   6 - non connecté
   7 - orange
   8 - blanc/orange
</screen></informalexample>

<para>
Et le second connecteur le câblage suivant&nbsp;:
</para>

<informalexample><screen>
RJ45-2
   1 - orange
   2 - blanc/orange
   3 - non connecté
   4 - non connecté
   5 - non connecté
   6 - non connecté
   7 - marron
   8 - blanc/marron
</screen></informalexample>

<para>
Un câblage 1 -- 7 et 2 -- 8 fournit une boucle des plus 
économiques.
</para>

<para>
On considérera par la suite deux machines nommées
&laquo;&nbsp;virgil&nbsp;&raquo; et &laquo;&nbsp;nestor&nbsp;&raquo;.
</para>

<para>
Une extrémité de la connexion ATM doit activer le démon réseau
<application>atmsigd</application> tandis que l'autre se sert de la
version utilisateur usuelle. On exécute sur nestor la commande&nbsp;:
</para>

<informalexample><screen>
atmsigd -b -m network
</screen></informalexample>

<para>
et sur virgil&nbsp;:
</para>

<informalexample><screen>
atmsigd -b
</screen></informalexample>

<para>
ILMI n'est pas utilisable sans commutateur ATM. Créez un fichier
<filename>/etc/hosts.atm</filename> avec deux adresses bidon, par 
exemple&nbsp;:
</para>

<informalexample><screen>
47.0005.80FFE1000000F21A26D8.0020EA000EE0.00    nestor-atm
47.0005.80FFE1000000F21A26D8.0020D4102A80.00    virgil-atm
</screen></informalexample>

<para>
Ces adresses sont complètement fantaisistes mais cela n'a pas grande
importance tant qu'on n'est pas connecté à un réseau ATM public ou privé.
Les adresses sont transmises aux gestionnaires de périphériques via (sur
virgil)&nbsp;:
</para>

<informalexample><screen>
atmaddr -a virgil-atm
</screen></informalexample>

<para>
et (sur nestor)&nbsp;:
</para>

<informalexample><screen>
atmaddr -a nestor-atm
</screen></informalexample>

<para>
Démarrez à présent <application>atmarpd</application> sur les deux
machines de la façon habituelle. Vous devriez (en principe) disposer
d'un système ATM opérationnel. Pour activer IP au-dessus d'ATM, suivez
les instructions données à la section
<link linkend="IP-Over-ATM" endterm="IP-Over-ATM.title"></link>.
</para>

</sect2>

<sect2 id="Signaling.Q-2931-Message-Dumper">
<title>Analyseur-producteur de messages Q.2931</title>

<para>
Le compilateur de messages Q.2931 génère également un embellificateur pour
les messages Q.2931. L'exécutable se nomme <application>q.dump</application>
et se trouve dans le répertoire <filename>src/qgen</filename>. Notez que
la commande <command>make install</command> ne le copiera nulle part.
</para>

<para>
<application>q.dump</application> attend une suite d'octets sous forme
de chiffres hexadécimaux séparés par des espaces sur l'entrée standard et
affiche la structure du message si celui-ci est analysable.

Exemple&nbsp;:
</para>

<informalexample><screen>
% echo 09 03 80 00 05 5A 80 00 06 08 80 00 02 81 83 00 48 \
  00 00 08 | ./q.dump
_pdsc = 9 "Q.2931 user-network call/connection control message"
_cr_len = 3
call_ref = 8388613 (0x800005)
msg_type = 0x5a "RELEASE COMPLETE"
_ext = 1
_flag = 0 "instruction field not significant"
_action_ind = 0 "clear call"
msg_len = 6 (0x6)
  _ie_id = 0x08 "Cause"
    _ext = 1
    cause_cs = 0 "ITU-T standardized"
    _flag = 0 "instruction field not significant"
    _action_ind = 0 "clear call"
    _ie_len = 2 (0x2)
      _ext = 1
      location = 1 "private network serving the local user"
      _ext = 1
      cause = 3 "no route to destination"
</screen></informalexample>

</sect2>

</sect1>


<sect1 id="IP-Over-ATM">
<title id="IP-Over-ATM.title">IP au-dessus d'ATM</title>

<para>
IP via ATM est pris en charge via CLIP (Classical IP over ATM) comme
défini dans la RFC1577 [<xref linkend="RFC1577"/>], LANE (LAN Emulation,
cf. [<xref linkend="lanev1"/>] et [<xref linkend="lanev2"/>]) et MPOA
(Multi-Protocol Over ATM, cf. [<xref linkend="mpoav1"/>]) en mode 
client.
</para>

<sect2 id="IP-Over-ATM.CLIP">
<title id="IP-Over-ATM.CLIP.title">CLIP</title>

<para>
Un démon gère la génération et l'analyse des requêtes ARP. Le noyau ne
maintient qu'une petite table de recherche avec des informations partielles.
</para>

<para>
Pages de manuel&nbsp;:
<citerefentry><refentrytitle>atmarpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>atmarp</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>

<para>
<application>atmsigd</application> et <application>ilmid</application>
doivent être démarrés avant <application>atmarpd</application>. Utilisez
l'option <parameter class="command">-b</parameter> pour être sûr que ces
démons sont correctement synchronisés. Par exemple&nbsp;:
</para>

<informalexample><screen>
#!/bin/sh
atmsigd -b
ilmid -b
atmarpd -b
...
</screen></informalexample>

<para>
Le script suivant ne fonctionnera par contre que rarement&nbsp;:
</para>

<informalexample><screen>
#!/bin/sh
atmsigd &amp;
ilmid &amp;
atmarpd &amp;
...
</screen></informalexample>

<para>
<application>atmarp</application> permet de configurer ATMARP.
Une fois <application>atmsigd</application>, <application>ilmid</application>
et <application>atmarpd</application> démarrés, créez une interface et
configurez-la&nbsp;:
</para>

<informalexample><screen>
# atmarp -c <replaceable>nom_interface</replaceable>
# ifconfig atm0 <replaceable>adresse_locale</replaceable> <replaceable>options_supplémentaires_éventuelles</replaceable> up
</screen></informalexample>

<para>
Par exemple&nbsp;:
</para>

<informalexample><screen>
# atmarp -c atm0
# ifconfig atm0 10.0.0.3 up
</screen></informalexample>

<para>
Dans le cas où seuls des PVC sont employés, on peut les créer avec&nbsp;:
</para>

<informalexample><screen>
# atmarp -s 10.0.0.4 0.0.70
</screen></informalexample>

<para>
L'encapsulation est de type NULL si le mot clef 
<parameter class="command">null</parameter> est passé en argument.
Notez qu'ARP demande une encapsulation de type LLC/SNAP. Le type NULL
est donc limité aux PVC.
</para>

<para>
L'usage de SVC peut nécessiter davantage de configuration. Si l'hôte joue
le rôle de serveur ATMARP sur ce sous-réseau IP logique (LIS, Logical IP
Subnet), aucune autre opération n'est nécessaire. Sinon, l'adresse ATM du
serveur ARP doit être renseignée. Ceci s'effectue en créant une entrée avec
l'option <parameter class="command">arpsrv</parameter>. Par exemple&nbsp;:
</para>

<informalexample><screen>
# atmarp -s \
  10.0.0.0 47.0005.80.ffe100.0000.f215.1065.0020EA000756.00 \
  arpsrv
</screen></informalexample>

<para>
Le serveur ATMARP doit être opérationnel en préalable à la configuration
des clients.
</para>

<para>
La table ATMARP du noyau peut se lire via
<filename>/proc/net/atm/arp</filename>.
La table utilisée par <application>atmarpd</application> est 
régulièrement affichée sur la sortie standard lorsque le démon a été
invoqué avec l'option <parameter class="command">-d</parameter>.
Sans cette option de configuration, la table est écrite dans le fichier
<filename>atmarpd.table</filename> du répertoire de sortie (par défaut
<filename class="directory">/var/run</filename>, modifiable avec l'option
<parameter class="command">-D</parameter>). La commande
<command>atmarp -a</command> permet de la lire.
</para>

</sect2>

<sect2 id="IP-Over-ATM.LAN-Emulation">
<title id="IP-Over-ATM.LAN-Emulation.title">Émulation de LAN</title>

<para>
Outre CLIP, LANE (Lan Emulation) convoie du trafic IP au-dessus d'ATM. LANE
émule le comportement d'un (ancien) réseau local, par exemple dans son
aspect diffusion des messages. Le serveur LANE est décrit dans le fichier
<filename>src/lane/USAGE</filename> du paquet linux-atm.
</para>

<para>
Pages de manuel&nbsp;:
<citerefentry><refentrytitle>bus</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>lecs</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>les</refentrytitle><manvolnum>8</manvolnum></citerefentry> et
<citerefentry><refentrytitle>zeppelin</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>

<para>
Si vous comptez utiliser plusieurs clients ou services LANE, chaque démon
doit disposer de sa propre adresse ATM locale. Tous les démons emploient la
même prise d'accès (SAP, Service Access Point) et la distinction entre
connexions s'effectue donc avec les adresses ATM.
</para>

<para>
Tout comme CLIP, LANE se compose d'un processus démon en espace
utilisateur, <application>zeppelin</application>, qui gère le protocole
LANE, et d'une partie noyau qui s'occupe du cache ARP LANE.
</para>

<para>
<application>atmsigd</application> et <application>ilmid</application>
doivent être lancés avant
<application>zeppelin</application>. Le noyau crée une nouvelle interface
au démarrage de <application>zeppelin</application>. Celle-ci peut alors
être configurée&nbsp;:
</para>

<informalexample><screen>
# zeppelin <replaceable>options_supplémentaires_éventuelles</replaceable> &amp;
# ifconfig lec0 <replaceable>adresse_locale</replaceable> <replaceable>options_supplémentaires_éventuelles</replaceable> up
</screen></informalexample>

<para>
Dans l'exemple suivant, deux clients LANE sont démarrés. Le premier client
utilise l'interface par défaut <interface>lec0</interface>, l'adresse
d'écoute par défaut et se connecte au pseudo-réseau par défaut. Le second
client LANE se voit attribuer l'interface <interface>lec2</interface>,
s'attache à l'adresse locale <parameter class="command">ma_machine3</parameter>,
essaie de joindre le pseudo-réseau <parameter class="command">mon_réseau</parameter>
et fait office de pont entre le pseudo-réseau et le segment
Ethernet. L'adresse <parameter class="command">ma_machine3</parameter> est
spécifiée dans le fichier <filename>/etc/hosts.atm</filename>. Le reste du
fonctionnement du pont est décrit dans le mini-HOWTO correspondant,
[<xref linkend="bridge-howto"/>].
</para>

<informalexample><screen>
# zeppelin &amp;
# ifconfig lec0 10.1.1.42 netmask 255.255.255.0 \
                          broadcast 10.1.1.255 up
#
# zeppelin -i 2 -l ma_machine3 -n mon_réseau -p &amp;
# ifconfig lec2 10.1.2.42 netmask 255.255.255.0 \
                          broadcast 10.1.2.255 up
</screen></informalexample>

<para>
<application>zeppelin</application> emploie l'interface
<interface>lec0</interface> par défaut et s'attache à une adresse ATM dont
l'octet de sélection est à zéro. Il essaie de contacter le LECS (LAN
Emulation Configuration Server) à l'adresse standard et de joindre le
pseudo-réseau spécifié par ce dernier. <application>zeppelin</application>
utilise la MTU définie par le LES et n'agit pas en tant que proxy LEC (LAN
Emulation Client). Ce paramétrage est modifiable avec les options de ligne
de commandes définies dans
<citerefentry><refentrytitle>zeppelin</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>

<para>
<application>zeppelin</application> rejoint automatiquement tout
pseudo-réseau dont la MTU dépasse les 1516 octets de MTU par défaut.
La MTU de l'interface LANE s'ajuste en fonction de la MTU du pseudo-réseau
courant.
</para>

<para>
L'état du cache ARP LANE est accessible via le fichier
<filename>/proc/net/atm/lec</filename>. Les adresses MAC, ATM et l'état de
chaque entrée sont affichés. Les identifiants de connexion pour les
enregistrement actifs sont également présents.
</para>

<para>
Le service LANE
(<citerefentry><refentrytitle>lecs</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>les</refentrytitle><manvolnum>8</manvolnum></citerefentry>
et
<citerefentry><refentrytitle>bus</refentrytitle><manvolnum>8</manvolnum></citerefentry>)
se configure au moyen de fichiers. La syntaxe des fichiers de configuration
est décrite dans les pages de manuel respectives.
</para>

<para>
Une description plus détaillée des services LANE de Linux se trouve dans
le mémoire d'études de Marko Kiiskil&auml; [<xref linkend="kiis"/>].
<!-- FIXME NDT: retrouver l'URL -->
</para>

</sect2>

<sect2 id="IP-Over-ATM.MPOA">
<title id="IP-Over-ATM.MPOA.title">MPOA</title>

<para>
Le client MPOA de Linux s'inscrit dans la tradition des services ATM
divisés en un démon utilisateur et un service noyau. Le démon
<application>mpcd</application> traite les paquets de contrôle MPOA
tandis que le noyau tient à jour les caches entrant et sortant et
effectue le renvoi des paquets.
</para>

<para>
Page de manuel&nbsp;:
<citerefentry><refentrytitle>mpcd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>

<para>
<application>atmsigd</application> et <application>ilmid</application>
doivent être lancés avant <application>mpcd</application>. Puisque MPOA
détecte les flux IP à partir du trafic LANE,
<application>zeppelin</application> doit être démarré au préalable. L'ordre
de lancement des démons <application>zeppelin</application> et
<application>mpcd</application> n'est toutefois pas fixé. Ils peuvent être
arrêtés et redémarrés indépendamment l'un de l'autre. La méthode la plus
simple pour désactiver MPOA consiste à envoyer un signal au démon
<application>mpcd</application>.
</para>

<para>
Ci-dessous se trouve un exemple tiré de la section
<link linkend="IP-Over-ATM.LAN-Emulation" endterm="IP-Over-ATM.LAN-Emulation.title"></link>
qui démarre deux clients LANE. La configuration a été enrichie de deux clients
MPOA alimentés par les clients LANE&nbsp;:
</para>

<informalexample><screen>
# zeppelin &amp;
# ifconfig lec0 10.1.1.42 netmask 255.255.255.0 \
                          broadcast 10.1.1.255 up
# mpcd -s ma_machine1 -l ma_machine2 &amp;
#
# zeppelin -i 2 -l ma_machine3 -n mon_réseau -p &amp;
# ifconfig lec2 10.1.2.42 netmask 255.255.255.0 \
                          broadcast 10.1.2.255 up
# mpcd -i 2 -s ma_machine4 -l ma_machine5 &amp;
</screen></informalexample>

<para>
Le démon MPOA a besoin de deux adresses ATM locales qu'il emploie pour
initialiser et recevoir les connexions de contrôle et de données. Les
adresses peuvent être les mêmes que pour <application>zeppelin</application>,
par exemple, mais elles doivent différer entre démons
<application>mpcd</application>. Par défaut, 
<application>mpcd</application> ne récupère pas les informations de
configuration du LECS. Les options de ligne de commande et un exemple
d'emploi de LECS se trouvent dans la page de manuel de
<application>mpcd</application>.
</para>

<para>
Le contenu des caches entrant et sortant de MPOA peut être contrôlé via le
fichier <filename>/proc/net/atm/mpc</filename>.
</para>

<para>
Le client MPOA Linux accepte la classe de trafic CBR pour les SVC directs
au lieu de la classe par défaut UBR. La QoS des SVC à venir est
modifiable par l'intermédiaire de <filename>/proc/net/atm/mpc</filename>.
</para>

<informalexample><screen>
# echo add 130.230.54.146 tx=80000,1600 rx=tx > /proc/net/atm/mpc
#             # créer assez de trafic pour déclencher un raccourci
# cat /proc/net/atm/mpc 
QoS entries for shortcuts:
IP address
  TX:max_pcr pcr     min_pcr max_cdv max_sdu
  RX:max_pcr pcr     min_pcr max_cdv max_sdu
130.230.54.146  
     80000   0       0       0       1600   
     80000   0       0       0       1600   

Interface 2:

Ingress Entries:
IP address      State     Holding time  Packets fwded  VPI VCI
130.230.4.3     invalid   1160          0           
130.230.54.146  resolved  542           151            0   109
...
</screen></informalexample>

<para>
Le raccourci avec l'adresse IP
<parameter class="command">130.230.54.146</parameter> a été établi avec
les paramètres ci-dessus. Des patches étendent la détection de flux à
un support complet de niveau&nbsp;4. Les flux de niveau 4 sont exprimés
sous la forme d'un quintuplet (protocole, adresse locale, port local,
adresse distance, port distant). Ils identifient des flux applicatifs.
<!-- Le lien vers la rustine n'existe plus, et il ne semble pas en 
     exister de version à jour.
Si vous êtes intéressés, récupérez le dernier patch sur <ulink 
url="ftp://sunsite.tut.fi/pub/Local/linux-atm/mpoa/">ftp://sunsite.tut.fi/pub/Local/linux-atm/mpoa/</ulink>.
-->
</para>

</sect2>

</sect1>

<bibliography id="Bibliography">
<title id="Bibliography.title">Bibliographie</title>

<bibliodiv>
<title>Références</title>

<biblioentry id="api" xreflabel="api">
        <title>Linux ATM API</title>
        <author>
                <firstname>Werner</firstname>
                <surname>Almesberger</surname>
        </author>
        <releaseinfo>
                <ulink url="http://linux-atm.sourceforge.net/API/">http://linux-atm.sourceforge.net/API/</ulink>
        </releaseinfo>
        <pubdate>juillet 1996</pubdate>
</biblioentry>

<biblioentry id="RFC1577" xreflabel="RFC1577">
        <title>Classical IP and ARP over ATM (RFC1577)</title>
        <author>
                <firstname>Mark</firstname>
                <surname>Laubach</surname>
        </author>
        <pubdate>janvier 1994</pubdate>
</biblioentry>

<biblioentry id="lanev1" xreflabel="lanev1">
        <title>LAN Emulation Over ATM -- Version 1.0</title>
        <corpauthor>ATM Forum</corpauthor>
        <pubdate>février 1996</pubdate>
</biblioentry>

<biblioentry id="lanev2" xreflabel="lanev2">
        <title>LAN Emulation Over ATM -- Version 2 -- LUNI Specification</title>
        <corpauthor>ATM Forum</corpauthor>
        <pubdate>juillet 1997</pubdate>
</biblioentry>

<biblioentry id="mpoav1" xreflabel="mpoav1">
        <title>Multi-Protocol Over ATM -- Version 1.0</title>
        <corpauthor>ATM Forum</corpauthor>
        <pubdate>juillet 1997</pubdate>
</biblioentry>

<biblioentry id="bridge-howto" xreflabel="bridge-howto">
        <title>Bridging mini-Howto</title>
        <author>
                <firstname>Christopher</firstname>
                <surname>Cole</surname>
        </author>
        <releaseinfo>
                <ulink 
                url="&howto;Bridge.html"></ulink>
        </releaseinfo>
        <pubdate>mars 2001</pubdate>
</biblioentry>

<biblioentry id="kiis" xreflabel="kiis">
        <title>Implementation of LAN Emulation Over ATM in Linux</title>
        <author>
                <firstname>Marko</firstname>
                <surname>Kiiskil&auml;</surname>
        </author>
        <releaseinfo>
                <ulink 
                url="http://linux-atm.sourceforge.net/misc.php"></ulink>
        </releaseinfo>
        <pubdate>octobre 1996</pubdate>
</biblioentry>

</bibliodiv>

</bibliography>

</article>