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