Comment 16 for bug 1983468

Revision history for this message
Dmitrii Shcherbakov (dmitriis) wrote : Re: Octavia amphora loadbalancer gets stuck at PENDING_CREATE status

So it looks like the primary reason is the presence of TX checksumming (the TX feature). Both scatter-gather (the "sg" feature) and TX checksumming ("tx") are required for the TSO feature to work:

https://github.com/torvalds/linux/blob/219d54332a09e8d8741c1e1982f5eae56099de85/net/core/dev.c#L8620-L8637

When it comes to checksumming it is about L4 packets and there are multiple cases:

https://github.com/torvalds/linux/blob/v5.4/include/linux/netdev_features.h#L16

 NETIF_F_IP_CSUM_BIT, /* Can checksum TCP/UDP over IPv4. */
 NETIF_F_HW_CSUM_BIT, /* Can checksum all the packets. */
 NETIF_F_IPV6_CSUM_BIT, /* Can checksum TCP/UDP over IPV6 */

NETIF_F_HW_CSUM means that a device can checksum all L4 packets in hardware and it cannot be enabled together with NETIF_F_IP_CSUM_BIT or NETIF_F_IPV6_CSUM.

It doesn't look like ICMP packets are ever checksummed in hardware so it makes sense that our ICMP flood tests were passing while TCP & UDP traffic generated by iperf3 was affected by the issue.

The NICs in question are Broadcom Netxtreme:
       product: BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller