Test-Label: intel-Testing Test-Status: FAILURE _Testing FAILURE DPDK git repo: dpdk-next-net commit f934e2520295e99825fc7c37a01331377c559ced Author: Shibin Koikkara Reeny Date: Fri Feb 10 15:48:28 2023 +0000 net/af_xdp: support CNI Integration Integrate support for the AF_XDP CNI and device plugin [1] 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. Patch include howto doc explain how to configure AF_XDP CNI to working with DPDK. [1]: https://github.com/intel/afxdp-plugins-for-kubernetes Signed-off-by: Shibin Koikkara Reeny Tested-by: Anatoly Burakov Reviewed-by: Qi Zhang Testing Summary : 10 Case Done, 9 Successful, 1 Failures Testbed #1: 1 Case Done, 0 Successful, 1 Failures * Test result details: +-------------+---------------------+-------+ | suite | case | status| +-------------+---------------------+-------+ | virtio_smoke| test_virtio_loopback| FAILED| +-------------+---------------------+-------+ * Environment: OS : Ubuntu 20.04.5 LTS Kernel : 5.8.0-63-generic GCC : 9.4.0-1ubuntu1~20.04.1 NIC : Ethernet Controller E810-C for SFP Target : x86_64-native-linuxapp-gcc Testbed #2: 9 Case Done, 9 Successful, 0 Failures * Test result details: +-------------+---------------------------+-------+ | suite | case | status| +-------------+---------------------------+-------+ | asan_smoke | test_rxtx_with_ASan_enable| passed| | pf_smoke | test_pf_jumbo_frames | passed| | pf_smoke | test_pf_rss | passed| | pf_smoke | test_pf_tx_rx_queue | passed| | vf_smoke | test_vf_rss | passed| | vf_smoke | test_vf_tx_rx_queue | passed| | vf_smoke | test_vf_jumbo_frames | n/a | | virtio_smoke| test_virtio_loopback | passed| | virtio_smoke| test_virtio_pvp | passed| +-------------+---------------------------+-------+ * Environment: OS : Ubuntu 20.04.5 LTS Kernel : 5.13.0-30-generic GCC : 9.4.0-1ubuntu1~20.04.1 NIC : Ethernet Controller XL710 for 40GbE QSFP+ Target : x86_64-native-linuxapp-gcc TestPlan: pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst asan_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/asan_smoke_test_plan.rst TestSuite: pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py asan_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_asan_smoke.py DPDK STV team