On Tue, Dec 13, 2022 at 10:47:46AM +0000, Koikkara Reeny, Shibin wrote:
> From: Shibin Koikkara Reeny <shibin.koikkara.re...@intel.com>
> 
> Integrate support for the AF_XDP CNI and device plugin so that the
> DPDK AF_XDP PMD can work in an unprivileged container environment.
> Part of the AF_XDP PMD initialization process involves loading
> an eBPF program onto the given netdev. This operation requires
> privileges, which prevents the PMD from being able to work in an
> unprivileged container (without root access). The plugin CNI handles
> the program loading. CNI open Unix Domain Socket (UDS) and waits
> listening for a client to make requests over that UDS. The client(DPDK)
> connects and a "handshake" occurs, then the File Descriptor which points
> to the XSKMAP associated with the loaded eBPF program is handed over
> to the client. The client can then proceed with creating an AF_XDP
> socket and inserting the socket into the XSKMAP pointed to by the
> FD received on the UDS.
> 
> A new vdev arg "use_cni" is created to indicate user wishes to run
> the PMD in unprivileged mode and to receive the XSKMAP FD from the CNI.
> When this flag is set, the XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD libbpf flag
> should be used when creating the socket, which tells libbpf not to load the
> default libbpf program on the netdev. We tell libbpf not to do this because
> the loading is handled by the CNI in this scenario.
> 
> Signed-off-by: Shibin Koikkara Reeny <shibin.koikkara.re...@intel.com>
> ---
>  drivers/net/af_xdp/rte_eth_af_xdp.c | 337 +++++++++++++++++++++++++++-
>  1 file changed, 325 insertions(+), 12 deletions(-)
> 
Hi Shibhin,

this support sounds really interesting, but I think the patch needs to
include documentation updates on how to set up and use this feature. No
need to duplicate instructions that may be already given in the CNI/plugin
docs, but we need to at least reference those from our docs to ensure end
users can quickly find out how to work with this.

Thanks,
/Bruce

Reply via email to