Date: Sat, 25 Dec 2004 01:11:20 +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: <20041224231120.GA70659@gothmog.gr> In-Reply-To: <41CC8E1E.3020809@freebsd.org> References: <200412240914.iBO9EQwi030378@repoman.freebsd.org> <41CC8E1E.3020809@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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: 427 #if defined(__FreeBSD_version) && (__FreeBSD_version >= 500043) 428 # include <sys/mutex.h> 429 # include <sys/sx.h> 430 # include <machine/atomic.h> 431 # define USE_MUTEX 1 432 # define kmutex_t struct mtx 433 # define KRWLOCK_T struct sx 434 # define NETBSD_PF 435 #endif %%% Index: sys/contrib/ipfilter/netinet/fil.c =================================================================== RCS file: /home/ncvs/src/sys/contrib/ipfilter/netinet/fil.c,v retrieving revision 1.40 diff -u -r1.40 fil.c --- sys/contrib/ipfilter/netinet/fil.c 16 Dec 2004 21:02:15 -0000 1.40 +++ sys/contrib/ipfilter/netinet/fil.c 24 Dec 2004 22:49:58 -0000 @@ -115,10 +115,10 @@ # define FR_VERBOSE(verb_pr) # define FR_DEBUG(verb_pr) # define IPLLOG(a, c, d, e) ipflog(a, c, d, e) -# if SOLARIS || defined(__sgi) +# if SOLARIS || defined(__sgi) || (__FreeBSD_version >= 500043) extern KRWLOCK_T ipf_mutex, ipf_auth, ipf_nat; extern kmutex_t ipf_rw; -# endif /* SOLARIS || __sgi */ +# endif /* SOLARIS || __sgi || __FreeBSD_version */ #endif /* _KERNEL */ Index: sys/contrib/ipfilter/netinet/ip_fil.c =================================================================== RCS file: /home/ncvs/src/sys/contrib/ipfilter/netinet/ip_fil.c,v retrieving revision 1.49 diff -u -r1.49 ip_fil.c --- sys/contrib/ipfilter/netinet/ip_fil.c 29 Sep 2004 04:54:32 -0000 1.49 +++ sys/contrib/ipfilter/netinet/ip_fil.c 24 Dec 2004 22:49:49 -0000 @@ -171,6 +171,9 @@ extern int tcp_mtudisc; extern kmutex_t ipf_rw; extern KRWLOCK_T ipf_mutex; +# elif (__FreeBSD_version >= 500043) +extern kmutex_t ipf_rw; +extern KRWLOCK_T ipf_mutex; # endif #else void init_ifp __P((void)); %%%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041224231120.GA70659>