numam-dpdk/drivers
Ciara Loftus ae70cc6e89 net/af_xdp: use BPF link for XDP programs
Since v0.4.0, if the underlying kernel supports it, libbpf uses 'bpf
link' to manage the programs on the interfaces of the xsks. This has two
repercussions for the PMD.

1. In the case where the PMD asks libbpf to load the default XDP
   program, the PMD no longer needs to remove it on teardown. This is
   because bpf link handles the unloading under the hood.
2. In the case where the PMD loads a custom program, libbpf expects this
   program to be linked via bpf link prior to creating the socket.

This patch introduces probes for the libbpf version and kernel support
for bpf link and orchestrates the loading and unloading of
programs according to the capabilities of the kernel and libbpf. The
libbpf version is checked with meson and pkg-config. The probe for
kernel support mirrors how it is implemented in libbpf. A bpf_link is
created and looked up on loopback device. If successful, bpf_link will
be used for the AF_XDP netdev.

Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
2021-11-02 17:36:46 +01:00
..
baseband drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
bus bus/pci: fix use after free on unplug 2021-11-04 15:13:41 +01:00
common raw/cnxk_bphy: support telemetry 2021-10-29 17:59:35 +02:00
compress devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
crypto devtools: forbid indent with tabs in Meson 2021-11-02 19:25:30 +01:00
dma dma/idxd: fix truncated error code in status check 2021-10-27 17:01:56 +02:00
event drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
mempool mempool/cnxk: postpone devargs parsing 2021-10-29 16:09:25 +02:00
net net/af_xdp: use BPF link for XDP programs 2021-11-02 17:36:46 +01:00
raw raw/cnxk_bphy: support telemetry 2021-10-29 17:59:35 +02:00
regex regex/mlx5: prevent double setup of queue pair 2021-11-03 23:15:10 +01:00
vdpa drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
meson.build raw/ioat: build only if dmadev not present 2021-10-22 22:40:58 +02:00