summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPetr Machata <petrm@mellanox.com>2018-12-07 22:55:04 +0300
committerDavid S. Miller <davem@davemloft.net>2018-12-07 23:59:08 +0300
commit4f89f5b5353cae2e056713e823819f24cad92bc3 (patch)
tree6059aa62100cffc3add52b9a1651fa3cb6524fec /include
parentff23b91ce1ae686e436e9926de1fda3342ef26f8 (diff)
downloadlinux-4f89f5b5353cae2e056713e823819f24cad92bc3.tar.xz
vxlan: Add vxlan_fdb_replay()
When a VXLAN device becomes relevant to a driver (such as when it is attached to an offloaded bridge), the driver will generally need to walk the existing FDB entries and offload them. Add a function vxlan_fdb_replay() to call a given notifier block for each FDB entry with a given VNI. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/vxlan.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/net/vxlan.h b/include/net/vxlan.h
index b73c670df184..f49aa9afe598 100644
--- a/include/net/vxlan.h
+++ b/include/net/vxlan.h
@@ -427,6 +427,9 @@ struct switchdev_notifier_vxlan_fdb_info {
#if IS_ENABLED(CONFIG_VXLAN)
int vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni,
struct switchdev_notifier_vxlan_fdb_info *fdb_info);
+int vxlan_fdb_replay(const struct net_device *dev, __be32 vni,
+ struct notifier_block *nb);
+
#else
static inline int
vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni,
@@ -434,6 +437,12 @@ vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni,
{
return -ENOENT;
}
+
+static inline int vxlan_fdb_replay(const struct net_device *dev, __be32 vni,
+ struct notifier_block *nb)
+{
+ return -EOPNOTSUPP;
+}
#endif
#endif