summaryrefslogtreecommitdiff
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorMike Rapoport <mike.rapoport@ravellosystems.com>2013-06-25 13:01:56 (GMT)
committerStephen Hemminger <stephen@networkplumber.org>2013-06-25 16:31:40 (GMT)
commit58e4c767046a35f11a55af6ce946054ddf4a8580 (patch)
tree965f40273e402c2212246cba0e9853b687f058f1 /drivers/net/vxlan.c
parentf693dff7107063f0ce08502052b78c4d4feb0e87 (diff)
downloadlinux-fsl-qoriq-58e4c767046a35f11a55af6ce946054ddf4a8580.tar.xz
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 c182520..3e75f97 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -458,7 +458,8 @@ static int vxlan_fdb_create(struct vxlan_dev *vxlan,
notify = 1;
}
if ((flags & NLM_F_APPEND) &&
- is_multicast_ether_addr(f->eth_addr)) {
+ (is_multicast_ether_addr(f->eth_addr) ||
+ is_zero_ether_addr(f->eth_addr))) {
int rc = vxlan_fdb_append(f, ip, port, vni, ifindex);
if (rc < 0)