QUIC: prevent non‑probing data stall from PATH_CHALLENGE blocked by full cwnd.

Previously PATH_CHALLENGE was not sent if the congestion window was full. Even
with a minimum size of 0 and three retries, a full cwnd kept deferring path
validation and slowed migration.

Now PATH_CHALLENGE is sent even when cwnd is full, preventing probe starvation
and reducing migration delay.
This commit is contained in:
nandsky 2025-07-19 22:48:43 +08:00
parent 7a7846a54a
commit b20783287a

View File

@ -581,6 +581,7 @@ ngx_quic_send_path_challenge(ngx_connection_t *c, ngx_quic_path_t *path)
frame->level = NGX_QUIC_ENCRYPTION_APPLICATION; frame->level = NGX_QUIC_ENCRYPTION_APPLICATION;
frame->type = NGX_QUIC_FT_PATH_CHALLENGE; frame->type = NGX_QUIC_FT_PATH_CHALLENGE;
frame->ignore_congestion = 1;
/* /*
* RFC 9000, 9.4. Loss Detection and Congestion Control * RFC 9000, 9.4. Loss Detection and Congestion Control