]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: Add a trace about variable states in qc_prep_fast_retrans()
authorFrédéric Lécaille <flecaille@haproxy.com>
Mon, 30 Jan 2023 16:27:32 +0000 (17:27 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 3 Feb 2023 16:55:55 +0000 (17:55 +0100)
This has already been very useful to diagnose retransmission issues.

Must be backported to 2.6 and 2.7.

src/quic_conn.c

index f0935f2103f6f77ed67335b4366e9891d0720a90..e4f1d129008ffcc6b8536407c0f3cfdf668b15ba 100644 (file)
@@ -2471,6 +2471,9 @@ static void qc_prep_fast_retrans(struct quic_conn *qc,
                pkt = eb64_entry(node, struct quic_tx_packet, pn_node);
                node = eb64_next(node);
                /* Skip the empty and coalesced packets */
+               TRACE_PRINTF(TRACE_LEVEL_DEVELOPER, QUIC_EV_CONN_SPPKTS, qc, 0, 0, 0,
+                            "--> pn=%llu (%d %d)", (ull)pkt->pn_node.key,
+                            LIST_ISEMPTY(&pkt->frms), !!(pkt->flags & QUIC_FL_TX_PACKET_COALESCED));
                if (!LIST_ISEMPTY(&pkt->frms) && !(pkt->flags & QUIC_FL_TX_PACKET_COALESCED))
                        break;
        }
@@ -2524,6 +2527,9 @@ static void qc_prep_hdshk_fast_retrans(struct quic_conn *qc,
        /* Skip the empty packet (they have already been retransmitted) */
        while (node) {
                pkt = eb64_entry(node, struct quic_tx_packet, pn_node);
+               TRACE_PRINTF(TRACE_LEVEL_DEVELOPER, QUIC_EV_CONN_SPPKTS, qc, 0, 0, 0,
+                            "--> pn=%llu (%d %d)", (ull)pkt->pn_node.key,
+                            LIST_ISEMPTY(&pkt->frms), !!(pkt->flags & QUIC_FL_TX_PACKET_COALESCED));
                if (!LIST_ISEMPTY(&pkt->frms) && !(pkt->flags & QUIC_FL_TX_PACKET_COALESCED))
                        break;
                node = eb64_next(node);