*/
#include <linux/capability.h>
+#include <linux/ethtool.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#endif
+static void ethtool_getinfo(struct net_device *dev,
+ struct ethtool_drvinfo *info)
+{
+ strcpy(info->driver, "ip_gre");
+ strcpy(info->version, "Open vSwitch "VERSION BUILDNR);
+ strcpy(info->bus_info, dev->type == ARPHRD_ETHER ? "gretap" : "gre");
+}
+
+static struct ethtool_ops ethtool_ops = {
+ .get_drvinfo = ethtool_getinfo,
+};
+
#ifdef HAVE_NET_DEVICE_OPS
static const struct net_device_ops ipgre_netdev_ops = {
.ndo_init = ipgre_tunnel_init,
dev->addr_len = 4;
dev->features |= NETIF_F_NETNS_LOCAL;
dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
+
+ SET_ETHTOOL_OPS(dev, ðtool_ops);
}
static int ipgre_tunnel_init(struct net_device *dev)
dev->iflink = 0;
dev->features |= NETIF_F_NETNS_LOCAL;
+
+ SET_ETHTOOL_OPS(dev, ðtool_ops);
}
#ifndef GRE_IOCTL_ONLY