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@

Reply via email to