Blob Blame History Raw
From: Petr Machata <petrm@mellanox.com>
Date: Tue, 18 Dec 2018 13:15:59 +0000
Subject: vxlan: Unmark offloaded bit on replaced FDB entries
Patch-mainline: v4.20
Git-commit: 6ad0b5a4e03dc5cc0c1ed6be093bdcefdc794a6f
References: bsc#1112374

When rdst of an offloaded FDB entry is replaced, it certainly isn't
offloaded anymore. Drivers are notified about such replacements, and can
re-mark the entry as offloaded again if they so wish. However until a
driver does so explicitly, assume a replaced FDB entry is not offloaded.

Note that replaces coming via vxlan_fdb_external_learn_add() are always
immediately followed by an explicit offload marking.

Fixes: 0efe11733356 ("vxlan: Support marking RDSTs as offloaded")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/net/vxlan.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -556,6 +556,7 @@ static int vxlan_fdb_replace(struct vxla
 	rd->remote_port = port;
 	rd->remote_vni = vni;
 	rd->remote_ifindex = ifindex;
+	rd->offloaded = false;
 	return 1;
 }