net: Add a netdev software feature set that defaults to off.
authorSteffen Klassert <steffen.klassert@secunet.com>
Sat, 25 Jan 2020 10:26:43 +0000 (11:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jan 2020 10:00:21 +0000 (11:00 +0100)
The previous patch added the NETIF_F_GRO_FRAGLIST feature.
This is a software feature that should default to off.
Current software features default to on, so add a new
feature set that defaults to off.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdev_features.h
net/core/dev.c

index b239507..34d050b 100644 (file)
@@ -230,6 +230,9 @@ static inline int find_next_netdev_feature(u64 feature, unsigned long start)
 /* changeable features with no special hardware requirements */
 #define NETIF_F_SOFT_FEATURES  (NETIF_F_GSO | NETIF_F_GRO)
 
+/* Changeable features with no special hardware requirements that defaults to off. */
+#define NETIF_F_SOFT_FEATURES_OFF      NETIF_F_GRO_FRAGLIST
+
 #define NETIF_F_VLAN_FEATURES  (NETIF_F_HW_VLAN_CTAG_FILTER | \
                                 NETIF_F_HW_VLAN_CTAG_RX | \
                                 NETIF_F_HW_VLAN_CTAG_TX | \
index c806b07..a3b154a 100644 (file)
@@ -9283,7 +9283,7 @@ int register_netdevice(struct net_device *dev)
        /* Transfer changeable features to wanted_features and enable
         * software offloads (GSO and GRO).
         */
-       dev->hw_features |= NETIF_F_SOFT_FEATURES;
+       dev->hw_features |= (NETIF_F_SOFT_FEATURES | NETIF_F_SOFT_FEATURES_OFF);
        dev->features |= NETIF_F_SOFT_FEATURES;
 
        if (dev->netdev_ops->ndo_udp_tunnel_add) {