EF10 NICs from the 8000 series onwards support TX offloads (checksumming, TSO) on VXLAN- and NVGRE-encapsulated packets. This series adds driver support for these offloads.
Changes from v1: * Fix 'no TXQ of type' error handling in patch #1 (and clear up the misleading comment that inspired the wrong version) * Add comment in patch #5 explaining what the deal with TSOv3 is Edward Cree (7): sfc: decouple TXQ type from label sfc: define inner/outer csum offload TXQ types sfc: create inner-csum queues on EF10 if supported sfc: select inner-csum-offload TX queues for skbs that need it sfc: de-indirect TSO handling sfc: implement encapsulated TSO on EF10 sfc: advertise encapsulated offloads on EF10 drivers/net/ethernet/sfc/ef10.c | 124 +++++++++++++++------- drivers/net/ethernet/sfc/ef100_tx.c | 9 +- drivers/net/ethernet/sfc/efx.c | 1 + drivers/net/ethernet/sfc/efx_channels.c | 10 +- drivers/net/ethernet/sfc/efx_common.c | 84 +++++++++++++++ drivers/net/ethernet/sfc/efx_common.h | 3 + drivers/net/ethernet/sfc/ethtool_common.c | 2 +- drivers/net/ethernet/sfc/farch.c | 22 ++-- drivers/net/ethernet/sfc/mcdi_functions.c | 24 +++-- drivers/net/ethernet/sfc/mcdi_functions.h | 2 +- drivers/net/ethernet/sfc/net_driver.h | 51 +++++---- drivers/net/ethernet/sfc/nic.h | 4 + drivers/net/ethernet/sfc/ptp.c | 5 +- drivers/net/ethernet/sfc/selftest.c | 4 +- drivers/net/ethernet/sfc/selftest.h | 4 +- drivers/net/ethernet/sfc/tx.c | 39 +++++-- drivers/net/ethernet/sfc/tx.h | 26 +++++ drivers/net/ethernet/sfc/tx_common.c | 10 +- 18 files changed, 318 insertions(+), 106 deletions(-)