aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/dccp/ccids/ccid3.h90
1 files changed, 55 insertions, 35 deletions
diff --git a/net/dccp/ccids/ccid3.h b/net/dccp/ccids/ccid3.h
index c122e757eb7f..e2e43c1a4726 100644
--- a/net/dccp/ccids/ccid3.h
+++ b/net/dccp/ccids/ccid3.h
@@ -81,26 +81,28 @@ enum ccid3_hc_tx_states {
81 TFRC_SSTATE_TERM, 81 TFRC_SSTATE_TERM,
82}; 82};
83 83
84/** struct ccid3_hc_tx_sock - CCID3 sender half connection sock 84/** struct ccid3_hc_tx_sock - CCID3 sender half-connection socket
85 * 85 *
86 * @ccid3hctx_state - Sender state 86 * @ccid3hctx_x - Current sending rate
87 * @ccid3hctx_x - Current sending rate 87 * @ccid3hctx_x_recv - Receive rate
88 * @ccid3hctx_x_recv - Receive rate 88 * @ccid3hctx_x_calc - Calculated send rate (RFC 3448, 3.1)
89 * @ccid3hctx_x_calc - Calculated send (?) rate 89 * @ccid3hctx_rtt - Estimate of current round trip time in usecs
90 * @ccid3hctx_s - Packet size 90 * @ccid3hctx_p - Current loss event rate (0-1) scaled by 1000000
91 * @ccid3hctx_rtt - Estimate of current round trip time in usecs 91 * @ccid3hctx_s - Packet size
92 * @@ccid3hctx_p - Current loss event rate (0-1) scaled by 1000000 92 * @ccid3hctx_t_rto - Retransmission Timeout (RFC 3448, 3.1)
93 * @ccid3hctx_last_win_count - Last window counter sent 93 * @ccid3hctx_t_ipi - Interpacket (send) interval (RFC 3448, 4.6)
94 * @ccid3hctx_t_last_win_count - Timestamp of earliest packet 94 * @ccid3hctx_state - Sender state, one of %ccid3_hc_tx_states
95 * with last_win_count value sent 95 * @ccid3hctx_last_win_count - Last window counter sent
96 * @ccid3hctx_no_feedback_timer - Handle to no feedback timer 96 * @ccid3hctx_t_last_win_count - Timestamp of earliest packet
97 * @ccid3hctx_idle - FIXME 97 * with last_win_count value sent
98 * @ccid3hctx_t_ld - Time last doubled during slow start 98 * @ccid3hctx_no_feedback_timer - Handle to no feedback timer
99 * @ccid3hctx_t_nom - Nominal send time of next packet 99 * @ccid3hctx_idle - Flag indicating that sender is idling
100 * @ccid3hctx_t_ipi - Interpacket (send) interval 100 * @ccid3hctx_t_ld - Time last doubled during slow start
101 * @ccid3hctx_delta - Send timer delta 101 * @ccid3hctx_t_nom - Nominal send time of next packet
102 * @ccid3hctx_hist - Packet history 102 * @ccid3hctx_delta - Send timer delta
103 */ 103 * @ccid3hctx_hist - Packet history
104 * @ccid3hctx_options_received - Parsed set of retrieved options
105 */
104struct ccid3_hc_tx_sock { 106struct ccid3_hc_tx_sock {
105 struct tfrc_tx_info ccid3hctx_tfrc; 107 struct tfrc_tx_info ccid3hctx_tfrc;
106#define ccid3hctx_x ccid3hctx_tfrc.tfrctx_x 108#define ccid3hctx_x ccid3hctx_tfrc.tfrctx_x
@@ -130,23 +132,41 @@ enum ccid3_hc_rx_states {
130 TFRC_RSTATE_TERM = 127, 132 TFRC_RSTATE_TERM = 127,
131}; 133};
132 134
135/** struct ccid3_hc_rx_sock - CCID3 receiver half-connection socket
136 *
137 * @ccid3hcrx_x_recv - Receiver estimate of send rate (RFC 3448 4.3)
138 * @ccid3hcrx_rtt - Receiver estimate of rtt (non-standard)
139 * @ccid3hcrx_p - current loss event rate (RFC 3448 5.4)
140 * @ccid3hcrx_seqno_nonloss - Last received non-loss sequence number
141 * @ccid3hcrx_ccval_nonloss - Last received non-loss Window CCVal
142 * @ccid3hcrx_ccval_last_counter - Tracks window counter (RFC 4342, 8.1)
143 * @ccid3hcrx_state - receiver state, one of %ccid3_hc_rx_states
144 * @ccid3hcrx_bytes_recv - Total sum of DCCP payload bytes
145 * @ccid3hcrx_tstamp_last_feedback - Time at which last feedback was sent
146 * @ccid3hcrx_tstamp_last_ack - Time at which last feedback was sent
147 * @ccid3hcrx_hist - Packet history
148 * @ccid3hcrx_li_hist - Loss Interval History
149 * @ccid3hcrx_s - Received packet size in bytes
150 * @ccid3hcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
151 * @ccid3hcrx_elapsed_time - Time since packet reception
152 */
133struct ccid3_hc_rx_sock { 153struct ccid3_hc_rx_sock {
134 struct tfrc_rx_info ccid3hcrx_tfrc; 154 struct tfrc_rx_info ccid3hcrx_tfrc;
135#define ccid3hcrx_x_recv ccid3hcrx_tfrc.tfrcrx_x_recv 155#define ccid3hcrx_x_recv ccid3hcrx_tfrc.tfrcrx_x_recv
136#define ccid3hcrx_rtt ccid3hcrx_tfrc.tfrcrx_rtt 156#define ccid3hcrx_rtt ccid3hcrx_tfrc.tfrcrx_rtt
137#define ccid3hcrx_p ccid3hcrx_tfrc.tfrcrx_p 157#define ccid3hcrx_p ccid3hcrx_tfrc.tfrcrx_p
138 u64 ccid3hcrx_seqno_nonloss:48, 158 u64 ccid3hcrx_seqno_nonloss:48,
139 ccid3hcrx_ccval_nonloss:4, 159 ccid3hcrx_ccval_nonloss:4,
140 ccid3hcrx_ccval_last_counter:4; 160 ccid3hcrx_ccval_last_counter:4;
141 enum ccid3_hc_rx_states ccid3hcrx_state:8; 161 enum ccid3_hc_rx_states ccid3hcrx_state:8;
142 u32 ccid3hcrx_bytes_recv; 162 u32 ccid3hcrx_bytes_recv;
143 struct timeval ccid3hcrx_tstamp_last_feedback; 163 struct timeval ccid3hcrx_tstamp_last_feedback;
144 struct timeval ccid3hcrx_tstamp_last_ack; 164 struct timeval ccid3hcrx_tstamp_last_ack;
145 struct list_head ccid3hcrx_hist; 165 struct list_head ccid3hcrx_hist;
146 struct list_head ccid3hcrx_li_hist; 166 struct list_head ccid3hcrx_li_hist;
147 u16 ccid3hcrx_s; 167 u16 ccid3hcrx_s;
148 u32 ccid3hcrx_pinv; 168 u32 ccid3hcrx_pinv;
149 u32 ccid3hcrx_elapsed_time; 169 u32 ccid3hcrx_elapsed_time;
150}; 170};
151 171
152static inline struct ccid3_hc_tx_sock *ccid3_hc_tx_sk(const struct sock *sk) 172static inline struct ccid3_hc_tx_sock *ccid3_hc_tx_sk(const struct sock *sk)