diff options
author | Rick Jones <rick.jones2@hp.com> | 2011-10-19 08:10:59 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-24 02:07:21 -0400 |
commit | 8f9f4668b37bcc877156dd525a856055735c8d24 (patch) | |
tree | a9d0a7cc6729884564f5d2bfb8edbdcc678b3f1c /drivers/net | |
parent | ca35a0ef85e8ed6df6d5ab01fb6c3530cca0c469 (diff) | |
download | talos-op-linux-8f9f4668b37bcc877156dd525a856055735c8d24.tar.gz talos-op-linux-8f9f4668b37bcc877156dd525a856055735c8d24.zip |
Add ethtool -g support to virtio_net
Add support for reporting ring sizes via ethtool -g to the virtio_net
driver.
Signed-off-by: Rick Jones <rick.jones2@hp.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/virtio_net.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 765ab9ac9d17..91039ab16728 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -877,8 +877,21 @@ static void virtnet_vlan_rx_kill_vid(struct net_device *dev, u16 vid) dev_warn(&dev->dev, "Failed to kill VLAN ID %d.\n", vid); } +static void virtnet_get_ringparam(struct net_device *dev, + struct ethtool_ringparam *ring) +{ + struct virtnet_info *vi = netdev_priv(dev); + + ring->rx_max_pending = virtqueue_get_vring_size(vi->rvq); + ring->tx_max_pending = virtqueue_get_vring_size(vi->svq); + ring->rx_pending = ring->rx_max_pending; + ring->tx_pending = ring->tx_max_pending; + +} + static const struct ethtool_ops virtnet_ethtool_ops = { .get_link = ethtool_op_get_link, + .get_ringparam = virtnet_get_ringparam, }; #define MIN_MTU 68 |