Skip to content

Commit caea646

Browse files
matttbePaolo Abeni
authored andcommitted
mptcp: sockopt: use new helper for TCP_DEFER_ACCEPT
mptcp_setsockopt_sol_tcp_defer() was doing the same thing as mptcp_setsockopt_first_sf_only() except for the returned code in case of error. Ignoring the error is needed to mimic how TCP_DEFER_ACCEPT is handled when used with "plain" TCP sockets. The specific function for TCP_DEFER_ACCEPT can be replaced by the new mptcp_setsockopt_first_sf_only() helper and errors can be ignored to stay compatible with TCP. A bit of cleanup. Suggested-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Acked-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1 parent e64d4de commit caea646

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

net/mptcp/sockopt.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -758,18 +758,6 @@ static int mptcp_setsockopt_v4(struct mptcp_sock *msk, int optname,
758758
return -EOPNOTSUPP;
759759
}
760760

761-
static int mptcp_setsockopt_sol_tcp_defer(struct mptcp_sock *msk, sockptr_t optval,
762-
unsigned int optlen)
763-
{
764-
struct socket *listener;
765-
766-
listener = __mptcp_nmpc_socket(msk);
767-
if (!listener)
768-
return 0; /* TCP_DEFER_ACCEPT does not fail */
769-
770-
return tcp_setsockopt(listener->sk, SOL_TCP, TCP_DEFER_ACCEPT, optval, optlen);
771-
}
772-
773761
static int mptcp_setsockopt_first_sf_only(struct mptcp_sock *msk, int level, int optname,
774762
sockptr_t optval, unsigned int optlen)
775763
{
@@ -810,7 +798,9 @@ static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname,
810798
case TCP_NODELAY:
811799
return mptcp_setsockopt_sol_tcp_nodelay(msk, optval, optlen);
812800
case TCP_DEFER_ACCEPT:
813-
return mptcp_setsockopt_sol_tcp_defer(msk, optval, optlen);
801+
/* See tcp.c: TCP_DEFER_ACCEPT does not fail */
802+
mptcp_setsockopt_first_sf_only(msk, SOL_TCP, optname, optval, optlen);
803+
return 0;
814804
case TCP_FASTOPEN_CONNECT:
815805
case TCP_FASTOPEN_NO_COOKIE:
816806
return mptcp_setsockopt_first_sf_only(msk, SOL_TCP, optname,

0 commit comments

Comments
 (0)