summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-10-30 09:11:46 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-12-12 16:10:30 -0500
commit8cb687c2cb337eef87c1dce0d1a89f86dd8407be (patch)
tree1c9dbc534d48135cfbc4116005a176e0b471ea6f
parentea7741a057c73f025f30967fd457d7fa4e46868f (diff)
bgpd: Fix soft clear for evpn routes
When you have configured soft reconfiguration inbound for evpn allow it to notice and send in the evpn data as appropriate. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_route.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 47c04c4963..2486ba614c 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -3772,16 +3772,22 @@ static void bgp_soft_reconfig_table(struct peer *peer, afi_t afi, safi_t safi,
bgp_node_get_bgp_path_info(rn);
uint32_t num_labels = 0;
mpls_label_t *label_pnt = NULL;
+ struct bgp_route_evpn evpn;
if (pi && pi->extra)
num_labels = pi->extra->num_labels;
if (num_labels)
label_pnt = &pi->extra->label[0];
+ if (pi)
+ memcpy(&evpn, &pi->attr->evpn_overlay,
+ sizeof(evpn));
+ else
+ memset(&evpn, 0, sizeof(evpn));
ret = bgp_update(peer, &rn->p, ain->addpath_rx_id,
ain->attr, afi, safi, ZEBRA_ROUTE_BGP,
BGP_ROUTE_NORMAL, prd, label_pnt,
- num_labels, 1, NULL);
+ num_labels, 1, &evpn);
if (ret < 0) {
bgp_unlock_node(rn);