As reported by Ales when doing some OVN integration tests with OVS 3.2, net/tap has broken L4 checksum offloads.
Fixes are pending on DPDK side. Until they get in a LTS release used by OVS, disable those Tx offloads. Acked-by: Eelco Chaudron <echau...@redhat.com> Signed-off-by: David Marchand <david.march...@redhat.com> --- Changes since v1: - added this patch as part of the DPDK tests update series, - restored TSO feature, - added comment in code, - changed log level, --- lib/netdev-dpdk.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 2f5a133184..55700250df 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -1312,6 +1312,16 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev) dev->hw_ol_features &= ~NETDEV_RX_HW_SCATTER; } + if (!strcmp(info.driver_name, "net_tap")) { + /* FIXME: L4 checksum offloading is broken in DPDK net/tap driver. + * This workaround can be removed once the fix makes it to a DPDK + * LTS release used by OVS. */ + VLOG_INFO("%s: disabled Tx L4 checksum offloads for a net/tap port.", + netdev_get_name(&dev->up)); + info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_UDP_CKSUM; + info.tx_offload_capa &= ~RTE_ETH_TX_OFFLOAD_TCP_CKSUM; + } + if (info.tx_offload_capa & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM) { dev->hw_ol_features |= NETDEV_TX_IPV4_CKSUM_OFFLOAD; } else { -- 2.41.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev