aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/netpfil/pf/pf.c52
1 files changed, 29 insertions, 23 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 627133ce221f..0d3f0e4e87b6 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -1437,35 +1437,41 @@ pf_purge_thread(void *unused __unused)
VNET_FOREACH(vnet_iter) {
CURVNET_SET(vnet_iter);
- if (pf_end_threads) {
- pf_end_threads++;
- wakeup(pf_purge_thread);
- kproc_exit(0);
- }
+ if (pf_end_threads) {
+ pf_end_threads++;
+ wakeup(pf_purge_thread);
+ kproc_exit(0);
+ }
- /* Wait while V_pf_default_rule.timeout is initialized. */
- if (V_pf_vnet_active == 0) {
- CURVNET_RESTORE();
- continue;
- }
+ /* Wait until V_pf_default_rule is initialized. */
+ if (V_pf_vnet_active == 0) {
+ CURVNET_RESTORE();
+ continue;
+ }
- /* Process 1/interval fraction of the state table every run. */
- idx = pf_purge_expired_states(idx, pf_hashmask /
+ /*
+ * Process 1/interval fraction of the state
+ * table every run.
+ */
+ idx = pf_purge_expired_states(idx, pf_hashmask /
(V_pf_default_rule.timeout[PFTM_INTERVAL] * 10));
- /* Purge other expired types every PFTM_INTERVAL seconds. */
- if (idx == 0) {
/*
- * Order is important:
- * - states and src nodes reference rules
- * - states and rules reference kifs
+ * Purge other expired types every
+ * PFTM_INTERVAL seconds.
*/
- pf_purge_expired_fragments();
- pf_purge_expired_src_nodes();
- pf_purge_unlinked_rules();
- pfi_kif_purge();
- }
- CURVNET_RESTORE();
+ if (idx == 0) {
+ /*
+ * Order is important:
+ * - states and src nodes reference rules
+ * - states and rules reference kifs
+ */
+ pf_purge_expired_fragments();
+ pf_purge_expired_src_nodes();
+ pf_purge_unlinked_rules();
+ pfi_kif_purge();
+ }
+ CURVNET_RESTORE();
}
VNET_LIST_RUNLOCK();
}