[dpdk-dev] [Bug 280] X710 PF Reset Issue with DPDK VF Driver
bugzilla at dpdk.org
bugzilla at dpdk.org
Thu May 16 12:40:05 CEST 2019
https://bugs.dpdk.org/show_bug.cgi?id=280
Bug ID: 280
Summary: X710 PF Reset Issue with DPDK VF Driver
Product: DPDK
Version: 19.05
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: major
Priority: Normal
Component: doc
Assignee: dev at dpdk.org
Reporter: vipin.varghese at intel.com
Target Milestone: ---
LOGS:
[93011.069202] i40e 0000:82:00.2: VF 11 successfully unset unicast promiscuous
mode
[95318.521782] i40e 0000:82:00.2: Malicious Driver Detection event 0x00 on TX
queue 141 PF number 0x02 VF number 0x4d
[95318.521787] i40e 0000:82:00.2: TX driver issue detected, PF reset issued
[95318.521801] i40e 0000:82:00.2: TX driver issue detected on VF 13
[95318.521803] i40e 0000:82:00.2: Too many MDD events on VF 13, disabled
[95318.521804] i40e 0000:82:00.2: Use PF Control I/F to re-enable the VF
[95895.281551] i40e 0000:82:00.2: read: 0x000e648c = 0x0007f3fd
[96380.723377] i40e 0000:82:00.2: VF 13 successfully set multicast promiscuous
mode
[96380.723382] i40e 0000:82:00.2: VF 13 successfully unset unicast promiscuous
mode
[96380.787648] i40e 0000:82:00.3: VF 15 successfully set multicast promiscuous
mode
[96380.787650] i40e 0000:82:00.3: VF 15 successfully unset unicast promiscuous
mode
ROOT CAUSE: Sending incorrect packet size through TX queue causes the MDD
failure.
Solution:
static uint16_t
precheck_pkts(uint8_t port __rte_unused, uint16_t qidx __rte_unused,
struct rte_mbuf **pkts, uint16_t nb_pkts, void *_ __rte_unused)
{
if (unlikely(nb_pkts == 0))
return nb_pkts;
int i, j, k;
struct rte_mbuf *ptr;
struct rte_mbuf *replace[nb_pkts];
for (i = 0, j = 0, k = 0; i < nb_pkts; i++)
{
ptr = pkts[i];
if (ptr->pkt_len < 17) {
replace[k++] = ptr;
} else if (!(ptr->ol_flags & PKT_TX_TCP_SEG)) {
if (ptr->nb_segs > 8 ||
ptr->pkt_len > 9728)
replace[k++] = ptr;
else
pkts[j++] = ptr;
} else if (ptr->nb_segs > 8 ||
ptr->tso_segsz < 256 ||
ptr->tso_segsz > 9674 ||
ptr->pkt_len > 262144) {
replace[k++] = ptr;
} else {
pkts[j++] = ptr;
}
}
for (i = 0; i < k; i++)
rte_pktmbuf_free(replace[i]);
//printf(" Port (%u) Queue (%u) nb_pkts - old (%u) new (%u) drop
(%u)\n", port, qidx, nb_pkts, j, k);
return j;
}
issue: neither `DPDK Release 19.05` nor `Known Issues and Limitations in Legacy
Releases`
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the dev
mailing list