]> git.baikalelectronics.ru Git - kernel.git/commit
vxlan: fix test which detect duplicate vxlan iface
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Thu, 7 Jan 2016 10:26:53 +0000 (11:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 10 Jan 2016 02:04:20 +0000 (21:04 -0500)
commit90a1b2a72c3b42a41d9c34b67d3e8abbf0c0d26f
tree7f3d66a27c77d9061ee204fc3615113f91b943d2
parent7f2cf73a4bb396927f112274798be47b4e19fa70
vxlan: fix test which detect duplicate vxlan iface

When a vxlan interface is created, the driver checks that there is not
another vxlan interface with the same properties. To do this, it checks
the existing vxlan udp socket. Since commit e64d8f788e08, the creation of
the vxlan socket is done only when the interface is set up, thus it breaks
that test.

Example:
$ ip l a vxlan10 type vxlan id 10 group 239.0.0.10 dev eth0 dstport 0
$ ip l a vxlan11 type vxlan id 10 group 239.0.0.10 dev eth0 dstport 0
$ ip -br l | grep vxlan
vxlan10          DOWN           f2:55:1c:6a:fb:00 <BROADCAST,MULTICAST>
vxlan11          DOWN           7a:cb:b9:38:59:0d <BROADCAST,MULTICAST>

Instead of checking sockets, let's loop over the vxlan iface list.

Fixes: e64d8f788e08 ("vxlan: fix race caused by dropping rtnl_unlock")
Reported-by: Thomas Faivre <thomas.faivre@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c