QUIC requires to not have IP fragmentation. By looking at the source code, it seems that QUIC assumes a maximum of 1392:
- Ether=14
- IPv4=20
- UDP=8
- QUIC=1350
Is it a static configuration, or do you have some "tricks" during the "no encryption" initialization phase to change this value (increment or decrement) ?
// Default and initial maximum size in bytes of a QUIC packet. const QuicByteCount kDefaultMaxPacketSize = 1350; // Default initial maximum size in bytes of a QUIC packet for servers. const QuicByteCount kDefaultServerMaxPacketSize = 1000; // The maximum packet size of any QUIC packet, based on ethernet's max size, // minus the IP and UDP headers. IPv6 has a 40 byte header, UPD adds an // additional 8 bytes. This is a total overhead of 48 bytes. Ethernet's // max packet size is 1500 bytes, 1500 - 48 = 1452
https://chromium.googlesource.com/chromium/src/net/+/master/quic/quic_packet_creator.cc
QuicPacketCreator::QuicPacketCreator(QuicConnectionId connection_id, QuicFramer* framer, QuicRandom* random_generator) ... { SetMaxPacketLength(kDefaultMaxPacketSize); }