Lines Matching refs:ca
76 static void dctcp_reset(const struct tcp_sock *tp, struct dctcp *ca) in dctcp_reset() argument
78 ca->next_seq = tp->snd_nxt; in dctcp_reset()
80 ca->acked_bytes_ecn = 0; in dctcp_reset()
81 ca->acked_bytes_total = 0; in dctcp_reset()
91 struct dctcp *ca = inet_csk_ca(sk); in dctcp_init() local
93 ca->prior_snd_una = tp->snd_una; in dctcp_init()
94 ca->prior_rcv_nxt = tp->rcv_nxt; in dctcp_init()
96 ca->dctcp_alpha = min(dctcp_alpha_on_init, DCTCP_MAX_ALPHA); in dctcp_init()
98 ca->delayed_ack_reserved = 0; in dctcp_init()
99 ca->ce_state = 0; in dctcp_init()
101 dctcp_reset(tp, ca); in dctcp_init()
114 const struct dctcp *ca = inet_csk_ca(sk); in dctcp_ssthresh() local
117 return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->dctcp_alpha) >> 11U), 2U); in dctcp_ssthresh()
128 struct dctcp *ca = inet_csk_ca(sk); in dctcp_ce_state_0_to_1() local
134 if (!ca->ce_state && ca->delayed_ack_reserved) { in dctcp_ce_state_0_to_1()
142 tp->rcv_nxt = ca->prior_rcv_nxt; in dctcp_ce_state_0_to_1()
150 ca->prior_rcv_nxt = tp->rcv_nxt; in dctcp_ce_state_0_to_1()
151 ca->ce_state = 1; in dctcp_ce_state_0_to_1()
158 struct dctcp *ca = inet_csk_ca(sk); in dctcp_ce_state_1_to_0() local
164 if (ca->ce_state && ca->delayed_ack_reserved) { in dctcp_ce_state_1_to_0()
172 tp->rcv_nxt = ca->prior_rcv_nxt; in dctcp_ce_state_1_to_0()
180 ca->prior_rcv_nxt = tp->rcv_nxt; in dctcp_ce_state_1_to_0()
181 ca->ce_state = 0; in dctcp_ce_state_1_to_0()
189 struct dctcp *ca = inet_csk_ca(sk); in dctcp_update_alpha() local
190 u32 acked_bytes = tp->snd_una - ca->prior_snd_una; in dctcp_update_alpha()
198 ca->acked_bytes_total += acked_bytes; in dctcp_update_alpha()
199 ca->prior_snd_una = tp->snd_una; in dctcp_update_alpha()
202 ca->acked_bytes_ecn += acked_bytes; in dctcp_update_alpha()
206 if (!before(tp->snd_una, ca->next_seq)) { in dctcp_update_alpha()
208 if (ca->acked_bytes_total == 0) in dctcp_update_alpha()
209 ca->acked_bytes_total = 1; in dctcp_update_alpha()
212 ca->dctcp_alpha = ca->dctcp_alpha - in dctcp_update_alpha()
213 (ca->dctcp_alpha >> dctcp_shift_g) + in dctcp_update_alpha()
214 (ca->acked_bytes_ecn << (10U - dctcp_shift_g)) / in dctcp_update_alpha()
215 ca->acked_bytes_total; in dctcp_update_alpha()
217 if (ca->dctcp_alpha > DCTCP_MAX_ALPHA) in dctcp_update_alpha()
219 ca->dctcp_alpha = DCTCP_MAX_ALPHA; in dctcp_update_alpha()
221 dctcp_reset(tp, ca); in dctcp_update_alpha()
228 struct dctcp *ca = inet_csk_ca(sk); in dctcp_state() local
238 ca->dctcp_alpha = DCTCP_MAX_ALPHA; in dctcp_state()
244 struct dctcp *ca = inet_csk_ca(sk); in dctcp_update_ack_reserved() local
248 if (!ca->delayed_ack_reserved) in dctcp_update_ack_reserved()
249 ca->delayed_ack_reserved = 1; in dctcp_update_ack_reserved()
252 if (ca->delayed_ack_reserved) in dctcp_update_ack_reserved()
253 ca->delayed_ack_reserved = 0; in dctcp_update_ack_reserved()
283 const struct dctcp *ca = inet_csk_ca(sk); in dctcp_get_info() local
293 info->dctcp.dctcp_ce_state = (u16) ca->ce_state; in dctcp_get_info()
294 info->dctcp.dctcp_alpha = ca->dctcp_alpha; in dctcp_get_info()
295 info->dctcp.dctcp_ab_ecn = ca->acked_bytes_ecn; in dctcp_get_info()
296 info->dctcp.dctcp_ab_tot = ca->acked_bytes_total; in dctcp_get_info()