diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2005-11-10 17:14:59 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-11-10 17:14:59 -0800 |
commit | 6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (patch) | |
tree | 09775f0479168cd53494155a5789e78df218b497 /include/linux/tcp.h | |
parent | caa20d9abe810be2ede9612b6c9db6ce7d6edf80 (diff) | |
download | lwn-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.tar.gz lwn-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.zip |
[TCP]: speed up SACK processing
Use "hints" to speed up the SACK processing. Various forms
of this have been used by TCP developers (Web100, STCP, BIC)
to avoid the 2x linear search of outstanding segments.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r-- | include/linux/tcp.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 737b32e52956..0e1da6602e05 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -307,6 +307,21 @@ struct tcp_sock { struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ + struct tcp_sack_block recv_sack_cache[4]; + + /* from STCP, retrans queue hinting */ + struct sk_buff* lost_skb_hint; + + struct sk_buff *scoreboard_skb_hint; + struct sk_buff *retransmit_skb_hint; + struct sk_buff *forward_skb_hint; + struct sk_buff *fastpath_skb_hint; + + int fastpath_cnt_hint; + int lost_cnt_hint; + int retransmit_cnt_hint; + int forward_cnt_hint; + __u16 advmss; /* Advertised MSS */ __u16 prior_ssthresh; /* ssthresh saved at recovery start */ __u32 lost_out; /* Lost packets */ |