Date: Sat, 24 Sep 2011 15:00:05 GMT From: Kenneth Vestergaard <kvs@binarysolutions.dk> To: freebsd-pf@FreeBSD.org Subject: Re: kern/146832: [pf] (self) not always matching all local IPv6 addresses Message-ID: <201109241500.p8OF05cO066825@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/146832; it has been noted by GNATS. From: Kenneth Vestergaard <kvs@binarysolutions.dk> To: Kenneth Vestergaard <kvs@binarysolutions.dk> Cc: bug-followup@FreeBSD.org, xi@borderworlds.dk Subject: Re: kern/146832: [pf] (self) not always matching all local IPv6 addresses Date: Sat, 24 Sep 2011 16:56:55 +0200 As far as I can tell, the patch below fixes. I'm not sure about the semantics of "we don't need to install a host = route", but the eventhandler-part was added to the bottom of the case-scope, and = seemingly just missed dealing with the non-error early exit when prefixlen of a new address is = 128. Index: sys/netinet6/in6.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/netinet6/in6.c (revision 225328) +++ sys/netinet6/in6.c (working copy) @@ -589,6 +589,8 @@ pr0.ndpr_plen =3D = in6_mask2len(&ifra->ifra_prefixmask.sin6_addr, NULL); if (pr0.ndpr_plen =3D=3D 128) { + if (error =3D=3D 0 && ia) + EVENTHANDLER_INVOKE(ifaddr_event, ifp); break; /* we don't need to install a host = route. */ } pr0.ndpr_prefix =3D ifra->ifra_addr; --=20 Kenneth Vestergaard=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109241500.p8OF05cO066825>