From 301a687af6be8c3b7d95fa443100e8867eda2005 Mon Sep 17 00:00:00 2001 From: Mark Stapp Date: Tue, 4 Aug 2020 12:46:26 -0400 Subject: [PATCH] zebra: reset LSP backup nh info on update If an existing LSP nh is updated, ensure any backup nh info is also reset. Signed-off-by: Mark Stapp --- zebra/zebra_mpls.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zebra/zebra_mpls.c b/zebra/zebra_mpls.c index f905036323..1ac7bc7a2a 100644 --- a/zebra/zebra_mpls.c +++ b/zebra/zebra_mpls.c @@ -3321,7 +3321,7 @@ lsp_add_nhlfe(zebra_lsp_t *lsp, enum lsp_types_t type, /* * Install an LSP and forwarding entry; used primarily - * from zapi message processing. + * from vrf zapi message processing. */ int mpls_lsp_install(struct zebra_vrf *zvrf, enum lsp_types_t type, mpls_label_t in_label, uint8_t num_out_labels, @@ -3381,6 +3381,10 @@ static int lsp_znh_install(zebra_lsp_t *lsp, enum lsp_types_t type, memcpy(nhlfe->nexthop->backup_idx, znh->backup_idx, znh->backup_num); SET_FLAG(nhlfe->nexthop->flags, NEXTHOP_FLAG_HAS_BACKUP); + } else { + /* Ensure there's no stale backup info */ + UNSET_FLAG(nhlfe->nexthop->flags, NEXTHOP_FLAG_HAS_BACKUP); + nhlfe->nexthop->backup_num = 0; } /* Queue LSP for processing. */ -- 2.39.5