diff options
author | Andrea Bittau <a.bittau@cs.ucl.ac.uk> | 2006-03-20 20:41:47 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-20 20:41:47 -0500 |
commit | 2a91aa3967398fb94eccc8da67c82bce9f67afdf (patch) | |
tree | 62bf003487121bc629919c85810df11e52016b8f /net/dccp/ccids/ccid2.h | |
parent | aa5d7df3b20e0e493e90e1151510ab3ae8366bb5 (diff) |
[DCCP] CCID2: Initial CCID2 (TCP-Like) implementation
Original work by Andrea Bittau, Arnaldo Melo cleaned up and fixed several
issues on the merge process.
For now CCID2 was turned the default for all SOCK_DCCP connections, but this
will be remedied soon with the merge of the feature negotiation code.
Signed-off-by: Andrea Bittau <a.bittau@cs.ucl.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccids/ccid2.h')
-rw-r--r-- | net/dccp/ccids/ccid2.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/net/dccp/ccids/ccid2.h b/net/dccp/ccids/ccid2.h new file mode 100644 index 000000000000..0b08c90955a9 --- /dev/null +++ b/net/dccp/ccids/ccid2.h | |||
@@ -0,0 +1,69 @@ | |||
1 | /* | ||
2 | * net/dccp/ccids/ccid2.h | ||
3 | * | ||
4 | * Copyright (c) 2005 Andrea Bittau <a.bittau@cs.ucl.ac.uk> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
19 | */ | ||
20 | #ifndef _DCCP_CCID2_H_ | ||
21 | #define _DCCP_CCID2_H_ | ||
22 | |||
23 | struct ccid2_seq { | ||
24 | u64 ccid2s_seq; | ||
25 | unsigned long ccid2s_sent; | ||
26 | int ccid2s_acked; | ||
27 | struct ccid2_seq *ccid2s_prev; | ||
28 | struct ccid2_seq *ccid2s_next; | ||
29 | }; | ||
30 | |||
31 | /** struct ccid2_hc_tx_sock - CCID2 TX half connection | ||
32 | * | ||
33 | * @ccid2hctx_ssacks - ACKs recv in slow start | ||
34 | * @ccid2hctx_acks - ACKS recv in AI phase | ||
35 | * @ccid2hctx_sent - packets sent in this window | ||
36 | * @ccid2hctx_lastrtt -time RTT was last measured | ||
37 | * @ccid2hctx_arsent - packets sent [ack ratio] | ||
38 | * @ccid2hctx_ackloss - ack was lost in this win | ||
39 | * @ccid2hctx_rpseq - last consecutive seqno | ||
40 | * @ccid2hctx_rpdupack - dupacks since rpseq | ||
41 | */ | ||
42 | struct ccid2_hc_tx_sock { | ||
43 | int ccid2hctx_cwnd; | ||
44 | int ccid2hctx_ssacks; | ||
45 | int ccid2hctx_acks; | ||
46 | int ccid2hctx_ssthresh; | ||
47 | int ccid2hctx_pipe; | ||
48 | int ccid2hctx_numdupack; | ||
49 | struct ccid2_seq *ccid2hctx_seqbuf; | ||
50 | struct ccid2_seq *ccid2hctx_seqh; | ||
51 | struct ccid2_seq *ccid2hctx_seqt; | ||
52 | long ccid2hctx_rto; | ||
53 | long ccid2hctx_srtt; | ||
54 | long ccid2hctx_rttvar; | ||
55 | int ccid2hctx_sent; | ||
56 | unsigned long ccid2hctx_lastrtt; | ||
57 | struct timer_list ccid2hctx_rtotimer; | ||
58 | unsigned long ccid2hctx_arsent; | ||
59 | int ccid2hctx_ackloss; | ||
60 | u64 ccid2hctx_rpseq; | ||
61 | int ccid2hctx_rpdupack; | ||
62 | int ccid2hctx_sendwait; | ||
63 | }; | ||
64 | |||
65 | struct ccid2_hc_rx_sock { | ||
66 | int ccid2hcrx_data; | ||
67 | }; | ||
68 | |||
69 | #endif /* _DCCP_CCID2_H_ */ | ||