MINOR: quic: Add a trace about variable states in qc_prep_fast_retrans()

This has already been very useful to diagnose retransmission issues.

Must be backported to 2.6 and 2.7.
This commit is contained in:
Frdric Lcaille 2023-01-30 17:27:32 +01:00 committed by Willy Tarreau
parent b75eecc874
commit 6dead91b8a

View 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); pkt = eb64_entry(node, struct quic_tx_packet, pn_node);
node = eb64_next(node); node = eb64_next(node);
/* Skip the empty and coalesced packets */ /* 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)) if (!LIST_ISEMPTY(&pkt->frms) && !(pkt->flags & QUIC_FL_TX_PACKET_COALESCED))
break; 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) */ /* Skip the empty packet (they have already been retransmitted) */
while (node) { while (node) {
pkt = eb64_entry(node, struct quic_tx_packet, pn_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)) if (!LIST_ISEMPTY(&pkt->frms) && !(pkt->flags & QUIC_FL_TX_PACKET_COALESCED))
break; break;
node = eb64_next(node); node = eb64_next(node);