mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MINOR: quic: Useless probing retransmission in draining or killing state
The timer task responsible of triggering probing retransmission did not inspect the state of the connection before doing its job. But there is no need to probe the peer when the connection is in draining or killing state. About the draining state, this is even forbidden. Must be backported to 2.7 and 2.6.
This commit is contained in:
parent
c6bec2a3af
commit
d21c628ffd
@ -5352,8 +5352,16 @@ struct task *qc_process_timer(struct task *task, void *ctx, unsigned int state)
|
||||
TRACE_ENTER(QUIC_EV_CONN_PTIMER, qc);
|
||||
TRACE_PROTO("process timer", QUIC_EV_CONN_PTIMER, qc,
|
||||
NULL, NULL, &qc->path->ifae_pkts);
|
||||
|
||||
task->expire = TICK_ETERNITY;
|
||||
pktns = quic_loss_pktns(qc);
|
||||
|
||||
if (qc->flags & (QUIC_FL_CONN_DRAINING|QUIC_FL_CONN_TO_KILL)) {
|
||||
TRACE_PROTO("cancelled action (draining state)", QUIC_EV_CONN_PTIMER, qc);
|
||||
task = NULL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (tick_isset(pktns->tx.loss_time)) {
|
||||
struct list lost_pkts = LIST_HEAD_INIT(lost_pkts);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user