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:
Mohan Srinivasan 2006-08-26 17:53:19 +00:00
parent aed760ef8a
commit 2374501ca4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=161645
2 changed files with 8 additions and 0 deletions

View File

@ -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);
}

View File

@ -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);
}