]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: define quic_cc_path MTU as constant
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 30 May 2024 12:49:46 +0000 (14:49 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 11 Jul 2024 09:02:44 +0000 (11:02 +0200)
commit96a34d79d9a4497bf738d708f1197402e3a25f7e
treeaa372ce221e6341efd5e02b40526dc1cddf34162
parent35470d518516ab48a01946ffdf4e448522c5cee6
MINOR: quic: define quic_cc_path MTU as constant

Future commits will implement GSO support to be able to emit multiple
datagrams in a single syscall invocation. This will be used every time
there is more data to sent than the UDP network MTU.

No change will be done for Tx buffer encoding, in particular when using
extra metadata datagram header. When GSO will be used, length field will
contain the total length of all datagrams to emit in a single GSO
syscall send. As such, QUIC send functions will detect that GSO is in
use if total length is greater than MTU.

This last assumption forces to ensure that MTU is constant. Indeed, in
case qc_send() is interrupted, Tx buffer will be left with prepared
datagrams. These datagrams will be emitted at the next qc_send()
invocation. If MTU would change during these two calls, it would be
impossible to know if GSO was used or not. To prevent this, mark <mtu>
field of quic_cc_path as constant.
include/haproxy/quic_cc-t.h
include/haproxy/quic_cc.h