From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laszlo Ersek Subject: [PATCH] xennet_get_drvinfo() Date: Thu, 11 Nov 2010 19:03:47 +0100 Message-ID: <4CDC3003.5040306@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org 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 [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,