Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
netdev-dpdk: Clear IP packet type when no offload is requested.
OVS currently sets RTE_MBUF_F_TX_IPV[46] flags in early stages of the packet reception and keeps track of the IP packet type as the packet goes through OVS pipeline. When a packet leaves OVS and hits a DPDK driver, OVS may not request IP checksum offloading but leaves one of this packet type flag in ol_flags. The DPDK api describes that RTE_MBUF_F_TX_IPV4 must be set when requesting some Tx offloads (like RTE_MBUF_F_TX_IPSUM, RTE_MBUF_F_TX_TCP_CKSUM, .., RTE_MBUF_F_TX_TCP_SEG). Even though setting RTE_MBUF_F_TX_IPV4 without requesting a Tx offload is undefined, this can confuse some drivers (like net/iavf) which then reads zeroed l2_len and l3_len and ends up dropping the packet. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2231081 Fixes: 5d11c47 ("userspace: Enable IP checksum offloading by default.") Acked-by: Mike Pattrick <[email protected]> Signed-off-by: David Marchand <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
- Loading branch information