diff options
author | Lawrence Brakmo <brakmo@fb.com> | 2016-05-11 13:02:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-05-11 14:43:19 -0400 |
commit | 756ee1729b2feb3a45767da29e338f70f2086ba3 (patch) | |
tree | 9329409e197d2912d3fba7e247a57239996c99e9 /include/net/tcp.h | |
parent | cf88585b1d5ce49515aabb381812976e2840a967 (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.h | 7 |
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 | ||
855 | union tcp_cc_info; | 855 | union tcp_cc_info; |
856 | 856 | ||
857 | struct ack_sample { | ||
858 | u32 pkts_acked; | ||
859 | s32 rtt_us; | ||
860 | }; | ||
861 | |||
857 | struct tcp_congestion_ops { | 862 | struct 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); |