On Tue, Oct 24, 2023 at 01:29:12PM +0200, Pawel Chmielewski wrote:
> From: Liang-min Wang <[email protected]>
> 
> In cases when VF sends malformed packets that are classified as malicious,
> sometimes it causes Tx queue to freeze. This frozen queue can be stuck
> for several minutes being unusable.
> 
> When MDD event occurs, perform graceful VF reset to quickly bring VF
> back to operational state.
> 
> Signed-off-by: Liang-min Wang <[email protected]>
> Signed-off-by: Pawel Chmielewski <[email protected]>
> Reviewed-by: Michal Swiatkowski <[email protected]>
> ---
>  drivers/net/ethernet/intel/ice/ice_main.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index 66095e9b094e..cf9fd1f168f7 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -1836,8 +1836,13 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
>                       vf->mdd_tx_events.count++;
>                       set_bit(ICE_MDD_VF_PRINT_PENDING, pf->state);
>                       if (netif_msg_tx_err(pf))
> -                             dev_info(dev, "Malicious Driver Detection event 
> TX_TCLAN detected on VF %d\n",
> +                             dev_info(dev,
> +                                      "Malicious Driver Detection event 
> TX_TCLAN detected on VF %d\n",
>                                        vf->vf_id);
> +                     dev_info(dev,
> +                              "PF-to-VF reset on VF %d due to Tx MDD 
> TX_TCLAN event\n",
> +                              vf->vf_id);
> +                     ice_reset_vf(vf, ICE_VF_RESET_NOTIFY);
>               }
>  
>               reg = rd32(hw, VP_MDET_TX_TDPU(vf->vf_id));
> @@ -1846,8 +1851,13 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
>                       vf->mdd_tx_events.count++;
>                       set_bit(ICE_MDD_VF_PRINT_PENDING, pf->state);
>                       if (netif_msg_tx_err(pf))
> -                             dev_info(dev, "Malicious Driver Detection event 
> TX_TDPU detected on VF %d\n",
> +                             dev_info(dev,
> +                                      "Malicious Driver Detection event 
> TX_TDPU detected on VF %d\n",
>                                        vf->vf_id);
> +                     dev_info(dev,
> +                              "PF-to-VF reset on VF %d due to Tx MDD 
> TX_TCLAN event\n",
> +                              vf->vf_id);
You forgot to change TX_TCLAN to TX_TDPU.

> +                     ice_reset_vf(vf, ICE_VF_RESET_NOTIFY);
>               }
>  
>               reg = rd32(hw, VP_MDET_RX(vf->vf_id));
> -- 
> 2.37.3
> 
_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to