* [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
@ 2010-06-11 1:29 Taku Izumi
2010-06-15 4:28 ` Rusty Russell
0 siblings, 1 reply; 9+ messages in thread
From: Taku Izumi @ 2010-06-11 1:29 UTC (permalink / raw)
To: David S. Miller, netdev@vger.kernel.org, rusty
This patch implements ethtool_ops.get_drvinfo interface of virtio_net driver.
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
---
drivers/net/virtio_net.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
Index: net-next.35/drivers/net/virtio_net.c
===================================================================
--- net-next.35.orig/drivers/net/virtio_net.c
+++ net-next.35/drivers/net/virtio_net.c
@@ -701,6 +701,18 @@ static int virtnet_close(struct net_devi
return 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,
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-06-11 1:29 [PATCH] virtio_net: implements ethtool_ops.get_drvinfo Taku Izumi
@ 2010-06-15 4:28 ` Rusty Russell
2010-06-15 5:20 ` Taku Izumi
0 siblings, 1 reply; 9+ messages in thread
From: Rusty Russell @ 2010-06-15 4:28 UTC (permalink / raw)
To: Taku Izumi; +Cc: David S. Miller, netdev@vger.kernel.org, Michael S. Tsirkin
On Fri, 11 Jun 2010 10:59:02 am Taku Izumi wrote:
> This patch implements ethtool_ops.get_drvinfo interface of virtio_net driver.
>
> Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Hi Taku!
Does this have any useful effect?
Thanks,
Rusty.
> ---
> drivers/net/virtio_net.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> Index: net-next.35/drivers/net/virtio_net.c
> ===================================================================
> --- net-next.35.orig/drivers/net/virtio_net.c
> +++ net-next.35/drivers/net/virtio_net.c
> @@ -701,6 +701,18 @@ static int virtnet_close(struct net_devi
> return 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,
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-06-15 4:28 ` Rusty Russell
@ 2010-06-15 5:20 ` Taku Izumi
2010-06-16 1:54 ` Rusty Russell
0 siblings, 1 reply; 9+ messages in thread
From: Taku Izumi @ 2010-06-15 5:20 UTC (permalink / raw)
To: Rusty Russell; +Cc: David S. Miller, netdev@vger.kernel.org, Michael S. Tsirkin
Hi Rusty,
(2010/06/15 13:28), Rusty Russell wrote:
> On Fri, 11 Jun 2010 10:59:02 am Taku Izumi wrote:
>> This patch implements ethtool_ops.get_drvinfo interface of virtio_net driver.
>>
>> Signed-off-by: Taku Izumi<izumi.taku@jp.fujitsu.com>
>
> 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 <izumi.taku@jp.fujitsu.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-06-15 5:20 ` Taku Izumi
@ 2010-06-16 1:54 ` Rusty Russell
0 siblings, 0 replies; 9+ messages in thread
From: Rusty Russell @ 2010-06-16 1:54 UTC (permalink / raw)
To: Taku Izumi; +Cc: David S. Miller, netdev@vger.kernel.org, Michael S. Tsirkin
On Tue, 15 Jun 2010 02:50:30 pm Taku Izumi wrote:
> Hi Rusty,
>
> (2010/06/15 13:28), Rusty Russell wrote:
> > On Fri, 11 Jun 2010 10:59:02 am Taku Izumi wrote:
> >> This patch implements ethtool_ops.get_drvinfo interface of virtio_net driver.
> >>
> >> Signed-off-by: Taku Izumi<izumi.taku@jp.fujitsu.com>
> >
> > 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.
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 <izumi.taku@jp.fujitsu.com>
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
This 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.
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (use ARRAY_SIZE)
---
0 files changed
Index: net-next.35/drivers/net/virtio_net.c
===================================================================
--- net-next.35.orig/drivers/net/virtio_net.c
+++ net-next.35/drivers/net/virtio_net.c
@@ -701,6 +701,19 @@ static int virtnet_close(struct net_devi
return 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,
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
@ 2010-08-05 3:32 Rusty Russell
2010-08-05 3:47 ` Ben Hutchings
0 siblings, 1 reply; 9+ messages in thread
From: Rusty Russell @ 2010-08-05 3:32 UTC (permalink / raw)
To: netdev; +Cc: Michael S. Tsirkin, Taku Izumi
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
This 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.
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (use ARRAY_SIZE)
---
drivers/net/virtio_net.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
Index: net-next.35/drivers/net/virtio_net.c
===================================================================
--- net-next.35.orig/drivers/net/virtio_net.c
+++ net-next.35/drivers/net/virtio_net.c
@@ -701,6 +701,19 @@ static int virtnet_close(struct net_devi
return 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,
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-08-05 3:32 Rusty Russell
@ 2010-08-05 3:47 ` Ben Hutchings
2010-08-05 4:54 ` David Miller
2010-08-06 15:59 ` Loke, Chetan
0 siblings, 2 replies; 9+ messages in thread
From: Ben Hutchings @ 2010-08-05 3:47 UTC (permalink / raw)
To: Rusty Russell; +Cc: netdev, Michael S. Tsirkin, Taku Izumi
On Thu, 2010-08-05 at 13:02 +0930, Rusty Russell wrote:
> 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
>
> This 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.
[...]
This information is already available generically through sysfs:
basename $(readlink /sys/class/net/eth3/device)
basename $(readlink /sys/class/net/eth3/device/driver)
Given that, we should either recommend that people use that method
instead, or we should add an equivalent default implementation of the
get_drvinfo operation.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-08-05 3:47 ` Ben Hutchings
@ 2010-08-05 4:54 ` David Miller
2010-08-06 15:59 ` Loke, Chetan
1 sibling, 0 replies; 9+ messages in thread
From: David Miller @ 2010-08-05 4:54 UTC (permalink / raw)
To: bhutchings; +Cc: rusty, netdev, mst, izumi.taku
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Thu, 05 Aug 2010 04:47:21 +0100
> On Thu, 2010-08-05 at 13:02 +0930, Rusty Russell wrote:
>> 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
>>
>> This 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.
> [...]
>
> This information is already available generically through sysfs:
> basename $(readlink /sys/class/net/eth3/device)
> basename $(readlink /sys/class/net/eth3/device/driver)
>
> Given that, we should either recommend that people use that method
> instead, or we should add an equivalent default implementation of the
> get_drvinfo operation.
We've had ethtool for nearly a decade, it's a standard facility and
it's only wise to have all drivers implement as much of the API as
possible.
As such I've applied Rusty's patch and I will apply any patch which
makes a driver more fully provide support for all ethtool facilities.
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-08-05 3:47 ` Ben Hutchings
2010-08-05 4:54 ` David Miller
@ 2010-08-06 15:59 ` Loke, Chetan
2010-08-06 16:15 ` Ben Hutchings
1 sibling, 1 reply; 9+ messages in thread
From: Loke, Chetan @ 2010-08-06 15:59 UTC (permalink / raw)
To: Ben Hutchings, Rusty Russell; +Cc: netdev, Michael S. Tsirkin, Taku Izumi
> This information is already available generically through sysfs:
> basename $(readlink /sys/class/net/eth3/device)
> basename $(readlink /sys/class/net/eth3/device/driver)
>
> Given that, we should either recommend that people use that method
> instead
sysfs-rules.txt::"Accessing /sys/class/net/eth0/device is a bug in the application."
I understand Dave has accepted the patch already(which is perfect). I'm not being sarcastic but I really want to understand if I can access these nodes.
Chetan Loke
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH] virtio_net: implements ethtool_ops.get_drvinfo
2010-08-06 15:59 ` Loke, Chetan
@ 2010-08-06 16:15 ` Ben Hutchings
0 siblings, 0 replies; 9+ messages in thread
From: Ben Hutchings @ 2010-08-06 16:15 UTC (permalink / raw)
To: Loke, Chetan; +Cc: Rusty Russell, netdev, Michael S. Tsirkin, Taku Izumi
On Fri, 2010-08-06 at 11:59 -0400, Loke, Chetan wrote:
> > This information is already available generically through sysfs:
> > basename $(readlink /sys/class/net/eth3/device)
> > basename $(readlink /sys/class/net/eth3/device/driver)
> >
> > Given that, we should either recommend that people use that method
> > instead
>
> sysfs-rules.txt::"Accessing /sys/class/net/eth0/device is a bug in the application."
>
> I understand Dave has accepted the patch already(which is perfect).
> I'm not being sarcastic but I really want to understand if I can
> access these nodes.
You should probably believe that document rather than me.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-08-06 16:15 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-11 1:29 [PATCH] virtio_net: implements ethtool_ops.get_drvinfo Taku Izumi
2010-06-15 4:28 ` Rusty Russell
2010-06-15 5:20 ` Taku Izumi
2010-06-16 1:54 ` Rusty Russell
-- strict thread matches above, loose matches on Subject: below --
2010-08-05 3:32 Rusty Russell
2010-08-05 3:47 ` Ben Hutchings
2010-08-05 4:54 ` David Miller
2010-08-06 15:59 ` Loke, Chetan
2010-08-06 16:15 ` Ben Hutchings
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.