diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 0fdf2d3a8e..18da60dfb4 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2697,13 +2697,13 @@ static void bgp_process_main_one(struct bgp *bgp, struct bgp_node *rn, ret = route_map_apply( bgp->adv_cmd_rmap[afi][safi].map, &rn->p, RMAP_BGP, new_select); - if (ret == RMAP_PERMITMATCH) + if (ret == RMAP_DENYMATCH) + bgp_evpn_withdraw_type5_route( + bgp, &rn->p, afi, safi); + else bgp_evpn_advertise_type5_route( bgp, &rn->p, new_select->attr, afi, safi); - else - bgp_evpn_withdraw_type5_route( - bgp, &rn->p, afi, safi); } else { bgp_evpn_advertise_type5_route(bgp, &rn->p,