On Thu, Jan 25, 2024 at 01:53:10PM +0100, Michal Swiatkowski wrote:
> Tx rule in switchdev was changed to use PF instead of additional control
> plane VSI. Because of that during lag we should control it. Control
> means to add and remove the default Tx rule during lag active/inactive
> switching.
> 
> It can be done the same way as default Rx rule.

Hi Michal,

Can I confirm that LAG TX/RX works both before and after this patch?

> 
> Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
> Reviewed-by: Marcin Szycik <marcin.szy...@linux.intel.com>
> Signed-off-by: Michal Swiatkowski <michal.swiatkow...@linux.intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_lag.c | 39 ++++++++++++++++++------
>  drivers/net/ethernet/intel/ice/ice_lag.h |  3 +-
>  2 files changed, 32 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c 
> b/drivers/net/ethernet/intel/ice/ice_lag.c

...

> @@ -266,9 +274,22 @@ ice_lag_cfg_dflt_fltr(struct ice_lag *lag, bool add)
>  {
>       u32 act = ICE_SINGLE_ACT_VSI_FORWARDING |
>               ICE_SINGLE_ACT_VALID_BIT | ICE_SINGLE_ACT_LAN_ENABLE;
> +     int err;
> +
> +     err = ice_lag_cfg_fltr(lag, act, lag->pf_recipe, &lag->pf_rx_rule_id,
> +                            ICE_FLTR_RX, add);
> +     if (err)
> +             return err;
> +
> +     err = ice_lag_cfg_fltr(lag, act, lag->pf_recipe, &lag->pf_tx_rule_id,
> +                            ICE_FLTR_TX, add);
> +     if (err) {
> +             ice_lag_cfg_fltr(lag, act, lag->pf_recipe, &lag->pf_rx_rule_id,
> +                              ICE_FLTR_RX, !add);
> +             return err;
> +     }
>  
> -     return ice_lag_cfg_fltr(lag, act, lag->pf_recipe,
> -                             &lag->pf_rule_id, add);
> +     return 0;
>  }

nit: perhaps this could be more idiomatically written using a
     goto to unwind on error.

...

Reply via email to