aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/team
diff options
context:
space:
mode:
authorFlavio Leitner <fbl@redhat.com>2012-12-29 11:37:33 -0500
committerDavid S. Miller <davem@davemloft.net>2012-12-30 05:32:09 -0500
commit7f51c58731dfb0ef88ff283851a4710cc3335788 (patch)
tree29e808107474cdd80dc91e0e44fb7bd1f6f811a9 /drivers/net/team
parent8093315a91340bca52549044975d8c7f673b28a1 (diff)
team: add ethtool support
This patch adds few ethtool operations to team driver. Signed-off-by: Flavio Leitner <fbl@redhat.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
-rw-r--r--drivers/net/team/team.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 27a6edeb376f..918a901754b6 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -28,6 +28,7 @@
28#include <net/genetlink.h> 28#include <net/genetlink.h>
29#include <net/netlink.h> 29#include <net/netlink.h>
30#include <net/sch_generic.h> 30#include <net/sch_generic.h>
31#include <generated/utsrelease.h>
31#include <linux/if_team.h> 32#include <linux/if_team.h>
32 33
33#define DRV_NAME "team" 34#define DRV_NAME "team"
@@ -1741,6 +1742,21 @@ static const struct net_device_ops team_netdev_ops = {
1741 .ndo_change_carrier = team_change_carrier, 1742 .ndo_change_carrier = team_change_carrier,
1742}; 1743};
1743 1744
1745/***********************
1746 * ethtool interface
1747 ***********************/
1748
1749static void team_ethtool_get_drvinfo(struct net_device *dev,
1750 struct ethtool_drvinfo *drvinfo)
1751{
1752 strncpy(drvinfo->driver, DRV_NAME, 32);
1753 strncpy(drvinfo->version, UTS_RELEASE, 32);
1754}
1755
1756static const struct ethtool_ops team_ethtool_ops = {
1757 .get_drvinfo = team_ethtool_get_drvinfo,
1758 .get_link = ethtool_op_get_link,
1759};
1744 1760
1745/*********************** 1761/***********************
1746 * rt netlink interface 1762 * rt netlink interface
@@ -1790,6 +1806,7 @@ static void team_setup(struct net_device *dev)
1790 ether_setup(dev); 1806 ether_setup(dev);
1791 1807
1792 dev->netdev_ops = &team_netdev_ops; 1808 dev->netdev_ops = &team_netdev_ops;
1809 dev->ethtool_ops = &team_ethtool_ops;
1793 dev->destructor = team_destructor; 1810 dev->destructor = team_destructor;
1794 dev->tx_queue_len = 0; 1811 dev->tx_queue_len = 0;
1795 dev->flags |= IFF_MULTICAST; 1812 dev->flags |= IFF_MULTICAST;