[PATCH v3 12/29] net/ixgbe: use common checks in FDIR filters

Burakov, Anatoly anatoly.burakov at intel.com
Fri May 29 16:06:10 CEST 2026


On 4/19/2026 5:42 PM, Stephen Hemminger wrote:
> On Fri, 10 Apr 2026 14:13:06 +0100
> Anatoly Burakov <anatoly.burakov at intel.com> wrote:
> 
>> Use the common attr and action parsing infrastructure in flow director
>> filters (both tunnel and normal). As a result, some checks have become
>> more stringent, in particular group attribute is now explicitly rejected
>> instead of being ignored.
>>
>> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
>> ---
>>   drivers/net/intel/ixgbe/ixgbe_flow.c | 292 ++++++++++++---------------
>>   1 file changed, 129 insertions(+), 163 deletions(-)
> ---------------------------------------------------------------------
> Patch 12/29: net/ixgbe: use common checks in FDIR filters
> ----------------------------------------------------------------------
> 
> Warning: ixgbe_fdir_actions_check() rejects DROP+MARK via the check:
> 
>    if (drop_action != NULL && action != NULL) {
>        return rte_flow_error_set(..., "Conflicting actions");
>    }
> 
> The old ixgbe_parse_fdir_act_attr() allowed DROP+MARK (set fdirflags
> and soft_id together). The new parse functions still contain code to
> handle DROP+MARK (setting rule->soft_id from aux_action), but it is
> now dead code because the check function rejects the combination
> before parsing.
> 
> If DROP+MARK was intentionally disallowed, the dead aux_action
> handling should be removed from ixgbe_parse_fdir_filter_normal() and
> ixgbe_parse_fdir_filter_tunnel(). If it should still be allowed, the
> check needs to permit a MARK alongside DROP.
> 
> Also, this block in ixgbe_fdir_actions_check() is dead code:
> 
>    if (drop_action == NULL && action != NULL &&
>        action->type == RTE_FLOW_ACTION_TYPE_DROP) {
>        drop_action = action;
>    }
> 
> DROP is in fwd_actions[], so a DROP as the second action is already
> rejected by the preceding "must not be a forwarding action" check.

It could've been argued that mark + drop isn't a meaningful combination, 
but I checked against the datasheet and you're right, this is not correct.

-- 
Thanks,
Anatoly


More information about the dev mailing list