mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 02:01:29 +00:00
b55c52b193
Add documentation for the igb networking driver. v2: - Removed trailing white space - Removed Ethtool version info - Removed LRO kernel version info Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
133 lines
4.2 KiB
Plaintext
133 lines
4.2 KiB
Plaintext
Linux* Base Driver for Intel(R) Network Connection
|
|
==================================================
|
|
|
|
Intel Gigabit Linux driver.
|
|
Copyright(c) 1999 - 2010 Intel Corporation.
|
|
|
|
Contents
|
|
========
|
|
|
|
- Identifying Your Adapter
|
|
- Additional Configurations
|
|
- Support
|
|
|
|
Identifying Your Adapter
|
|
========================
|
|
|
|
This driver supports all 82575, 82576 and 82580-based Intel (R) gigabit network
|
|
connections.
|
|
|
|
For specific information on how to identify your adapter, go to the Adapter &
|
|
Driver ID Guide at:
|
|
|
|
http://support.intel.com/support/go/network/adapter/idguide.htm
|
|
|
|
Command Line Parameters
|
|
=======================
|
|
|
|
The default value for each parameter is generally the recommended setting,
|
|
unless otherwise noted.
|
|
|
|
max_vfs
|
|
-------
|
|
Valid Range: 0-7
|
|
Default Value: 0
|
|
|
|
This parameter adds support for SR-IOV. It causes the driver to spawn up to
|
|
max_vfs worth of virtual function.
|
|
|
|
Additional Configurations
|
|
=========================
|
|
|
|
Jumbo Frames
|
|
------------
|
|
Jumbo Frames support is enabled by changing the MTU to a value larger than
|
|
the default of 1500. Use the ifconfig command to increase the MTU size.
|
|
For example:
|
|
|
|
ifconfig eth<x> mtu 9000 up
|
|
|
|
This setting is not saved across reboots.
|
|
|
|
Notes:
|
|
|
|
- The maximum MTU setting for Jumbo Frames is 9216. This value coincides
|
|
with the maximum Jumbo Frames size of 9234 bytes.
|
|
|
|
- Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or
|
|
loss of link.
|
|
|
|
Ethtool
|
|
-------
|
|
The driver utilizes the ethtool interface for driver configuration and
|
|
diagnostics, as well as displaying statistical information.
|
|
|
|
http://sourceforge.net/projects/gkernel.
|
|
|
|
Enabling Wake on LAN* (WoL)
|
|
---------------------------
|
|
WoL is configured through the Ethtool* utility.
|
|
|
|
For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
|
|
|
|
WoL will be enabled on the system during the next shut down or reboot.
|
|
For this driver version, in order to enable WoL, the igb driver must be
|
|
loaded when shutting down or rebooting the system.
|
|
|
|
Wake On LAN is only supported on port A of multi-port adapters.
|
|
|
|
Wake On LAN is not supported for the Intel(R) Gigabit VT Quad Port Server
|
|
Adapter.
|
|
|
|
Multiqueue
|
|
----------
|
|
In this mode, a separate MSI-X vector is allocated for each queue and one
|
|
for "other" interrupts such as link status change and errors. All
|
|
interrupts are throttled via interrupt moderation. Interrupt moderation
|
|
must be used to avoid interrupt storms while the driver is processing one
|
|
interrupt. The moderation value should be at least as large as the expected
|
|
time for the driver to process an interrupt. Multiqueue is off by default.
|
|
|
|
REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not
|
|
found, the system will fallback to MSI or to Legacy interrupts.
|
|
|
|
LRO
|
|
---
|
|
Large Receive Offload (LRO) is a technique for increasing inbound throughput
|
|
of high-bandwidth network connections by reducing CPU overhead. It works by
|
|
aggregating multiple incoming packets from a single stream into a larger
|
|
buffer before they are passed higher up the networking stack, thus reducing
|
|
the number of packets that have to be processed. LRO combines multiple
|
|
Ethernet frames into a single receive in the stack, thereby potentially
|
|
decreasing CPU utilization for receives.
|
|
|
|
NOTE: You need to have inet_lro enabled via either the CONFIG_INET_LRO or
|
|
CONFIG_INET_LRO_MODULE kernel config option. Additionally, if
|
|
CONFIG_INET_LRO_MODULE is used, the inet_lro module needs to be loaded
|
|
before the igb driver.
|
|
|
|
You can verify that the driver is using LRO by looking at these counters in
|
|
Ethtool:
|
|
|
|
lro_aggregated - count of total packets that were combined
|
|
lro_flushed - counts the number of packets flushed out of LRO
|
|
lro_no_desc - counts the number of times an LRO descriptor was not available
|
|
for the LRO packet
|
|
|
|
NOTE: IPv6 and UDP are not supported by LRO.
|
|
|
|
Support
|
|
=======
|
|
|
|
For general information, go to the Intel support website at:
|
|
|
|
www.intel.com/support/
|
|
|
|
or the Intel Wired Networking project hosted by Sourceforge at:
|
|
|
|
http://sourceforge.net/projects/e1000
|
|
|
|
If an issue is identified with the released source code on the supported
|
|
kernel with a supported adapter, email the specific information related
|
|
to the issue to e1000-devel@lists.sf.net
|