diff options
| author | Daniel Walton <dwalton@cumulusnetworks.com> | 2017-05-12 13:34:51 +0000 |
|---|---|---|
| committer | Daniel Walton <dwalton@cumulusnetworks.com> | 2017-05-12 13:34:51 +0000 |
| commit | 71e04b9f7ce518f0e7e33909f79b1d975a6421c8 (patch) | |
| tree | 136a3a96f02713891d834118fe2b1e8823080941 /zebra/zebra_rib.c | |
| parent | a1b4f854b0162077b12d8dc7ad4b9e85ba7f458c (diff) | |
zebra: zebra_mpls_lsp_uninstall was not being called
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Old entries were not being removed from the MPLS table.
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index e4d583d5f2..07b19155e2 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1382,6 +1382,11 @@ rib_process_update_fib (struct zebra_vrf *zvrf, struct route_node *rn, zlog_debug ("%u:%s: Updating route rn %p, rib %p (type %d)", zvrf_id (zvrf), buf, rn, new, new->type); } + + /* If labeled-unicast route, uninstall transit LSP. */ + if (zebra_rib_labeled_unicast (old)) + zebra_mpls_lsp_uninstall (zvrf, rn, old); + /* Non-system route should be installed. */ if (!RIB_SYSTEM_ROUTE (new)) { @@ -1403,10 +1408,6 @@ rib_process_update_fib (struct zebra_vrf *zvrf, struct route_node *rn, { if (RIB_SYSTEM_ROUTE(new)) { - /* If labeled-unicast route, uninstall transit LSP. */ - if (zebra_rib_labeled_unicast (old)) - zebra_mpls_lsp_uninstall (zvrf, rn, old); - if (!RIB_SYSTEM_ROUTE (old)) rib_uninstall_kernel (rn, old); } |
