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