[DPDK 24.11.3-rc1] rte_flow_async_create() stucks in while loop (infinite loop)
Ivan Malov
ivan.malov at arknetworks.am
Mon Aug 11 18:08:38 CEST 2025
Hi,
On Mon, 28 Jul 2025, 배성종 wrote:
> Hello commit authors (and maintainers),
>
> I'm currently working with rte_flow_async_create() using the postpone flag, along with rte_flow_push/pull() for batching, in a scenario involving thousands of flows on a BlueField-2
> system.
>
> My goal is to implement hardware steering such that ingress traffic bypasses the ARM core of the BF2, and egress traffic does the same.
>
> According to the DPDK documentation, rte_flow_push/pull() seems to be intended for use as a batch operation, wrapping a large for loop that issues multiple flow operations, and then
> committing them to hardware in one go.
>
> However, I’ve observed that when multiple cores simultaneously insert flow rules, using rte_flow_push/pull() in such a batched way can result in the rule insertion operations not being
> properly transmitted to the hardware. Specifically, the internal function mlx5dr_send_all_dep_wqe() ends up getting stuck in its while loop.
>
> Interestingly, if I call rte_flow_push/pull() after each individual rte_flow_async_create() operation, even though that usage seems contrary to the intended batching model, the infinite
> loop issue is significantly mitigated. The frequency of getting stuck in mlx5dr_send_all_dep_wqe() drops drastically—though it still occurs occasionally.
>
> In summary, calling rte_flow_push/pull() after each rte_flow_async_create() seems to avoid the infinite loop, but I’m unsure if this is an expected usage pattern. I would like to ask:
>
> *
>
> Is this behavior intentional?
>
> *
>
> Am I misunderstanding the design or usage expectations for rte_flow_push/pull() in multi-core scenarios?
>
Perhaps my question is a bit out of place and wrong, but, given the fact there
are no code snippets to take a look at, are you using separate flow queues for
submitting the operations, one flow queue per lcore?
Thank you.
> Thank you for your time and support.
>
> Sincerely,
> Seongjong Bae M.S. Student T-Networking Lab.
> [AIorK4yCWXBmHrQ1GGSZ1Kc18irHfB1S9x_FqTeAHsxNIdnf_olG-PRjFVlItUw34zr1tnNwkP5AlPTomK87]
> Email
> sjbae1999 at gmail.com
> Mobile
> (+82)01089640524
> Web.
> https://tnet.snu.ac.kr/
> [a81b6766e3d5b6518dc4010493c7772f5a46f598.png?u=11013800]
>
>
More information about the users
mailing list