Bug 1342

Summary: net/i40e rejects packet without any Tx offload on Tx prepare
Product: DPDK Reporter: Andrew Rybchenko (andrew.rybchenko)
Component: ethdevAssignee: dev
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: 23.11   
Target Milestone: ---   
Hardware: All   
OS: All   

Description Andrew Rybchenko 2024-01-05 13:57:11 CET
net/i40e rejects packet without any Tx offload on Tx prepare

Tx is configured to use no offloads. So, simple Tx prepare callback is used by the driver.

mbuf has the following flags set: TX_L4_NO_CKSUM  |TX_IPV4 | TX_OUTER_IPV4 | TX_TUNNEL_VXLAN | RX_IP_CKSUM_UNKNOWN | RX_L4_CKSUM_UNKNOWN
See logs https://ts-factory.io/bublik/v2/log/362398?focusId=368929&mode=treeAndinfoAndlog&experimental=true&lineNumber=1_70

These flags do not request any Tx offloads, just specify that it is a VXLAN packet with inner and outer IPv4.

However, Tx prepare rejects it:
https://ts-factory.io/bublik/v2/log/362398?focusId=368929&mode=treeAndinfoAndlog&experimental=true&lineNumber=1_89

Above logs are result of the test suite run at UNH IOL.

I guess the problem is TX_TUNNEL_VXLAN. I guess addition of RTE_MBUF_F_TX_TUNNEL_MASK to I40E_TX_OFFLOAD_SIMPLE_SUP_MASK will solve the problem.