diff options
Diffstat (limited to 'net/core/ethtool.c')
-rw-r--r-- | net/core/ethtool.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index f4cb6b6299d9..73c81edde8d9 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -121,7 +121,7 @@ int ethtool_op_set_ufo(struct net_device *dev, u32 data) | |||
121 | * NETIF_F_xxx values in include/linux/netdevice.h | 121 | * NETIF_F_xxx values in include/linux/netdevice.h |
122 | */ | 122 | */ |
123 | static const u32 flags_dup_features = | 123 | static const u32 flags_dup_features = |
124 | (ETH_FLAG_LRO | ETH_FLAG_NTUPLE); | 124 | (ETH_FLAG_LRO | ETH_FLAG_NTUPLE | ETH_FLAG_RXHASH); |
125 | 125 | ||
126 | u32 ethtool_op_get_flags(struct net_device *dev) | 126 | u32 ethtool_op_get_flags(struct net_device *dev) |
127 | { | 127 | { |
@@ -152,6 +152,11 @@ int ethtool_op_set_flags(struct net_device *dev, u32 data) | |||
152 | features &= ~NETIF_F_NTUPLE; | 152 | features &= ~NETIF_F_NTUPLE; |
153 | } | 153 | } |
154 | 154 | ||
155 | if (data & ETH_FLAG_RXHASH) | ||
156 | features |= NETIF_F_RXHASH; | ||
157 | else | ||
158 | features &= ~NETIF_F_RXHASH; | ||
159 | |||
155 | dev->features = features; | 160 | dev->features = features; |
156 | return 0; | 161 | return 0; |
157 | } | 162 | } |