Merge pull request #2745 from adharkar/frr-filtered_route

bgpd: Show routes filtered by prefix-list in filter-routes command
This commit is contained in:
Lou Berger 2018-07-28 10:16:20 -04:00 committed by GitHub
commit f503378408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10098,6 +10098,7 @@ static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi,
json_object *json_ocode = NULL;
json_object *json_ar = NULL;
struct peer_af *paf;
bool route_filtered;
if (use_json) {
json_scode = json_object_new_object();
@ -10220,17 +10221,27 @@ static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi,
}
bgp_attr_dup(&attr, ain->attr);
route_filtered = false;
/* Filter prefix using distribute list,
* filter list or prefix list
*/
if ((bgp_input_filter(peer, &rn->p, &attr, afi,
safi)) == FILTER_DENY)
route_filtered = true;
/* Filter prefix using route-map */
ret = bgp_input_modifier(peer, &rn->p, &attr,
afi, safi, rmap_name);
if (type == bgp_show_adj_route_filtered
&& ret != RMAP_DENY) {
if (type == bgp_show_adj_route_filtered &&
!route_filtered && ret != RMAP_DENY) {
bgp_attr_undup(&attr, ain->attr);
continue;
}
if (type == bgp_show_adj_route_received
&& ret == RMAP_DENY)
if (type == bgp_show_adj_route_received &&
(route_filtered || ret == RMAP_DENY))
filtered_count++;
route_vty_out_tmp(vty, &rn->p, &attr, safi,