[PATCH v3 11/19] net/ixgbe: reimplement hash parser

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Sat Sep 19 18:11:36 CEST 2026


On 9/16/2026 1:18 PM, Anatoly Burakov wrote:
> Use the new flow graph API and the common parsing framework to implement
> flow parser for RSS configuration.
>
> RSS flow parser doesn't really parse any "flows", it was completely
> ignoring the flow patterns and was only looking at actions. It will
> therefore not specify a pattern graph and will match NULL pattern, empty
> patterns (START -> END), and ANY patterns (START -> ANY -> END).
>
> RSS was the last engine using "filter list", so that is now removed. The
> RSS engine filter tracking was also moved completely into the new engine,
> and all of the "filter list" infrastructure is removed for good.
>
> Signed-off-by: Anatoly Burakov<anatoly.burakov at intel.com>
> ---
<snip>
> +
> +static int
> +ixgbe_flow_hash_ctx_to_flow(const struct ci_flow_engine_ctx *ctx,
> +		struct ci_flow *flow,
> +		struct rte_flow_error *error __rte_unused)
> +{
> +	const struct ixgbe_hash_ctx *hash_ctx = (const struct ixgbe_hash_ctx *)ctx;
> +	struct ixgbe_hash_flow *hash_flow = (struct ixgbe_hash_flow *)flow;
> +
> +	hash_flow->rss_conf = hash_ctx->rss_conf;
We cannot just copy this structure, as it contains self-referential 
fields. For example, hash_ctx->rss_conf.conf.key points to 
hash_ctx->rss_conf.key within the same structure. You may use 
ixgbe_rss_conf_init()
> +
> +	return 0;
> +}
> +
<snip>

-- 
Regards,
Vladimir



More information about the dev mailing list