]> git.ipfire.org Git - thirdparty/bind9.git/commit
Limit TCP pipelining per shared dispatch
authorOndřej Surý <ondrej@isc.org>
Sun, 15 Mar 2026 06:23:33 +0000 (07:23 +0100)
committerOndřej Surý <ondrej@isc.org>
Wed, 6 May 2026 13:05:48 +0000 (15:05 +0200)
commita3ba799eae360b0fca994f5492d57e608ee828db
tree419ad1adb77d72cbd73b0cf4640a55a9c6e93f32
parentcb6a92696a9abda02920b5d99f0d8375b74f0ea5
Limit TCP pipelining per shared dispatch

Cap the number of in-flight queries on a single shared TCP dispatch.
When the limit is reached, the dispatch is removed from the hash
table so subsequent queries get a fresh connection.  The existing
dispatch continues serving its queries until they complete.

This bounds the blast radius of a connection drop: at most N queries
fail simultaneously instead of all queries to that server.

The default limit is 256.  It can be overridden for testing via
'named -T tcppipelining=N'.

(cherry picked from commit 385ceabe8f9d50c13f6781fbed79807ed77da69d)
bin/named/main.c
lib/dns/dispatch.c