linux-kernelorg-stable/samples
Jesper Dangaard Brouer 1bca4e6b18 samples/bpf: xdp_redirect_cpu load balance like Suricata
This implement XDP CPU redirection load-balancing across available
CPUs, based on the hashing IP-pairs + L4-protocol.  This equivalent to
xdp-cpu-redirect feature in Suricata, which is inspired by the
Suricata 'ippair' hashing code.

An important property is that the hashing is flow symmetric, meaning
that if the source and destination gets swapped then the selected CPU
will remain the same.  This is helps locality by placing both directions
of a flows on the same CPU, in a forwarding/routing scenario.

The hashing INITVAL (15485863 the 10^6th prime number) was fairly
arbitrary choosen, but experiments with kernel tree pktgen scripts
(pktgen_sample04_many_flows.sh +pktgen_sample05_flow_per_thread.sh)
showed this improved the distribution.

This patch also change the default loaded XDP program to be this
load-balancer.  As based on different user feedback, this seems to be
the expected behavior of the sample xdp_redirect_cpu.

Link: https://github.com/OISF/suricata/commit/796ec08dd7a63
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-08-10 16:07:49 +02:00
..
auxdisplay auxdisplay: Replace licenses with SPDX identifiers 2018-04-12 19:02:45 +02:00
bpf samples/bpf: xdp_redirect_cpu load balance like Suricata 2018-08-10 16:07:49 +02:00
configfs
connector
hidraw
hw_breakpoint
kdb
kfifo
kobject
kprobes arch: remove tile port 2018-03-16 10:56:03 +01:00
livepatch livepatch: Allow to call a custom callback when freeing shadow variables 2018-04-17 13:42:48 +02:00
mei
mic/mpssd
pktgen
qmi samples: Introduce Qualcomm QMI sample client 2018-02-12 16:57:22 -08:00
rpmsg
seccomp samples/seccomp: do not compile when cross compiled 2018-02-22 09:31:43 -08:00
statx
timers
trace_events
trace_printk
uhid
v4l
vfio-mdev sample: vfio-mdev: avoid deadlock in mdev_access() 2018-07-11 13:22:41 -06:00
watchdog
Kconfig samples: mbochs: add DMA_SHARED_BUFFER dependency 2018-06-09 09:23:52 -06:00
Makefile remoteproc updates for v4.17 2018-04-10 12:09:27 -07:00