]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: do not send label to zebra route add for evpn routes
authorMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>
Mon, 16 Oct 2017 04:19:04 +0000 (21:19 -0700)
committerMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>
Thu, 14 Dec 2017 18:57:06 +0000 (10:57 -0800)
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
bgpd/bgp_zebra.c

index 4b52b0ffcfe711efc547570861d8a04ba24f0d05..1f4fa48194db0222496a730e4917cad43b8220e1 100644 (file)
@@ -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,