diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2007-12-12 11:06:14 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:57:20 -0500 |
commit | 954c2db868ce896325dced91d5fba5e2226897a4 (patch) | |
tree | d74b480530878c25eb770293d786f2e78ace90e7 /net/dccp/ccids/ccid3.h | |
parent | de0d411cb8ea51175f52d935faead5c542b6e007 (diff) |
[CCID3]: Interface CCID3 code with newer Loss Intervals Database
This hooks up the TFRC Loss Interval database with CCID 3 packet reception.
In addition, it makes the CCID-specific computation of the first loss
interval (which requires access to all the guts of CCID3) local to ccid3.c.
The patch also fixes an omission in the DCCP code, that of a default /
fallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while
at it, the upper bound of 4 seconds for an RTT sample has been reduced to
match the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1].
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccids/ccid3.h')
-rw-r--r-- | net/dccp/ccids/ccid3.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/dccp/ccids/ccid3.h b/net/dccp/ccids/ccid3.h index 6ceeb8013f58..e9f6ff4f0552 100644 --- a/net/dccp/ccids/ccid3.h +++ b/net/dccp/ccids/ccid3.h | |||
@@ -41,7 +41,7 @@ | |||
41 | #include <linux/list.h> | 41 | #include <linux/list.h> |
42 | #include <linux/types.h> | 42 | #include <linux/types.h> |
43 | #include <linux/tfrc.h> | 43 | #include <linux/tfrc.h> |
44 | #include "lib/packet_history.h" | 44 | #include "lib/tfrc.h" |
45 | #include "../ccid.h" | 45 | #include "../ccid.h" |
46 | 46 | ||
47 | /* Two seconds as per RFC 3448 4.2 */ | 47 | /* Two seconds as per RFC 3448 4.2 */ |
@@ -141,8 +141,8 @@ enum ccid3_hc_rx_states { | |||
141 | * @ccid3hcrx_bytes_recv - Total sum of DCCP payload bytes | 141 | * @ccid3hcrx_bytes_recv - Total sum of DCCP payload bytes |
142 | * @ccid3hcrx_tstamp_last_feedback - Time at which last feedback was sent | 142 | * @ccid3hcrx_tstamp_last_feedback - Time at which last feedback was sent |
143 | * @ccid3hcrx_tstamp_last_ack - Time at which last feedback was sent | 143 | * @ccid3hcrx_tstamp_last_ack - Time at which last feedback was sent |
144 | * @ccid3hcrx_hist - Packet history | 144 | * @ccid3hcrx_hist - Packet history (loss detection + RTT sampling) |
145 | * @ccid3hcrx_li_hist - Loss Interval History | 145 | * @ccid3hcrx_li_hist - Loss Interval database |
146 | * @ccid3hcrx_s - Received packet size in bytes | 146 | * @ccid3hcrx_s - Received packet size in bytes |
147 | * @ccid3hcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5) | 147 | * @ccid3hcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5) |
148 | */ | 148 | */ |
@@ -156,9 +156,9 @@ struct ccid3_hc_rx_sock { | |||
156 | u32 ccid3hcrx_bytes_recv; | 156 | u32 ccid3hcrx_bytes_recv; |
157 | ktime_t ccid3hcrx_tstamp_last_feedback; | 157 | ktime_t ccid3hcrx_tstamp_last_feedback; |
158 | struct tfrc_rx_hist ccid3hcrx_hist; | 158 | struct tfrc_rx_hist ccid3hcrx_hist; |
159 | struct list_head ccid3hcrx_li_hist; | 159 | struct tfrc_loss_hist ccid3hcrx_li_hist; |
160 | u16 ccid3hcrx_s; | 160 | u16 ccid3hcrx_s; |
161 | u32 ccid3hcrx_pinv; | 161 | #define ccid3hcrx_pinv ccid3hcrx_li_hist.i_mean |
162 | }; | 162 | }; |
163 | 163 | ||
164 | static inline struct ccid3_hc_rx_sock *ccid3_hc_rx_sk(const struct sock *sk) | 164 | static inline struct ccid3_hc_rx_sock *ccid3_hc_rx_sk(const struct sock *sk) |