Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Sep 2013 04:05:39 +0000 (UTC)
From:      Cy Schubert <cy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r255755 - head/sys/contrib/ipfilter/netinet
Message-ID:  <201309210405.r8L45dXM025973@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cy
Date: Sat Sep 21 04:05:38 2013
New Revision: 255755
URL: http://svnweb.freebsd.org/changeset/base/255755

Log:
  Convert ipfilter from timeout(9) to callout(9).
  
  Submitted by:	jhb
  Approved by:	glebius (mentor)
  Approved by:	re (blanket)

Modified:
  head/sys/contrib/ipfilter/netinet/ip_fil.h
  head/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c

Modified: head/sys/contrib/ipfilter/netinet/ip_fil.h
==============================================================================
--- head/sys/contrib/ipfilter/netinet/ip_fil.h	Sat Sep 21 03:57:56 2013	(r255754)
+++ head/sys/contrib/ipfilter/netinet/ip_fil.h	Sat Sep 21 04:05:38 2013	(r255755)
@@ -1654,7 +1654,7 @@ typedef struct ipf_main_softc_s {
 	ipftoken_t	**ipf_token_tail;
 #if defined(__FreeBSD_version) && (__FreeBSD_version >= 300000) && \
     defined(_KERNEL)
-	struct callout_handle ipf_slow_ch;
+	struct callout ipf_slow_ch;
 #endif
 #if defined(linux) && defined(_KERNEL)
 	struct timer_list	ipf_timer;

Modified: head/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
==============================================================================
--- head/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c	Sat Sep 21 03:57:56 2013	(r255754)
+++ head/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c	Sat Sep 21 04:05:38 2013	(r255755)
@@ -178,11 +178,13 @@ ipf_timer_func(arg)
 		ipf_slowtimer(softc);
 
 	if (softc->ipf_running == -1 || softc->ipf_running == 1) {
-#if FREEBSD_GE_REV(300000)
+#if 0
 		softc->ipf_slow_ch = timeout(ipf_timer_func, softc, hz/2);
-#else
-		timeout(ipf_timer_func, softc, hz/2);
 #endif
+		callout_init(&softc->ipf_slow_ch, CALLOUT_MPSAFE);
+		callout_reset(&softc->ipf_slow_ch,
+			(hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT,
+			ipf_timer_func, softc);
 	}
 	RWLOCK_EXIT(&softc->ipf_global);
 	SPL_X(s);
@@ -223,8 +225,13 @@ ipfattach(softc)
 	ipid = 0;
 
 	SPL_X(s);
+#if 0
 	softc->ipf_slow_ch = timeout(ipf_timer_func, softc,
 				     (hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT);
+#endif
+	callout_init(&softc->ipf_slow_ch, CALLOUT_MPSAFE);
+	callout_reset(&softc->ipf_slow_ch, (hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT,
+		ipf_timer_func, softc);
 	return 0;
 }
 
@@ -246,9 +253,12 @@ ipfdetach(softc)
 
 	SPL_NET(s);
 
+#if 0
 	if (softc->ipf_slow_ch.callout != NULL)
 		untimeout(ipf_timer_func, softc, softc->ipf_slow_ch);
 	bzero(&softc->ipf_slow, sizeof(softc->ipf_slow));
+#endif
+	callout_drain(&softc->ipf_slow_ch);
 
 #ifndef NETBSD_PF
 	if (ipf_checkp != NULL)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309210405.r8L45dXM025973>