aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorMike Rapoport <mike.rapoport@ravellosystems.com>2013-06-25 09:01:56 -0400
committerStephen Hemminger <stephen@networkplumber.org>2013-06-25 12:31:40 -0400
commit58e4c767046a35f11a55af6ce946054ddf4a8580 (patch)
tree965f40273e402c2212246cba0e9853b687f058f1 /drivers/net/vxlan.c
parentf693dff7107063f0ce08502052b78c4d4feb0e87 (diff)
vxlan: fdb: allow specifying multiple destinations for zero MAC
The zero MAC entry in the fdb is used as default destination. With multiple default destinations it is possible to use vxlan in environments that disable multicast on the infrastructure level, e.g. public clouds. Signed-off-by: Mike Rapoport <mike.rapoport@ravellosystems.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r--drivers/net/vxlan.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index c1825201f9e2..3e75f9726c33 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -458,7 +458,8 @@ static int vxlan_fdb_create(struct vxlan_dev *vxlan,
458 notify = 1; 458 notify = 1;
459 } 459 }
460 if ((flags & NLM_F_APPEND) && 460 if ((flags & NLM_F_APPEND) &&
461 is_multicast_ether_addr(f->eth_addr)) { 461 (is_multicast_ether_addr(f->eth_addr) ||
462 is_zero_ether_addr(f->eth_addr))) {
462 int rc = vxlan_fdb_append(f, ip, port, vni, ifindex); 463 int rc = vxlan_fdb_append(f, ip, port, vni, ifindex);
463 464
464 if (rc < 0) 465 if (rc < 0)