From nobody Tue Feb 10 01:15:01 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:32da:0:0:0:0:0 with SMTP id f26csp607183uao; Sat, 17 Sep 2022 15:29:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5jisdWWFSEsCK+E66DG/g6C+IeSVCvOUdbs9oEaak6cRK2sT1bCFrEWOdo+DGNqN0bgZah X-Received: by 2002:a63:1d1a:0:b0:433:f6ea:dce6 with SMTP id d26-20020a631d1a000000b00433f6eadce6mr9817092pgd.178.1663453783886; Sat, 17 Sep 2022 15:29:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1663453783; cv=pass; d=google.com; s=arc-20160816; b=DsbenSABbSoOhb1iauPGk0afzf2dmZljRyD0lK4WHpAEhImgkbaRPvUXLPgtShcuoA Y00pHlfLBYT9ew8PL+HmsURV1hBkB26r50wC3GWqNQiwn2ZDpVENsFqzZtWZhV6ffvq6 7J2bGt+MWb6VHq1gtm3nyUR1oa4lKsySbOhWaqSYyvQUGXxoOLsdndRt1Y7TCJAsCe9t E1isdvA2eTITYlRMT8AiteK4ufGTTU3azOE6j+j1pyHm8KU6ZH5Xn2ejaIP0qNO7fL2H jQ3C38zaMSbaFS5wCdWdJ44oN6C2ha7RDwILkNjDWJ7vjasKYf2PwEJOez2Ip3j6EhHe kdxg== ARC-Message-Signature: i=2; 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:references:in-reply-to:date :subject:message-id:cc:to:from:dkim-signature; bh=VUQ2DrqX5H85H/h5p3TVuwYf0CORD1YLYTYfaKLasHw=; b=c9gjKbXRyNo6K4z7y8KzOqRAoJ59sNCg24t2DG3+npS4w9UyNEZQaEy7rGNxzG08nP X/ORV3EBqNgvJp2IMeDn9b+7XnOt18UFKvA4iBrncBDS3G7kFt/tTtrdRaq76ts+o1BE e3L+4xYC2hQAkZpE3ZBlZlGGpJePdP7+Gl1wx1EdluvOyR99ReTRcgVCdTQvkC4dTOl2 f83a2IMSzh03R/aH94gCSTBwb5kKBVKz76ExK4xG/gk4b+yOvNDJ2FoCIWV5nuBPpj6C PCsfBUX4vyuy4w+QbjCsnuH5hI98LF5H1UeJIEOqr17hdRKtULPipGMHFiydsl1kLbqP wnBg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@shytyi.net header.s=hs header.b=AOEtPJU6; arc=pass (i=1 spf=pass spfdomain=shytyi.net dkim=pass dkdomain=shytyi.net dmarc=pass fromdomain=shytyi.net>); spf=pass (google.com: domain of mptcp+bounces-6303-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-6303-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 q10-20020a63e94a000000b004359279de16si15330141pgj.648.2022.09.17.15.29.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Sep 2022 15:29:43 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-6303-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; dkim=pass header.i=@shytyi.net header.s=hs header.b=AOEtPJU6; arc=pass (i=1 spf=pass spfdomain=shytyi.net dkim=pass dkdomain=shytyi.net dmarc=pass fromdomain=shytyi.net>); spf=pass (google.com: domain of mptcp+bounces-6303-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-6303-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 59349280C6F for ; Sat, 17 Sep 2022 22:29:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A5E05CA6; Sat, 17 Sep 2022 22:29:34 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from sender11-of-o51.zoho.eu (sender11-of-o51.zoho.eu [31.186.226.237]) (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 E7B525CA4 for ; Sat, 17 Sep 2022 22:29:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; t=1663453761; cv=none; d=zohomail.eu; s=zohoarc; b=IKOipHfF/+bz6XTLwq+rr5gnYjgrL0MTtjhyA5XjAEBf32LWcyqs5swMEYg3CYv0denI1JlSgz0uq6moOiqjZ5uylX5vVA7ql8H24iwE54EkWEnVork2LUk1QPrgx80m/DvrVYoMjz/OacCoCY8lBR4ESDKwyMsmVFoTY/gU9eA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1663453761; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=VUQ2DrqX5H85H/h5p3TVuwYf0CORD1YLYTYfaKLasHw=; b=V+bon2RHZ9xokdm5JrwIW7/XxqdN5nWLY97zlFXsbH6TQoTm/NXhIoUxM4Adb+ccfh+wQJeC3QyGqH+MVeWUE+2QMsP4k0elmyt2bTImVgmcjBopPMM+GX6x4DWf5wsQ1p/UPIDInxO++TQ4QL+T/zPrxe+xcKB2//JZGQpm9dE= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=shytyi.net; spf=pass smtp.mailfrom=dmytro@shytyi.net; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1663453761; s=hs; d=shytyi.net; i=dmytro@shytyi.net; h=From:From:To:To:Cc:Cc:Message-ID:Subject:Subject:Date:Date:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Content-Type:Message-Id:Reply-To; bh=VUQ2DrqX5H85H/h5p3TVuwYf0CORD1YLYTYfaKLasHw=; b=AOEtPJU6Grsq50Cl7kTYEqTEX6HA5E6PaklXSnEJDk/W8KkyOEbb7IGpBlyttSpY cFs5y7xwYAr1nHU/fys6qMG9jeWjmasq2y+MVygxvim7j/vUjZN04zlvwnF67wK5aC1 7kRLLD/cWnmxaImnKVhK0NOq7E7qFUfenImm9+kc= Received: from doris.localdomain (243.34.22.93.rev.sfr.net [93.22.34.243]) by mx.zoho.eu with SMTPS id 1663453758759400.21130895780834; Sun, 18 Sep 2022 00:29:18 +0200 (CEST) From: Dmytro Shytyi To: mptcp@lists.linux.dev Cc: Dmytro Shytyi Message-ID: <20220917222853.2406-7-dmytro@shytyi.net> Subject: [RFC PATCH mptcp-next v7 06/11] add mptcp_setsockopt_fastopen Date: Sun, 18 Sep 2022 00:28:48 +0200 X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220917222853.2406-1-dmytro@shytyi.net> References: <20220917222853.2406-1-dmytro@shytyi.net> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" Add set MPTFO socket option for MPTCP. Signed-off-by: Dmytro Shytyi --- net/mptcp/fastopen.c | 28 ++++++++++++++++++++++++++++ net/mptcp/protocol.h | 2 ++ net/mptcp/sockopt.c | 3 +++ 3 files changed, 33 insertions(+) diff --git a/net/mptcp/fastopen.c b/net/mptcp/fastopen.c index 50b5c3376672..436e773d798a 100644 --- a/net/mptcp/fastopen.c +++ b/net/mptcp/fastopen.c @@ -63,3 +63,31 @@ int mptcp_sendmsg_fastopen(struct sock *sk, struct msghd= r *msg, ret =3D -EFAULT; return ret; } + +int mptcp_setsockopt_sol_tcp_fastopen(struct mptcp_sock *msk, sockptr_t op= tval, + unsigned int optlen) +{ + struct sock *sk =3D (struct sock *)msk; + struct net *net =3D sock_net(sk); + int val; + int ret; + + ret =3D 0; + + if (copy_from_sockptr(&val, optval, sizeof(val))) + return -EFAULT; + + lock_sock(sk); + + if (val >=3D 0 && ((1 << sk->sk_state) & (TCPF_CLOSE | + TCPF_LISTEN))) { + tcp_fastopen_init_key_once(net); + fastopen_queue_tune(sk, val); + } else { + ret =3D -EINVAL; + } + + release_sock(sk); + + return ret; +} diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 5cd14eacd1d6..8caaeeedb9da 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -843,6 +843,8 @@ void mptcp_rfree(struct sk_buff *skb); int mptcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, size_t len, struct mptcp_sock *msk, size_t *copied); +int mptcp_setsockopt_sol_tcp_fastopen(struct mptcp_sock *msk, sockptr_t op= tval, + unsigned int optlen); // Fast Open Mechanism functions end =20 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk) diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 423d3826ca1e..f62f0d63b8e6 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -559,6 +559,7 @@ static bool mptcp_supported_sockopt(int level, int optn= ame) case TCP_NOTSENT_LOWAT: case TCP_TX_DELAY: case TCP_INQ: + case TCP_FASTOPEN: return true; } =20 @@ -796,6 +797,8 @@ static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *= msk, int optname, return mptcp_setsockopt_sol_tcp_nodelay(msk, optval, optlen); case TCP_DEFER_ACCEPT: return mptcp_setsockopt_sol_tcp_defer(msk, optval, optlen); + case TCP_FASTOPEN: + return mptcp_setsockopt_sol_tcp_fastopen(msk, optval, optlen); } =20 return -EOPNOTSUPP; --=20 2.25.1