diff options
Diffstat (limited to 'net/core/ethtool.c')
| -rw-r--r-- | net/core/ethtool.c | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 1d00b8922902..b495ab1797fa 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -98,7 +98,6 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]  	[NETIF_F_RXALL_BIT] =            "rx-all",  	[NETIF_F_HW_L2FW_DOFFLOAD_BIT] = "l2-fwd-offload",  	[NETIF_F_BUSY_POLL_BIT] =        "busy-poll", -	[NETIF_F_HW_SWITCH_OFFLOAD_BIT] = "hw-switch-offload",  };  static const char @@ -107,6 +106,13 @@ rss_hash_func_strings[ETH_RSS_HASH_FUNCS_COUNT][ETH_GSTRING_LEN] = {  	[ETH_RSS_HASH_XOR_BIT] =	"xor",  }; +static const char +tunable_strings[__ETHTOOL_TUNABLE_COUNT][ETH_GSTRING_LEN] = { +	[ETHTOOL_ID_UNSPEC]     = "Unspec", +	[ETHTOOL_RX_COPYBREAK]	= "rx-copybreak", +	[ETHTOOL_TX_COPYBREAK]	= "tx-copybreak", +}; +  static int ethtool_get_features(struct net_device *dev, void __user *useraddr)  {  	struct ethtool_gfeatures cmd = { @@ -195,6 +201,9 @@ static int __ethtool_get_sset_count(struct net_device *dev, int sset)  	if (sset == ETH_SS_RSS_HASH_FUNCS)  		return ARRAY_SIZE(rss_hash_func_strings); +	if (sset == ETH_SS_TUNABLES) +		return ARRAY_SIZE(tunable_strings); +  	if (ops->get_sset_count && ops->get_strings)  		return ops->get_sset_count(dev, sset);  	else @@ -212,6 +221,8 @@ static void __ethtool_get_strings(struct net_device *dev,  	else if (stringset == ETH_SS_RSS_HASH_FUNCS)  		memcpy(data, rss_hash_func_strings,  		       sizeof(rss_hash_func_strings)); +	else if (stringset == ETH_SS_TUNABLES) +		memcpy(data, tunable_strings, sizeof(tunable_strings));  	else  		/* ops->get_strings is valid because checked earlier */  		ops->get_strings(dev, stringset, data);  |