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>
