diff --git a/route.c b/route.c index 06270a2d7e1cb551d72ed61016935dcbdc4e8160..b1a90db0bfdf3447b144282019be86f88ae5177f 100644 --- a/route.c +++ b/route.c @@ -337,7 +337,14 @@ update_route_metric(struct route *route) } newmetric = INFINITY; } else { - newmetric = MIN(route->refmetric + neighbour_cost(route->neigh), + struct neighbour *neigh = route->neigh; + int add_metric = input_filter(route->src->id, + route->src->prefix, route->src->plen, + neigh->address, + neigh->network->ifindex); + newmetric = MIN(route->refmetric + + add_metric + + neighbour_cost(route->neigh), INFINITY); }