* [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event
@ 2023-10-24 11:29 Pawel Chmielewski
2023-10-24 11:41 ` Paul Menzel
2023-10-24 13:12 ` Michal Swiatkowski
0 siblings, 2 replies; 5+ messages in thread
From: Pawel Chmielewski @ 2023-10-24 11:29 UTC (permalink / raw)
To: intel-wired-lan
Cc: Pawel Chmielewski, Michal Swiatkowski, lukasz.czapnik,
Liang-min Wang
From: Liang-min Wang <liang-min.wang@intel.com>
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 <liang-min.wang@intel.com>
Signed-off-by: Pawel Chmielewski <pawel.chmielewski@intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
---
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);
+ 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
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event
2023-10-24 11:29 [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event Pawel Chmielewski
@ 2023-10-24 11:41 ` Paul Menzel
2023-10-24 12:18 ` Pawel Chmielewski
2023-10-24 13:12 ` Michal Swiatkowski
1 sibling, 1 reply; 5+ messages in thread
From: Paul Menzel @ 2023-10-24 11:41 UTC (permalink / raw)
To: Pawel Chmielewski, Liang-min Wang
Cc: Michal Swiatkowski, lukasz.czapnik, intel-wired-lan
Dear Pawel, dear Liang-min,
Am 24.10.23 um 13:29 schrieb Pawel Chmielewski:
> From: Liang-min Wang <liang-min.wang@intel.com>
Should min start with a capital letter Liang-Min?
> 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.
Did you analyze the cause for this. Why does it freeze only sometimes?
Are you able to reproduce it?
> When MDD event occurs, perform graceful VF reset to quickly bring VF
> back to operational state.
I’d spell out Malicious Driver Detection.
Please mention, that a new log message is added.
> Signed-off-by: Liang-min Wang <liang-min.wang@intel.com>
> Signed-off-by: Pawel Chmielewski <pawel.chmielewski@intel.com>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> ---
> 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);
I’d refrain from formatting changes.
> + 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);
> + ice_reset_vf(vf, ICE_VF_RESET_NOTIFY);
> }
>
> reg = rd32(hw, VP_MDET_RX(vf->vf_id));
It look like, a patch could be added ahead to factor these parts in a
separate function.
Kind regards,
Paul
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event
2023-10-24 11:41 ` Paul Menzel
@ 2023-10-24 12:18 ` Pawel Chmielewski
0 siblings, 0 replies; 5+ messages in thread
From: Pawel Chmielewski @ 2023-10-24 12:18 UTC (permalink / raw)
To: Paul Menzel
Cc: Michal Swiatkowski, lukasz.czapnik, intel-wired-lan,
Liang-min Wang
Dear Paul,
Thank you for your review!
> > From: Liang-min Wang <liang-min.wang@intel.com>
>
> Should min start with a capital letter Liang-Min?
That's right, I'll correct it.
> > 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.
>
> Did you analyze the cause for this. Why does it freeze only sometimes? Are
> you able to reproduce it?
Yes, we could re-produce the issue using a user space application, testpmd,
from DPDK
>
> > When MDD event occurs, perform graceful VF reset to quickly bring VF
> > back to operational state.
>
> I’d spell out Malicious Driver Detection.
Will do.
>
> Please mention, that a new log message is added.
I'll add this information.
>
> It look like, a patch could be added ahead to factor these parts in a
> separate function.
Which parts (lines) do you have in mind?
Regards,
Pawel
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event
2023-10-24 11:29 [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event Pawel Chmielewski
2023-10-24 11:41 ` Paul Menzel
@ 2023-10-24 13:12 ` Michal Swiatkowski
2023-10-24 16:21 ` Pawel Chmielewski
1 sibling, 1 reply; 5+ messages in thread
From: Michal Swiatkowski @ 2023-10-24 13:12 UTC (permalink / raw)
To: Pawel Chmielewski; +Cc: lukasz.czapnik, intel-wired-lan, Liang-min Wang
On Tue, Oct 24, 2023 at 01:29:12PM +0200, Pawel Chmielewski wrote:
> From: Liang-min Wang <liang-min.wang@intel.com>
>
> 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 <liang-min.wang@intel.com>
> Signed-off-by: Pawel Chmielewski <pawel.chmielewski@intel.com>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> ---
> 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
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event
2023-10-24 13:12 ` Michal Swiatkowski
@ 2023-10-24 16:21 ` Pawel Chmielewski
0 siblings, 0 replies; 5+ messages in thread
From: Pawel Chmielewski @ 2023-10-24 16:21 UTC (permalink / raw)
To: Michal Swiatkowski; +Cc: lukasz.czapnik, intel-wired-lan, Liang-min Wang
On Tue, Oct 24, 2023 at 03:12:54PM +0200, Michal Swiatkowski wrote:
> > 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.
Thank you for noticing, I've overlooked that. Will fix in v2
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-10-24 16:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-24 11:29 [Intel-wired-lan] [PATCH iwl-next] ice: Reset VF on Tx MDD event Pawel Chmielewski
2023-10-24 11:41 ` Paul Menzel
2023-10-24 12:18 ` Pawel Chmielewski
2023-10-24 13:12 ` Michal Swiatkowski
2023-10-24 16:21 ` Pawel Chmielewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox