net/ethtool: Add current supported tunable options
Add strings array of the current supported tunable options. Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com> Reviewed-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
					parent
					
						
							
								de84725403
							
						
					
				
			
			
				commit
				
					
						a4244b0cf5
					
				
			
		
					 2 changed files with 18 additions and 0 deletions
				
			
		|  | @ -215,6 +215,11 @@ enum tunable_id { | |||
| 	ETHTOOL_ID_UNSPEC, | ||||
| 	ETHTOOL_RX_COPYBREAK, | ||||
| 	ETHTOOL_TX_COPYBREAK, | ||||
| 	/*
 | ||||
| 	 * Add your fresh new tubale attribute above and remember to update | ||||
| 	 * tunable_strings[] in net/core/ethtool.c | ||||
| 	 */ | ||||
| 	__ETHTOOL_TUNABLE_COUNT, | ||||
| }; | ||||
| 
 | ||||
| enum tunable_type_id { | ||||
|  | @ -545,6 +550,7 @@ enum ethtool_stringset { | |||
| 	ETH_SS_NTUPLE_FILTERS, | ||||
| 	ETH_SS_FEATURES, | ||||
| 	ETH_SS_RSS_HASH_FUNCS, | ||||
| 	ETH_SS_TUNABLES, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -106,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 = { | ||||
|  | @ -194,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 | ||||
|  | @ -211,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); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Hadar Hen Zion
				Hadar Hen Zion