[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] xennet_get_drvinfo()



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.