mptcp: sockopt: add TCP_CONGESTION and TCP_INFO
TCP_CONGESTION is set for all subflows. The mptcp socket gains icsk_ca_ops too so it can be used to keep the authoritative state that should be set on new/future subflows. TCP_INFO will return first subflow only. The out-of-tree kernel has a MPTCP_INFO getsockopt, this could be added later on. Acked-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a03c99b253
commit
aa1fbd94e5
@@ -2399,6 +2399,9 @@ static int __mptcp_init_sock(struct sock *sk)
|
||||
/* re-use the csk retrans timer for MPTCP-level retrans */
|
||||
timer_setup(&msk->sk.icsk_retransmit_timer, mptcp_retransmit_timer, 0);
|
||||
timer_setup(&sk->sk_timer, mptcp_timeout_timer, 0);
|
||||
|
||||
tcp_assign_congestion_control(sk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2592,6 +2595,8 @@ static void __mptcp_destroy_sock(struct sock *sk)
|
||||
WARN_ON_ONCE(msk->rmem_released);
|
||||
sk_stream_kill_queues(sk);
|
||||
xfrm_sk_free_policy(sk);
|
||||
|
||||
tcp_cleanup_congestion_control(sk);
|
||||
sk_refcnt_debug_release(sk);
|
||||
mptcp_dispose_initial_subflow(msk);
|
||||
sock_put(sk);
|
||||
|
||||
Reference in New Issue
Block a user