diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-01 12:41:22 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-03 12:44:47 +0000 |
| commit | 0787b1f5b8bdfcaed97eeee7bfbd7f14ac162b0d (patch) | |
| tree | fe296052e3bdc5197e49b98dd55994cb29be0787 | |
| parent | 8f779f159e2198c85b4fcb8685989879a9330104 (diff) | |
ixgbe: supply PF transmit contexts under SR-IOV
X550-family malicious-driver detection validates the transmit
context selected by a data descriptor with Check Context set. ixgbe
sets that bit on every transmit data descriptor, but ordinary PF
packets without a VLAN or checksum offload do not create a context
descriptor. The empty context then reports an invalid MAC-header
length and blocks the PF queue as soon as MDD is enabled.
Create the existing context descriptor for every PF packet while
SR-IOV is active. This supplies the required MAC-header length and
keeps MDD from mistaking normal PF traffic for a malicious-driver
event.
MFC after: 1 week
| -rw-r--r-- | sys/dev/ixgbe/ix_txrx.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ixgbe/ix_txrx.c b/sys/dev/ixgbe/ix_txrx.c index 76c718e2c252..3dda3270a2de 100644 --- a/sys/dev/ixgbe/ix_txrx.c +++ b/sys/dev/ixgbe/ix_txrx.c @@ -197,6 +197,7 @@ ixgbe_isc_txd_encap(void *arg, if_pkt_info_t pi) TXD = (struct ixgbe_adv_tx_context_desc *) &txr->tx_base[first]; if ((pi->ipi_csum_flags & CSUM_OFFLOAD) || (sc->feat_en & IXGBE_FEATURE_NEEDS_CTXD) || + (sc->feat_en & IXGBE_FEATURE_SRIOV) || pi->ipi_vtag) { /********************************************* * Set up the appropriate offload context |
