summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2008-05-13 02:54:19 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2008-06-16 13:20:00 -0700
commit99d737e98d81762332242cc82e5604520842911a (patch)
tree0552cad1cbb8ff1584ddbff70a7002927f14c25e /init
parent59a16700219922a1b095abd76caa25fd4417470c (diff)
downloadlwn-99d737e98d81762332242cc82e5604520842911a.tar.gz
lwn-99d737e98d81762332242cc82e5604520842911a.zip
tcp FRTO: work-around inorder receivers
[ upstream commit: 79d44516b4b178ffb6e2159c75584cfcfc097914 ] If receiver consumes segments successfully only in-order, FRTO fallback to conventional recovery produces RTO loop because FRTO's forward transmissions will always get dropped and need to be resent, yet by default they're not marked as lost (which are the only segments we will retransmit in CA_Loss). Price to pay about this is occassionally unnecessarily retransmitting the forward transmission(s). SACK blocks help a bit to avoid this, so it's mainly a concern for NewReno case though SACK is not fully immune either. This change has a side-effect of fixing SACKFRTO problem where it didn't have snd_nxt of the RTO time available anymore when fallback become necessary (this problem would have only occured when RTO would occur for two or more segments and ECE arrives in step 3; no need to figure out how to fix that unless the TODO item of selective behavior is considered in future). Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Reported-by: Damon L. Chesser <damon@damtek.com> Tested-by: Damon L. Chesser <damon@damtek.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions