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>
This commit is contained in:
Philippe Guibert 2019-09-27 15:46:22 +02:00
parent 388d5b438e
commit f8ed2c5420

View File

@ -9744,6 +9744,21 @@ stream_failure:
return; 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. * Handle message from client to learn (or stop learning) about VNIs and MACs.
@ -9793,10 +9808,10 @@ void zebra_vxlan_advertise_all_vni(ZAPI_HANDLER_ARGS)
NULL); NULL);
/* Read the MAC FDB */ /* Read the MAC FDB */
macfdb_read(zvrf->zns); zebra_ns_list_walk(macfdb_read_zns, NULL, NULL);
/* Read neighbors */ /* Read neighbors */
neigh_read(zvrf->zns); zebra_ns_list_walk(neigh_read_zns, NULL, NULL);
} else { } else {
/* Cleanup VTEPs for all VNIs - uninstall from /* Cleanup VTEPs for all VNIs - uninstall from
* kernel and free entries. * kernel and free entries.