[PATCH v3 11/19] net/ixgbe: reimplement hash parser
Burakov, Anatoly
anatoly.burakov at intel.com
Mon Oct 5 14:35:55 CEST 2026
On 9/19/2026 6:11 PM, Medvedkin, Vladimir wrote:
>
> 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()
I'd rather get rid of the struct embedding same way I did in i40e :)
this footgun should not exist.
--
Thanks,
Anatoly
More information about the dev
mailing list