From nobody Mon Feb 9 23:01:40 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:ab0:32da:0:0:0:0:0 with SMTP id f26csp607145uao; Sat, 17 Sep 2022 15:29:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7ORCba95QJ1EEkgUrHCQawQ1jRW4bTnlZqD9oh1nzNkV9Pl/Kaf8GsddZhQ1i7O1jtsCrA X-Received: by 2002:a17:90b:254a:b0:200:53f:891d with SMTP id nw10-20020a17090b254a00b00200053f891dmr12397340pjb.168.1663453778471; Sat, 17 Sep 2022 15:29:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1663453778; cv=pass; d=google.com; s=arc-20160816; b=JmipBANTLpEUXs3raVUXa6yYdaCQ4x9Ryg8py2Tk2KgGJRZaiXI+TLZZaEX/co3oLi mfgmVb1ZZWHosHK+DORSa7obTM77RfLRKRzjFSYiKxkMmoYn9iBOXa8s1Mk/NGAo3GMG 7o9BGTEs2cd6snnj2zQzHecdqKa9c4/VrvTAavZIulGUY+u7RFs4zCesmcMKVSR//tbI jjlIvAxXPkLwBguQA4pNiMGZze0P8E3JKoxQDoQbRlS+lrE9UlxalsD8esajRDdqfJ6z kdGKf+scwglRRR9EGG2aHLAHPSo9DIlU0C0mH0o2Z39oRpuZdvicKPmgSrSuR4cPLUhT Ks3Q== 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=ppfFb8p/8O9dbAZabMWGp/OiVD2Ku9RlmzYx+I9f110=; b=dc8KTqUiUuxk75wkTwlaQo0bg2b46QfW4bPdFURJ+M2+dd9dwHLcpV9+QXwn+TdKRG qoQ9OvvaevSZeVH5nm9ayrl18NutI5BXWi1UfOo7J5vO8vEfSx4RNFm0eLpe8e1ErYuE ztDGfWkwHYl8VVyFn8L14xl8nhrCdrcoWgwSkrdiffWnlgX8dP72IMOze/vuqAGRxvBq Xe61u8UQfTc1YlYqz2ip92rGo8an5+L+BtFPE5TADUqFnBhlSXdsedoyJGwouZ7y056J sp40uyt6o67hD8OXuqqR2ftub4FyAqnIJd77e2uEb8rXWm8k1FlTs6rFi3lKo9X+ny0W UpoQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@shytyi.net header.s=hs header.b=XF9dbnuo; 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-6298-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-6298-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 r200-20020a632bd1000000b0043932315880si17146297pgr.323.2022.09.17.15.29.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 17 Sep 2022 15:29:38 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-6298-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=XF9dbnuo; 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-6298-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="mptcp+bounces-6298-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 C1ECC280C50 for ; Sat, 17 Sep 2022 22:29:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EA1835C80; Sat, 17 Sep 2022 22:29:32 +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 935445CB5 for ; Sat, 17 Sep 2022 22:29:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; t=1663453760; cv=none; d=zohomail.eu; s=zohoarc; b=CZbisGLQBClTomdOl37s56gmZbkxyiZpFqwtbX+M4Fey0XMtcGBpVPcclK4vjw5En190EROafTGvAdIOmpXkjcJlcc2ADL5Vh55nE6RtnaOV0YsWM1ixVg3tN2tmEu/6D1Zx2aEVa182dbl3kBk4y/zc+3Ea3UzrICjyZmqtFrI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1663453760; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=ppfFb8p/8O9dbAZabMWGp/OiVD2Ku9RlmzYx+I9f110=; b=cB1swd5bisr0VwVkPHEpYuIWczSTv9EpPyWXSB1angyNSgPtnWSBVgPDuSNZs8ohh6xf/jAj0bz21RaQJmZDxqjmdxnI3pBAEo5ncA1VfgoX0xVk3YcZ1+QuJWXKPsyogdIFBtQ3Ku+xJq0jvCUeABRkjn84K9SzFvlB0xvOdtM= 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=1663453760; 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=ppfFb8p/8O9dbAZabMWGp/OiVD2Ku9RlmzYx+I9f110=; b=XF9dbnuob+5MUtt2tRLp/x16KlHSgBgqQmT92Sxuclc+9DuqOr/bRqY3IivMxrWA OG0dA2pVJ7N5tJpoGZY0VRzNMPqU5G7mg2WMrn+8dtmZutN2A0VeTs5BhmwLlsqllLk WeO5oTvp4HGqlH8TKEn0TsMazOa6xhoyebDPbLB8= Received: from doris.localdomain (243.34.22.93.rev.sfr.net [93.22.34.243]) by mx.zoho.eu with SMTPS id 1663453759426593.4557057376785; Sun, 18 Sep 2022 00:29:19 +0200 (CEST) From: Dmytro Shytyi To: mptcp@lists.linux.dev Cc: Dmytro Shytyi Message-ID: <20220917222853.2406-10-dmytro@shytyi.net> Subject: [RFC PATCH mptcp-next v7 09/11] Listener: Add received skb to msk Date: Sun, 18 Sep 2022 00:28:51 +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 the received skb on the listener side to msk and set flag mptfo to 1 to treat some parts only in MPTFO case. This function is called from the functions presented in the one of the patch of this serie (mptcp_add_skb helpers). Signed-off-by: Dmytro Shytyi --- net/mptcp/fastopen.c | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/net/mptcp/fastopen.c b/net/mptcp/fastopen.c index 149a4b1d3dac..1b9caf56e02f 100644 --- a/net/mptcp/fastopen.c +++ b/net/mptcp/fastopen.c @@ -107,3 +107,62 @@ void mptcp_treat_hshake_ack_fastopen(struct mptcp_sock= *msk, struct mptcp_subflo atomic64_set(&msk->rcv_wnd_sent, ack_seq); } } + +void mptcp_fastopen_add_skb(struct sock *sk, struct sk_buff *skb, struct r= equest_sock *req) +{ + struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); + struct tcp_request_sock *tcp_r_sock =3D tcp_rsk(req); + struct sock *socket =3D mptcp_subflow_ctx(sk)->conn; + struct mptcp_sock *msk =3D mptcp_sk(socket); + struct tcp_sock *tp =3D tcp_sk(sk); + + if (TCP_SKB_CB(skb)->end_seq =3D=3D tp->rcv_nxt) + return; + + skb =3D skb_clone(skb, GFP_ATOMIC); + if (!skb) + return; + + skb_dst_drop(skb); + + tp->segs_in =3D 0; + tcp_segs_in(tp, skb); + __skb_pull(skb, tcp_hdrlen(skb)); + sk_forced_mem_schedule(sk, skb->truesize); + + TCP_SKB_CB(skb)->seq++; + TCP_SKB_CB(skb)->tcp_flags &=3D ~TCPHDR_SYN; + + tp->rcv_nxt =3D TCP_SKB_CB(skb)->end_seq; + + msk->is_mptfo =3D 1; + + //Solves: WARNING: at 704 _mptcp_move_skbs_from_subflow+0x5d0/0x651 + tp->copied_seq +=3D tp->rcv_nxt - tcp_r_sock->rcv_isn - 1; + + subflow->map_seq =3D mptcp_subflow_get_mapped_dsn(subflow); + + //Solves: BAD mapping: ssn=3D0 map_seq=3D1 map_data_len=3D3 + subflow->ssn_offset =3D tp->copied_seq - 1; + + skb_ext_reset(skb); + + //mptcp_set_owner_r begin + skb_orphan(skb); + skb->sk =3D socket; + skb->destructor =3D mptcp_rfree; + atomic_add(skb->truesize, &socket->sk_rmem_alloc); + msk->rmem_fwd_alloc -=3D skb->truesize; + //mptcp_set owner_r end + + __skb_queue_tail(&msk->receive_queue, skb); + + atomic64_set(&msk->rcv_wnd_sent, mptcp_subflow_get_mapped_dsn(subflow)); + + tp->syn_data_acked =3D 1; + + tp->bytes_received =3D skb->len; + + if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) + tcp_fin(sk); +} --=20 2.25.1