diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-10-30 09:11:46 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-12-12 16:10:30 -0500 |
| commit | 8cb687c2cb337eef87c1dce0d1a89f86dd8407be (patch) | |
| tree | 1c9dbc534d48135cfbc4116005a176e0b471ea6f | |
| parent | ea7741a057c73f025f30967fd457d7fa4e46868f (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.c | 8 |
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); |
