Merge git://git.infradead.org/hdrcleanup-2.6
[linux-2.6] / Documentation / networking / e100.txt
1 Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters
2 ==============================================================
3
4 November 15, 2005
5
6 Contents
7 ========
8
9 - In This Release
10 - Identifying Your Adapter
11 - Building and Installation
12 - Driver Configuration Parameters
13 - Additional Configurations
14 - Known Issues
15 - Support
16
17
18 In This Release
19 ===============
20
21 This file describes the Linux* Base Driver for the Intel(R) PRO/100 Family of
22 Adapters. This driver includes support for Itanium(R)2-based systems.
23
24 For questions related to hardware requirements, refer to the documentation
25 supplied with your Intel PRO/100 adapter.
26
27 The following features are now available in supported kernels:
28  - Native VLANs
29  - Channel Bonding (teaming)
30  - SNMP
31
32 Channel Bonding documentation can be found in the Linux kernel source:
33 /Documentation/networking/bonding.txt
34
35
36 Identifying Your Adapter
37 ========================
38
39 For more information on how to identify your adapter, go to the Adapter &
40 Driver ID Guide at:
41
42   http://support.intel.com/support/network/adapter/pro100/21397.htm
43
44 For the latest Intel network drivers for Linux, refer to the following
45 website. In the search field, enter your adapter name or type, or use the
46 networking link on the left to search for your adapter:
47
48   http://downloadfinder.intel.com/scripts-df/support_intel.asp
49
50 Driver Configuration Parameters
51 ===============================
52
53 The default value for each parameter is generally the recommended setting,
54 unless otherwise noted.
55
56 Rx Descriptors: Number of receive descriptors. A receive descriptor is a data
57    structure that describes a receive buffer and its attributes to the network
58    controller. The data in the descriptor is used by the controller to write
59    data from the controller to host memory. In the 3.x.x driver the valid range
60    for this parameter is 64-256. The default value is 64. This parameter can be
61    changed using the command:
62
63    ethtool -G eth? rx n, where n is the number of desired rx descriptors.
64
65 Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a data
66    structure that describes a transmit buffer and its attributes to the network
67    controller. The data in the descriptor is used by the controller to read
68    data from the host memory to the controller. In the 3.x.x driver the valid
69    range for this parameter is 64-256. The default value is 64. This parameter
70    can be changed using the command:
71
72    ethtool -G eth? tx n, where n is the number of desired tx descriptors.
73
74 Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by
75    default. Ethtool can be used as follows to force speed/duplex.
76
77    ethtool -s eth?  autoneg off speed {10|100} duplex {full|half}
78
79    NOTE: setting the speed/duplex to incorrect values will cause the link to
80    fail.
81
82 Event Log Message Level:  The driver uses the message level flag to log events
83    to syslog. The message level can be set at driver load time. It can also be
84    set using the command:
85
86    ethtool -s eth? msglvl n
87
88
89 Additional Configurations
90 =========================
91
92   Configuring the Driver on Different Distributions
93   -------------------------------------------------
94
95   Configuring a network driver to load properly when the system is started is
96   distribution dependent. Typically, the configuration process involves adding
97   an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing
98   other system startup scripts and/or configuration files.  Many popular Linux
99   distributions ship with tools to make these changes for you. To learn the
100   proper way to configure a network device for your system, refer to your
101   distribution documentation.  If during this process you are asked for the
102   driver or module name, the name for the Linux Base Driver for the Intel
103   PRO/100 Family of Adapters is e100.
104
105   As an example, if you install the e100 driver for two PRO/100 adapters
106   (eth0 and eth1), add the following to modules.conf or modprobe.conf:
107
108        alias eth0 e100
109        alias eth1 e100
110
111   Viewing Link Messages
112   ---------------------
113   In order to see link messages and other Intel driver information on your
114   console, you must set the dmesg level up to six. This can be done by
115   entering the following on the command line before loading the e100 driver:
116
117        dmesg -n 8
118
119   If you wish to see all messages issued by the driver, including debug
120   messages, set the dmesg level to eight.
121
122   NOTE: This setting is not saved across reboots.
123
124
125   Ethtool
126   -------
127
128   The driver utilizes the ethtool interface for driver configuration and
129   diagnostics, as well as displaying statistical information.  Ethtool
130   version 1.6 or later is required for this functionality.
131
132   The latest release of ethtool can be found from
133   http://sourceforge.net/projects/gkernel.
134
135   NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support
136   for a more complete ethtool feature set can be enabled by upgrading
137   ethtool to ethtool-1.8.1.
138
139
140   Enabling Wake on LAN* (WoL)
141   ---------------------------
142   WoL is provided through the Ethtool* utility. Ethtool is included with Red
143   Hat* 8.0. For other Linux distributions, download and install Ethtool from
144   the following website: http://sourceforge.net/projects/gkernel.
145
146   For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
147
148   WoL will be enabled on the system during the next shut down or reboot. For
149   this driver version, in order to enable WoL, the e100 driver must be
150   loaded when shutting down or rebooting the system.
151
152
153   NAPI
154   ----
155
156   NAPI (Rx polling mode) is supported in the e100 driver.
157
158   See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI.
159
160   Multiple Interfaces on Same Ethernet Broadcast Network
161   ------------------------------------------------------
162
163   Due to the default ARP behavior on Linux, it is not possible to have
164   one system on two IP networks in the same Ethernet broadcast domain
165   (non-partitioned switch) behave as expected. All Ethernet interfaces
166   will respond to IP traffic for any IP address assigned to the system.
167   This results in unbalanced receive traffic.
168
169   If you have multiple interfaces in a server, either turn on ARP
170   filtering by
171
172   (1) entering: echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
173       (this only works if your kernel's version is higher than 2.4.5), or
174
175   (2) installing the interfaces in separate broadcast domains (either
176       in different switches or in a switch partitioned to VLANs).
177
178
179 Support
180 =======
181
182 For general information, go to the Intel support website at:
183
184     http://support.intel.com
185
186     or the Intel Wired Networking project hosted by Sourceforge at:
187
188     http://sourceforge.net/projects/e1000
189
190 If an issue is identified with the released source code on the supported
191 kernel with a supported adapter, email the specific information related to the
192 issue to e1000-devel@lists.sourceforge.net.
193
194
195 License
196 =======
197
198 This software program is released under the terms of a license agreement
199 between you ('Licensee') and Intel. Do not use or load this software or any
200 associated materials (collectively, the 'Software') until you have carefully
201 read the full terms and conditions of the file COPYING located in this software
202 package. By loading or using the Software, you agree to the terms of this
203 Agreement. If you do not agree with the terms of this Agreement, do not install
204 or use the Software.
205
206 * Other names and brands may be claimed as the property of others.