diff options
Diffstat (limited to 'net/core/ethtool.c')
| -rw-r--r-- | net/core/ethtool.c | 29 | 
1 files changed, 17 insertions, 12 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 3e9b2c3e30f..5a934ef90f8 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -60,10 +60,13 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]  	[NETIF_F_IPV6_CSUM_BIT] =        "tx-checksum-ipv6",  	[NETIF_F_HIGHDMA_BIT] =          "highdma",  	[NETIF_F_FRAGLIST_BIT] =         "tx-scatter-gather-fraglist", -	[NETIF_F_HW_VLAN_TX_BIT] =       "tx-vlan-hw-insert", +	[NETIF_F_HW_VLAN_CTAG_TX_BIT] =  "tx-vlan-ctag-hw-insert", -	[NETIF_F_HW_VLAN_RX_BIT] =       "rx-vlan-hw-parse", -	[NETIF_F_HW_VLAN_FILTER_BIT] =   "rx-vlan-filter", +	[NETIF_F_HW_VLAN_CTAG_RX_BIT] =  "rx-vlan-ctag-hw-parse", +	[NETIF_F_HW_VLAN_CTAG_FILTER_BIT] = "rx-vlan-ctag-filter", +	[NETIF_F_HW_VLAN_STAG_TX_BIT] =  "tx-vlan-stag-hw-insert", +	[NETIF_F_HW_VLAN_STAG_RX_BIT] =  "rx-vlan-stag-hw-parse", +	[NETIF_F_HW_VLAN_STAG_FILTER_BIT] = "rx-vlan-stag-filter",  	[NETIF_F_VLAN_CHALLENGED_BIT] =  "vlan-challenged",  	[NETIF_F_GSO_BIT] =              "tx-generic-segmentation",  	[NETIF_F_LLTX_BIT] =             "tx-lockless", @@ -78,6 +81,7 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]  	[NETIF_F_TSO6_BIT] =             "tx-tcp6-segmentation",  	[NETIF_F_FSO_BIT] =              "tx-fcoe-segmentation",  	[NETIF_F_GSO_GRE_BIT] =		 "tx-gre-segmentation", +	[NETIF_F_GSO_UDP_TUNNEL_BIT] =	 "tx-udp_tnl-segmentation",  	[NETIF_F_FCOE_CRC_BIT] =         "tx-checksum-fcoe-crc",  	[NETIF_F_SCTP_CSUM_BIT] =        "tx-checksum-sctp", @@ -266,18 +270,19 @@ static int ethtool_set_one_feature(struct net_device *dev,  #define ETH_ALL_FLAGS    (ETH_FLAG_LRO | ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN | \  			  ETH_FLAG_NTUPLE | ETH_FLAG_RXHASH) -#define ETH_ALL_FEATURES (NETIF_F_LRO | NETIF_F_HW_VLAN_RX | \ -			  NETIF_F_HW_VLAN_TX | NETIF_F_NTUPLE | NETIF_F_RXHASH) +#define ETH_ALL_FEATURES (NETIF_F_LRO | NETIF_F_HW_VLAN_CTAG_RX | \ +			  NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_NTUPLE | \ +			  NETIF_F_RXHASH)  static u32 __ethtool_get_flags(struct net_device *dev)  {  	u32 flags = 0; -	if (dev->features & NETIF_F_LRO)	flags |= ETH_FLAG_LRO; -	if (dev->features & NETIF_F_HW_VLAN_RX)	flags |= ETH_FLAG_RXVLAN; -	if (dev->features & NETIF_F_HW_VLAN_TX)	flags |= ETH_FLAG_TXVLAN; -	if (dev->features & NETIF_F_NTUPLE)	flags |= ETH_FLAG_NTUPLE; -	if (dev->features & NETIF_F_RXHASH)	flags |= ETH_FLAG_RXHASH; +	if (dev->features & NETIF_F_LRO)	     flags |= ETH_FLAG_LRO; +	if (dev->features & NETIF_F_HW_VLAN_CTAG_RX) flags |= ETH_FLAG_RXVLAN; +	if (dev->features & NETIF_F_HW_VLAN_CTAG_TX) flags |= ETH_FLAG_TXVLAN; +	if (dev->features & NETIF_F_NTUPLE)	     flags |= ETH_FLAG_NTUPLE; +	if (dev->features & NETIF_F_RXHASH)	     flags |= ETH_FLAG_RXHASH;  	return flags;  } @@ -290,8 +295,8 @@ static int __ethtool_set_flags(struct net_device *dev, u32 data)  		return -EINVAL;  	if (data & ETH_FLAG_LRO)	features |= NETIF_F_LRO; -	if (data & ETH_FLAG_RXVLAN)	features |= NETIF_F_HW_VLAN_RX; -	if (data & ETH_FLAG_TXVLAN)	features |= NETIF_F_HW_VLAN_TX; +	if (data & ETH_FLAG_RXVLAN)	features |= NETIF_F_HW_VLAN_CTAG_RX; +	if (data & ETH_FLAG_TXVLAN)	features |= NETIF_F_HW_VLAN_CTAG_TX;  	if (data & ETH_FLAG_NTUPLE)	features |= NETIF_F_NTUPLE;  	if (data & ETH_FLAG_RXHASH)	features |= NETIF_F_RXHASH;  |