mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-31 06:56:13 +00:00
pbrd: cleanup pbr ifp info if not sent to zebra
Properly cleanup the pbr interface data if nothing actually gets sent to zebra, since we will never get the callback notification from zapi to issue final deletion. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
This commit is contained in:
parent
f08966a58d
commit
fe870621b5
@ -721,12 +721,23 @@ void pbr_map_policy_delete(struct pbr_map *pbrm, struct pbr_map_interface *pmi)
|
||||
{
|
||||
struct listnode *node;
|
||||
struct pbr_map_sequence *pbrms;
|
||||
bool sent = false;
|
||||
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO(pbrm->seqnumbers, node, pbrms))
|
||||
pbr_send_pbr_map(pbrms, pmi, false, false);
|
||||
if (!pbr_send_pbr_map(pbrms, pmi, false, true))
|
||||
sent = true; /* rule removal sent to zebra */
|
||||
|
||||
pmi->delete = true;
|
||||
|
||||
/*
|
||||
* If we actually sent something for deletion, wait on zapi callback
|
||||
* before clearing data.
|
||||
*/
|
||||
if (sent)
|
||||
return;
|
||||
|
||||
pbr_map_final_interface_deletion(pbrm, pmi);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user