summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>2017-10-15 21:19:04 -0700
committerMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>2017-12-14 10:57:06 -0800
commita89b49cc4e4e5360cb77fd5c897c42af89cbc555 (patch)
tree5e7370e0b888e2e021b0fb644f8fbac34da7972e
parent30a30f572724af99d0cb9a997e970a28f8c64e12 (diff)
bgpd: do not send label to zebra route add for evpn routes
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_zebra.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 4b52b0ffcf..1f4fa48194 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -1139,8 +1139,8 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p,
api_nh->type = NEXTHOP_TYPE_IPV6_IFINDEX;
}
- if (mpinfo->extra
- && bgp_is_valid_label(&mpinfo->extra->label)) {
+ if (mpinfo->extra && bgp_is_valid_label(&mpinfo->extra->label)
+ && !CHECK_FLAG(api.flags, ZEBRA_FLAG_EVPN_TYPE2_ROUTE)) {
has_valid_label = 1;
label = label_pton(&mpinfo->extra->label);
@@ -1150,7 +1150,9 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p,
valid_nh_count++;
}
- if (has_valid_label)
+ /* if this is a evpn route we don't have to include the label */
+ if (has_valid_label &&
+ !(CHECK_FLAG(api.flags, ZEBRA_FLAG_EVPN_TYPE2_ROUTE)))
SET_FLAG(api.message, ZAPI_MESSAGE_LABEL);
if (info->sub_type != BGP_ROUTE_AGGREGATE)
@@ -1192,7 +1194,8 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p,
sizeof(nh_buf));
label_buf[0] = '\0';
- if (has_valid_label)
+ if (has_valid_label &&
+ !CHECK_FLAG(api.flags, ZEBRA_FLAG_EVPN_TYPE2_ROUTE))
sprintf(label_buf, "label %u",
api_nh->labels[0]);
zlog_debug(" nhop [%d]: %s %s", i + 1, nh_buf,