tcp: fix segment accounting when DSACK range covers multiple segments
authorPriyaranjan Jha <priyarjha@google.com>
Thu, 16 Jul 2020 19:12:34 +0000 (12:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jul 2020 19:54:30 +0000 (12:54 -0700)
commita71d77e6be1e29ec809cc7c85d9594e7769406cd
tree72891cb1446933fa3de034a492a64d87f811cfbb
parentdcc82bb0727c08f93a91fa7532b950bafa2598f2
tcp: fix segment accounting when DSACK range covers multiple segments

Currently, while processing DSACK, we assume DSACK covers only one
segment. This leads to significant underestimation of DSACKs with
LRO/GRO. This patch fixes segment accounting with DSACK by estimating
segment count from DSACK sequence range / MSS.

Signed-off-by: Priyaranjan Jha <priyarjha@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yousuk Seung <ysseung@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c