[v3,2/7] net/ice: enhance debug when HW fails to transmit

Message ID 20240418082023.1767998-3-david.marchand@redhat.com (mailing list archive)
State New
Delegated to: Ferruh Yigit
Headers
Series Fix outer UDP checksum for Intel nics |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

David Marchand April 18, 2024, 8:20 a.m. UTC
  At the moment, if the driver sets an incorrect Tx descriptor, the HW
will raise a MDD event reported as:
ice_interrupt_handler(): OICR: MDD event

Add some debug info for this case.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Changes since v2:
- dropped VF index from logs,

---
 drivers/net/ice/ice_ethdev.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
  

Patch

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 87385d2649..16a6caf555 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -1455,6 +1455,20 @@  ice_interrupt_handler(void *param)
 				    "%d by TCLAN on TX queue %d PF# %d",
 				    event, queue, pf_num);
 		}
+
+		reg = ICE_READ_REG(hw, GL_MDET_TX_TDPU);
+		if (reg & GL_MDET_TX_TDPU_VALID_M) {
+			pf_num = (reg & GL_MDET_TX_TDPU_PF_NUM_M) >>
+				 GL_MDET_TX_TDPU_PF_NUM_S;
+			event = (reg & GL_MDET_TX_TDPU_MAL_TYPE_M) >>
+				GL_MDET_TX_TDPU_MAL_TYPE_S;
+			queue = (reg & GL_MDET_TX_TDPU_QNUM_M) >>
+				GL_MDET_TX_TDPU_QNUM_S;
+
+			PMD_DRV_LOG(WARNING, "Malicious Driver Detection event "
+				    "%d by TDPU on TX queue %d PF# %d",
+				    event, queue, pf_num);
+		}
 	}
 done:
 	/* Enable interrupt */