diff options
author | stephen hemminger <stephen@networkplumber.org> | 2017-01-24 13:06:02 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-24 16:28:58 -0500 |
commit | 962f3fee83a4ef9010ae84dc43ae7aecb572e2a9 (patch) | |
tree | 0a6bbe61cdb117801c05be7716d6d50149b1ab26 /drivers/net/hyperv/hyperv_net.h | |
parent | b5a5dc8dc8ac311c5ee1cf7fa4c6ef2f4e1743b6 (diff) |
netvsc: add ethtool ops to get/set RSS key
For some cases it is useful to be able to change RSS key value.
For example, replacing RSS key with a symmetric hash.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/hyperv_net.h')
-rw-r--r-- | drivers/net/hyperv/hyperv_net.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index ccf94c16084c1..5bf21418bbe53 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -156,6 +156,8 @@ enum rndis_device_state { RNDIS_DEV_DATAINITIALIZED, }; +#define NETVSC_HASH_KEYLEN 40 + struct rndis_device { struct net_device *ndev; @@ -166,7 +168,8 @@ struct rndis_device { spinlock_t request_lock; struct list_head req_list; - unsigned char hw_mac_adr[ETH_ALEN]; + u8 hw_mac_adr[ETH_ALEN]; + u8 rss_key[NETVSC_HASH_KEYLEN]; }; @@ -194,6 +197,8 @@ int rndis_filter_close(struct netvsc_device *nvdev); int rndis_filter_device_add(struct hv_device *dev, void *additional_info); void rndis_filter_device_remove(struct hv_device *dev); +int rndis_filter_set_rss_param(struct rndis_device *rdev, + const u8 *key, int num_queue); int rndis_filter_receive(struct hv_device *dev, struct hv_netvsc_packet *pkt, void **data, |