The following patch, written for xen/next-2.6.32, adds get_drvinfo() ("ethtool
-i") support to netfront. If there is no default get_drvinfo() in effect [0],
then the patch is intended to remedy the following situation:
# ethtool -i eth0
Cannot get driver information: Operation not supported
like this:
# ethtool -i eth0
driver: xen-netfront
version:
firmware-version:
bus-info: vif-0
If a default get_drvinfo() is in effect (see [0] again), then the fallback
works like this:
# ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
and it's more fortunate to return the module name ("driver: xen-netfront") than
"driver: vif".
Thanks for considering,
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
[0]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=01414802054c382072b6cb9a1bdc6e243c74b2d5#patch17
---
drivers/net/xen-netfront.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 3f71199..64ee838 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1768,8 +1768,17 @@ static int xennet_set_coalesce(struct net_device *netdev,
return 0;
}
+static void xennet_get_drvinfo(struct net_device *dev,
+ struct ethtool_drvinfo *info)
+{
+ strcpy(info->driver, "xen-netfront");
+ strlcpy(info->bus_info, dev_name(dev->dev.parent),
+ sizeof info->bus_info);
+}
+
static const struct ethtool_ops xennet_ethtool_ops =
{
+ .get_drvinfo = xennet_get_drvinfo,
.set_tx_csum = ethtool_op_set_tx_csum,
.set_sg = xennet_set_sg,
.set_tso = xennet_set_tso,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|