ae70cc6e89
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> |
||
---|---|---|
.. | ||
af_xdp_deps.h | ||
compat.h | ||
meson.build | ||
rte_eth_af_xdp.c | ||
version.map |