diff options
Diffstat (limited to 'drivers/net/virtio_net.c')
| -rw-r--r-- | drivers/net/virtio_net.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 6ee8410443c..5a961720f64 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -39,6 +39,7 @@ module_param(gso, bool, 0444);  #define GOOD_COPY_LEN	128  #define VIRTNET_SEND_COMMAND_SG_MAX    2 +#define VIRTNET_DRIVER_VERSION "1.0.0"  struct virtnet_stats {  	struct u64_stats_sync syncp; @@ -699,6 +700,7 @@ static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev,  	}  	tot->tx_dropped = dev->stats.tx_dropped; +	tot->tx_fifo_errors = dev->stats.tx_fifo_errors;  	tot->rx_dropped = dev->stats.rx_dropped;  	tot->rx_length_errors = dev->stats.rx_length_errors;  	tot->rx_frame_errors = dev->stats.rx_frame_errors; @@ -889,7 +891,21 @@ static void virtnet_get_ringparam(struct net_device *dev,  } + +static void virtnet_get_drvinfo(struct net_device *dev, +				struct ethtool_drvinfo *info) +{ +	struct virtnet_info *vi = netdev_priv(dev); +	struct virtio_device *vdev = vi->vdev; + +	strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver)); +	strlcpy(info->version, VIRTNET_DRIVER_VERSION, sizeof(info->version)); +	strlcpy(info->bus_info, virtio_bus_name(vdev), sizeof(info->bus_info)); + +} +  static const struct ethtool_ops virtnet_ethtool_ops = { +	.get_drvinfo = virtnet_get_drvinfo,  	.get_link = ethtool_op_get_link,  	.get_ringparam = virtnet_get_ringparam,  };  |