summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Göhler <github@ghlr.de>2024-04-18 14:49:11 +0200
committerGitHub <noreply@github.com>2024-04-18 14:49:11 +0200
commitae1e612783f3ef19531e23f895ba33c2ee5ac837 (patch)
treebc32e4e8721e02ce05b9ae6db8cc987c9b8c6fc7
parentbe3e7f27770b5d283d4c76658348d300a1e64d36 (diff)
parent022ecd9b046de35f8d094246a80c0515efeb2b29 (diff)
downloadvyos-documentation-ae1e612783f3ef19531e23f895ba33c2ee5ac837.tar.gz
vyos-documentation-ae1e612783f3ef19531e23f895ba33c2ee5ac837.zip
Merge pull request #1395 from vyos/mergify/bp/sagitta/pr-1390
ethernet: Add details about LRO/GRO (backport #1390)
-rw-r--r--docs/configuration/interfaces/ethernet.rst28
1 files changed, 22 insertions, 6 deletions
diff --git a/docs/configuration/interfaces/ethernet.rst b/docs/configuration/interfaces/ethernet.rst
index bbf52112..a1151fd4 100644
--- a/docs/configuration/interfaces/ethernet.rst
+++ b/docs/configuration/interfaces/ethernet.rst
@@ -61,6 +61,22 @@ Offloading
Enable different types of hardware offloading on the given NIC.
+ :abbr:`LRO (Large Receive Offload)` is a technique designed to boost the
+ efficiency of how your computer's network interface card (NIC) processes
+ incoming network traffic. Typically, network data arrives in smaller chunks
+ called packets. Processing each packet individually consumes CPU (central
+ processing unit) resources. Lots of small packets can lead to a performance
+ bottleneck. Instead of handing the CPU each packet as it comes in, LRO
+ instructs the NIC to combine multiple incoming packets into a single, larger
+ packet. This larger packet is then passed to the CPU for processing.
+
+ .. note:: Under some circumstances, LRO is known to modify the packet headers
+ of forwarded traffic, which breaks the end-to-end principle of computer
+ networking. LRO is also only able to offload TCP segments encapsulated in
+ IPv4 packets. Due to these limitations, it is recommended to use GRO
+ (Generic Receive Offload) where possible. More information on the
+ limitations of LRO can be found here: https://lwn.net/Articles/358910/
+
:abbr:`GSO (Generic Segmentation Offload)` is a pure software offload that is
meant to deal with cases where device drivers cannot perform the offloads
described above. What occurs in GSO is that a given skbuff will have its data
@@ -87,13 +103,13 @@ Offloading
placing the packet on the desired CPU's backlog queue and waking up the CPU
for processing. RPS has some advantages over RSS:
- - it can be used with any NIC,
- - software filters can easily be added to hash over new protocols,
- - it does not increase hardware device interrupt rate (although it does
- introduce inter-processor interrupts (IPIs)).
+ - it can be used with any NIC
+ - software filters can easily be added to hash over new protocols
+ - it does not increase hardware device interrupt rate, although it does
+ introduce inter-processor interrupts (IPIs)
- .. note:: In order to use TSO/LRO with VMXNET3 adaters one must also enable
- the SG offloading option.
+ .. note:: In order to use TSO/LRO with VMXNET3 adapters, the SG offloading
+ option must also be enabled.
Authentication (EAPoL)
----------------------