virtio_net: implements ethtool_ops.get_drvinfo
Subsystems (3)
PATCH 1/1 virtio_net: implements ethtool_ops.get_drvinfo
This patch implements ethtool_ops.get_drvinfo interface of virtio_net driver.
--- drivers/net/virtio_net.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
drivers/net/virtio_net.c +13 -0
@@ -701,6 +701,18 @@ static int virtnet_close(struct net_devireturn 0 ; } +static void virtnet_get_drvinfo (struct net_device *dev, +struct ethtool_drvinfo *drvinfo) +{ +struct virtnet_info *vi =netdev_priv (dev); +struct virtio_device *vdev = vi->vdev; + +strncpy (drvinfo->driver,KBUILD_MODNAME ,32 ); +strncpy (drvinfo->version,"N/A" ,32 ); +strncpy (drvinfo->fw_version,"N/A" ,32 ); +strncpy (drvinfo->bus_info,dev_name (&vdev->dev),32 ); +} +static int virtnet_set_tx_csum (struct net_device *dev,u32 data) {struct virtnet_info *vi =netdev_priv (dev);
@@ -813,6 +825,7 @@ static void virtnet_vlan_rx_kill_vid(str }static const struct ethtool_ops virtnet_ethtool_ops = { + .get_drvinfo = virtnet_get_drvinfo, .set_tx_csum = virtnet_set_tx_csum, .set_sg = ethtool_op_set_sg, .set_tso = ethtool_op_set_tso,
Quoted 3 lines · Taku Izumi
This patch implements ethtool_ops.get_drvinfo interface of
virtio_netdriver.Signed-off-by Taku Izumi <[email protected]>
Hi Taku!
Does this have any useful effect?
Thanks,
Rusty.
Quoted 36 lines
--- drivers/net/virtio_net.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)Index:
net-next.35/drivers/net/virtio_net.c
===================================================================drivers/net/virtio_net.c +13
-0@@ -701,6 +701,18 @@ static int virtnet_close(struct net_devireturn 0 ; } +static void virtnet_get_drvinfo (struct net_device *dev, +struct ethtool_drvinfo *drvinfo) +{ +struct virtnet_info *vi =netdev_priv (dev); +struct virtio_device *vdev = vi->vdev; + +strncpy (drvinfo->driver,KBUILD_MODNAME ,32 ); +strncpy (drvinfo->version,"N/A" ,32 ); +strncpy (drvinfo->fw_version,"N/A" ,32 ); +strncpy (drvinfo->bus_info,dev_name (&vdev->dev),32 ); +} +static int virtnet_set_tx_csum (struct net_device *dev,u32 data) {struct virtnet_info *vi =netdev_priv (dev);@@ -813,6 +825,7 @@ static void virtnet_vlan_rx_kill_vid(str }static const struct ethtool_ops virtnet_ethtool_ops = { + .get_drvinfo = virtnet_get_drvinfo, .set_tx_csum = virtnet_set_tx_csum, .set_sg = ethtool_op_set_sg, .set_tso = ethtool_op_set_tso,
Hi Rusty,
Quoted 8 lines · Rusty Russell
Quoted 3 lines · Taku Izumi
This patch implements ethtool_ops.get_drvinfo interface of
virtio_netdriver.Signed-off-by Taku Izumi<[email protected]>Hi Taku!
Does this have any useful effect?
I often use "ethtool -i" command to check what driver controls the ehternet device. But because current virtio_net driver doesn't support "ethtool -i", it becomes the following:
# ethtool -i eth3 Cannot get driver information: Operation not supported
My patch simply adds the "ethtool -i" support. The following is the result when using the virtio_net driver with my patch applied to.
# ethtool -i eth3 driver: virtio_net version: N/A firmware-version: N/A bus-info: virtio0
Personally, "-i" is one of the most frequently-used option, and most network drivers support "ethtool -i", so I think virtio_net also should do.
Taku Izumi <[email protected]>
Quoted 22 lines · Taku Izumi
Hi Rusty,
Quoted 8 lines · Rusty Russell
Quoted 3 lines · Taku Izumi
This patch implements ethtool_ops.get_drvinfo interface of
virtio_netdriver.Signed-off-by Taku Izumi<[email protected]>Hi Taku!
Does this have any useful effect?
I often use "ethtool -i" command to check what driver controls the ehternet device. But because current
virtio_netdriver doesn't support "ethtool -i", it becomes the following:# ethtool -i eth3 Cannot get driver information: Operation not supportedMy patch simply adds the "ethtool -i" support. The following is the result when using the
virtio_netdriver with my patch applied to.
Quoted 8 lines
# ethtool -i eth3 driver: virtio_net version: N/A firmware-version: N/A bus-info: virtio0Personally, "-i" is one of the most frequently-used option, and most network drivers support "ethtool -i", so I think
virtio_netalso should do.
Thanks, Taku.
I put this explanation in the commit message, and changed 32 to ARRAY_SIZE(). It's queued for sending to DaveM for the next merge window.
Result below.
Thanks!
Rusty.
Subject: virtio_net: implements ethtool_ops.get_drvinfo
Date: Fri, 11 Jun 2010 10:29:02 +0900
From: Taku Izumi <[email protected]>
I often use "ethtool -i" command to check what driver controls the ehternet device. But because current virtio_net driver doesn't support "ethtool -i", it becomes the following:
# ethtool -i eth3
Cannot get driver information: Operation not supportedThis patch simply adds the "ethtool -i" support. The following is the result when using the virtio_net driver with my patch applied to.
# ethtool -i eth3
driver: virtio_net
version: N/A
firmware-version: N/A
bus-info: virtio0Personally, "-i" is one of the most frequently-used option, and most network drivers support "ethtool -i", so I think virtio_net also should do.
---
0 files changed
drivers/net/virtio_net.c +14 -0
@@ -701,6 +701,19 @@ static int virtnet_close(struct net_devireturn 0 ; } +static void virtnet_get_drvinfo (struct net_device *dev, +struct ethtool_drvinfo *drvinfo) +{ +struct virtnet_info *vi =netdev_priv (dev); +struct virtio_device *vdev = vi->vdev; + +strncpy (drvinfo->driver,KBUILD_MODNAME ,ARRAY_SIZE (drvinfo->driver)); +strncpy (drvinfo->version,"N/A" ,ARRAY_SIZE (drvinfo->version)); +strncpy (drvinfo->fw_version,"N/A" ,ARRAY_SIZE (drvinfo->fw_version)); +strncpy (drvinfo->bus_info,dev_name (&vdev->dev), +ARRAY_SIZE (drvinfo->bus_info)); +} +static int virtnet_set_tx_csum (struct net_device *dev,u32 data) {struct virtnet_info *vi =netdev_priv (dev);
@@ -813,6 +825,7 @@ static void virtnet_vlan_rx_kill_vid(str }static const struct ethtool_ops virtnet_ethtool_ops = { + .get_drvinfo = virtnet_get_drvinfo, .set_tx_csum = virtnet_set_tx_csum, .set_sg = ethtool_op_set_sg, .set_tso = ethtool_op_set_tso,