From nobody Fri Apr 26 09:35:31 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6a06:869:b0:4b8:7781:bd2f with SMTP id d41csp4048439pis; Mon, 2 May 2022 09:53:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweZOdt+hUQMn9Uiqv/C0GglTxLXoJ6wWUQmrfpBt4UUL71+34eN3PqT5dWhsceH4qfPIdn X-Received: by 2002:a17:90b:3507:b0:1dc:68e2:10bc with SMTP id ls7-20020a17090b350700b001dc68e210bcmr98402pjb.30.1651510431329; Mon, 02 May 2022 09:53:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651510431; cv=none; d=google.com; s=arc-20160816; b=QaujJYIdfQps7rkYN/ctr2ZHrwapXV5jx5iFblDYO6ACQX5UuEneYZ97KKMMGn6+yX hp9xBQBvKKrJrIoWOBbQbM/1q295wbikCP8VEoYHMITy3v6PKKxumprrT2qPHKReQrui aqcWFOSFFYLpzh7upSEwbLQeXwcteZCBV5L6WhurSlwsdisJ+PPKCXuEDVqKUk3+F74P M9WIzjxrXuX1u7uxH0j82PkcSUEA/HgLeYd0IPCdEEqJx7PnAawI+PEQV0/lPnazjXoN X1S0wvUaUM7hj63Pltj0oAWBctMVPP9rSZZoAyUWwSBCsG5dDztF3sJ74E9PL9dJ4b3q ntNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=r0gkwhlKCmZmctxm5mRZ/Ufsb9os1mgL1MwAGRep/Zs=; b=wR/tm43ErcdbpbJRqXg5VNkdFD63K1uxxIfSDZmzsrGwZ5rzd970eVckTokYpUczDZ MQw0E1GMKNJGC3GyLi22GRHhXHWfP709O6djr6y7fWDYYPIr6o3aAisotLL5AuskPjFT 1zWCcS+3s++g/nGiXMqyCw1tk3EnKIuFtn+FljXTUhj/eWgmR44edihi5wMxuZ8F5OBM HGwAGNSAxPHtkNl0LP+Fi+pEUwWb94d4QBD0kXYxOtDceGISkklvvmVwuJES4LoE7Uct O1XswWrfP0Hy5cHoliHSE5gO/W+dQUWtATdtthbTApQhaH7SDlp6d8HjH6ekG7pKi1+9 qL4A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of mptcp+bounces-5017-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5017-wpasupplicant.patchew=gmail.com@lists.linux.dev" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id a134-20020a621a8c000000b004fa662b24c0si14086781pfa.330.2022.05.02.09.53.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 May 2022 09:53:51 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-5017-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of mptcp+bounces-5017-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-5017-wpasupplicant.patchew=gmail.com@lists.linux.dev" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 924C7280A75 for ; Mon, 2 May 2022 16:53:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7A7912F33; Mon, 2 May 2022 16:53:49 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [193.142.43.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DBB552F2A for ; Mon, 2 May 2022 16:53:47 +0000 (UTC) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1nlZ2E-0000lO-Ed; Mon, 02 May 2022 18:36:30 +0200 From: Florian Westphal To: mptcp@lists.linux.dev Cc: Florian Westphal Subject: [PATCH mptcp-next] mptcp: sockopt: add TCP_DEFER_ACCEPT support Date: Mon, 2 May 2022 18:36:24 +0200 Message-Id: <20220502163624.6110-1-fw@strlen.de> X-Mailer: git-send-email 2.35.1 Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Support this via passthrough to the underlaying tcp listener socket. Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/271 Signed-off-by: Florian Westphal Reviewed-by: Mat Martineau --- net/mptcp/sockopt.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 826b0c1dae98..423d3826ca1e 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -756,6 +756,18 @@ static int mptcp_setsockopt_v4(struct mptcp_sock *msk,= int optname, return -EOPNOTSUPP; } =20 +static int mptcp_setsockopt_sol_tcp_defer(struct mptcp_sock *msk, sockptr_= t optval, + unsigned int optlen) +{ + struct socket *listener; + + listener =3D __mptcp_nmpc_socket(msk); + if (!listener) + return 0; /* TCP_DEFER_ACCEPT does not fail */ + + return tcp_setsockopt(listener->sk, SOL_TCP, TCP_DEFER_ACCEPT, optval, op= tlen); +} + static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) { @@ -782,6 +794,8 @@ static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *= msk, int optname, return mptcp_setsockopt_sol_tcp_cork(msk, optval, optlen); case TCP_NODELAY: return mptcp_setsockopt_sol_tcp_nodelay(msk, optval, optlen); + case TCP_DEFER_ACCEPT: + return mptcp_setsockopt_sol_tcp_defer(msk, optval, optlen); } =20 return -EOPNOTSUPP; @@ -1142,6 +1156,7 @@ static int mptcp_getsockopt_sol_tcp(struct mptcp_sock= *msk, int optname, case TCP_CONGESTION: case TCP_INFO: case TCP_CC_INFO: + case TCP_DEFER_ACCEPT: return mptcp_getsockopt_first_sf_only(msk, SOL_TCP, optname, optval, optlen); case TCP_INQ: --=20 2.35.1