aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2025-01-06 10:19:56 +0400
committerRoman Arutyunyan <arutyunyan.roman@gmail.com>2025-04-15 19:01:36 +0400
commita40cc700238796d6668a461e121f6ffee5066394 (patch)
tree8e40f75b586cdb4ab02c1f72fd1c1157dff590e1
parent6bf13e9d57bbc664ac055cdb58c738b09a0f0189 (diff)
downloadnginx-a40cc700238796d6668a461e121f6ffee5066394.tar.gz
nginx-a40cc700238796d6668a461e121f6ffee5066394.zip
QUIC: ignore congestion control when sending MTU probes.
If connection is network-limited, MTU probes have little chance of being sent since congestion window is almost always full. As a result, PMTUD may not be able to reach the real MTU and the connection may operate with a reduced MTU. The solution is to ignore the congestion window. This may lead to a temporary increase in in-flight count beyond congestion window.
-rw-r--r--src/event/quic/ngx_event_quic_migration.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/event/quic/ngx_event_quic_migration.c b/src/event/quic/ngx_event_quic_migration.c
index 463eeb503..1d914ffd8 100644
--- a/src/event/quic/ngx_event_quic_migration.c
+++ b/src/event/quic/ngx_event_quic_migration.c
@@ -924,6 +924,7 @@ ngx_quic_send_path_mtu_probe(ngx_connection_t *c, ngx_quic_path_t *path)
frame->level = ssl_encryption_application;
frame->type = NGX_QUIC_FT_PING;
frame->ignore_loss = 1;
+ frame->ignore_congestion = 1;
qc = ngx_quic_get_connection(c);
ctx = ngx_quic_get_send_ctx(qc, ssl_encryption_application);