]> git.kaiwu.me - nginx.git/commitdiff
QUIC: ignore congestion control when sending MTU probes.
authorRoman Arutyunyan <arut@nginx.com>
Mon, 6 Jan 2025 06:19:56 +0000 (10:19 +0400)
committerRoman Arutyunyan <arutyunyan.roman@gmail.com>
Tue, 15 Apr 2025 15:01:36 +0000 (19:01 +0400)
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.

src/event/quic/ngx_event_quic_migration.c

index 463eeb50335d18be18b18e563e94550177b7037e..1d914ffd83c207942dcb6e5cb331c340ce178bba 100644 (file)
@@ -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);