Introduce NETIF_F_GRO_HW feature flag and convert drivers that support hardware GRO to use the new flag.
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 | 8 ++++++ drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 19 ++++++++----- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 ++- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 24 +++++++++++----- 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 | 20 ++++++++----- drivers/net/ethernet/qlogic/qede/qede_main.c | 17 ++++------- include/linux/netdev_features.h | 3 ++ net/core/dev.c | 36 ++++++++++++++++++++++++ net/core/ethtool.c | 1 + 11 files changed, 104 insertions(+), 33 deletions(-) -- 1.8.3.1