> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Marcin Szycik > Sent: Thursday, May 21, 2026 4:50 AM > To: [email protected] > Cc: [email protected]; Penigalapati, Sandeep > <[email protected]>; S, Ananth <[email protected]>; > [email protected]; Marcin Szycik <[email protected]>; > Cao, Chinh > T <[email protected]>; Nguyen, Anthony L <[email protected]> > Subject: [Intel-wired-lan] [PATCH iwl-next v4 08/10] ice: program ACL entry > > From: Real Valiquette <[email protected]> > > Complete the filter programming process; set the flow entry and action into > the scenario and write it to hardware. Configure the VSI for ACL filters. > > Co-developed-by: Chinh Cao <[email protected]> > Signed-off-by: Chinh Cao <[email protected]> > Signed-off-by: Real Valiquette <[email protected]> > Co-developed-by: Tony Nguyen <[email protected]> > Signed-off-by: Tony Nguyen <[email protected]> > Signed-off-by: Marcin Szycik <[email protected]> > --- > v4: > * Remove last side effects of using struct ice_fd_hw_prof for ACL > v3: > * Cleanup comments in ice_acl_add_entry(), > ice_flow_acl_find_scen_entry_cond() > * ice_acl_rem_entry(): clear entry from entry bitmap only if programming > succceeded > * ice_acl_rem_entry(): catch ice_acl_scen_free_entry_idx() status > * ice_acl_add_rule_ethtool(): add fdir_fltr_lock around > ice_ntuple_update_list_entry() call > * ice_acl_add_rule_ethtool(): catch ice_ntuple_update_list_entry() > status, add unroll > * ice_flow_acl_find_scen_entry_cond(): remove inner loop when checking > if actions match. Previously it was effectively checking if actions > match *and* are all the same. Note: ACL will always use 1 action in > current software implementation, but it can be extended in the future. > * ice_flow_acl_add_scen_entry_sync(): set exist->acts_cnt = 0 on alloc > fail > v2: > * Use plain alloc instead of devm_ for ice_flow_entry::acts > * Use FIELD_PREP_CONST() for ICE_ACL_RX_*_MISS_CNTR > * Fix wrong struct ice_acl_act_entry alloc count in > ice_flow_acl_add_scen_entry_sync() - was e->entry_sz, which is an > unrelated value > * Only set acts_cnt after successful allocation in > ice_flow_acl_add_scen_entry_sync() > * Return -EINVAL instead of -ENOSPC on wrong index in > ice_acl_scen_free_entry_idx() > --- > drivers/net/ethernet/intel/ice/ice.h | 2 + > drivers/net/ethernet/intel/ice/ice_acl.h | 21 + > .../net/ethernet/intel/ice/ice_adminq_cmd.h | 2 + > drivers/net/ethernet/intel/ice/ice_flow.h | 3 + > drivers/net/ethernet/intel/ice/ice_acl.c | 53 ++- > drivers/net/ethernet/intel/ice/ice_acl_ctrl.c | 252 +++++++++++ > drivers/net/ethernet/intel/ice/ice_acl_main.c | 12 + > .../ethernet/intel/ice/ice_ethtool_ntuple.c | 48 ++- > drivers/net/ethernet/intel/ice/ice_flow.c | 390 ++++++++++++++++++ > drivers/net/ethernet/intel/ice/ice_lib.c | 10 +- > 10 files changed, 786 insertions(+), 7 deletions(-)
Tested-by: Alexander Nowlin <[email protected]>
