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
sjbae1...@gmail.com
Mobile
(+82)01089640524
Web.
https://tnet.snu.ac.kr/
[a81b6766e3d5b6518dc4010493c7772f5a46f598.png?u=11013800]

Reply via email to