From: vivek Date: Thu, 10 Aug 2017 15:43:06 +0000 (-0700) Subject: bgpd: Register for label only the default instance X-Git-Tag: frr-4.0-dev~362^2~14 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=cb499ebbaafac55514984077f6ea18e9d19fb901;p=mirror%2Ffrr.git bgpd: Register for label only the default instance Ensure that the registration for the "in" label for a unicast prefix is done only in the default instance. The zebra label manager as well as other code in BGP only has support for assigning labels in the default instance. Signed-off-by: Vivek Venkatraman Reviewed-by: Daniel Walton Reviewed-by: Donald Sharp Ticket: CM-17110 Reviewed By: CCR-6588 Testing Done: Manual tests, mpls --- diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 3a3da6fc4e..e9bf574331 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2044,11 +2044,12 @@ static wq_item_status bgp_process_main(struct work_queue *wq, void *data) /* Do we need to allocate or free labels? * Right now, since we only deal with per-prefix labels, it is not - * necessary - * to do this upon changes to best path except of the label index - * changes. + * necessary to do this upon changes to best path except if the label + * index changes. + * NOTE: This is only relevant for the default instance. */ - if (safi == SAFI_UNICAST) { + if (bgp->inst_type == BGP_INSTANCE_TYPE_DEFAULT + && safi == SAFI_UNICAST) { if (new_select) { if (!old_select || bgp_label_index_differs(new_select, old_select)