-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from jbrandeb/fill-ixgbe-history
- Loading branch information
Showing
68 changed files
with
79,192 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
13592 28 ixgbe-5.19.9/src/ixgbe_fcoe.c | ||
37120 25 ixgbe-5.19.9/src/ixgbe_xsk.c | ||
47581 7 ixgbe-5.19.9/src/ixgbe_debugfs.c | ||
00965 32 ixgbe-5.19.9/src/ixgbe_param.c | ||
31115 3 ixgbe-5.19.9/src/ixgbe_txrx_common.h | ||
62836 39 ixgbe-5.19.9/src/ixgbe_lib.c | ||
07353 6 ixgbe-5.19.9/src/ixgbe_osdep.h | ||
34235 8 ixgbe-5.19.9/src/ixgbe_sysfs.c | ||
42735 23 ixgbe-5.19.9/src/ixgbe_dcb_nl.c | ||
06031 3 ixgbe-5.19.9/src/ixgbe_sriov.h | ||
60162 40 ixgbe-5.19.9/src/ixgbe.h | ||
46770 25 ixgbe-5.19.9/src/ixgbe_procfs.c | ||
36301 54 ixgbe-5.19.9/src/ixgbe_sriov.c | ||
42706 3 ixgbe-5.19.9/src/ixgbe_model.h | ||
28582 2 ixgbe-5.19.9/src/ixgbe_fcoe.h | ||
51140 2 ixgbe-5.19.9/src/ixgbe_osdep2.h | ||
50471 137 ixgbe-5.19.9/src/ixgbe_ethtool.c | ||
22002 377 ixgbe-5.19.9/src/ixgbe_main.c | ||
44729 52 ixgbe-5.19.9/src/ixgbe_ptp.c | ||
41342 8 ixgbe-5.19.9/src/ixgbe_mbx.h | ||
03905 30 ixgbe-5.19.9/src/ixgbe_mbx.c | ||
48198 10 ixgbe-5.19.9/src/ixgbe_dcb_82598.c | ||
30113 2 ixgbe-5.19.9/src/ixgbe_82598.h | ||
13565 10 ixgbe-5.19.9/src/ixgbe_api.h | ||
08954 5 ixgbe-5.19.9/src/ixgbe_dcb.h | ||
03508 2 ixgbe-5.19.9/src/ixgbe_82599.h | ||
57744 126 ixgbe-5.19.9/src/ixgbe_x550.c | ||
52624 39 ixgbe-5.19.9/src/ixgbe_82598.c | ||
60099 47 ixgbe-5.19.9/src/ixgbe_api.c | ||
48447 20 ixgbe-5.19.9/src/ixgbe_dcb.c | ||
44570 7 ixgbe-5.19.9/src/ixgbe_common.h | ||
20290 17 ixgbe-5.19.9/src/ixgbe_dcb_82599.c | ||
27119 30 ixgbe-5.19.9/src/ixgbe_x540.c | ||
49101 171 ixgbe-5.19.9/src/ixgbe_type.h | ||
01251 143 ixgbe-5.19.9/src/ixgbe_common.c | ||
12534 8 ixgbe-5.19.9/src/ixgbe_phy.h | ||
31753 5 ixgbe-5.19.9/src/ixgbe_x550.h | ||
59946 4 ixgbe-5.19.9/src/ixgbe_dcb_82599.h | ||
28198 71 ixgbe-5.19.9/src/ixgbe_phy.c | ||
43418 2 ixgbe-5.19.9/src/ixgbe_x540.h | ||
18118 76 ixgbe-5.19.9/src/ixgbe_82599.c | ||
20802 3 ixgbe-5.19.9/src/ixgbe_dcb_82598.h | ||
20126 4 ixgbe-5.19.9/src/kcompat_gcc.h | ||
50291 217 ixgbe-5.19.9/src/kcompat.h | ||
39631 63 ixgbe-5.19.9/src/kcompat_impl.h | ||
29105 14 ixgbe-5.19.9/src/kcompat-generator.sh | ||
11441 8 ixgbe-5.19.9/src/kcompat-lib.sh | ||
32144 1 ixgbe-5.19.9/src/kcompat_defs.h | ||
52781 8 ixgbe-5.19.9/src/kcompat_sles_defs.h | ||
06698 6 ixgbe-5.19.9/src/kcompat_rhel_defs.h | ||
03336 2 ixgbe-5.19.9/src/kcompat_ubuntu_defs.h | ||
50085 10 ixgbe-5.19.9/src/kcompat_std_defs.h | ||
09001 75 ixgbe-5.19.9/src/kcompat.c | ||
17127 29 ixgbe-5.19.9/src/kcompat_ethtool.c | ||
26285 10 ixgbe-5.19.9/src/kcompat_overflow.h | ||
05375 33 ixgbe-5.19.9/src/kcompat_pldmfw.c | ||
10766 6 ixgbe-5.19.9/src/kcompat_pldmfw.h | ||
36685 7 ixgbe-5.19.9/src/Makefile | ||
44666 19 ixgbe-5.19.9/src/common.mk | ||
12190 1 ixgbe-5.19.9/src/Module.supported | ||
58887 9 ixgbe-5.19.9/scripts/set_irq_affinity | ||
17107 7 ixgbe-5.19.9/pci.updates | ||
27626 1 ixgbe-5.19.9/security.md | ||
12529 18 ixgbe-5.19.9/COPYING | ||
42822 60 ixgbe-5.19.9/README | ||
45537 9 ixgbe-5.19.9/ixgbe.7 | ||
04589 11 ixgbe-5.19.9/ixgbe.spec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,243 @@ | ||
.\" LICENSE | ||
.\" | ||
.\" This software program is released under the terms of a license agreement between you ('Licensee') and Intel. Do not use or load this software or any associated materials (collectively, the 'Software') until you have carefully read the full terms and conditions of the LICENSE located in this software package. By loading or using the Software, you agree to the terms of this Agreement. If you do not agree with the terms of this Agreement, do not install or use the Software. | ||
.\" | ||
.\" * Other names and brands may be claimed as the property of others. | ||
.\" | ||
. | ||
.TH ixgbe 1 "April 16, 2021" | ||
.SH NAME | ||
ixgbe \-This file describes the Linux* Base Driver | ||
for the 10 Gigabit Family of Adapters. | ||
.SH SYNOPSIS | ||
.PD 0.4v | ||
modprobe ixgbe [<option>=<VAL1>,<VAL2>,...] | ||
.PD 1v | ||
.SH DESCRIPTION | ||
This driver is intended for \fB2.6.x\fR or later kernels. A version of the driver may already be included by your distribution and/or the kernel.org kernel. | ||
|
||
This driver includes support for any 64 bit Linux supported system, x86_64, PPC64, ARM, etc. | ||
.LP | ||
This driver is only supported as a loadable module at this time. Intel is not supplying patches against the kernel source to allow for static linking of the drivers. | ||
|
||
|
||
For questions related to hardware requirements, refer to the documentation | ||
supplied with your Intel adapter. All hardware requirements listed apply to | ||
use with Linux. | ||
.SH OPTIONS | ||
The following optional parameters are used by entering them on the | ||
command line with the modprobe command. | ||
For example: | ||
.IP | ||
modprobe ixgbe InterruptThrottleRate=16000,16000 | ||
.LP | ||
.B RSS | ||
.IP | ||
.B Valid Range: 0-16 | ||
.IP | ||
0 = Assign up to the lesser value of the number of CPUs or the number of queues | ||
.IP | ||
X = Assign X queues, where X is less than or equal to the maximum number of | ||
queues (16 queues). | ||
.IP | ||
.IP | ||
RSS also affects the number of transmit queues allocated on 2.6.23 and | ||
newer kernels with CONFIG_NETDEVICES_MULTIQUEUE set in the kernel .config file. | ||
CONFIG_NETDEVICES_MULTIQUEUE only exists from 2.6.23 to 2.6.26. Other options | ||
enable multiqueue in 2.6.27 and newer kernels. | ||
.LP | ||
.B MQ - Multiqueue | ||
.IP | ||
.LP | ||
.B Valid Range: | ||
0, 1 | ||
.IP | ||
0 = Disables Multiple Queue support | ||
1 = Enabled Multiple Queue support (a prerequisite for RSS) | ||
.LP | ||
.B Direct Cache Access (DCA) | ||
.IP | ||
.B Valid Range: 0, 1 | ||
.IP | ||
0 = Disables DCA support in the driver | ||
.IP | ||
1 = Enables DCA support in the driver | ||
.IP | ||
If the driver is enabled for DCA, this parameter allows load-time control of the feature. | ||
.IP | ||
Note: DCA is not supported on X550-based adapters. | ||
.LP | ||
.B IntMode | ||
.IP | ||
.B Valid Range: 0-2 (0 = Legacy Int, 1 = MSI and 2 = MSI-X) | ||
.IP | ||
IntMode controls the allowed load time control over the type of interrupt | ||
registered for by the driver. MSI-X is required for multiple queue | ||
support, and some kernels and combinations of kernel .config options | ||
will force a lower level of interrupt support. | ||
'cat /proc/interrupts' will show different values for each type of interrupt. | ||
.LP | ||
.B InterruptThrottleRate | ||
.IP | ||
.B Valid Range: | ||
0=off | ||
1=dynamic | ||
<min_ITR>-<max_ITR> | ||
.IP | ||
Interrupt Throttle Rate controls the number of interrupts each interrupt | ||
vector can generate per second. Increasing ITR lowers latency at the cost of | ||
increased CPU utilization, though it may help throughput in some circumstances. | ||
.IP | ||
0 = Setting InterruptThrottleRate to 0 turns off any interrupt moderation | ||
and may improve small packet latency. However, this is generally not | ||
suitable for bulk throughput traffic due to the increased CPU utilization | ||
of the higher interrupt rate. | ||
NOTES: | ||
- On 82599, and X540, and X550-based adapters, disabling InterruptThrottleRate | ||
will also result in the driver disabling HW RSC. | ||
- On 82598-based adapters, disabling InterruptThrottleRate will also | ||
result in disabling LRO (Large Receive Offloads). | ||
.IP | ||
1 = Setting InterruptThrottleRate to Dynamic mode attempts to moderate | ||
interrupts per vector while maintaining very low latency. This can | ||
sometimes cause extra CPU utilization. If planning on deploying ixgbe | ||
in a latency sensitive environment, this parameter should be considered. | ||
.IP | ||
<min_ITR>-<max_ITR> = 956-488281 | ||
Setting InterruptThrottleRate to a value greater or equal to <min_ITR> | ||
will program the adapter to send at most that many interrupts | ||
per second, even if more packets have come in. This reduces interrupt load | ||
on the system and can lower CPU utilization under heavy load, but will | ||
increase latency as packets are not processed as quickly. | ||
|
||
.LP | ||
.B LLIPort | ||
.IP | ||
.B Valid Range: 0-65535 | ||
.IP | ||
LLI is configured with the LLIPort command-line parameter, which specifies | ||
which TCP port should generate Low Latency Interrupts. | ||
.IP | ||
For example, using LLIPort=80 would cause the board to generate an immediate | ||
interrupt upon receipt of any packet sent to TCP port 80 on the local machine. | ||
.IP | ||
WARNING: Enabling LLI can result in an excessive number of interrupts/second | ||
that may cause problems with the system and in some cases may cause a kernel | ||
panic. | ||
|
||
Note: LLI is not supported on X550-based adapters. | ||
.LP | ||
.B LLIPush | ||
.IP | ||
.B Valid Range: 0-1 | ||
.IP | ||
LLIPush can be set to be enabled or disabled (default). It is most effective | ||
in an environment with many small transactions. | ||
.IP | ||
NOTE: Enabling LLIPush may allow a denial of service attack. | ||
|
||
Note: LLI is not supported on X550-based adapters. | ||
.LP | ||
.B LLISize | ||
.IP | ||
.B Valid Range: 0-1500 | ||
.IP | ||
LLISize causes an immediate interrupt if the board receives a packet smaller | ||
than the specified size. | ||
|
||
Note: LLI is not supported on X550-based adapters. | ||
.B LLIEType | ||
.IP | ||
.B Valid Range: 0-0x8FFF | ||
.IP | ||
This parameter specifies the Low Latency Interrupt (LLI) Ethernet protocol type. | ||
|
||
Note: LLI is not supported on X550-based adapters. | ||
LLIVLANP | ||
-------- | ||
|
||
Valid Range: 0-7 | ||
|
||
This parameter specifies the LLI on VLAN priority threshold. | ||
|
||
Note: LLI is not supported on X550-based adapters. | ||
.B FdirPballoc | ||
.IP | ||
.B Valid Range: 1-3 | ||
.IP | ||
Specifies the Intel(R) Ethernet Flow Director allocated packet buffer size. | ||
1 = 64k | ||
2 = 128k | ||
3 = 256k | ||
.BAtrSampleRate | ||
.IP | ||
Valid Range: 0-255 | ||
.IP | ||
This parameter is used with the Intel Ethernet Flow Director and is the software ATR transmit packet sample rate. For example, when AtrSampleRate is set to 20, every 20th packet looks to see if the packet will create a new flow. A value of 0 indicates that ATR should be disabled and no samples will be taken. | ||
.LP | ||
.B LRO | ||
.IP | ||
.B Valid Range: 0(off), 1(on) | ||
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. | ||
This technique is also referred to as Hardware Receive Side Coalescing | ||
(HW RSC). 82599, X540, and X550-based adapters support HW RSC. The | ||
LRO parameter controls HW RSC enablement. | ||
.IP | ||
You can verify that the driver is using LRO by looking at these counters in ethtool: | ||
.LP | ||
- hw_rsc_aggregated - counts total packets that were combined | ||
.LP | ||
- hw_rsc_flushed - counts the number of packets flushed out of LRO | ||
.IP | ||
NOTE: IPv6 and UDP are not supported by LRO. | ||
.LP | ||
.B MDD (Malicious Driver Detection) | ||
.IP | ||
.B Valid Range: 0-1 | ||
.IP | ||
0 = Disabled | ||
.IP | ||
1 = Enabled | ||
.IP | ||
This parameter is only relevant for devices operating in SR-IOV mode. | ||
When this parameter is set, the driver detects malicious VF driver and | ||
disables its Tx/Rx queues until a VF driver reset occurs. | ||
.LP | ||
.B Jumbo Frames | ||
.IP | ||
Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU) to a value larger than the default value of 1500. | ||
|
||
.IP | ||
Use the ip command to increase the MTU size. For example, enter the following where <ethX> is the interface number: | ||
|
||
.IP | ||
# ip link set mtu 9000 dev <ethX> | ||
.IP | ||
# ip link set up dev <ethX> | ||
|
||
.LP | ||
NOTE: The maximum MTU setting for jumbo frames is 9710. This corresponds to the maximum jumbo frame size of 9728 bytes. | ||
|
||
NOTE: This driver will attempt to use multiple page sized buffers to receive each jumbo packet. This should help to avoid buffer starvation issues when allocating receive packets. | ||
|
||
NOTE: Packet loss may have a greater impact on throughput when you use jumbo frames. If you observe a drop in performance after enabling jumbo frames, enabling flow control may mitigate the issue. | ||
|
||
NOTE: For 82599-based network connections, if you are enabling jumbo frames in a virtual function (VF), jumbo frames must first be enabled in the physical function (PF). The VF MTU setting cannot be larger than the PF MTU. | ||
See the section "Jumbo Frames" in the Readme. | ||
.SH SUPPORT | ||
.LP | ||
For additional information regarding building and installation, see the | ||
README | ||
included with the driver. | ||
For general information, go to the Intel support website at: | ||
.B http://www.intel.com/support/ | ||
|
||
.LP | ||
If an issue is identified with the released source code on a supported kernel with a supported adapter, email the specific information related to the issue to [email protected]. | ||
.LP |
Oops, something went wrong.