netvsc: report number of rx queues in ethtool

Report actual number of receive queues to ethtool.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
stephen hemminger 2017-01-24 13:06:00 -08:00 committed by David S. Miller
parent 23312a3be9
commit b448f4e892

View file

@ -1008,6 +1008,21 @@ static void netvsc_get_strings(struct net_device *dev, u32 stringset, u8 *data)
} }
} }
static int
netvsc_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info,
u32 *rules)
{
struct net_device_context *ndc = netdev_priv(dev);
struct netvsc_device *nvdev = ndc->nvdev;
switch (info->cmd) {
case ETHTOOL_GRXRINGS:
info->data = nvdev->num_chn;
return 0;
}
return -EOPNOTSUPP;
}
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
static void netvsc_poll_controller(struct net_device *net) static void netvsc_poll_controller(struct net_device *net)
{ {
@ -1028,6 +1043,7 @@ static const struct ethtool_ops ethtool_ops = {
.get_ts_info = ethtool_op_get_ts_info, .get_ts_info = ethtool_op_get_ts_info,
.get_settings = netvsc_get_settings, .get_settings = netvsc_get_settings,
.set_settings = netvsc_set_settings, .set_settings = netvsc_set_settings,
.get_rxnfc = netvsc_get_rxnfc,
}; };
static const struct net_device_ops device_ops = { static const struct net_device_ops device_ops = {