Date: Sat, 25 Dec 2004 02:32:35 +0200 From: Giorgos Keramidas <keramida@ceid.upatras.gr> To: Scott Long <scottl@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/contrib/ipfilter/netinet ip_auth.cip_compat.h ip_frag.c ip_log.c ip_nat.h ip_proxy.c ip_state.c ip_state.h mlfk_ipl.c Message-ID: <20041225003235.GA7963@gothmog.gr> In-Reply-To: <41CCB08C.80207@freebsd.org> References: <200412240914.iBO9EQwi030378@repoman.freebsd.org> <41CC8E1E.3020809@freebsd.org> <20041224231120.GA70659@gothmog.gr> <41CCA2CC.6080408@freebsd.org> <20041225000752.GA84593@gothmog.gr> <41CCB08C.80207@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2004-12-24 17:13, Scott Long <scottl@freebsd.org> wrote: > Giorgos Keramidas wrote: > >On 2004-12-24 16:14, Scott Long <scottl@freebsd.org> wrote: > > > >>Giorgos Keramidas wrote: > >> > >>>On 2004-12-24 14:46, Scott Long <scottl@freebsd.org> wrote: > >>> > >>>>Darren Reed wrote: > >>>> > >>>>>darrenr 2004-12-24 09:14:26 UTC > >>>>> > >>>>>FreeBSD src repository > >>>>> > >>>>>Modified files: > >>>>> sys/contrib/ipfilter/netinet ip_auth.c ip_compat.h ip_frag.c > >>>>> ip_log.c ip_nat.h ip_proxy.c > >>>>> ip_state.c ip_state.h mlfk_ipl.c > >>>>>Log: > >>>>>Enable fine grained locking within IPFilter, using mtx(9) and sx(9) > >>>>>allowing > >>>>>the the "needs giant" flag to be removed from the driver. > >>>> > >>>>I'm not sure how this could possibly compile on FreeBSD. Did you forget > >>>>to check in a file perhaps? Please fix this ASAP, otherwise it's going > >>>>to get reverted. > >>> > >>>Hi Scott, > >>> > >>>can you test this as a fix for the build problems? It seems to fix the > >>>buildkernel issues here. The arbitrary choise of __FreeBSD_version's > >>>value was based on this snippet from > >>>src/sys/ipfilter/netinet/ip_compat.h: > >> > >>Thanks, I'll test it in a few minutes. Would you also be willing to fix > >>the warning from PFIL_HOOKS being redefined? > > > > > >Sure. The ip_fil.h header defines PFIL_HOOKS unconditionally, possibly > >overriding the definition passed on the command line by the Makefile of > >src/sys/modules/ipfilter. > > > >There are two options: > > > >a) Either we remove the -DPFIL_HOOKS from the Makefile (possibly resulting > >in other breakages at places where ip_fil.h is not included, even though > >it should be), or > > > >b) we commit something like this minor diff to ip_fil.h: > > > >%%% > >gothmog:/usr/src# cvs di -u sys/contrib/ipfilter/netinet/ip_fil.h > >Index: sys/contrib/ipfilter/netinet/ip_fil.h > >=================================================================== > >RCS file: /home/ncvs/src/sys/contrib/ipfilter/netinet/ip_fil.h,v > >retrieving revision 1.27 > >diff -u -r1.27 ip_fil.h > >--- sys/contrib/ipfilter/netinet/ip_fil.h 27 Aug 2004 20:01:08 -0000 > >1.27 > >+++ sys/contrib/ipfilter/netinet/ip_fil.h 25 Dec 2004 00:03:19 -0000 > >@@ -498,7 +498,9 @@ > > (defined(NetBSD1_2) && NetBSD1_2 > 1) || (defined(__FreeBSD_version) > > && \ > > (__FreeBSD_version >= 500011)) > > # if (NetBSD >= 199905) || (__FreeBSD_version >= 600001) > >-# define PFIL_HOOKS > >+# ifndef PFIL_HOOKS > >+# define PFIL_HOOKS > >+# endif > > # endif > > # ifdef PFIL_HOOKS > > # define NETBSD_PF > >%%% > > I don't see anywhere in the ipfilter source where PFIL_HOOKS is actually > checked. PFIL_HOOKS was removed as an option from FreeBSD a few months > ago and is now assumed to always be present. True. I remember this. The PFIL_HOOKS ifdef doesn't work as a kernel option anymore in ipfilter though. > Maybe we should just remove the __FreeBSD_version from the clause. PFIL_HOOKS is used in ip_fil.h to check if NETBSD_PF should be defined. We need NETBSD_PF defined, because it is used in fil.c and ip_fil.c as a conditional. These will break if NETBSD_PF is not defined, as they depend on NETBSD_PF and ip_compat.h to include the pfil interface from <net/pfil.h>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041225003235.GA7963>