summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authorcy <cy@FreeBSD.org>2013-09-21 04:05:38 +0000
committercy <cy@FreeBSD.org>2013-09-21 04:05:38 +0000
commit15a9875829d8d06b17573b6f541659006869e005 (patch)
tree2a619ccbe590370b675eaa0143da52770c0503d0 /sys/contrib
parentf85536e875960caa433c4e51cf2b4358851facdd (diff)
downloadFreeBSD-src-15a9875829d8d06b17573b6f541659006869e005.zip
FreeBSD-src-15a9875829d8d06b17573b6f541659006869e005.tar.gz
Convert ipfilter from timeout(9) to callout(9).
Submitted by: jhb Approved by: glebius (mentor) Approved by: re (blanket)
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/ipfilter/netinet/ip_fil.h2
-rw-r--r--sys/contrib/ipfilter/netinet/ip_fil_freebsd.c16
2 files changed, 14 insertions, 4 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_fil.h b/sys/contrib/ipfilter/netinet/ip_fil.h
index 22a11c3..11e8b9b 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil.h
+++ b/sys/contrib/ipfilter/netinet/ip_fil.h
@@ -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;
diff --git a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
index 9d26193..898869a 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
+++ b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
@@ -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)
OpenPOWER on IntegriCloud