summaryrefslogtreecommitdiffstats
path: root/include/net/bonding.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-09-13 11:25:35 +0200
committerIngo Molnar <mingo@kernel.org>2015-09-13 11:25:35 +0200
commitd2bb1d42b95fa88f092623bbb8ed533f316b6a3c (patch)
treefb796db809a266906fa358f24f1c07ced4df33f0 /include/net/bonding.h
parentMerge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/... (diff)
parentLinux 4.3-rc1 (diff)
downloadlinux-d2bb1d42b95fa88f092623bbb8ed533f316b6a3c.tar.xz
linux-d2bb1d42b95fa88f092623bbb8ed533f316b6a3c.zip
Merge tag 'v4.3-rc1' into perf/core, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/net/bonding.h')
-rw-r--r--include/net/bonding.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/bonding.h b/include/net/bonding.h
index 20defc0353d1..c1740a2794a3 100644
--- a/include/net/bonding.h
+++ b/include/net/bonding.h
@@ -310,6 +310,13 @@ static inline bool bond_uses_primary(struct bonding *bond)
return bond_mode_uses_primary(BOND_MODE(bond));
}
+static inline struct net_device *bond_option_active_slave_get_rcu(struct bonding *bond)
+{
+ struct slave *slave = rcu_dereference(bond->curr_active_slave);
+
+ return bond_uses_primary(bond) && slave ? slave->dev : NULL;
+}
+
static inline bool bond_slave_is_up(struct slave *slave)
{
return netif_running(slave->dev) && netif_carrier_ok(slave->dev);