mirror of https://gitee.com/openkylin/linux.git
vxlan: remove vxlan_group_used in vxlan_open
In vxlan_open, vxlan_group_used always returns true, because the state of the vxlan deivces which we want to open has alreay been running. and it has already in vxlan_list. Since ip_mc_join_group takes care of the reference of struct ip_mc_list. removing vxlan_group_used here is safe. Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1a0ab7675d
commit
79d4a94fab
|
@ -1935,7 +1935,6 @@ static void vxlan_uninit(struct net_device *dev)
|
|||
/* Start ageing timer and join group when device is brought up */
|
||||
static int vxlan_open(struct net_device *dev)
|
||||
{
|
||||
struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id);
|
||||
struct vxlan_dev *vxlan = netdev_priv(dev);
|
||||
struct vxlan_sock *vs = vxlan->vn_sock;
|
||||
|
||||
|
@ -1943,8 +1942,7 @@ static int vxlan_open(struct net_device *dev)
|
|||
if (!vs)
|
||||
return -ENOTCONN;
|
||||
|
||||
if (vxlan_addr_multicast(&vxlan->default_dst.remote_ip) &&
|
||||
vxlan_group_used(vn, &vxlan->default_dst.remote_ip)) {
|
||||
if (vxlan_addr_multicast(&vxlan->default_dst.remote_ip)) {
|
||||
vxlan_sock_hold(vs);
|
||||
dev_hold(dev);
|
||||
queue_work(vxlan_wq, &vxlan->igmp_join);
|
||||
|
|
Loading…
Reference in New Issue