This file is indexed.

/usr/share/doc/HOWTO/fr-html/Multi-Ethernet.html is in doc-linux-fr-html 2013.01-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Mini-HOWTO Machines Multi-Ethernet</title>
</head>
<body>
<h1>Mini-HOWTO Machines Multi-Ethernet</h1>
<h2>Don Becker, <code>becker@cesdis.gsfc.nasa.gov</code></h2>
5 ao&ucirc;t 1995
<hr>
<em>Ce mini-Howto explique comment configurer Linux pour qu'il
reconnaisse plusieurs cartes Ethernet sur une m&ecirc;me
machine.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Dans le cas de la plupart des distributions classiques de Linux,
il suffit d'ajouter la ligne suivante au d&eacute;but de votre
fichier <code>/etc/lilo.conf</code> et de relancer
<code>lilo</code>&nbsp;:</p>
<pre>
append = "ether=0,0,eth1"
</pre>
<p>C'est tout ce que vous avez &agrave; faire. Lors du prochain
red&eacute;marrage de la machine, Linux devrait reconna&icirc;tre
la seconde carte.</p>
<h2><a name="s2">2. Les diff&eacute;rentes solutions</a></h2>
<p>Par d&eacute;faut, le noyau Linux ne recherche qu'une seule
carte Ethernet, et ne va pas plus loin d&egrave;s qu'il en a
trouv&eacute; une. Il y a trois fa&ccedil;ons de contraindre le
noyau &agrave; rechercher des cartes suppl&eacute;mentaires. Par
ordre de simplicit&eacute; (et de souplesse) croissante&nbsp;:</p>
<ul>
<li>fournir des param&egrave;tres au noyau lors du
d&eacute;marrage&nbsp;;</li>
<li>configurer le chargeur pour qu'il fournisse lui-m&ecirc;me
syst&eacute;matiquement ces param&egrave;tres au noyau&nbsp;;</li>
<li>modifier les tables de d&eacute;tection des cartes Ethernet du
noyau dans le fichier <code>drivers/net/Space.c</code> (et
recompiler le noyau apr&egrave;s coup).</li>
</ul>
<p>Dans la plupart des cas, c'est la deuxi&egrave;me solution qui
convient le mieux, et correspond &agrave; ce que nous avons
d&eacute;crit en introduction. Les deux premi&egrave;res solutions
reposent sur le passage de param&egrave;tres au noyaux et sont
d&eacute;crites dans la section suivante. La troisi&egrave;me
solution est d&eacute;crite ensuite.</p>
<h2><a name="s3">3. Transmettre des param&egrave;tres au
noyau</a></h2>
<p>Le noyau Linux admet qu'on lui fournisse un certain nombre de
param&egrave;tres lors de son lancement. Le plus souvent ces
param&egrave;tres d&eacute;crivent des aspects de la configuration
qui ne peuvent &ecirc;tre d&eacute;termin&eacute;s qu'au moment du
d&eacute;marrage. Pour les cartes r&eacute;seaux, le
param&egrave;tre est le suivant&nbsp;:</p>
<pre>
ether=IRQ,adresse-E/S,param1,param2,nom
</pre>
<p>Les valeurs num&eacute;riques admises peuvent &ecirc;tre
exprim&eacute;es en d&eacute;cimal, en octal
(pr&eacute;c&eacute;d&eacute;es par un '0') ou en
hexad&eacute;cimal (pr&eacute;c&eacute;d&eacute;es par '0x'). Le
premier argument qui n'est pas une valeur num&eacute;rique est pris
comme <em>nom</em> du p&eacute;riph&eacute;rique (ici une carte
r&eacute;seau). Les param&egrave;tres vides (entre virgules) ont
z&eacute;ro comme valeur par d&eacute;faut, et les
param&egrave;tres manquants avant le nom ne sont pas
modifi&eacute;s.</p>
<dl>
<dt><b><code>IRQ</code></b></dt>
<dd>
<p>Ce param&egrave;tre indique l'IRQ (ligne d'interruption)
&agrave; configurer (pour les cartes admettant un
param&eacute;trage logiciel de l'IRQ) ou &agrave; utiliser (pour
celles o&ugrave; l'IRQ est configur&eacute;e avec des cavaliers sur
la carte). Une valeur nulle (0) indique de demander &agrave; la
carte quelle IRQ utiliser (si elle le permet) ou d'utiliser
l'autoIRQ si la carte ne le permet pas.</p>
</dd>
<dt><b><code>adresse-E/S</code></b></dt>
<dd>
<p>Ce param&egrave;tre indique l'adresse d'entr&eacute;e/sortie
&agrave; tester. Une valeur nulle (0) demande le test de toutes les
adresses d'entr&eacute;e/sortie raisonnables. Celles-ci sont
d&eacute;termin&eacute;es d'apr&egrave;s une carte des zones
d'entr&eacute;e/sortie habituelles pour les diff&eacute;rents types
de p&eacute;riph&eacute;rique. Cette carte des zones est
ignor&eacute;e si une adresse d'entr&eacute;e/sortie est
sp&eacute;cifi&eacute;e. Utilis&eacute; avec le param&egrave;tre
<code>reserve=<em>base</em>,<em>taille</em>,</code>...</p>
<blockquote>Se reporter &agrave; la documentation
<em>Lilo</em>.</blockquote>
ceci permet d'emp&ecirc;cher l'auto-test d'une zone
d'entr&eacute;e/sortie par d'autres pilotes et d'&eacute;viter
ainsi le dysfonctionnement d'un p&eacute;riph&eacute;rique qui se
trouverait pertub&eacute; par ces tests.</dd>
<dt><b><code>param1,param2</code></b></dt>
<dd>
<p>Au d&eacute;part, ces param&egrave;tres permettaient d'indiquer
l'adresse d'une zone de m&eacute;moire partag&eacute;e pour les
cartes qui utilisaient cette technique, comme la WD8013. Leur
utilisation a ensuite &eacute;t&eacute; &eacute;tendue &agrave; la
transmission d'autres informations propres aux diff&eacute;rents
types de cartes.</p>
</dd>
<dt><b><code>nom</code></b></dt>
<dd>
<p>Ce param&egrave;tre indique le nom d'un
p&eacute;riph&eacute;rique pr&eacute;d&eacute;fini. Le noyau
standard d&eacute;finit ainsi au moins "<code>eth0</code>",
"<code>eth1</code>", "<code>eth2</code>" et "<code>eth3</code>".
D'autres noms peuvent &ecirc;tre pr&eacute;d&eacute;finis (pour
PPP, SLIP, etc.) mais ils ont une s&eacute;mantique
diff&eacute;rente (pour toute pr&eacute;cision, se reporter aux FAQ
et HOWTO correspondants).</p>
</dd>
</dl>
<p>Deux m&eacute;thodes peuvent &ecirc;tre utilis&eacute;es pour
fournir ces param&egrave;tres au noyau Linux lors de son lancement.
La m&eacute;thode habituelle est de les indiquer directement
apr&egrave;s le nom de l'image noyau &agrave; charger. L'exemple
suivant permet de tester les quatre emplacements
possibles&nbsp;:</p>
<pre>
linux ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3
</pre>
<p>Pour &eacute;viter d'avoir &agrave; taper ceci &agrave; chaque
d&eacute;marrage, il est plus pratique de configurer votre
chargeur.</p>
<h2><a name="ss3.1">3.1 Configurer votre chargeur</a></h2>
<p>Il est suppos&eacute; dans ce qui suit que vous utilisez le
chargeur Linux standard <em>Lilo</em>.</p>
<p>Il est bien &eacute;videmment p&eacute;nible d'avoir &agrave;
taper une s&eacute;rie de param&egrave;tres lors de chaque
d&eacute;marrage, et de plus cela emp&ecirc;cherait tout
red&eacute;marrage involontaire de s'effectuer correctement</p>
<blockquote>Bien que ce type de red&eacute;marrage ne se produise
pas sous Linux <code>;-)</code>(<em>N.D.T.</em>).</blockquote>
. L'ajout d'une ligne <code>append</code> &agrave; votre fichier de
configuration <em>Lilo</em> (<code>/etc/lilo.conf</code>) vous
permet de fournir automatiquement ces param&egrave;tres au noyau
(n'oubliez pas de relancer <code>lilo</code> pour mettre &agrave;
jour votre configuration).
<pre>
append = "ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3"
</pre>
<p>Cet exemple est &eacute;quivalent au pr&eacute;c&eacute;dent
(test des quatre emplacements), en utilisant cette fois
<em>Lilo</em> pour transmettre &agrave; chaque d&eacute;marrage ces
param&egrave;tres au noyau.</p>
<h2><a name="s4">4. Modifier le noyau</a></h2>
<p>Si vous pouvez configurer votre syst&egrave;me sans toucher au
code source du noyau, nous vous recommandons fortement de faire
ainsi (cf. supra). Il est difficile de garder une trace d'une
modification apport&eacute;e au code source et cela complique
grandement les mises &agrave; jour du noyau. Toutefois, cela
s'impose dans les situations suivantes&nbsp;:</p>
<ul>
<li>lorsque vous avez besoin de plus de quatre cartes (seules
<code>eth0</code> &agrave; <code>eth3</code> sont d&eacute;finies
dans le source <code>drivers/net/Space.c</code>)&nbsp;;</li>
<li>vous devez resteindre les types de p&eacute;riph&eacute;riques
recherch&eacute;s &agrave; un sous-ensemble pr&eacute;cis de types
de cartes quand, par exemple, le m&eacute;canisme de
d&eacute;tection confond des types de cartes
diff&eacute;rents&nbsp;;</li>
<li>quand vous voulez utiliser un nom de p&eacute;riph&eacute;rique
diff&eacute;rent de <code>eth</code><em>x</em>.</li>
</ul>
<h2><a name="s5">5. Notes sur la d&eacute;tection de quelques
cartes particuli&egrave;res</a></h2>
<h2><a name="ss5.1">5.1 Cartes Lance/PCNET</a></h2>
<p>Le pilote Lance a besoin de tampons DMA en m&eacute;moire basse,
ce qui fait que la proc&eacute;dure de d&eacute;tection des cartes
Lance est sp&eacute;cifique &agrave; ce type de cartes, et
effectu&eacute;e avant la d&eacute;tection des autres
p&eacute;riph&eacute;riques r&eacute;seaux. L'avantage est que les
cartes Lance multiples sont automatiquement d&eacute;tect&eacute;es
par cette proc&eacute;dure, l'inconv&eacute;nient est que le pilote
Lance ignore (pour le moment) les param&egrave;tres <em>Lilo</em>
telle l'IRQ.</p>
<h2><a name="ss5.2">5.2 La 3C509 en mode ISA</a></h2>
<p>La 3C509 pr&eacute;sente la caract&eacute;ristique unique de
permettre une d&eacute;tection vraiment s&ucirc;re par le bus ISA.
C'est une caract&eacute;ristique int&eacute;ressante, mais
malheureusement pour les situations qui nous int&eacute;ressent
ici, cela ne fait pas tr&egrave;s bon m&eacute;nage avec les autres
m&eacute;canismes de d&eacute;tection.</p>
<p>Le probl&egrave;me le plus important est qu'il est difficile de
savoir quelle carte sera reconnue en premier, l'ordre
d&eacute;pendant de l'adresse Ethernet des cartes. Cela signifie
que la carte avec l'adresse la plus basse se verra affect&eacute;e
&agrave; <code>eth0</code>, et ainsi de suite. Si la carte
correspondant &agrave; <code>eth0</code> est retir&eacute;e, toutes
les autres cartes voient leur nom de p&eacute;riph&eacute;rique
d&eacute;cal&eacute; d'une unit&eacute; vers <code>eth0</code>.</p>
<p>Un probl&egrave;me li&eacute; est qu'il n'est pas possible de
laisser une premi&egrave;re carte inactive, ou une carte active
&agrave; une adresse ou &agrave; une IRQ diff&eacute;rentes de
celles indiqu&eacute;es dans l'EEPROM, ou encore de configurer une
carte &agrave; une adresse sp&eacute;cifique.</p>
<h2><a name="ss5.3">5.3 La 3C579 EISA et la 3C509 en mode
EISA</a></h2>
<p>Les noyaux de version ant&eacute;rieure &agrave; la 1.1.25 ne
d&eacute;tecteront pas correctement les cartes multiples en mode
EISA. Si plusieurs p&eacute;riph&eacute;riques
<code>eth</code><em>x</em> sont indiqu&eacute;s, la
<em>m&ecirc;me</em> carte 3C509 sera d&eacute;tect&eacute;e
plusieurs fois. La solution est de sp&eacute;cifier l'adresse
d'entr&eacute;e/sortie directement. Les noyaux de version
ult&eacute;rieure d&eacute;tecteront correctement plusieurs cartes
en mode EISA, et d&eacute;tecteront aussi des cartes en mode ISA
suppl&eacute;mentaires, une fois toutes les adresses potentielles
de cartes en mode EISA test&eacute;es.</p>
<blockquote>Don Becker,
<code>becker@cesdis.gsfc.nasa.gov</code></blockquote>
</body>
</html>