Fix for a bug that causes the computation of "len" in tcp_output() to
get messed up, resulting in an inconsistency between the TCP state and so_snd.
This commit is contained in:
parent
e78225039a
commit
a1c6033ca7
@ -1573,6 +1573,10 @@ tcp_mtudisc(struct inpcb *inp, int errno)
|
||||
tcpstat.tcps_mturesent++;
|
||||
tp->t_rtttime = 0;
|
||||
tp->snd_nxt = tp->snd_una;
|
||||
tcp_free_sackholes(tp);
|
||||
tp->snd_recover = tp->snd_max;
|
||||
if (tp->sack_enable)
|
||||
EXIT_FASTRECOVERY(tp);
|
||||
tcp_output(tp);
|
||||
return (inp);
|
||||
}
|
||||
|
@ -1573,6 +1573,10 @@ tcp_mtudisc(struct inpcb *inp, int errno)
|
||||
tcpstat.tcps_mturesent++;
|
||||
tp->t_rtttime = 0;
|
||||
tp->snd_nxt = tp->snd_una;
|
||||
tcp_free_sackholes(tp);
|
||||
tp->snd_recover = tp->snd_max;
|
||||
if (tp->sack_enable)
|
||||
EXIT_FASTRECOVERY(tp);
|
||||
tcp_output(tp);
|
||||
return (inp);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user