> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Marcin Szycik > Sent: 02 July 2026 16:00 > To: [email protected] > Cc: [email protected]; Penigalapati, Sandeep > <[email protected]>; S, Ananth <[email protected]>; > [email protected]; Nguyen, Anthony L <[email protected]>; > Marcin Szycik <[email protected]>; Czapnik, Lukasz > <[email protected]>; Loktionov, Aleksandr > <[email protected]> > Subject: [Intel-wired-lan] [PATCH iwl-next v5 12/12] ice: use ACL for ntuple > rules that conflict with FDir > > From: Lukasz Czapnik <[email protected]> > > Flow Director can keep only one input set per flow type. After ACL support > was added for ethtool ntuple rules, the driver still only selected ACL for > rules with partial masks. > > That leaves a gap for rules with full masks that still require a different > input set than the one already programmed for Flow Director. Such rules go > through the FDir path, build a different extraction sequence and then fail > because the existing FDir > profile cannot be reused. > > Detect this case before programming the rule. Build the candidate IP flow > segment, compare it with the active non-tunneled FDir profile and, when the > input sets differ, offload the rule through ACL if ACL is available. > > Refactor the IP flow segment setup into a helper so the same logic can be > used both by the extraction-sequence configuration path and by the conflict > check. > > Reviewed-by: Aleksandr Loktionov <[email protected]> > Signed-off-by: Lukasz Czapnik <[email protected]> > Signed-off-by: Marcin Szycik <[email protected]> > --- > v5: > * ice_fdir_has_input_set_conflict(): add a check if aRFS is using perfect > filters that may cause a conflict > * ice_add_ntuple_ethtool(): add a guard that rejects flex-byte (user-def) > filters when they would be routed to ACL (since ACL ignores the flex > constraint, it would silently offload a broader rule) > * ice_add_ntuple_ethtool(): join subsequent conditions that call > ice_acl_add_rule_ethtool() for clarity > v3: > * Include flex fields in test_seg to avoid false conflict detection > * Skip conflict check early for ETHER_FLOW > v2: > * Add this patch > --- > .../ethernet/intel/ice/ice_ethtool_ntuple.c | 189 +++++++++++++----- > 1 file changed, 140 insertions(+), 49 deletions(-) >
Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel)
