--- //depot/vendor/freebsd/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c 2009-08-01 19:30:19.000000000 0000 +++ //depot/user/jhb/cleanup/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c 2012-08-30 02:05:23.000000000 0000 @@ -145,7 +145,7 @@ int ipf_locks_done = 0; #if (__FreeBSD_version >= 300000) -struct callout_handle fr_slowtimer_ch; +struct callout fr_slowtimer_ch; #endif struct selinfo ipfselwait[IPL_LOGSIZE]; @@ -246,8 +246,13 @@ SPL_X(s); #if (__FreeBSD_version >= 300000) - fr_slowtimer_ch = timeout(fr_slowtimer, NULL, - (hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT); +#if (__FreeBSD_version >= 600000) + callout_init(&fr_slowtimer_ch, CALLOUT_MPSAFE); +#else + callout_init(&fr_slowtimer_ch); +#endif + callout_reset(&fr_slowtimer_ch, (hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT, + fr_slowtimer, NULL); #else timeout(fr_slowtimer, NULL, (hz / IPF_HZ_DIVIDE) * IPF_HZ_MULT); #endif @@ -270,9 +275,7 @@ SPL_NET(s); #if (__FreeBSD_version >= 300000) - if (fr_slowtimer_ch.callout != NULL) - untimeout(fr_slowtimer, NULL, fr_slowtimer_ch); - bzero(&fr_slowtimer_ch, sizeof(fr_slowtimer_ch)); + callout_drain(&fr_slowtimer_ch); #else untimeout(fr_slowtimer, NULL); #endif /* FreeBSD */ --- //depot/vendor/freebsd/src/sys/contrib/ipfilter/netinet/ip_frag.c 2007-10-18 21:57:07.000000000 0000 +++ //depot/user/jhb/cleanup/sys/contrib/ipfilter/netinet/ip_frag.c 2012-06-05 12:12:17.000000000 0000 @@ -81,13 +81,14 @@ #include "netinet/ip_auth.h" #include "netinet/ip_proxy.h" #if (__FreeBSD_version >= 300000) +# include # include # if defined(_KERNEL) # ifndef IPFILTER_LKM # include # include # endif -extern struct callout_handle fr_slowtimer_ch; +extern struct callout fr_slowtimer_ch; # endif #endif #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104230000) @@ -870,7 +871,7 @@ timeout_add(&fr_slowtimer_ch, hz/2); # else # if (__FreeBSD_version >= 300000) - fr_slowtimer_ch = timeout(fr_slowtimer, NULL, hz/2); + callout_reset(&fr_slowtimer_ch, hz / 2, fr_slowtimer, NULL); # else # ifdef linux ;