]> git.baikalelectronics.ru Git - kernel.git/commit
net: Introduce NETIF_F_GRO_HW.
authorMichael Chan <michael.chan@broadcom.com>
Sat, 16 Dec 2017 08:09:40 +0000 (03:09 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Dec 2017 15:38:36 +0000 (10:38 -0500)
commitac3e9af3e6a05de5889e5ba7a84b0a491b2f36b5
treecf5acb01f5d79f0f140b0b100d3ba46bef881fed
parenta6572229de17dbcde59eddd29ffe35de5c253c0c
net: Introduce NETIF_F_GRO_HW.

Introduce NETIF_F_GRO_HW feature flag for NICs that support hardware
GRO.  With this flag, we can now independently turn on or off hardware
GRO when GRO is on.  Previously, drivers were using NETIF_F_GRO to
control hardware GRO and so it cannot be independently turned on or
off without affecting GRO.

Hardware GRO (just like GRO) guarantees that packets can be re-segmented
by TSO/GSO to reconstruct the original packet stream.  Logically,
GRO_HW should depend on GRO since it a subset, but we will let
individual drivers enforce this dependency as they see fit.

Since NETIF_F_GRO is not propagated between upper and lower devices,
NETIF_F_GRO_HW should follow suit since it is a subset of GRO.  In other
words, a lower device can independent have GRO/GRO_HW enabled or disabled
and no feature propagation is required.  This will preserve the current
GRO behavior.  This can be changed later if we decide to propagate GRO/
GRO_HW/RXCSUM from upper to lower devices.

Cc: Ariel Elior <Ariel.Elior@cavium.com>
Cc: everest-linux-l2@cavium.com
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/netdev-features.txt
include/linux/netdev_features.h
net/core/dev.c
net/core/ethtool.c