From 1809c33d6eb52beff14f9d02d811375619d3d347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Mon, 25 Apr 2022 10:24:12 +0200 Subject: [PATCH] MINOR: quic: Mark packets as probing with old data When probing retranmissions with old data are needed for the connection we mark the packets as probing with old data to track them when acknowledged: we do not resend frames with old data when lost. --- src/xprt_quic.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index d688f20b3..b43e65edf 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -3012,6 +3012,9 @@ static int qc_prep_app_pkts(struct quic_conn *qc, struct qring *qr, if (!pkt) goto err; + if (qc->flags & QUIC_FL_CONN_RETRANS_OLD_DATA) + pkt->flags |= QUIC_FL_TX_PACKET_PROBE_WITH_OLD_DATA; + total += pkt->len; /* Set the current datagram as prepared into . */ qc_set_dg(cbuf, pkt->len, pkt); @@ -3133,6 +3136,9 @@ static int qc_prep_pkts(struct quic_conn *qc, struct qring *qr, if (!cur_pkt) goto err; + if (qc->flags & QUIC_FL_CONN_RETRANS_OLD_DATA) + cur_pkt->flags |= QUIC_FL_TX_PACKET_PROBE_WITH_OLD_DATA; + total += cur_pkt->len; /* keep trace of the first packet in the datagram */ if (!first_pkt)