This RFC integrates shared UMEM support into the AF_XDP PMD. It is based on the WIP kernel series [1] by Magnus Karlsson.
Detailed information on the shared UMEM feature can be found in the final patch in the aforementioned series. Support for the kernel feature can eventually be detected in DPDK by querying the LINUX_KERNEL_VERSION. As of now the feature is not yet merged upstream, so for this RFC it is assumed the user is using a patched version of v5.8. Shared UMEM is only available for zero copy mode. In order to share UMEM information between PMDs, the ethdevs wishing to share must be tracked somehow. The method chosen to do so is similar to methods used in the vHost [2] and vDPA drivers, where pointers to the ethdevs are maintained in an internal list. Proposals for alternate solutions are welcome. Performance data to follow with the v1. [1] https://patchwork.ozlabs.org/project/netdev/cover/1595307848-20719-1-git-send-email-magnus.karls...@intel.com/ [2] https://git.dpdk.org/dpdk/commit/?id=ee584e9710b9abd60ee9faef664e106dcea10085 Ciara Loftus (1): net/af_xdp: shared UMEM support doc/guides/nics/af_xdp.rst | 5 +- drivers/net/af_xdp/rte_eth_af_xdp.c | 315 ++++++++++++++++++++++------ 2 files changed, 252 insertions(+), 68 deletions(-) -- 2.17.1