From 8cb687c2cb337eef87c1dce0d1a89f86dd8407be Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 30 Oct 2018 09:11:46 -0400 Subject: [PATCH] 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 --- bgpd/bgp_route.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);