]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: quic: Non optimal first datagram.
authorFrederic Lecaille <flecaille@haproxy.com>
Fri, 19 Jul 2024 14:06:55 +0000 (16:06 +0200)
committerFrederic Lecaille <flecaille@haproxy.com>
Fri, 19 Jul 2024 14:22:00 +0000 (16:22 +0200)
commit402ce29e9e8e2d8b32c65e21a95e33f2f4d6373c
tree921d59734227a4bcc592fa32b9e42ed3e9d346e8
parent127083a7a28ea5bfb6c74658111f90c9650cb09b
BUG/MINOR: quic: Non optimal first datagram.

This bug arrived with this commit:

     b068e758f MINOR: quic: simplify rescheduling for handshake

This commit introduced a bad side effect. Haproxy always replied by an ACK-only
datagram when it received the first client Initial packet. Then it handled
the CRYPTO data insided. And finally, it sent its own CRYPTO data. This broke
the packet coalescing rule whose aim is to optimally build and send as more
as QUIC packets by datagram.

To fix this, simply partially reverts this commit, to make the low level I/O
task return again if some CRYPTO were received. This will delay the
acknowledgement which will be sent with the CRYPTO data from the same
datagram again.

Must be backported to 3.0.
src/quic_conn.c