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