+ if (rtmin)
+ goto found;
+
+ hash = h.afh_nethash;
+ match = afswitch[af].af_netmatch;
+ for (m = rtnet[hash % RTHASHSIZ]; m; m = m->m_next) {
+ rt = mtod(m, struct rtentry *);
+ if (rt->rt_hash != hash)
+ continue;
+ if ((rt->rt_flags & RTF_UP) == 0 ||
+ (rt->rt_ifp->if_flags & IFF_UP) == 0)
+ continue;
+ if (rt->rt_dst.sa_family != af || !(*match)(&rt->rt_dst, dst))
+ continue;
+ if (rtmin == 0 || rt->rt_use < rtmin->rt_use)
+ rtmin = rt;