Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 614334df authored by Cong Wang's avatar Cong Wang Committed by David S. Miller
Browse files

vxlan: fix a regression of igmp join



This is a regression introduced by:

	commit 3fc2de2f
	Author: stephen hemminger <stephen@networkplumber.org>
	Date:   Thu Jul 18 08:40:15 2013 -0700

	    vxlan: fix igmp races

Before this commit, the old code was:

       if (vxlan_group_used(vn, vxlan->default_dst.remote_ip))
               ip_mc_join_group(sk, &mreq);
       else
               ip_mc_leave_group(sk, &mreq);

therefore we shoud check vxlan_group_used(), not its opposite,
for igmp_join.

Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: default avatarCong Wang <amwang@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 288a9376
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1386,7 +1386,7 @@ static int vxlan_open(struct net_device *dev)
		return -ENOTCONN;

	if (IN_MULTICAST(ntohl(vxlan->default_dst.remote_ip)) &&
	    ! vxlan_group_used(vn, vxlan->default_dst.remote_ip)) {
	    vxlan_group_used(vn, vxlan->default_dst.remote_ip)) {
		vxlan_sock_hold(vs);
		dev_hold(dev);
		queue_work(vxlan_wq, &vxlan->igmp_join);