[TCP]: Add pluggable congestion control algorithm infrastructure.
Allow TCP to have multiple pluggable congestion control algorithms. Algorithms are defined by a set of operations and can be built in or modules. The legacy "new RENO" algorithm is used as a starting point and fallback. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a8ad86f2dc
commit
317a76f9a4
@@ -774,6 +774,8 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
|
||||
newtp->frto_counter = 0;
|
||||
newtp->frto_highmark = 0;
|
||||
|
||||
newtp->ca_ops = &tcp_reno;
|
||||
|
||||
tcp_set_ca_state(newtp, TCP_CA_Open);
|
||||
tcp_init_xmit_timers(newsk);
|
||||
skb_queue_head_init(&newtp->out_of_order_queue);
|
||||
@@ -842,8 +844,6 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req,
|
||||
if (newtp->ecn_flags&TCP_ECN_OK)
|
||||
sock_set_flag(newsk, SOCK_NO_LARGESEND);
|
||||
|
||||
tcp_ca_init(newtp);
|
||||
|
||||
TCP_INC_STATS_BH(TCP_MIB_PASSIVEOPENS);
|
||||
}
|
||||
return newsk;
|
||||
|
||||
Reference in New Issue
Block a user