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