https://bugs.dpdk.org/show_bug.cgi?id=1097
Bug ID: 1097 Summary: i40e: TSO breaks when MSS spans more than 8 data fragments Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: ivan.ma...@oktetlabs.ru Target Milestone: --- We've been running opensource ethdev tests [1] lately and we've come across a bug in TSO: https://ts-factory.io/bublik/v2/log/100333?focusId=102700&mode=treeAndinfoAndlog . In the above example, a TSO transaction with MSS=4000 is requested for a packet bearing 6000 bytes of payload, with the first 4000 bytes spanning data located in 13 mbuf segments. As a result, no packets are seen on the opposite end of the wire, and the following log is produced: i40e_dev_alarm_handler(): ICR0: malicious programming detected i40e_handle_mdd_event(): Malicious Driver Detection event 0x02 on TX queue 1 PF number 0x00 VF number 0x00 device 0000:01:00.0 i40e_handle_mdd_event(): TX driver issue detected on PF According to https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/intel/i40e/i40e_txrx.c#L3416 , the "HW can't DMA more than 8 buffers to build a packet on the wire". By the looks of it, Tx prepare method in the PMD turns a blind eye to crossing this boundary. Hence the error. Apparrently, Tx prepare in i40e shall either turn such transactions down or linearise the superframe data to some extent. [1] http://mails.dpdk.org/archives/dev/2022-October/251663.html -- You are receiving this mail because: You are the assignee for the bug.