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