Hello Haider,
The full mlx5 pmd support for these API is planned for 22.11.
Soon, we’ll start sending the patches.
Regards,
Asaf Penso
From: Haider Ali <haider@dreambigsemi.com>
Sent: Tuesday, September 20, 2022 3:13 PM
To: users <users@dpdk.org>
Subject: [mlx5] (segmentation fault) rte_flow Template and Asynchronous APIs
Hi,
I am trying to test the new rte_flow template and asynchronous APIs but when I start the testpmd application I got a segmentation fault.
$ sudo ./app/dpdk-testpmd -a 04:00.1,dv_flow_en=2 -- -i --rxq=8 --txq=8
EAL: Detected CPU lcores: 48
EAL: Detected NUMA nodes: 2
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Probe PCI driver: mlx5_pci (15b3:101d) device: 0000:04:00.1 (socket 0)
mlx5_common: DevX create q counter set failed errno=22 status=0 syndrome=0
TELEMETRY: No legacy callbacks, legacy socket not created
Interactive-mode selected
testpmd: create a new mbuf pool <mb_pool_0>: n=523456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mb_pool_1>: n=523456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 0)
Segmentation fault
Secondly, I also tried to debug the code and found that there are some missing functions in mlx5 PMD (mlx5_flow_hw_drv_ops):
Configuring Port 0 (socket 0)
Thread 1 "dpdk-testpmd" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x000000000201fb7e in flow_drv_validate (dev=0x7ce4d80 <rte_eth_devices>, attr=0x7fffffffd150, items=0x7fffffffd0f0, actions=0x7fffffffd0a0, external=false, hairpin=0, error=0x7fffffffd080)
at ../drivers/net/mlx5/mlx5_flow.c:3770
#2 0x00000000020302b1 in flow_list_create (dev=0x7ce4d80 <rte_eth_devices>, type=MLX5_FLOW_TYPE_CTL, attr=0x7fffffffd150, items=0x7fffffffd0f0, original_actions=0x7fffffffd0a0, external=false,
error=0x7fffffffd080) at ../drivers/net/mlx5/mlx5_flow.c:6872
#3 0x0000000002031976 in mlx5_ctrl_flow_vlan (dev=0x7ce4d80 <rte_eth_devices>, eth_spec=0x7fffffffd2c0, eth_mask=0x7fffffffd2c0, vlan_spec=0x0, vlan_mask=0x0) at ../drivers/net/mlx5/mlx5_flow.c:7626
#4 0x00000000020319dd in mlx5_ctrl_flow (dev=0x7ce4d80 <rte_eth_devices>, eth_spec=0x7fffffffd2c0, eth_mask=0x7fffffffd2c0) at ../drivers/net/mlx5/mlx5_flow.c:7651
#5 0x00000000020c86c5 in mlx5_traffic_enable (dev=0x7ce4d80 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_trigger.c:1411
#6 0x00000000020c7b6d in mlx5_dev_start (dev=0x7ce4d80 <rte_eth_devices>) at ../drivers/net/mlx5/mlx5_trigger.c:1173
#7 0x0000000000ae286a in rte_eth_dev_start (port_id=0) at ../lib/ethdev/rte_ethdev.c:1474
#8 0x000000000066b0ff in eth_dev_start_mp (port_id=0) at ../app/test-pmd/testpmd.c:646
#9 0x0000000000670135 in start_port (pid=65535) at ../app/test-pmd/testpmd.c:3027
#10 0x00000000006731e7 in main (argc=4, argv=0x7fffffffe3d0) at ../app/test-pmd/testpmd.c:4398
(gdb)
Please correct me if I am doing anything wronf.
Regards,
Haider