netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v5 0/2] Multicast group join/leave at ip level
@ 2015-02-25 17:58 Madhu Challa
  2015-02-25 17:58 ` [PATCH net-next v5 1/2] igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop Madhu Challa
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Madhu Challa @ 2015-02-25 17:58 UTC (permalink / raw)
  To: eric.dumazet, davem, daniel, netdev; +Cc: Madhu Challa

This series enables configuring multicast group join/leave at ip level
by extending the "ip address" command.

It adds a new control socket mc_autojoin_sock and ifa_flag IFA_F_MCAUTOJOIN
to invoke the corresponding igmp group join/leave api.

Since the igmp group join/leave api takes the rtnl_lock the code had to
be refactored by adding a shim layer prefixed by __ that can be invoked
by code that already has the rtnl_lock. This way we avoid proliferation of
work queues.

The first patch in this series does the refactoring for igmp v6.
Its based on igmp v4 changes that were added by Eric Dumazet.

The second patch in this series does the group join/leave based on the
setting of the IFA_F_MCAUTOJOIN flag.

v5:
- addressed comments from Daniel Borkmann.
 - removed blank line in patch 1/2
 - removed unused variable, const arg in patch 2/2
v4:
- addressed comments from Yoshifuji Hideaki.
 - Remove WARN_ON not needed because we return a value from v2.
- addressed comments from Daniel Borkmann.
 - rename sock to mc_autojoin_sk
 - ip_mc_config() pass ifa so it needs one less argument.
 - igmp_net_{init|destroy}() use inet_ctl_sock_{create|destroy}
 - inet_rtm_newaddr() change scope of ret.
 - igmp_net_init() no need to initialize sock to NULL.
v3:
- addressed comments from David Miller.
 - fixed indentation and local variable order.
v2:
- addressed comments from Eric Dumazet.
 - removed workqueue and call __ip_mc_{join|leave}_group or
   __ipv6_sock_mc_{join|drop}

Madhu Challa (2):
  igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop
  multicast: Extend ip address command to enable multicast group
    join/leave on

 include/net/ipv6.h           |  8 ++++++
 include/net/netns/ipv4.h     |  1 +
 include/net/netns/ipv6.h     |  1 +
 include/uapi/linux/if_addr.h |  1 +
 net/ipv4/devinet.c           | 31 +++++++++++++++++++++++
 net/ipv4/igmp.c              | 13 ++++++++++
 net/ipv6/addrconf.c          | 38 +++++++++++++++++++++++++---
 net/ipv6/mcast.c             | 60 ++++++++++++++++++++++++++++++++++----------
 8 files changed, 137 insertions(+), 16 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-03-02 18:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-25 17:58 [PATCH net-next v5 0/2] Multicast group join/leave at ip level Madhu Challa
2015-02-25 17:58 ` [PATCH net-next v5 1/2] igmp v6: add __ipv6_sock_mc_join and __ipv6_sock_mc_drop Madhu Challa
2015-02-25 18:41   ` Eric Dumazet
2015-02-25 17:58 ` [PATCH net-next v5 2/2] multicast: Extend ip address command to enable multicast group join/leave on Madhu Challa
2015-02-27 21:26 ` [PATCH net-next v5 0/2] Multicast group join/leave at ip level David Miller
2015-03-02 12:43   ` Thomas Graf
2015-03-02 18:31   ` Madhu Challa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).