On Tue, May 07, 2013 at 04:48:41PM +0200, Janne Johansson wrote:
> this patch (stupidly) fixes my problem. I don't like my broken setup,
> but this works.

We've determined the RFC doesn't require source addresses in
neighbour solicitations to be sent from a matching prefix.

I don't see any reason why responding to such solicitations is bad.
I agree with removing this check.

> Index: nd6_nbr.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/nd6_nbr.c,v
> retrieving revision 1.66
> diff -u -p -r1.66 nd6_nbr.c
> --- nd6_nbr.c 7 Mar 2013 09:03:16 -0000       1.66
> +++ nd6_nbr.c 7 May 2013 11:44:56 -0000
> @@ -132,17 +132,7 @@ nd6_ns_input(struct mbuf *m, int off, in
>                           "(wrong ip6 dst)\n"));
>                       goto bad;
>               }
> -     } else {
> -             /*
> -              * Make sure the source address is from a neighbor's address.
> -              */
> -             if (!in6_ifpprefix(ifp, &saddr6)) {
> -                     nd6log((LOG_INFO, "nd6_ns_input: "
> -                         "NS packet from non-neighbor\n"));
> -                     goto bad;
> -             }
>       }
> -
> 
>       if (IN6_IS_ADDR_MULTICAST(&taddr6)) {
>               nd6log((LOG_INFO, "nd6_ns_input: bad NS target (multicast)\n"));

Reply via email to