summaryrefslogtreecommitdiff
path: root/docs/_include/interface-xdp.txt
diff options
context:
space:
mode:
authorDaniel Thorpe <1077065+dantho281@users.noreply.github.com>2021-02-11 02:25:57 +0000
committerGitHub <noreply@github.com>2021-02-11 02:25:57 +0000
commite88fba68357181bd54fcc7489cbba08780cee6cd (patch)
treeb67e88b1208fa835edf0420a42dd2b624ec2105b /docs/_include/interface-xdp.txt
parentdab473bfd04ab2930c043b853ba9995d1ff335e6 (diff)
parentf33b0c78b07c80998d2c0e64d6a20bcb109f6db5 (diff)
downloadvyos-documentation-e88fba68357181bd54fcc7489cbba08780cee6cd.tar.gz
vyos-documentation-e88fba68357181bd54fcc7489cbba08780cee6cd.zip
Merge pull request #1 from vyos/master
Update fork
Diffstat (limited to 'docs/_include/interface-xdp.txt')
-rw-r--r--docs/_include/interface-xdp.txt27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/_include/interface-xdp.txt b/docs/_include/interface-xdp.txt
new file mode 100644
index 00000000..d87151fc
--- /dev/null
+++ b/docs/_include/interface-xdp.txt
@@ -0,0 +1,27 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> xdp
+
+ Enable support for Linux :abbr:`XDP (eXpress Data Path)` on recent 1.3 rolling
+ releases. You must enable it for every interface which should participate in
+ the XDP forwarding.
+
+ XDP is an eBPF based high performance data path merged in the Linux kernel
+ since version 4.8. The idea behind XDP is to add an early hook in the RX path
+ of the kernel, and let a user supplied eBPF program decide the fate of the
+ packet. The hook is placed in the NIC driver just after the interrupt
+ processing, and before any memory allocation needed by the network stack
+ itself, because memory allocation can be an expensive operation.
+
+ .. warning:: This is highly experimental!
+
+ .. note:: Enabling this feature will break any form of NAT or Firewalling on
+ this interface, as XDP is handled way earlier in the driver then iptables/
+ nftables.
+
+ Enabling this feature will only load the XDP router code as described here:
+ https://blog.apnic.net/2020/04/30/how-to-build-an-xdp-based-bgp-peering-router/
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} xdp \ No newline at end of file