summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2019-09-18 16:01:36 +0200
committerEmanuele Di Pascale <emanuele@voltanet.io>2019-09-18 16:03:52 +0200
commit90a570ed27d874067d9b1e259a290966c7c8ef4e (patch)
tree5089b8c5ae9fa882bbfbf40c0e6dddbfba8d65c2
parent957ef1c93abd4f6a0abc8ee20b0c46effb02c023 (diff)
zebra: fix mpls ftn uninstall
when a client disconnects, we iterate over the routing table to remove any label that originated from that client. However we were erroneously passing the route type to the function, while it was expecting the lsp type. As a result, for example, killing ldpd would not remove the ldp labels from the routes. Kudos to @rwestphal for pointing me to the source of the issue. Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
-rw-r--r--zebra/zebra_mpls.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/zebra/zebra_mpls.c b/zebra/zebra_mpls.c
index 3c4497ebd2..8088ec1bfe 100644
--- a/zebra/zebra_mpls.c
+++ b/zebra/zebra_mpls.c
@@ -2326,8 +2326,10 @@ static int zebra_mpls_cleanup_zclient_labels(struct zserv *client)
&args);
/* Cleanup FTNs. */
- mpls_ftn_uninstall_all(zvrf, AFI_IP, client->proto);
- mpls_ftn_uninstall_all(zvrf, AFI_IP6, client->proto);
+ mpls_ftn_uninstall_all(zvrf, AFI_IP,
+ lsp_type_from_re_type(client->proto));
+ mpls_ftn_uninstall_all(zvrf, AFI_IP6,
+ lsp_type_from_re_type(client->proto));
}
return 0;