diff options
author | Eric Dumazet <edumazet@google.com> | 2015-02-17 14:19:24 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-20 23:24:04 +0300 |
commit | 959d10f6bbf6ab5b8813c4e37540a2e43ca2ae96 (patch) | |
tree | e6175dbec05d9cbc0cdcb4c7c6fa10030d25877f /include | |
parent | 64bea46e3ff28701aa34be48b93c7907ebbdb31e (diff) | |
download | linux-959d10f6bbf6ab5b8813c4e37540a2e43ca2ae96.tar.xz |
igmp: add __ip_mc_{join|leave}_group()
There is a need to perform igmp join/leave operations while RTNL is
held.
Make ip_mc_{join|leave}_group() wrappers around
__ip_mc_{join|leave}_group() to avoid the proliferation of work queues.
For example, vxlan_igmp_join() could possibly be removed.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/igmp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/igmp.h b/include/linux/igmp.h index 2c677afeea47..b5a6470e686c 100644 --- a/include/linux/igmp.h +++ b/include/linux/igmp.h @@ -111,7 +111,9 @@ struct ip_mc_list { extern int ip_check_mc_rcu(struct in_device *dev, __be32 mc_addr, __be32 src_addr, u16 proto); extern int igmp_rcv(struct sk_buff *); +extern int __ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr); extern int ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr); +extern int __ip_mc_leave_group(struct sock *sk, struct ip_mreqn *imr); extern int ip_mc_leave_group(struct sock *sk, struct ip_mreqn *imr); extern void ip_mc_drop_socket(struct sock *sk); extern int ip_mc_source(int add, int omode, struct sock *sk, |