summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2019-09-27 15:46:22 +0200
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2020-08-18 09:25:06 -0700
commit6265fbe55cdfb63d40ad2f9393fe014927f34717 (patch)
tree89c155ba8bc024c94adb65b1b7442ab68ec22d2a
parent47c589295583bc2094429ee8df61ae8c97461b13 (diff)
zebra: fdb and neighbor table are read for all zns
all network namespaces are read so as to collect interesting fdb and neighbor tables for EVPN. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
-rw-r--r--zebra/zebra_vxlan.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c
index 5a58794378..a0046e6031 100644
--- a/zebra/zebra_vxlan.c
+++ b/zebra/zebra_vxlan.c
@@ -5522,6 +5522,21 @@ stream_failure:
return;
}
+static int macfdb_read_zns(struct zebra_ns *zns,
+ void *_in_param __attribute__((unused)),
+ void **out_param __attribute__((unused)))
+{
+ macfdb_read(zns);
+ return ZNS_WALK_CONTINUE;
+}
+
+static int neigh_read_zns(struct zebra_ns *zns,
+ void *_in_param __attribute__((unused)),
+ void **out_param __attribute__((unused)))
+{
+ neigh_read(zns);
+ return ZNS_WALK_CONTINUE;
+}
/*
* Handle message from client to learn (or stop learning) about VNIs and MACs.
@@ -5574,10 +5589,10 @@ void zebra_vxlan_advertise_all_vni(ZAPI_HANDLER_ARGS)
zebra_evpn_gw_macip_add_for_evpn_hash, NULL);
/* Read the MAC FDB */
- macfdb_read(zvrf->zns);
+ zebra_ns_list_walk(macfdb_read_zns, NULL, NULL);
/* Read neighbors */
- neigh_read(zvrf->zns);
+ zebra_ns_list_walk(neigh_read_zns, NULL, NULL);
} else {
/* Cleanup VTEPs for all EVPNs - uninstall from
* kernel and free entries.