Marten Seemann
5a1a34df37
implement server-side path validation logic ( #4944 )
2025-02-12 13:50:11 +01:00
Marten Seemann
b47e86cb7f
add a way to reset the MTU discoverer ( #4947 )
...
This will be used when the connection is migrated to a new path.
2025-02-11 04:50:37 +01:00
Marten Seemann
8f27760e60
query MTU discoverer for increases after processing ACK frame ( #4941 )
2025-01-27 13:50:14 +01:00
Marten Seemann
302308335c
migrate the MTU discoverer tests away from Ginkgo ( #4907 )
2025-01-21 20:17:15 +08:00
Marten Seemann
fba6ea90a0
avoid calling time.Now() in the MTU discoverer ( #4906 )
2025-01-21 17:31:10 +08:00
Marten Seemann
5794afbcbf
remove unused member variable in the mtuDiscoverer ( #4905 )
2025-01-21 16:29:45 +08:00
Marten Seemann
0db354456a
make Path MTU Discovery resilient to random packet loss ( #4545 )
2024-06-04 02:10:11 -07:00
Marten Seemann
375fc59084
remove unused SetMax method on the mtuDiscoverer ( #4543 )
2024-05-31 22:00:15 -07:00
Marten Seemann
e41d1f9dd7
logging / qlog: add support for DPLPMTUD ( #4517 )
...
* logging / qlog: add support for DPLPMTUD
* improve the MTU discovery integration test
2024-05-14 02:37:54 -07:00
Marten Seemann
2557fb98b2
initialize the MTU discoverer when processing the transport parameters ( #4514 )
...
On the client side, we always use the configured packet size. This comes
with the risk of failing the handshake if the path doesn't support this
MTU. If the server sends a max_udp_payload_size that's smaller than this
size, we can safely ignore this: Obviously, the server still processed
the (fully padded) Initial packet, despite claiming that it wouldn't do
so.
On the server side, there's no downside to using 1200 bytes until we
received the client's transport parameters:
* If the first packet didn't contain the entire ClientHello, all we can
do is ACK that packet. We don't need a lot of bytes for that.
* If it did, we will have processed the transport parameters and
initialized the MTU discoverer.
2024-05-13 22:50:26 -07:00
Marten Seemann
e90a0d4e03
increase initial packet size to 1280 bytes (for both IPv4 and IPv6) ( #4500 )
2024-05-08 20:55:19 -07:00
Marten Seemann
e1bcedc78c
ackhandler: use a frame handler interface for OnAcked / OnLost of all frame types ( #3888 )
2023-06-04 13:04:28 -07:00
Marten Seemann
bef0f3d31a
pass the maximum packet size from MTU discoverer to packet packer
2023-06-02 18:35:02 +03:00
Marten Seemann
ecaef04695
initialize the MTU discoverer immediately
2023-06-02 18:35:02 +03:00
Marten Seemann
58cedf7a4f
rename module, adjust import paths to quic-go/quic-go ( #3680 )
2023-01-21 19:53:57 -08:00
Marten Seemann
2e98150cd4
don't send path MTU probe packets on a timer ( #3423 )
2022-05-20 03:10:39 -07:00
Marten Seemann
c6ae91a8cf
introduce a mtuDiscoverer interface
2021-03-03 12:00:14 +08:00
Marten Seemann
04642c9e4d
add a MTU discoverer that performs a binary search to determine the MTU
2021-03-03 12:00:14 +08:00