From 4cafe373d40dd9893a301fa83dc99abb80a2bd0b Mon Sep 17 00:00:00 2001 From: Flavio Leitner Date: Sat, 29 Dec 2012 15:31:01 +0000 Subject: [PATCH] team: implement carrier change The user space teamd daemon may need to control the master's carrier state depending on the selected mode. Signed-off-by: Flavio Leitner Acked-by: Jiri Pirko Signed-off-by: David S. Miller --- drivers/net/team/team.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index ad86660fb8f9..27a6edeb376f 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -1707,6 +1707,15 @@ static netdev_features_t team_fix_features(struct net_device *dev, return features; } +static int team_change_carrier(struct net_device *dev, bool new_carrier) +{ + if (new_carrier) + netif_carrier_on(dev); + else + netif_carrier_off(dev); + return 0; +} + static const struct net_device_ops team_netdev_ops = { .ndo_init = team_init, .ndo_uninit = team_uninit, @@ -1729,6 +1738,7 @@ static const struct net_device_ops team_netdev_ops = { .ndo_add_slave = team_add_slave, .ndo_del_slave = team_del_slave, .ndo_fix_features = team_fix_features, + .ndo_change_carrier = team_change_carrier, };