OSDN Git Service

tcp: add SNMP counter for no. of duplicate segments reported by DSACK
authorPriyaranjan Jha <priyarjha@google.com>
Thu, 16 Jul 2020 19:12:35 +0000 (12:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jul 2020 19:54:30 +0000 (12:54 -0700)
commite3a5a1e8b6548f5d37328e2d3571edc5c9e6d7c0
tree9d7078789cda963aeeeb97f5185b2efcd281c4b1
parenta71d77e6be1e29ec809cc7c85d9594e7769406cd
tcp: add SNMP counter for no. of duplicate segments reported by DSACK

There are two existing SNMP counters, TCPDSACKRecv and TCPDSACKOfoRecv,
which are incremented depending on whether the DSACKed range is below
the cumulative ACK sequence number or not. Unfortunately, these both
implicitly assume each DSACK covers only one segment. This makes these
counters unusable for estimating spurious retransmit rates,
or real/non-spurious loss rate.

This patch introduces a new SNMP counter, TCPDSACKRecvSegs, which tracks
the estimated number of duplicate segments based on:
(DSACKed sequence range) / MSS. This counter is usable for estimating
spurious retransmit rates, or real/non-spurious loss rate.

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: David S. Miller <davem@davemloft.net>
include/uapi/linux/snmp.h
net/ipv4/proc.c
net/ipv4/tcp_input.c