summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_label.c
diff options
context:
space:
mode:
authorDon Slice <dslice@cumulusnetworks.com>2017-03-15 13:43:01 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-04-06 16:32:08 +0200
commitaab1814c21a473861994a868e60bdd99adec053f (patch)
tree1d57f39c64122eeabe7f8507f3aa01065fd8a052 /bgpd/bgp_label.c
parentbgpd: bgp_static_update just called bgp_static_update_main (diff)
downloadfrr-aab1814c21a473861994a868e60bdd99adec053f.tar.xz
frr-aab1814c21a473861994a868e60bdd99adec053f.zip
bgpd: Fix labeled-unicast generation and parsing issues
Labeled-unicast updates were being sent with an ipv6 nexthop due to not setting the mp_nexthop_len or nh_afi. On the receive side, the prefix length was being incorrectly determined and has been fixed. Also the stream for bgp_label_buf was not created. All resolved. Ticket: CM-15260 Signed-off-by: Don Slice <dslice@cumulusnetworks.com> Reviewed-by:
Diffstat (limited to 'bgpd/bgp_label.c')
-rw-r--r--bgpd/bgp_label.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_label.c b/bgpd/bgp_label.c
index 0c331c5d5..615eca588 100644
--- a/bgpd/bgp_label.c
+++ b/bgpd/bgp_label.c
@@ -253,7 +253,7 @@ bgp_nlri_parse_label (struct peer *peer, struct attr *attr,
/* Fill in the labels */
llen = bgp_nlri_get_labels(peer, pnt, psize, label);
// zlog_debug("rcvd label [%x/%x/%x], llen=%d\n", label[0], label[1], label[2], llen);
- p.prefixlen -= BSIZE(llen);
+ p.prefixlen = prefixlen - BSIZE(llen);
/* There needs to be at least one label */
if (prefixlen < 24)