mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-31 01:45:55 +00:00
zebra: ignore sync updates from bgp if the dest ES is not ready
In the window immediately after an ES deletion bgpd can send MAC-IP updates using that ES. Zebra needs to ignore these updates to prevent creation of stale entries. Ticket: #2668488 Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
This commit is contained in:
parent
6e59c4a71d
commit
38f681e1ca
@ -1423,8 +1423,24 @@ void zebra_evpn_rem_macip_add(vni_t vni, const struct ethaddr *macaddr,
|
|||||||
* REMOTE - if ES is not local
|
* REMOTE - if ES is not local
|
||||||
*/
|
*/
|
||||||
if (flags & ZEBRA_MACIP_TYPE_SYNC_PATH) {
|
if (flags & ZEBRA_MACIP_TYPE_SYNC_PATH) {
|
||||||
zebra_evpn_process_sync_macip_add(zevpn, macaddr, ipa_len,
|
struct zebra_evpn_es *es;
|
||||||
ipaddr, flags, seq, esi);
|
|
||||||
|
es = zebra_evpn_es_find(esi);
|
||||||
|
if (es && (es->flags & ZEBRA_EVPNES_READY_FOR_BGP)) {
|
||||||
|
zebra_evpn_process_sync_macip_add(zevpn, macaddr,
|
||||||
|
ipa_len, ipaddr,
|
||||||
|
flags, seq, esi);
|
||||||
|
} else {
|
||||||
|
if (IS_ZEBRA_DEBUG_EVPN_MH_ES) {
|
||||||
|
char esi_str[ESI_STR_LEN];
|
||||||
|
|
||||||
|
esi_to_str(esi, esi_str, sizeof(esi_str));
|
||||||
|
zlog_debug(
|
||||||
|
"Ignore sync-macip add; ES %s is not ready",
|
||||||
|
esi_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user