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->loss_cwnd = 0; in dctcp_init()
99 ca->ce_state = 0; in dctcp_init()
101 dctcp_reset(tp, ca); in dctcp_init()
114 struct dctcp *ca = inet_csk_ca(sk); in dctcp_ssthresh() local
117 ca->loss_cwnd = tp->snd_cwnd; in dctcp_ssthresh()
118 return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->dctcp_alpha) >> 11U), 2U); in dctcp_ssthresh()
129 struct dctcp *ca = inet_csk_ca(sk); in dctcp_ce_state_0_to_1() local
132 if (!ca->ce_state) { in dctcp_ce_state_0_to_1()
138 __tcp_send_ack(sk, ca->prior_rcv_nxt); in dctcp_ce_state_0_to_1()
142 ca->prior_rcv_nxt = tp->rcv_nxt; in dctcp_ce_state_0_to_1()
143 ca->ce_state = 1; in dctcp_ce_state_0_to_1()
150 struct dctcp *ca = inet_csk_ca(sk); in dctcp_ce_state_1_to_0() local
153 if (ca->ce_state) { in dctcp_ce_state_1_to_0()
159 __tcp_send_ack(sk, ca->prior_rcv_nxt); in dctcp_ce_state_1_to_0()
163 ca->prior_rcv_nxt = tp->rcv_nxt; in dctcp_ce_state_1_to_0()
164 ca->ce_state = 0; in dctcp_ce_state_1_to_0()
172 struct dctcp *ca = inet_csk_ca(sk); in dctcp_update_alpha() local
173 u32 acked_bytes = tp->snd_una - ca->prior_snd_una; in dctcp_update_alpha()
181 ca->acked_bytes_total += acked_bytes; in dctcp_update_alpha()
182 ca->prior_snd_una = tp->snd_una; in dctcp_update_alpha()
185 ca->acked_bytes_ecn += acked_bytes; in dctcp_update_alpha()
189 if (!before(tp->snd_una, ca->next_seq)) { in dctcp_update_alpha()
190 u64 bytes_ecn = ca->acked_bytes_ecn; in dctcp_update_alpha()
191 u32 alpha = ca->dctcp_alpha; in dctcp_update_alpha()
201 do_div(bytes_ecn, max(1U, ca->acked_bytes_total)); in dctcp_update_alpha()
209 WRITE_ONCE(ca->dctcp_alpha, alpha); in dctcp_update_alpha()
210 dctcp_reset(tp, ca); in dctcp_update_alpha()
217 struct dctcp *ca = inet_csk_ca(sk); in dctcp_state() local
227 ca->dctcp_alpha = DCTCP_MAX_ALPHA; in dctcp_state()
249 const struct dctcp *ca = inet_csk_ca(sk); in dctcp_get_info() local
259 info->dctcp.dctcp_ce_state = (u16) ca->ce_state; in dctcp_get_info()
260 info->dctcp.dctcp_alpha = ca->dctcp_alpha; in dctcp_get_info()
261 info->dctcp.dctcp_ab_ecn = ca->acked_bytes_ecn; in dctcp_get_info()
262 info->dctcp.dctcp_ab_tot = ca->acked_bytes_total; in dctcp_get_info()
273 const struct dctcp *ca = inet_csk_ca(sk); in dctcp_cwnd_undo() local
275 return max(tcp_sk(sk)->snd_cwnd, ca->loss_cwnd); in dctcp_cwnd_undo()