Test-Label: intel-Testing Test-Status: FAILURE _Testing FAILURE DPDK git repo: dpdk commit c1f0cdae14c5399cd6201e6cf39d5e51f60c6efb Author: Dariusz Sosnowski Date: Wed May 17 20:36:14 2023 +0000 net/mlx5: fix drop action attribute validation Before this patch, DROP flow action was rejected for all egress flow rules, which was not correct for all cases. When Verbs flow engine is used (dv_flow_en=0) DROP flow action is implemented using IBV_FLOW_SPEC_ACTION_DROP IBV action. This action is supported on ingress only. This patch amends the DROP flow action validation to allow it only on ingress. When DV flow engine is used (dv_flow_en=1) there are 2 implementation options for DROP flow action: - DR drop action (allocated through mlx5dv_dr_action_create_drop() API), - dedicated drop queue. When flow rules are created on non-root flow tables DR drop action can be used on all steering domains. On root flow table however, this action ca be used if and only if it is supported by rdma-core and kernel drivers. mlx5 PMD dynamically checks if DR drop action is supported on root tables during device probing (it is checked in mlx5_flow_discover_dr_action_support()). If DR drop action is not supported on root table, then dedicated drop queue must be used and as a result, DROP flow action on root is supported only for ingress flow rules. This patch amends the DROP flow action validation with this logic for DV flow engine. This patch also renames the dr_drop_action_en field in device's private data to dr_root_drop_action_en to align the name with field's meaning. Fixes: 3c4338a42134 ("net/mlx5: optimize device spawn time with representors") Fixes: 45633c460c22 ("net/mlx5: workaround drop action with old kernel") Fixes: da845ae9d7c1 ("net/mlx5: fix drop action for Direct Rules/Verbs") Cc: stable@dpdk.org Signed-off-by: Dariusz Sosnowski Acked-by: Viacheslav Ovsiienko Testing Summary : 18 Case Done, 17 Successful, 1 Failures Testbed #1: 9 Case Done, 8 Successful, 1 Failures * Test result details: +-------------+---------------------------+-------+ | suite | case | status| +-------------+---------------------------+-------+ | asan_smoke | test_rxtx_with_ASan_enable| passed| | pf_smoke | test_pf_rss | passed| | pf_smoke | test_pf_tx_rx_queue | passed| | pf_smoke | test_pf_jumbo_frames | FAILED| | vf_smoke | test_vf_jumbo_frames | passed| | vf_smoke | test_vf_rss | passed| | vf_smoke | test_vf_tx_rx_queue | passed| | virtio_smoke| test_virtio_loopback | passed| | virtio_smoke| test_virtio_pvp | passed| +-------------+---------------------------+-------+ * Environment: OS : Ubuntu 22.04.2 LTS Kernel : 5.15.0-60-generic GCC : 11.3.0-1ubuntu1~22.04 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 22.04.2 LTS Kernel : 5.15.0-60-generic GCC : 11.3.0-1ubuntu1~22.04 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