diff options
author | Robert Göhler <github@ghlr.de> | 2024-04-18 14:49:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 14:49:11 +0200 |
commit | ae1e612783f3ef19531e23f895ba33c2ee5ac837 (patch) | |
tree | bc32e4e8721e02ce05b9ae6db8cc987c9b8c6fc7 /docs | |
parent | be3e7f27770b5d283d4c76658348d300a1e64d36 (diff) | |
parent | 022ecd9b046de35f8d094246a80c0515efeb2b29 (diff) | |
download | vyos-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)
Diffstat (limited to 'docs')
-rw-r--r-- | docs/configuration/interfaces/ethernet.rst | 28 |
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) ---------------------- |