[PATCH v3] net/mlx5: prepend implicit items in sync flow creation path

Dariusz Sosnowski dsosnowski at nvidia.com
Fri May 8 14:40:06 CEST 2026


Hi,

Thank you for making the changes. Please see a comment below.

On Mon, Apr 27, 2026 at 02:32:17PM +0200, Maxime Peim wrote:
> +
> +	prepend_items = flow_hw_adjust_pattern(dev, &pattern_template_attr, true, items,
> +					       &orig_item_nb, &item_flags, &copied_items, error);

Adjusted items should also be stored in resource.suffix.items.
In case metadata split is not needed - when mlx5_flow_nta_split_metadata() returns 0 -
only single flow rule will be created, at line 14392 (after applying your patch).
In this case, items are taken from resource.suffix.items.
resource.suffix.items holds pointer to original pattern, so adjusted
pattern is not taken into account.

This case be reproduced as follows:

	# --flow-isolate-all disables default flow rules which can
	# obfuscate the issue
	dpdk-testpmd -a 08:00.0,dv_flow_en=2,representor=vf0-1 -- --flow-isolate-all -i

	testpmd> flow create 0 group 0 priority 0 ingress pattern end actions jump group 1 / end
	testpmd> flow create 0 group 1 priority 0 ingress pattern end actions queue index 0 / end

Packets sent from VF0 or VF1 will arrive at PF's queue 0.

Best regards,
Dariusz Sosnowski


More information about the dev mailing list