diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 2413a0637d992d81081db67e2c08528eb6a42f17..890acace01d0a642517b1536598e4482b20a4456 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2174,6 +2174,8 @@ static int ip6_route_del(struct fib6_config *cfg) continue; if (cfg->fc_metric && cfg->fc_metric != rt->rt6i_metric) continue; + if (cfg->fc_protocol && cfg->fc_protocol != rt->rt6i_protocol) + continue; dst_hold(&rt->dst); read_unlock_bh(&table->tb6_lock);