From caa52f3f93fba4685aa91124646683529de38725 Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Fri, 1 Nov 2019 14:41:29 -0400 Subject: quic: fix quicly rtt time skew - This patch to quicly fixes an intermittent failure in the rtt calculation when there is a time skew Type: fix Change-Id: If89c47401ee75c88f0eb65ae888b6914695b2aec Signed-off-by: Dave Wallace --- .../quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch (limited to 'build') diff --git a/build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch b/build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch new file mode 100644 index 00000000000..40ac0276977 --- /dev/null +++ b/build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch @@ -0,0 +1,15 @@ +diff --git a/lib/quicly.c b/lib/quicly.c +index 95d5f13..200515f 100644 +--- a/lib/quicly.c ++++ b/lib/quicly.c +@@ -3551,6 +3551,10 @@ static int handle_ack_frame(quicly_conn_t *conn, struct st_quicly_handle_payload + + QUICLY_PROBE(QUICTRACE_RECV_ACK_DELAY, conn, probe_now(), frame.ack_delay); + ++ /* Detect and fix time skew */ ++ if (now < largest_newly_acked.sent_at) ++ now = largest_newly_acked.sent_at; ++ + /* Update loss detection engine on ack. The function uses ack_delay only when the largest_newly_acked is also the largest acked + * so far. So, it does not matter if the ack_delay being passed in does not apply to the largest_newly_acked. */ + quicly_loss_on_ack_received(&conn->egress.loss, largest_newly_acked.packet_number, now, largest_newly_acked.sent_at, -- cgit 1.2.3-korg