]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Show routes filtered by prefix-list in filter-routes command
authorAmeya Dharkar <adharkar@vmware.com>
Fri, 27 Jul 2018 18:23:32 +0000 (11:23 -0700)
committerAmeya Dharkar <adharkar@vmware.com>
Fri, 27 Jul 2018 18:23:32 +0000 (11:23 -0700)
Update:Addressed review comments

Changed "show bgp ipv4 neighbor filtered-routes"
to show routes filtered by prefx lists, distribute lists and filter lists

Closes: #2653
Signed-off-by: Ameya Dharkar adharkar@vmware.com
bgpd/bgp_route.c

index b1727a3b04c6bab28b284bf1b0e6df8521a69e9b..8630efc1181519882ffb9e00647d58b0975d2de6 100644 (file)
@@ -10234,19 +10234,17 @@ static void show_adj_route(struct vty *vty, struct peer *peer, afi_t afi,
                                        route_filtered = true;
 
                                /* Filter prefix using route-map */
-                               if ((bgp_input_modifier(peer, &rn->p, &attr,
-                                                       afi, safi, rmap_name))
-                                       == RMAP_DENY)
-                                       route_filtered = true;
+                               ret = bgp_input_modifier(peer, &rn->p, &attr,
+                                                       afi, safi, rmap_name);
 
-                               if (type == bgp_show_adj_route_filtered
-                                   && !route_filtered) {
+                               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
-                                   && route_filtered)
+                               if (type == bgp_show_adj_route_received &&
+                                       (route_filtered || ret == RMAP_DENY))
                                        filtered_count++;
 
                                route_vty_out_tmp(vty, &rn->p, &attr, safi,