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 <dwallacelf@gmail.com> (cherry picked from commit caa52f3f93fba4685aa91124646683529de38725)
This commit is contained in:
Dave Wallace
committed by
Andrew Yourtchenko
parent
7367691e44
commit
bb49148160
15
build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch
vendored
Normal file
15
build/external/patches/quicly_0.0.5-vpp/0002-quicly-rtt-time-skew.patch
vendored
Normal file
@ -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,
|
Reference in New Issue
Block a user