diff options
author | Thomas Kurschel <topical@gmx.net> | 2021-03-15 13:28:52 +0000 |
---|---|---|
committer | Kristof Provost <kp@FreeBSD.org> | 2021-03-31 13:09:08 +0000 |
commit | 343fee4cd023da0f7ed64e19f3d2351083fe963c (patch) | |
tree | da25e0b6d4c57fd579cfa910e0dcf649b4ffeff8 | |
parent | a25c17022e2d6344dcbc6192af276d2798d76d44 (diff) | |
download | src-343fee4cd023da0f7ed64e19f3d2351083fe963c.tar.gz src-343fee4cd023da0f7ed64e19f3d2351083fe963c.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
(cherry picked from commit 9f2e5184173f6af70306678b018270df9a9600f2)
-rw-r--r-- | sys/netpfil/pf/if_pfsync.c | 4 |
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 |