> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Marcin Szycik
> Sent: Wednesday, June 5, 2024 7:48 PM
> To: [email protected]
> Cc: [email protected]; Marcin Szycik <[email protected]>;
> Kitszel, Przemyslaw <[email protected]>; Michal Swiatkowski
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net] ice: Fix VSI list rule with
> ICE_SW_LKUP_LAST type
>
> Adding/updating VSI list rule, as well as allocating/freeing VSI list resource
> are called several times with type ICE_SW_LKUP_LAST, which fails because
> ice_update_vsi_list_rule() and ice_aq_alloc_free_vsi_list() consider it
> invalid.
> Allow calling these functions with ICE_SW_LKUP_LAST.
>
> This fixes at least one issue in switchdev mode, where the same rule with
> different action cannot be added, e.g.:
>
> tc filter add dev $PF1 ingress protocol arp prio 0 flower skip_sw \
> dst_mac ff:ff:ff:ff:ff:ff action mirred egress redirect dev $VF1_PR
> tc filter add dev $PF1 ingress protocol arp prio 0 flower skip_sw \
> dst_mac ff:ff:ff:ff:ff:ff action mirred egress redirect dev $VF2_PR
>
> Fixes: 0f94570d0cae ("ice: allow adding advanced rules")
> Suggested-by: Michal Swiatkowski <[email protected]>
> Reviewed-by: Michal Swiatkowski <[email protected]>
> Reviewed-by: Przemek Kitszel <[email protected]>
> Signed-off-by: Marcin Szycik <[email protected]>
> ---
> drivers/net/ethernet/intel/ice/ice_switch.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
Tested-by: Sujai Buvaneswaran <[email protected]>