I’m trying to use rte_flow_create_async() to batching rule insertion with connectX-6.
I expected that rte_flow_create_async() does not push the rule when postpone is marked as 1.
But it does push even though I does not call rte_flow_push().
What’s the reason for this issue? I just want to postpone pushing.
I checked the code in the PMD, and saw below.
if (unlikely(mlx5dr_table_is_root(matcher->tbl))) ret = mlx5dr_rule_create_root(rule_handle, attr, items, at_idx, rule_actions); else ret = mlx5dr_rule_create_hws(rule_handle, attr, mt_idx, items, at_idx, rule_actions);
Here, I understood that the root means table with group 0.
I guess mlx5dr_rule_create_hws() does not push immediately, but mlx5dr_rule_create_root() pushes immediately. Am I right?
Is there any example code for testing rte_flow_create_async() and checking whether it pushes the rule immediately?