aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Kurschel <topical@gmx.net>2021-03-15 13:28:52 +0000
committerKristof Provost <kp@FreeBSD.org>2021-03-17 18:18:14 +0000
commit9f2e5184173f6af70306678b018270df9a9600f2 (patch)
tree88cf4f8af9ad2b1737454c926268d59f4f2b244e
parente9f029831fa5747ae1b405f5716c52cb4ebf1e04 (diff)
downloadsrc-9f2e5184173f6af70306678b018270df9a9600f2.tar.gz
src-9f2e5184173f6af70306678b018270df9a9600f2.zip
pfsync: Unconditionally push packets when requesting state updates
When we request a bulk sync we need to ensure we actually send out that request, not just buffer it until we have enough data to send a full packet. PR: 254236 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D29271
-rw-r--r--sys/netpfil/pf/if_pfsync.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c
index cf2ff2ef0926..06bad556e885 100644
--- a/sys/netpfil/pf/if_pfsync.c
+++ b/sys/netpfil/pf/if_pfsync.c
@@ -1960,7 +1960,7 @@ pfsync_request_update(u_int32_t creatorid, u_int64_t id)
nlen += sizeof(struct pfsync_subheader);
if (b->b_len + nlen > sc->sc_ifp->if_mtu) {
- pfsync_sendout(1, 0);
+ pfsync_sendout(0, 0);
nlen = sizeof(struct pfsync_subheader) +
sizeof(struct pfsync_upd_req);
@@ -1968,6 +1968,8 @@ pfsync_request_update(u_int32_t creatorid, u_int64_t id)
TAILQ_INSERT_TAIL(&b->b_upd_req_list, item, ur_entry);
b->b_len += nlen;
+
+ pfsync_push(b);
}
static bool