> -----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]>

Reply via email to