Skip to content

Commit

Permalink
bpf, docs: add list of XDP supported drivers
Browse files Browse the repository at this point in the history
Add a list with drivers and kernel version to the XDP section of the
kube-proxy free guide.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
  • Loading branch information
borkmann committed Jun 8, 2020
1 parent dfec142 commit 55fccf6
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 1 deletion.
59 changes: 58 additions & 1 deletion Documentation/gettingstarted/kubeproxy-free.rst
Original file line number Diff line number Diff line change
Expand Up @@ -346,14 +346,71 @@ modes and can be enabled as follows for ``nodePort.mode=hybrid`` in this example
--set global.k8sServiceHost=API_SERVER_IP \\
--set global.k8sServicePort=API_SERVER_PORT
A list of drivers supporting native XDP can be found in the table below. The
corresponding network driver name of an interface can be determined as follows:

.. parsed-literal::
# ethtool -i eth0
driver: nfp
[...]
+-------------------+------------+-------------+
| Vendor | Driver | XDP Support |
+===================+============+=============+
| Amazon | ena | >= 5.6 |
+-------------------+------------+-------------+
| Broadcom | bnxt_en | >= 4.11 |
+-------------------+------------+-------------+
| Cavium | thunderx | >= 4.12 |
+-------------------+------------+-------------+
| Freescale | dpaa2 | >= 5.0 |
+-------------------+------------+-------------+
| Intel | ixgbe | >= 4.12 |
| +------------+-------------+
| | ixgbevf | >= 4.17 |
| +------------+-------------+
| | i40e | >= 4.13 |
| +------------+-------------+
| | ice | >= 5.5 |
+-------------------+------------+-------------+
| Marvell | mvneta | >= 5.5 |
+-------------------+------------+-------------+
| Mellanox | mlx4 | >= 4.8 |
| +------------+-------------+
| | mlx5 | >= 4.9 |
+-------------------+------------+-------------+
| Microsoft | hv_netvsc | >= 5.6 |
+-------------------+------------+-------------+
| Netronome | nfp | >= 4.10 |
+-------------------+------------+-------------+
| Others | virtio_net | >= 4.10 |
| +------------+-------------+
| | tun/tap | >= 4.14 |
+-------------------+------------+-------------+
| Qlogic | qede | >= 4.10 |
+-------------------+------------+-------------+
| Socionext | netsec | >= 5.3 |
+-------------------+------------+-------------+
| Solarflare | sfc | >= 5.5 |
+-------------------+------------+-------------+
| Texas Instruments | cpsw | >= 5.3 |
+-------------------+------------+-------------+

The current Cilium kube-proxy XDP acceleration mode can also be introspected through
the ``cilium status`` CLI command:
the ``cilium status`` CLI command. If it has been enabled successfully, ``XDP: NATIVE``
is shown:

.. parsed-literal::
kubectl exec -it -n kube-system cilium-xxxxx -- cilium status | grep KubeProxyReplacement
KubeProxyReplacement: Strict [NodePort (SNAT, 30000-32767, XDP: NATIVE), HostPort, ExternalIPs, HostReachableServices (TCP, UDP)]
Note that packets which have been pushed back out of the device for NodePort handling
right at the XDP layer are not visible in tcpdump since packet taps come at a much
later stage in the networking stack. Cilium's monitor or metric counters can be used
instead for gaining visibility.

NodePort Device, Port and Bind settings
***************************************

Expand Down
14 changes: 14 additions & 0 deletions Documentation/spelling_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ Blog
Bookinfo
Borkmann
Brenden
Broadcom
Brouer
Bugtool
CIDR
CIDRs
CRD
CRI
Cavium
Cheatsheet
Cheng
Chewbacca
Expand All @@ -42,6 +44,7 @@ FIt
Facebook
Fastabend
Fosdem
Freescale
GCE
Gartrell
Geneve
Expand Down Expand Up @@ -87,6 +90,7 @@ Lund
Majkowski
Marek
Meetup
Mellanox
Memcached
Menlo
Mesos
Expand Down Expand Up @@ -120,6 +124,7 @@ Profiler
Proxylib
QCon
Qemu
Qlogic
Rebasing
Redis
Refactor
Expand All @@ -133,6 +138,8 @@ SR-IOV
Sep
Sharma
Shirokov
Socionext
Solarflare
Spectre
Stacktrace
Starovoitov
Expand Down Expand Up @@ -242,6 +249,7 @@ containerd
contrib
coord
coredns
cpsw
cpumap
cqlsh
crd
Expand Down Expand Up @@ -277,6 +285,7 @@ distro
distros
dns
dockerhub
dpaa
dports
droid
dryRun
Expand All @@ -286,6 +295,7 @@ eBPF
eXpress
ebpf
elfutils
ena
endian
endianness
endpointSelector
Expand Down Expand Up @@ -348,6 +358,7 @@ https
hubble
hubble-relay
hugepages
hv
hypervisor
hypervisors
iam
Expand Down Expand Up @@ -465,6 +476,7 @@ multinode
musl
mutex
mutexes
mvneta
myCA
myapp
mysql
Expand All @@ -478,6 +490,8 @@ netdevice
netdevices
netdevsim
netfilter
netsec
netvsc
newproto
newprotoparser
nfp
Expand Down

0 comments on commit 55fccf6

Please sign in to comment.