net: introduce NETIF_F_RXCSUM
Introduce NETIF_F_RXCSUM to replace device-private flags for RX checksum offload. Integrate it with ndo_fix_features. ethtool_op_get_rx_csum() is removed altogether as nothing in-tree uses it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
da8ac86c4a
commit
e83d360d9a
@@ -977,6 +977,7 @@ struct net_device {
|
||||
#define NETIF_F_FCOE_MTU (1 << 26) /* Supports max FCoE MTU, 2158 bytes*/
|
||||
#define NETIF_F_NTUPLE (1 << 27) /* N-tuple filters supported */
|
||||
#define NETIF_F_RXHASH (1 << 28) /* Receive hashing offload */
|
||||
#define NETIF_F_RXCSUM (1 << 29) /* Receive checksumming offload */
|
||||
|
||||
/* Segmentation offload features */
|
||||
#define NETIF_F_GSO_SHIFT 16
|
||||
@@ -992,7 +993,7 @@ struct net_device {
|
||||
/* = all defined minus driver/device-class-related */
|
||||
#define NETIF_F_NEVER_CHANGE (NETIF_F_HIGHDMA | NETIF_F_VLAN_CHALLENGED | \
|
||||
NETIF_F_LLTX | NETIF_F_NETNS_LOCAL)
|
||||
#define NETIF_F_ETHTOOL_BITS (0x1f3fffff & ~NETIF_F_NEVER_CHANGE)
|
||||
#define NETIF_F_ETHTOOL_BITS (0x3f3fffff & ~NETIF_F_NEVER_CHANGE)
|
||||
|
||||
/* List of features with software fallbacks. */
|
||||
#define NETIF_F_GSO_SOFTWARE (NETIF_F_TSO | NETIF_F_TSO_ECN | \
|
||||
@@ -2510,6 +2511,8 @@ static inline int dev_ethtool_get_settings(struct net_device *dev,
|
||||
|
||||
static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
|
||||
{
|
||||
if (dev->hw_features & NETIF_F_RXCSUM)
|
||||
return !!(dev->features & NETIF_F_RXCSUM);
|
||||
if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
|
||||
return 0;
|
||||
return dev->ethtool_ops->get_rx_csum(dev);
|
||||
|
Reference in New Issue
Block a user