From 46be7e92b424d4d55a63aacaaf736882560f6397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Fri, 22 Oct 2021 15:04:27 +0200 Subject: [PATCH] MINOR: quic: Increase the size of handshake RX UDP datagrams Some browsers may send Initial packets with sizes greater than 1252 bytes (QUIC_INITIAL_IPV4_MTU). Let us increase this size limit up to 2048 bytes. Also use this size for "max_udp_payload_size" transport parameter to limit the size of the datagrams we want to receive. --- include/haproxy/xprt_quic-t.h | 2 +- src/xprt_quic.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/haproxy/xprt_quic-t.h b/include/haproxy/xprt_quic-t.h index 9e282f5d5..07ccf2319 100644 --- a/include/haproxy/xprt_quic-t.h +++ b/include/haproxy/xprt_quic-t.h @@ -50,7 +50,7 @@ typedef unsigned long long ull; #define QUIC_INITIAL_IPV6_MTU 1232 /* XXX TO DO XXX */ /* Maximum packet length during handshake */ -#define QUIC_PACKET_MAXLEN QUIC_INITIAL_IPV4_MTU +#define QUIC_PACKET_MAXLEN 2048 /* The minimum length of Initial packets. */ #define QUIC_INITIAL_PACKET_MINLEN 1200 diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 783d11e02..49165c38f 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -56,7 +56,7 @@ * before updating them with customized values. */ struct quic_transport_params quic_dflt_transport_params = { - .max_udp_payload_size = QUIC_DFLT_MAX_UDP_PAYLOAD_SIZE, + .max_udp_payload_size = QUIC_PACKET_MAXLEN, .ack_delay_exponent = QUIC_DFLT_ACK_DELAY_COMPONENT, .max_ack_delay = QUIC_DFLT_MAX_ACK_DELAY, .active_connection_id_limit = QUIC_ACTIVE_CONNECTION_ID_LIMIT,