On Mon, Aug 22, 2016 at 12:20:17PM +0200, Martin Pieuchot wrote: > @@ -1495,17 +1512,17 @@ nd6_resolve(struct ifnet *ifp, struct rt > - error = rt_checkgate(rt0, &rt); > - if (error) { > + rt = rt_getll(rt0); > + > + if (ISSET(rt->rt_flags, RTF_REJECT)) { > m_freem(m); > - return (error); > + return (rt == rt0 ? EHOSTDOWN : EHOSTUNREACH); > } > > /*
I think you missed the ... && (rt->rt_expire == 0 || time_uptime < rt->rt_expire) condition. with that OK bluhm@