Bug 1343 - net/i40e does not drop packet with too many segments
Summary: net/i40e does not drop packet with too many segments
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: 23.11
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: dev
URL:
Depends on:
Blocks:
 
Reported: 2024-01-05 14:44 CET by Andrew Rybchenko
Modified: 2024-01-05 14:44 CET (History)
0 users



Attachments

Description Andrew Rybchenko 2024-01-05 14:44:32 CET
net/i40e does not drop packet with too many segments

The test case is a bit artificial, but still makes sense. If application sent packet with too many segments which do not fit in Tx ring (or free space in Tx ring) the packet is reported as sent anyway.

The packet is not counted as sent in stats or output errors.

The following errors appear in logs:
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

Should be repeatable with testpmd which allows to sent packet with many segments. E.g. setup Tx queue with 64 descriptors and try to send packet with 65 segments.

IMHO right behaviour in this case is to report the packet as transmitted in Tx burst return value, but drop and count it in oerrors. (Otherwise Tx could stuck).

Test logs (run at UHN IOL):
https://ts-factory.io/bublik/v2/log/362398?focusId=368819&mode=treeAndinfoAndlog&experimental=true&lineNumber=1_60

Mentioned error appear in logs with delay (in the next test):
https://ts-factory.io/bublik/v2/log/362398?focusId=368820&mode=treeAndinfoAndlog&experimental=true&lineNumber=1_32

Note You need to log in before you can comment on or make changes to this bug.