aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tcp.h
diff options
context:
space:
mode:
authorDeepti Raghavan <deeptir@mit.edu>2018-07-09 17:53:39 +0000
committerDavid S. Miller <davem@davemloft.net>2018-07-11 23:01:56 -0700
commit4929c9428a171145f82f81aae0c3c25ef7d82837 (patch)
tree06b40ce94924ece01ded4e949be9ba05f977faef /include/net/tcp.h
parentnet: sched: fix unprotected access to rcu cookie pointer (diff)
downloadlinux-dev-4929c9428a171145f82f81aae0c3c25ef7d82837.tar.xz
linux-dev-4929c9428a171145f82f81aae0c3c25ef7d82837.zip
tcp: expose both send and receive intervals for rate sample
Congestion control algorithms, which access the rate sample through the tcp_cong_control function, only have access to the maximum of the send and receive interval, for cases where the acknowledgment rate may be inaccurate due to ACK compression or decimation. Algorithms may want to use send rates and receive rates as separate signals. Signed-off-by: Deepti Raghavan <deeptir@mit.edu> Acked-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--include/net/tcp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index cce37694776e..f6cb20e6e524 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -954,6 +954,8 @@ struct rate_sample {
u32 prior_delivered; /* tp->delivered at "prior_mstamp" */
s32 delivered; /* number of packets delivered over interval */
long interval_us; /* time for tp->delivered to incr "delivered" */
+ u32 snd_interval_us; /* snd interval for delivered packets */
+ u32 rcv_interval_us; /* rcv interval for delivered packets */
long rtt_us; /* RTT of last (S)ACKed packet (or -1) */
int losses; /* number of packets marked lost upon ACK */
u32 acked_sacked; /* number of packets newly (S)ACKed upon ACK */