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 <vivek@cumulusnetworks.com>
Reviewed-by:   Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>

Ticket: CM-17110
Reviewed By: CCR-6588
Testing Done: Manual tests, mpls
This commit is contained in:
vivek 2017-08-10 08:43:06 -07:00 committed by Mitesh Kanjariya
parent ee7ca6c059
commit cb499ebbaa

View File

@ -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)