net/vxlan: Add ethtool drvinfo
Implement ethtool get_drvinfo. Signed-off-by: Yan Burman <yanb@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c33e7b05f1
commit
1b13c97fae
@ -29,6 +29,7 @@
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/hash.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <net/arp.h>
|
||||
#include <net/ndisc.h>
|
||||
#include <net/ip.h>
|
||||
@ -1271,6 +1272,18 @@ static int vxlan_validate(struct nlattr *tb[], struct nlattr *data[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void vxlan_get_drvinfo(struct net_device *netdev,
|
||||
struct ethtool_drvinfo *drvinfo)
|
||||
{
|
||||
strlcpy(drvinfo->version, VXLAN_VERSION, sizeof(drvinfo->version));
|
||||
strlcpy(drvinfo->driver, "vxlan", sizeof(drvinfo->driver));
|
||||
}
|
||||
|
||||
static const struct ethtool_ops vxlan_ethtool_ops = {
|
||||
.get_drvinfo = vxlan_get_drvinfo,
|
||||
.get_link = ethtool_op_get_link,
|
||||
};
|
||||
|
||||
static int vxlan_newlink(struct net *net, struct net_device *dev,
|
||||
struct nlattr *tb[], struct nlattr *data[])
|
||||
{
|
||||
@ -1348,6 +1361,8 @@ static int vxlan_newlink(struct net *net, struct net_device *dev,
|
||||
vxlan->port_max = ntohs(p->high);
|
||||
}
|
||||
|
||||
SET_ETHTOOL_OPS(dev, &vxlan_ethtool_ops);
|
||||
|
||||
err = register_netdevice(dev);
|
||||
if (!err)
|
||||
hlist_add_head_rcu(&vxlan->hlist, vni_head(net, vxlan->vni));
|
||||
|
Loading…
Reference in New Issue
Block a user