diff options
author | Kristof Provost <kp@FreeBSD.org> | 2021-12-02 16:30:36 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-12-06 12:25:14 +0000 |
commit | 93a3fa41dcff274180133712a13392d17a3e75a1 (patch) | |
tree | 486a44cf895612b2f8f2a060afa3c24e55873e6d /sys/netpfil | |
parent | 7b02a551f78ed5c4bd55d3b33da55524cd2317a6 (diff) | |
download | src-93a3fa41dcff274180133712a13392d17a3e75a1.tar.gz src-93a3fa41dcff274180133712a13392d17a3e75a1.zip |
pfsync: fix defer timeout
Don't use a fixed number of ticks, but take hz into account so we have a
consistent timeout, regardless of what hz is set up.
Use a 20ms timeout, becaues that's what OpenBSD uses.
Reviewed by: glebius
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D33242
Diffstat (limited to 'sys/netpfil')
-rw-r--r-- | sys/netpfil/pf/if_pfsync.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index a991c7ce5c7f..244e619bbe46 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -316,6 +316,7 @@ static struct pfsync_bucket *pfsync_get_bucket(struct pfsync_softc *, struct pf_kstate *); #define PFSYNC_MAX_BULKTRIES 12 +#define PFSYNC_DEFER_TIMEOUT ((20 * hz) / 1000) VNET_DEFINE(struct if_clone *, pfsync_cloner); #define V_pfsync_cloner VNET(pfsync_cloner) @@ -1769,7 +1770,7 @@ pfsync_defer(struct pf_kstate *st, struct mbuf *m) TAILQ_INSERT_TAIL(&b->b_deferrals, pd, pd_entry); callout_init_mtx(&pd->pd_tmo, &b->b_mtx, CALLOUT_RETURNUNLOCKED); - callout_reset(&pd->pd_tmo, 10, pfsync_defer_tmo, pd); + callout_reset(&pd->pd_tmo, PFSYNC_DEFER_TIMEOUT, pfsync_defer_tmo, pd); pfsync_push(b); |