summaryrefslogtreecommitdiff
path: root/bgpd/bgp_updgrp_packet.c
diff options
context:
space:
mode:
authorDon Slice <dslice@cumulusnetworks.com>2017-05-16 09:48:18 -0400
committerDon Slice <dslice@cumulusnetworks.com>2017-05-16 09:48:18 -0400
commit604bbacbcf9e3dbee2c72d2454d20c54a3f9803f (patch)
tree66c73a138db1a646406f5b405c8dfea7915db2b4 /bgpd/bgp_updgrp_packet.c
parentc5761c2b5bcb36d4c952a9e2fa3717f0d70fc011 (diff)
bgpd: resolve issue with sending vpn labels
Found issue where sending labels using "address-family ipv4 vpn" was broken by the labeled-unicast changes. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_updgrp_packet.c')
-rw-r--r--bgpd/bgp_updgrp_packet.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/bgpd/bgp_updgrp_packet.c b/bgpd/bgp_updgrp_packet.c
index f734763b70..87a9cfdcfa 100644
--- a/bgpd/bgp_updgrp_packet.c
+++ b/bgpd/bgp_updgrp_packet.c
@@ -763,7 +763,13 @@ subgroup_update_packet (struct update_subgroup *subgrp)
if (rn->prn)
prd = (struct prefix_rd *) &rn->prn->p;
- tag = bgp_adv_label(rn, binfo, peer, afi, safi);
+
+ if (safi == SAFI_LABELED_UNICAST)
+ tag = bgp_adv_label(rn, binfo, peer, afi, safi);
+ else
+ if (binfo && binfo->extra)
+ tag = binfo->extra->tag;
+
if (bgp_labeled_safi(safi))
sprintf (label_buf, "label %u", label_pton(tag));