aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/tcp.h
diff options
context:
space:
mode:
authorLawrence Brakmo <brakmo@fb.com>2016-05-11 13:02:13 -0400
committerDavid S. Miller <davem@davemloft.net>2016-05-11 14:43:19 -0400
commit756ee1729b2feb3a45767da29e338f70f2086ba3 (patch)
tree9329409e197d2912d3fba7e247a57239996c99e9 /include/net/tcp.h
parentcf88585b1d5ce49515aabb381812976e2840a967 (diff)
tcp: replace cnt & rtt with struct in pkts_acked()
Replace 2 arguments (cnt and rtt) in the congestion control modules' pkts_acked() function with a struct. This will allow adding more information without having to modify existing congestion control modules (tcp_nv in particular needs bytes in flight when packet was sent). As proposed by Neal Cardwell in his comments to the tcp_nv patch. Signed-off-by: Lawrence Brakmo <brakmo@fb.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r--include/net/tcp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 4775a1bba7f7..c9ab561387c4 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -854,6 +854,11 @@ enum tcp_ca_ack_event_flags {
854 854
855union tcp_cc_info; 855union tcp_cc_info;
856 856
857struct ack_sample {
858 u32 pkts_acked;
859 s32 rtt_us;
860};
861
857struct tcp_congestion_ops { 862struct tcp_congestion_ops {
858 struct list_head list; 863 struct list_head list;
859 u32 key; 864 u32 key;
@@ -877,7 +882,7 @@ struct tcp_congestion_ops {
877 /* new value of cwnd after loss (optional) */ 882 /* new value of cwnd after loss (optional) */
878 u32 (*undo_cwnd)(struct sock *sk); 883 u32 (*undo_cwnd)(struct sock *sk);
879 /* hook for packet ack accounting (optional) */ 884 /* hook for packet ack accounting (optional) */
880 void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us); 885 void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample);
881 /* get info for inet_diag (optional) */ 886 /* get info for inet_diag (optional) */
882 size_t (*get_info)(struct sock *sk, u32 ext, int *attr, 887 size_t (*get_info)(struct sock *sk, u32 ext, int *attr,
883 union tcp_cc_info *info); 888 union tcp_cc_info *info);