In ->srtt we store 8*srtt to ease the srtt computations with this formula:
srtt = 7/8 * srtt + 1/8 * adjusted_rtt
But its initialization was wrong.
struct quic_loss {
/* The most recent RTT measurement. */
unsigned int latest_rtt;
- /* Smoothed RTT << 4*/
+ /* Smoothed RTT << 3 */
unsigned int srtt;
/* RTT variation << 2 */
unsigned int rtt_var;
static inline void quic_loss_init(struct quic_loss *ql)
{
- ql->srtt = QUIC_LOSS_INITIAL_RTT << 4;
+ ql->srtt = QUIC_LOSS_INITIAL_RTT << 3;
ql->rtt_var = (QUIC_LOSS_INITIAL_RTT >> 1) << 2;
ql->rtt_min = 0;
ql->pto_count = 0;