Merge branch 'tcp-dsack-multi-seg'
authorDavid S. Miller <davem@davemloft.net>
Fri, 17 Jul 2020 19:54:31 +0000 (12:54 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jul 2020 19:54:31 +0000 (12:54 -0700)
commitc4fefd5a33d45fc5f0f3775b367aa129813584e0
tree9d7078789cda963aeeeb97f5185b2efcd281c4b1
parentdcc82bb0727c08f93a91fa7532b950bafa2598f2
parente3a5a1e8b6548f5d37328e2d3571edc5c9e6d7c0
Merge branch 'tcp-dsack-multi-seg'

Priyaranjan Jha says:

====================
tcp: improve handling of DSACK covering multiple segments

Currently, while processing DSACK, we assume DSACK covers only one
segment. This leads to significant underestimation of no. of duplicate
segments with LRO/GRO. Also, the existing SNMP counters, TCPDSACKRecv
and TCPDSACKOfoRecv, make similar assumption for DSACK, which makes them
unusable for estimating spurious retransmit rates.

This patch series fixes the segment accounting with DSACK, by estimating
number of duplicate segments based on: (DSACKed sequence range) / MSS.
It also introduces a new SNMP counter, TCPDSACKRecvSegs, which tracks
the estimated number of duplicate segments.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>