summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-12-20 16:07:13 +0100
committerChristian Poessinger <christian@poessinger.com>2020-12-20 16:07:13 +0100
commitc06ec85619a4c98342ab8791d73fd6ab5a9239db (patch)
tree99dc18883d993c0076f206e95202786ae7e4a806 /docs
parent8653820090714e5702431556872876783011f9ab (diff)
downloadvyos-documentation-c06ec85619a4c98342ab8791d73fd6ab5a9239db.tar.gz
vyos-documentation-c06ec85619a4c98342ab8791d73fd6ab5a9239db.zip
ethernet: document offloading
Diffstat (limited to 'docs')
-rw-r--r--docs/configuration/interfaces/ethernet.rst34
1 files changed, 34 insertions, 0 deletions
diff --git a/docs/configuration/interfaces/ethernet.rst b/docs/configuration/interfaces/ethernet.rst
index b4151dd2..2debed16 100644
--- a/docs/configuration/interfaces/ethernet.rst
+++ b/docs/configuration/interfaces/ethernet.rst
@@ -66,6 +66,40 @@ Ethernet options
set interfaces ethernet eth0 mirror eth1
+Offloading
+----------
+
+.. cfgcmd:: set interfaces ethernet <interface> offload <gro | gso | sg |
+ tso | ufo>
+
+ Enable different types of hardware offloading on the given NIC.
+
+ 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 broken out over
+ multiple skbuffs that have been resized to match the MSS provided via
+ skb_shinfo()->gso_size.
+
+ Before enabling any hardware segmentation offload a corresponding software
+ offload is required in GSO. Otherwise it becomes possible for a frame to be
+ re-routed between devices and end up being unable to be transmitted.
+
+ Generic receive offload is the complement to GSO. Ideally any frame assembled
+ by GRO should be segmented to create an identical sequence of frames using
+ GSO, and any sequence of frames segmented by GSO should be able to be
+ reassembled back to the original by GRO. The only exception to this is IPv4
+ ID in the case that the DF bit is set for a given IP header. If the value of
+ the IPv4 ID is not sequentially incrementing it will be altered so that it is
+ when a frame assembled via GRO is segmented via GSO.
+
+ .. warning:: Recent 1.3 rolling images also support XDP offloading which
+ stands for eXpress Data Path in the Linux Kernel. You must enable it for
+ every interface which should participate in the XDP forwarding.
+
+ Enabling this feature will break any form of NAT or Firewalling on this
+ interface, as XDP is handled way earlier in the driver then NfTables.
+
+
VLAN
====