On 4/19/2026 5:42 PM, Stephen Hemminger wrote:
On Fri, 10 Apr 2026 14:13:06 +0100
Anatoly Burakov <[email protected]> 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 <[email protected]>
---
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