kern/146832: [pf] (self) not always matching all local IPv6
addresses
Kenneth Vestergaard
kvs at binarysolutions.dk
Sat Sep 24 15:00:18 UTC 2011
The following reply was made to PR kern/146832; it has been noted by GNATS.
From: Kenneth Vestergaard <kvs at binarysolutions.dk>
To: Kenneth Vestergaard <kvs at binarysolutions.dk>
Cc: bug-followup at FreeBSD.org,
xi at 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=
More information about the freebsd-pf
mailing list