Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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

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