Introduce NETIF_F_GRO_HW feature flag and convert drivers that support hardware GRO to use the new flag.
v5: - Documentation changes requested by Alexander Duyck. - bnx2x changes requested by Manish Chopra to enable LRO by default, and disable GRO_HW if disable_tpa module parameter is set. v4: - more changes requested by Alexander Duyck: - check GRO_HW/GRO dependency in drivers's ndo_fix_features(). - Reverse the order of RXCSUM and GRO_HW dependency check in netdev_fix_features(). - No propagation in netdev_disable_gro_hw(). v3: - Let driver's ndo_fix_features() disable NETIF_F_LRO when NETIF_F_GRO_HW is set instead of doing it in common netdev_fix_features(). v2: - NETIF_F_GRO_HW flag propagation between upper and lower devices not required (see patch 1). - NETIF_F_GRO_HW depends on NETIF_F_GRO and NETIF_F_RXCSUM. - Add dev_disable_gro_hw() to disable GRO_HW for generic XDP. - Use ndo_fix_features() on all 3 drivers to drop GRO_HW when it is not supported Michael Chan (5): net: Introduce NETIF_F_GRO_HW. net: Disable GRO_HW when generic XDP is installed on a device. bnxt_en: Use NETIF_F_GRO_HW. bnx2x: Use NETIF_F_GRO_HW. qede: Use NETIF_F_GRO_HW. Documentation/networking/netdev-features.txt | 9 +++++++ drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 24 +++++++++---------- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 8 ++++--- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 27 +++++++++++++++------ drivers/net/ethernet/qlogic/qede/qede.h | 2 ++ drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_filter.c | 21 +++++++++++------ drivers/net/ethernet/qlogic/qede/qede_main.c | 17 +++++--------- include/linux/netdev_features.h | 3 +++ net/core/dev.c | 30 ++++++++++++++++++++++++ net/core/ethtool.c | 1 + 11 files changed, 105 insertions(+), 40 deletions(-) -- 1.8.3.1