mbox series

[net-next,0/2] tcp: improve handling of DSACK covering multiple segments

Message ID 20200716191235.1556723-1-priyarjha@google.com
Headers show
Series tcp: improve handling of DSACK covering multiple segments | expand

Message

Priyaranjan Jha July 16, 2020, 7:12 p.m. UTC
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.

Priyaranjan Jha (2):
  tcp: fix segment accounting when DSACK range covers multiple segments
  tcp: add SNMP counter for no. of duplicate segments reported by DSACK

 include/uapi/linux/snmp.h |  1 +
 net/ipv4/proc.c           |  1 +
 net/ipv4/tcp_input.c      | 81 ++++++++++++++++++++++-----------------
 3 files changed, 47 insertions(+), 36 deletions(-)

Comments

David Miller July 17, 2020, 7:54 p.m. UTC | #1
From: Priyaranjan Jha <priyarjha@google.com>
Date: Thu, 16 Jul 2020 12:12:33 -0700

> 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.

Series applied, thank you.