diff options
author | Cong Wang <amwang@redhat.com> | 2013-08-07 16:35:45 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-09 11:41:45 -0700 |
commit | 614334df2d6dcc5e15eaa8066a649535d50f329b (patch) | |
tree | f595dd8e39c19440777f56bdbab863c3939e07d8 /drivers/net/vxlan.c | |
parent | 288a9376371d425edeeea41a0310922c5fb2092d (diff) | |
download | blackbird-op-linux-614334df2d6dcc5e15eaa8066a649535d50f329b.tar.gz blackbird-op-linux-614334df2d6dcc5e15eaa8066a649535d50f329b.zip |
vxlan: fix a regression of igmp join
This is a regression introduced by:
commit 3fc2de2faba387218bdf9dbc6b13f513ac3b060a
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: Cong Wang <amwang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r-- | drivers/net/vxlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index f4c6db419ddb..11a6c03d202a 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -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); |