From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6205989jam; Wed, 29 Sep 2021 00:35:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcTiC9o5LmQNSDNEbhdoTvBP0AGacudwW+aRngIcBe6s6lRL73KcQOzcRp96mRbAlWz6kv X-Received: by 2002:a37:e14:: with SMTP id 20mr4025927qko.250.1632900917207; Wed, 29 Sep 2021 00:35:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900917; cv=none; d=google.com; s=arc-20160816; b=FcNTg0W5I1T4AnpNgg1SSD6lxzm6XVLcsWRU2EwmLiwg7d2qeoJRkweN8Ij50c2cpG LpZOXWlVT8DhNLVbSvnR9rLijKqxRId75GgxRFZpmK8+A5SjWlqrhliG8QW4ymtq9P4+ iIVjwpVZ4L7aGHe5ZBSyAcnRaiyIOt0L0aAo5rMYUcnleNHrLylL3Gw6fY7ppyyRVn19 KJ+/+Mikg4yPOFywsxpA3/yHcHdv+1DpfoBQJBemZeiisepbCm6qBmMTuyuBVhZE7FIs v6r5Setejrc8R6DjjL4gvDJDhpwD2/lpFZfuTZlQnXGBPw/OkoPwr1OfFVj5HyeJCTiK FZOA== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=4aN8OfYnqeEF8iGzX/EasTFdzOLaFQ2QrlS8HF72xT8=; b=i34TjgqLlczEGDqnRCaZUNi6nbeLj1xqLhMU/y4hgbd0HnNmoe7hhBegrDMR2OIJfr 6acXQpwh3oyxTr99QF2AdD5jeVo+gs+dcmgNNJ2qfBR0GQGZ1xJ037wYSevL8WjJMImz Jdi8Y/p2SAauMqGNyTYq+u8y+IleucHbKsHbxVHh84becKA8CJMQtbcSSDTpRp4A4TfX KHuMLZECf2/NGWtQd6m5uwYoxbcLYmUIU13+NMwgOxHdPKUFqbvk/FIuDb0cOoV5DanF y58GJd+pxYUIqtuU4hn3anXuevvDQYzPjyvbeD1qN3RlqABmA1FrGJDYQcNuj/+1JQKI DocA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=m1EiTqBi; spf=pass (google.com: domain of mptcp+bounces-2083-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2083-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id f11si959682qkh.187.2021.09.29.00.35.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:17 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2083-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=m1EiTqBi; spf=pass (google.com: domain of mptcp+bounces-2083-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2083-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 ewr.edge.kernel.org (Postfix) with ESMTPS id E2B781C0DAE for ; Wed, 29 Sep 2021 07:35:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5AE853FCB; Wed, 29 Sep 2021 07:35:15 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 635A82FB6 for ; Wed, 29 Sep 2021 07:35:14 +0000 (UTC) Received: by mail-pf1-f180.google.com with SMTP id 145so1190828pfz.11 for ; Wed, 29 Sep 2021 00:35:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4aN8OfYnqeEF8iGzX/EasTFdzOLaFQ2QrlS8HF72xT8=; b=m1EiTqBiaZQ9k/pGJ52R7ariuPic1R1Vun2EK+5iqGclKeJzBULgnraAJnMIKmHHuv hl6zxBGaxc6ThSJxPSRQAzMzPyfWtfmi9obYb1AVxUe+Dni8xCICbmTXHQFTRhTE5nBV zGRdaP/cDK0uPf2S7cNrmtlTNZ1fFr0ZFpW4UKsUBlA1NloKop/rT336bTpaHROFVaTC pS/bAbAAJNaKO9BSin0JglpNvxOPrljSxatE1KqjP0i7xuCnN1YVPW5YrJkS/2VeID+r 6eNJs64Smr+84ZOruK91lz5s5Otw7BEFKSTslsOcgLd3mc/py/f1Ek1HdWI1LpZZoGAQ Ba8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4aN8OfYnqeEF8iGzX/EasTFdzOLaFQ2QrlS8HF72xT8=; b=gNVe5tvypNHX+O1zZPpcysV5iA2u1SDWZZ9gJnF6wKOMdpTEBp60tH/ezqNTil0BkD vG7uBkZAa3EW7dSPFnzIPVKurBAJjGf2a8wYl6SKo5ht1uylrSUXYbl/2i9GhL4fZ/sh zPFgpUPePDxix5cPEm+G+ZnVcOMLzbecFFje+AYaYykrvf7Th03+Ea29HqqSP/45/xFQ wVsL453odb1wtOAfdS6ft/6VpQ1C/cTu+oayaYyObGGmsnRR622cVXbHVjVNqd7swRg6 R7jut2qCjmKdzcUYfaAMXoxL/PQebBHaVKmZNYk9Dt4xjj3d8y6G2LsAbfcEg+Kd5r8j M3gA== X-Gm-Message-State: AOAM530CuQxrHkU7cgWQB3PGOUjL+u2k1A7p6xChrLXGHcLQFg2CfyP+ bYbnWjf88q433dEWUV3pZE/VdNLnl8nG+g== X-Received: by 2002:a62:2f81:0:b0:44b:b390:956b with SMTP id v123-20020a622f81000000b0044bb390956bmr6071043pfv.30.1632900913859; Wed, 29 Sep 2021 00:35:13 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:13 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 1/9] mptcp: don't send RST for single subflow Date: Wed, 29 Sep 2021 15:34:59 +0800 Message-Id: <92a6c95367cac890556d2483ea61d7ef62dceafa.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" When a bad checksum is detected and a single subflow is in use, don't send RST + MP_FAIL, send data_ack + MP_FAIL instead. Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 6172f380dfb7..92b45a7c997e 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1167,14 +1167,14 @@ static bool subflow_check_data_avail(struct sock *s= sk) /* RFC 8684 section 3.7. */ if (subflow->send_mp_fail) { if (mptcp_has_another_subflow(ssk)) { + ssk->sk_err =3D EBADMSG; + tcp_set_state(ssk, TCP_CLOSE); + subflow->reset_transient =3D 0; + subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; + tcp_send_active_reset(ssk, GFP_ATOMIC); while ((skb =3D skb_peek(&ssk->sk_receive_queue))) sk_eat_skb(ssk, skb); } - ssk->sk_err =3D EBADMSG; - tcp_set_state(ssk, TCP_CLOSE); - subflow->reset_transient =3D 0; - subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; - tcp_send_active_reset(ssk, GFP_ATOMIC); WRITE_ONCE(subflow->data_avail, 0); return true; } --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206004jam; Wed, 29 Sep 2021 00:35:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDTxXOByF57xxvXhrBj8Nu+Kx2LzoNU2WkWXJIUnZ4W/z5LF3gQSGELRMpPNRfDgfhuw+p X-Received: by 2002:ac8:4e4f:: with SMTP id e15mr10404393qtw.186.1632900918347; Wed, 29 Sep 2021 00:35:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900918; cv=none; d=google.com; s=arc-20160816; b=tL3ONelYpslDfPFocUKOVDe02ZNAuDGt+B6f35UzXg5bJGW3o2Jv+Z2IV5UUzMR8BS VEcSRq2in9VXnStP65Lv9hc17EEn+LuD0+7gpoFKeuEeEB6xp08a/X2E+K4x/QaqDIdZ YE718DESGQAP6iau7ithUARQ20f34nz2DUgqINHfWGb7JaCOqIB9vcD62YuB8dQI4+Jc NdWaz+dqajatrykow3JrF8BzReMwqqOz8A+CUmiGV90iWk3ooh4IRhtiliDpVkOFlqXB f9D01tv7wQUBf6BdpyDrMIfNx69tnX4UoEHYh6oh91pSRg3Vcne23BEESFkbwnTJSqUB dc9g== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=ec4XA5uZtuPVlcV402fMuaBeA5erYPIiD1DUsMvpDog=; b=g3i5gaiE+I5+HKDMM5RGNOjFSaaJDJiQuJW7V+CtBZ3rCQCdx/n1Zmde7/Pycf9WGl K+OpNe56vlcSfv8EXLY9PQwgsdmx+SRcpHrkPBJB4qGi2BGzMjO0mOA2fAvT+l5KqjW3 LRR5mtpryUMVkB/CRIX9VGEpS/h88NoG4r1P3e+5ca7Qfcm3sAl88i0XqxBgrXtDRZbt YdgMllMcaRqq2Ya8KhPHMpDG3D5GoFZxm/XrGvXrzyAYlfro1jvwVB7P8TbsRZ9FMuBV SqZhtFzT718IKvxCV8mnu7A+Y20+mBaqhk5sGqTPsvfKvS9xjcXeU2iwiUJOQZefPd/i 8XIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=BZgYNnlM; spf=pass (google.com: domain of mptcp+bounces-2084-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2084-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id e15si1224496qty.303.2021.09.29.00.35.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:18 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2084-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=BZgYNnlM; spf=pass (google.com: domain of mptcp+bounces-2084-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2084-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 ewr.edge.kernel.org (Postfix) with ESMTPS id 095FA1C0DAE for ; Wed, 29 Sep 2021 07:35:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D0D713FD6; Wed, 29 Sep 2021 07:35:16 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F17213FD3 for ; Wed, 29 Sep 2021 07:35:15 +0000 (UTC) Received: by mail-pj1-f50.google.com with SMTP id g13-20020a17090a3c8d00b00196286963b9so3577974pjc.3 for ; Wed, 29 Sep 2021 00:35:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ec4XA5uZtuPVlcV402fMuaBeA5erYPIiD1DUsMvpDog=; b=BZgYNnlM9+1cj+PUb07BCBvYAXM37VyzUBAs03+fybAauwv57aYDRi1RoSfvIeFG1C lvqGG2gwIzkaYpUlu6V/fqJVl7o6pySWRvfpv2G914ON2eA1MPeB276jqjK0QlbOOyTz btfIPBUee5XZmeB0ZirRi4biSSEEHGs4fRP8ZUwiSsAC7TbOrQCTPrQeynmbPCAOzPlQ zIYi+YnZx3VFKZ4V/2kjC3rawlV1UinxtsHVbjj9T+6lqJGll+Kzkd84Kolp3tw4v6Mz 0fXgYhg7u3gtj+4LFU3HUTxPKsyhKBLGTg8n6xshwmpOim405AYZc3DBGNM4RHvNksXT LDQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ec4XA5uZtuPVlcV402fMuaBeA5erYPIiD1DUsMvpDog=; b=aq67RWySBF/zAVmVG80npx7tRfxIk5t8eso57aSQP7FDO9Ikg4hW0ajicoxaxx5n0a oERYPTLxwICh6y2RZtRVz/dZiCetZzw5JQ4HVvmfwsBoNCeswGl4FzZzsA+JjZeS8Tvd dsbf7v+VCQgltdIJJW9L3emH1dbmJ62GwWP7Hed1xnMxnLmLvqVmhzb7riB68oN9+EyP NRRndwcMII2GZ3y+UZNI5oO8UyeW/6Mq+dPF1PqUWD8B+nI7m4AsoEF//ZKIXpFWooZr HJMqHD8d2SJYs5ZIbfE489UkLbLag69JLoxc/y36R4Y6XOIvmS++Qu789GIwHl7qiSHR gwIQ== X-Gm-Message-State: AOAM530li5cVOI8/PhHan7N9lsN2+hKvg673sKNli/mMxGtzMtl3r1Ff zJgeaUEbWFADoQd5IsK3wI8Enlhp3prpyQ== X-Received: by 2002:a17:90a:2944:: with SMTP id x4mr4944365pjf.131.1632900915466; Wed, 29 Sep 2021 00:35:15 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:15 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v6 2/9] mptcp: add the fallback check Date: Wed, 29 Sep 2021 15:35:00 +0800 Message-Id: <795e3d996791cfb7a45f7d2dc2b4935f1d2b40c2.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added the fallback check in subflow_check_data_avail. Only do the fallback when the msk isn't fallen back yet. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 92b45a7c997e..87a9ffebcc42 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1164,35 +1164,38 @@ static bool subflow_check_data_avail(struct sock *s= sk) return false; =20 fallback: - /* RFC 8684 section 3.7. */ - if (subflow->send_mp_fail) { - if (mptcp_has_another_subflow(ssk)) { + if (!__mptcp_check_fallback(msk)) { + /* RFC 8684 section 3.7. */ + if (subflow->send_mp_fail) { + if (mptcp_has_another_subflow(ssk)) { + ssk->sk_err =3D EBADMSG; + tcp_set_state(ssk, TCP_CLOSE); + subflow->reset_transient =3D 0; + subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; + tcp_send_active_reset(ssk, GFP_ATOMIC); + while ((skb =3D skb_peek(&ssk->sk_receive_queue))) + sk_eat_skb(ssk, skb); + } + WRITE_ONCE(subflow->data_avail, 0); + return true; + } + + if (subflow->mp_join || subflow->fully_established) { + /* fatal protocol error, close the socket. + * subflow_error_report() will introduce the appropriate barriers + */ ssk->sk_err =3D EBADMSG; tcp_set_state(ssk, TCP_CLOSE); subflow->reset_transient =3D 0; - subflow->reset_reason =3D MPTCP_RST_EMIDDLEBOX; + subflow->reset_reason =3D MPTCP_RST_EMPTCP; tcp_send_active_reset(ssk, GFP_ATOMIC); - while ((skb =3D skb_peek(&ssk->sk_receive_queue))) - sk_eat_skb(ssk, skb); + WRITE_ONCE(subflow->data_avail, 0); + return false; } - WRITE_ONCE(subflow->data_avail, 0); - return true; - } =20 - if (subflow->mp_join || subflow->fully_established) { - /* fatal protocol error, close the socket. - * subflow_error_report() will introduce the appropriate barriers - */ - ssk->sk_err =3D EBADMSG; - tcp_set_state(ssk, TCP_CLOSE); - subflow->reset_transient =3D 0; - subflow->reset_reason =3D MPTCP_RST_EMPTCP; - tcp_send_active_reset(ssk, GFP_ATOMIC); - WRITE_ONCE(subflow->data_avail, 0); - return false; + __mptcp_do_fallback(msk); } =20 - __mptcp_do_fallback(msk); skb =3D skb_peek(&ssk->sk_receive_queue); subflow->map_valid =3D 1; subflow->map_seq =3D READ_ONCE(msk->ack_seq); --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206029jam; Wed, 29 Sep 2021 00:35:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzw6nfY7J4I1zfZ9myyxeOEFoyize7iAIh/uck1KwDht5dE3tpjhysJxc0++Ff5q2NAEYce X-Received: by 2002:a17:90a:e7d2:: with SMTP id kb18mr4865231pjb.23.1632900919666; Wed, 29 Sep 2021 00:35:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900919; cv=none; d=google.com; s=arc-20160816; b=gPqWD7YMF04idarpbafgoOXSJDRVkXKSHUVWU5IZfjdPo5THVcYmgNHlJRT17JI1h7 DR9n3xwLHoCUetbQ7NkpelMkZzZ/Qi6o0MSAywAQi/q+jYi26cot87Sj0Y1JLU/WWPk8 f6k0MVAS02yuxcoKCLeU2GrUIBtw5iHnRZiUPZCTIwLLs+QjnIJ6XpU/mQw5gDm7P+4b KeCV4u39AdCwFrkhck10puOR97ae/CR0RkFf6M9WpDx0WlyhzQ8tSV+ji0mP80wGPEff 7jgSdLGW1mcTgXZnlc3NQGFAV/SRsa1gQ9WE2kLBgh46VdXx1eqCyWtGbTbMbBune0+C B4jw== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=FppAX8eJVMLGTaoQvmG4lm2DAOe5YwddAwcA0vAT0p4=; b=N4wx0hqsBCpNA9O9yi2Hx99M4jb5OBB5KUItuvo3jjC0KpcyU94vzPTvdtjy6MxvR9 Y06cj1zfc3x+GTs+QW2Ticm5ltXrW8fRpAizndxpjd1FCzHlIJ29yJ3wmAPnAw5PqHTg NIuQV2XYqUYBY4xDgyZg4qvNitj7kOTkKCOPYwcNyz69h7KYn49rpeLzi7l4gzRIFgjI 8owycChVI8cCfqtwcPP0utGobMqasIpyRqGn29IE6YBnZUDkLuwfw/dIKvEM3l/JX4ey hC1IUj02bAo8tySugoqlLcGaTwQ8+ibuFCr+ubBRuvICKJ1n4a4ug23lD0cnd0Etvk/J EJvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=qVmRaOlh; spf=pass (google.com: domain of mptcp+bounces-2085-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2085-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id b10si2109753pgs.191.2021.09.29.00.35.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:19 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2085-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=qVmRaOlh; spf=pass (google.com: domain of mptcp+bounces-2085-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2085-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sjc.edge.kernel.org (Postfix) with ESMTPS id 2710A3E103A for ; Wed, 29 Sep 2021 07:35:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B1B8E3FD3; Wed, 29 Sep 2021 07:35:18 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C33273FCB for ; Wed, 29 Sep 2021 07:35:17 +0000 (UTC) Received: by mail-pf1-f180.google.com with SMTP id 145so1190948pfz.11 for ; Wed, 29 Sep 2021 00:35:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FppAX8eJVMLGTaoQvmG4lm2DAOe5YwddAwcA0vAT0p4=; b=qVmRaOlhls52Gd52XtFm2+pyPgAkWTewY6ytufacweHl15hySVRGe7Kau5axN20j8G HtJQu2WAeY18jHqu+akxgVMNi3CelN48AREL1aC82H287Nv6MFqbx5lOVG0S1lE0Ip32 nD7ftllG5YuTSjQOp0u/bZqKiGUc+bMouLa6ZRgav7oHhIEekVTWiTVg1BwXUcCwjlyv SEVDyiEcW4aZrBAbId6l1x+TqZPvW/HOJqYJ8IBhax1YVNJAiYLlyHls7NuHOSAZ8KSL XwHZdKW3sezqiSEFp97Gms4hdrbugowcjpgHtnf1/Jj3GuF07B2R+lv+eAeQAfFTP0Qo DKcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FppAX8eJVMLGTaoQvmG4lm2DAOe5YwddAwcA0vAT0p4=; b=pkooS2lOKSWh8ul8zObpT5Iv/ZVBZUom3fd5pMlDrOgWON9pwdca6gu45MgRUkRXdn pX8v31u42G2Ag83lWkd+ZLBThoeqduexKpo29zwX3386gSgtX5nLC0yhUFUAowI/AMp0 qLQl5S06TdHB9W+AG7YPO3afDB/ivPbPpBe+aJf3N3ps4hIblP/D4vxvN/hAS3uRHx7f oB0bvi5de6q/p0JKD4XyPspQSMMSvuLNCCsl7AeYmbt60rqJbwHuQSf+HqrDE4GoA1P6 dDNoJcuKThr37osHbmWimR9ztPjPxkZQaCBol4oVIajfCdy1EOOpciC6TUZm2r48o2pV CzkA== X-Gm-Message-State: AOAM531716FHQLDpBgHUB1BohtoZsxpT7pXgYgRq47O/PGuh/kqU2Mr3 GZU7cQk8Kc6gr/2f3oPksmvdz+KeBLjSeA== X-Received: by 2002:a62:1683:0:b0:3f3:814f:4367 with SMTP id 125-20020a621683000000b003f3814f4367mr9715382pfw.68.1632900917255; Wed, 29 Sep 2021 00:35:17 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:16 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v6 3/9] mptcp: track and update contiguous data status Date: Wed, 29 Sep 2021 15:35:01 +0800 Message-Id: <9bed3d49d6b462cebc714587fc48d14402269349.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added a new member allow_infinite_fallback in mptcp_sock, which gets initialized to 'true' when the connection begins and is set to 'false' on any retransmit or successful MP_JOIN. Rename the helper function mptcp_is_data_contiguous() to mptcp_allow_infinite_fallback(). In it, only do infinite mapping fallback if there is a single subflow AND there have been no retransmissions AND there have never been any MP_JOINs. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 2 ++ net/mptcp/protocol.h | 10 +++++++--- net/mptcp/subflow.c | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f8ad049d6941..48979cb82126 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2464,6 +2464,7 @@ static void __mptcp_retrans(struct sock *sk) dfrag->already_sent =3D max(dfrag->already_sent, info.sent); tcp_push(ssk, 0, info.mss_now, tcp_sk(ssk)->nonagle, info.size_goal); + WRITE_ONCE(msk->allow_infinite_fallback, false); } =20 release_sock(ssk); @@ -2542,6 +2543,7 @@ static int __mptcp_init_sock(struct sock *sk) msk->first =3D NULL; inet_csk(sk)->icsk_sync_mss =3D mptcp_sync_mss; WRITE_ONCE(msk->csum_enabled, mptcp_is_checksum_enabled(sock_net(sk))); + WRITE_ONCE(msk->allow_infinite_fallback, true); msk->recovery =3D false; =20 mptcp_pm_data_init(msk); diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 7379ab580a7e..4807e486e762 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -249,6 +249,7 @@ struct mptcp_sock { bool rcv_fastclose; bool use_64bit_ack; /* Set when we received a 64-bit DSN */ bool csum_enabled; + bool allow_infinite_fallback; spinlock_t join_list_lock; struct work_struct work; struct sk_buff *ooo_last_skb; @@ -612,17 +613,20 @@ static inline void mptcp_subflow_tcp_fallback(struct = sock *sk, inet_csk(sk)->icsk_af_ops =3D ctx->icsk_af_ops; } =20 -static inline bool mptcp_has_another_subflow(struct sock *ssk) +static inline bool mptcp_allow_infinite_fallback(struct sock *ssk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(ssk), *tmp; struct mptcp_sock *msk =3D mptcp_sk(subflow->conn); =20 mptcp_for_each_subflow(msk, tmp) { + if (tmp->mp_join) + return false; + if (tmp !=3D subflow) - return true; + return false; } =20 - return false; + return READ_ONCE(msk->allow_infinite_fallback); } =20 void __init mptcp_proto_init(void); diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 87a9ffebcc42..28ed7dc6e170 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1167,7 +1167,7 @@ static bool subflow_check_data_avail(struct sock *ssk) if (!__mptcp_check_fallback(msk)) { /* RFC 8684 section 3.7. */ if (subflow->send_mp_fail) { - if (mptcp_has_another_subflow(ssk)) { + if (!mptcp_allow_infinite_fallback(ssk)) { ssk->sk_err =3D EBADMSG; tcp_set_state(ssk, TCP_CLOSE); subflow->reset_transient =3D 0; --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206048jam; Wed, 29 Sep 2021 00:35:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwXrmXlK2BeXoHErnuciaEyGggGRJjmRDazBQ0OuW7DdFaVKnw5ac/lLWS2p+O3RVtK/sej X-Received: by 2002:a05:6830:791:: with SMTP id w17mr9019187ots.108.1632900921955; Wed, 29 Sep 2021 00:35:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900921; cv=none; d=google.com; s=arc-20160816; b=JFwU7CSWl0omoVlLD0JXXgevXHhJaIsbXV7HqpTKaQBgaTxPCjlBEU9FtwOJWra2OS JqYE+Ib9WJAVXRag9FYe5De0U66AdJxPgAx75Czzlwgv6C6zyallynZJXE+v8/Yr2dsV 1Gh+R40c3waQJTrYtOCTO/1zqNmgrq65mxqUuPtJr8IFShUGaUytptTbvZ/tu4JnMjrK hplT9Dq0huOj/2xnSK39/7g6XhE84/4ddwTu2k03i6mjFVSKG2NGoDyn5ckinzlf28bG 9peO//YtXS/qgqykWHCPEqcBrZPZGgebXXZQEHPTcc/Voi1je2hi8SvoiwDtJXrtG2sd DV0g== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Pom/ZtrOD2M6Ftiy6IIch1Dq64jBCSnUsl5wPAb9gGM=; b=LrugCJek9BoqQp5jRPugBAgiZ63EI9eg1lQ9Q32bMLoeraBGNpQ60LcRt0Qu5HL/fD l8a6KFnZHJUTcdFuk+bIG6F/I+qDqv5gPDxSbHUR9/wcU3ciC5M30r3bGY+7rv3PSHzn XLaeTEYUzxRmnqbww+yhfAHfmbvi/lm/w0UhSJ3Du/UqsIwEp+iY2zNZE2vcq7SKj6E+ Zalw3dHEzOqMMNW+apJENTgPb2u7hk2KUlbIyaBC0J5kVGjwjnCMn3PCOwPbQBAQ+p4+ ZO/Qh92L1cyeNvIVrYmUoXo8wMLN+/icoDVfxqWmZXaLvTOLeuvBQArAXLkq6MvMxObF UpqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=X3Ie37FN; spf=pass (google.com: domain of mptcp+bounces-2086-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-2086-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [147.75.69.165]) by mx.google.com with ESMTPS id bg4si2562388oib.8.2021.09.29.00.35.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:21 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2086-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) client-ip=147.75.69.165; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=X3Ie37FN; spf=pass (google.com: domain of mptcp+bounces-2086-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.69.165 as permitted sender) smtp.mailfrom="mptcp+bounces-2086-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sjc.edge.kernel.org (Postfix) with ESMTPS id 457A13E1040 for ; Wed, 29 Sep 2021 07:35:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6BEFC3FD3; Wed, 29 Sep 2021 07:35:20 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E51C3FCB for ; Wed, 29 Sep 2021 07:35:19 +0000 (UTC) Received: by mail-pf1-f176.google.com with SMTP id q23so1200803pfs.9 for ; Wed, 29 Sep 2021 00:35:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Pom/ZtrOD2M6Ftiy6IIch1Dq64jBCSnUsl5wPAb9gGM=; b=X3Ie37FNvLirRx0wfRRJag/jiO9CTWR9zMjLxriZqsfm9b4OTKfW4PNdpL9jASXgTJ jITE2Bmn7zONkQQe6oF1KqMqxcOJ8pELT1HgyPj3sdhoX773kzzZps1pPxX+2+/a7hvP rSXhMCRDr5tOZS3hbFRSQFGibIsBS3Fp+s1ceIhDsF4mg5EiBOELg43SK20vCtbgC7sf gcWTDqFZ/V9CJpidL+iE6jdQ2UBwtZlIPdKLVqSXfQ6+1w1m8Blo/8zbswY08PjcF5I/ 17fuMs7PvPTVn5xiDKjsFivdOG0HYwwJgurm1nYsSXsvm9IToE9wVxefl2uXjqiPVzbE 2hGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Pom/ZtrOD2M6Ftiy6IIch1Dq64jBCSnUsl5wPAb9gGM=; b=4scRIVKqw18fqyx0aSHMoemq3AytyFnB+9NDg6VEw3TYpV69nc2vm363DdnozdRGql 38ppgjSKN9PJwgnb8IQvmdQi5WOTXxnslxQbhxFmWsxL9lyilNvzBttzNopBYa4bvLRB G8FRESHZpEIhCDkplUekN7y+8HaSmpmJHSDxrdKz3PB7AlRUKlUg+ZtIDtng8ViAThXk QRuaVgb/Aar53Fhye3LpyX/bu176V5UDNrVj1kDZOfiHUoAKE+MVJ0WtBDvfnPq+ZBXg /KKcOA/ExQSok/zhdfXXMKV2TQpY5+sqPMk5hQBJGOMVzNy1AyghMsMqCmdKT+5Xqmbu LR3w== X-Gm-Message-State: AOAM533YSxhpu+dgaj1GLTaggETeVd9kjBpm8g1Bz5z8sf4Exa53iCru riz5yYApF9169GYdj9L4yyZALxtCz1butA== X-Received: by 2002:a63:7447:: with SMTP id e7mr8469274pgn.46.1632900918958; Wed, 29 Sep 2021 00:35:18 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:18 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v6 4/9] mptcp: add last_ack_dss_start in the msk Date: Wed, 29 Sep 2021 15:35:02 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added a new member named last_ack_dss_start to the msk to keep track of the beginning of the last fully-acked data segment. This would be updated in __mptcp_clean_una. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 3 +++ net/mptcp/protocol.h | 1 + 2 files changed, 4 insertions(+) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 48979cb82126..334bbce69fcb 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1071,6 +1071,7 @@ static void __mptcp_clean_una(struct sock *sk) WRITE_ONCE(msk->first_pending, mptcp_send_next(sk)); } =20 + msk->last_ack_dss_start =3D dfrag->data_seq; dfrag_clear(sk, dfrag); cleaned =3D true; } @@ -2891,6 +2892,7 @@ struct sock *mptcp_sk_clone(const struct sock *sk, msk->snd_una =3D msk->write_seq; msk->wnd_end =3D msk->snd_nxt + req->rsk_rcv_wnd; msk->setsockopt_seq =3D mptcp_sk(sk)->setsockopt_seq; + msk->last_ack_dss_start =3D subflow_req->idsn - 1; =20 if (mp_opt->suboptions & OPTIONS_MPTCP_MPC) { msk->can_ack =3D true; @@ -3147,6 +3149,7 @@ void mptcp_finish_connect(struct sock *ssk) WRITE_ONCE(msk->rcv_wnd_sent, ack_seq); WRITE_ONCE(msk->can_ack, 1); WRITE_ONCE(msk->snd_una, msk->write_seq); + WRITE_ONCE(msk->last_ack_dss_start, subflow->idsn - 1); =20 mptcp_pm_new_connection(msk, ssk, 0); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 4807e486e762..7927acf53f06 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -224,6 +224,7 @@ struct mptcp_sock { u64 remote_key; u64 write_seq; u64 snd_nxt; + u64 last_ack_dss_start; u64 ack_seq; u64 rcv_wnd_sent; u64 rcv_data_fin_seq; --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206060jam; Wed, 29 Sep 2021 00:35:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcxN5k2LpyNuJkNqaY/qx+ZNc+jrEJkIKuK9naPV4dgI3qwOzbrS1Ps4TnmTpzpiYfi/i/ X-Received: by 2002:a63:a70e:: with SMTP id d14mr8433446pgf.431.1632900923131; Wed, 29 Sep 2021 00:35:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900923; cv=none; d=google.com; s=arc-20160816; b=QCqYE/hO0vd1TNSSRMS1go7IHa3JrR/Ff3FTVVtQTv7JYg60cOBjNEQOpQErhdsyLe Iq3ZksdPKQDa2fcqHufLeDtByQK5/zG9Zyls6j2Stczaer0enQLIyIDfOxpKYi1AgL1l aDsytIo2pHSKgGp3TN3Ubhv8Y7PVNMutqRsYRh+b8MeYXq8SdS6QBsIZFkLy8t0J4bCw 6LFZnt3rWBr8lNidoaZ1/djFbLt4hY0N2RdblSwUNskCkCgLG7kKXyH7kTE9M0eeatp5 fz9ThkvYyGkuKcPGp0SWdn4FWxt7J6Bf9/vsJU42G33olrAu4eJfmj3Rgwk5MPKqhzOU DFUw== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=sTKax05uNK5ByDTvZtVlCp5fJJbqmfIsYov3HOE/pIo=; b=Im2/CQ6EjFmpM6c9iCKg2xQSod7o4Ff71Rnt+wCU5/+rTCPyy5xFsA+OxWlmRnwIZu ArOciCAl1U8PeajMkNtgRMdie8OPZXDLkQ4n3KGuulFyTujWWg8ha0Zgu9N8JgPWTIxO xNIS2oVj+yHaSL4eU0P3lquwXuFYhLE0dwfRSialY/05NsoQYfrvBGSMEjbsyiycFjWT gA21i32aMSaZ8+YvEByB/hXAvjvgG3cdtagwXX1Td/ZBQayEpELJVyMp49Mkaojd6O7R vnEyJKXtnq0953tpOg76xS3+qufTImL7SJx5ku5RHH/3PGhw4l9bQUFBSGkMGcq4j5Ew EH2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Yy6mF8tn; spf=pass (google.com: domain of mptcp+bounces-2087-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2087-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id v11si2033608plo.64.2021.09.29.00.35.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:23 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2087-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Yy6mF8tn; spf=pass (google.com: domain of mptcp+bounces-2087-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2087-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sjc.edge.kernel.org (Postfix) with ESMTPS id 8997E3E1045 for ; Wed, 29 Sep 2021 07:35:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 24EC43FD6; Wed, 29 Sep 2021 07:35:22 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0CD03FCB for ; Wed, 29 Sep 2021 07:35:20 +0000 (UTC) Received: by mail-pj1-f41.google.com with SMTP id k23so1019189pji.0 for ; Wed, 29 Sep 2021 00:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sTKax05uNK5ByDTvZtVlCp5fJJbqmfIsYov3HOE/pIo=; b=Yy6mF8tnlTTVgIk34mdeSjlJKhbuJxXjpI2v7Np+hAhTBmbaYVxzzziKhWdEAr/RVJ 6TW3JW58N/rlrRSBS4tLjRKwPTluPLfdZvKxekHAyigqjR9ptEi60bfJPg+dkkpvjJBI 74OP3bxF9Ay0r8mdQI+xQa9I+RoyMnGOOB+OHSCFjOzEwlARbvrpxNxSHqzsaj5BqfUf OFSD+KxHB2euP74cw6GbaWHfvNmSQ972XyuouybQdg0cKVlRN3chN3G0HIFe6TVFXq/J k8Aku44eFXrOwdzeeiPLkBNJv330EGIDhPk8+czdS/Ud/8ILdfvPWld5mt19dTDgpM9b SrGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sTKax05uNK5ByDTvZtVlCp5fJJbqmfIsYov3HOE/pIo=; b=loYA5fU6jmHCCUedL84uYPADY1I6rk7GC6fmd3xsv3xhhZLcGLiKzlmUUHJc1PZJ4M JXOhZdGtDaGkqWXZSxcIQd1K1dhwHbSXy7SZnnLuabL0Ji9/8GfHGgRwyKPdWUYpDtyT 5Sh9u2TChijC1RdmcTZKtQ9r1caz2WzzhXYHOvTEcjbsSIL3HqWLWHusaw/KjoBGVSy0 p2jZjGhx4ceVf8HRftfyKhqBhLva6onCrQ3wxSSDPK/ZSpKK7emDgxeDIcKkaIT96TvE QSRiQypj3sKCRIX1yQ+kQqq405p/PeeAMUPk+QBih83KrUwguAnh7tapINDZ3Bmk0nMj usTg== X-Gm-Message-State: AOAM5334DwvY55h31JuUh3jQsMsunmXDyP/YgzkrlNxERrRD5AQeG7na YI416Lrbj2tVGFy5GbsWtUSzenGDd9L5Zw== X-Received: by 2002:a17:90a:ae18:: with SMTP id t24mr4775746pjq.92.1632900920442; Wed, 29 Sep 2021 00:35:20 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:20 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v6 5/9] mptcp: infinite mapping sending Date: Wed, 29 Sep 2021 15:35:03 +0800 Message-Id: <2128ccf27ebb66936b4a908dd5704dd7d7c72807.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added the infinite mapping sending logic. Added a new flag send_infinite_map in struct mptcp_subflow_context. Set it true when a single contiguous subflow is in use in mptcp_pm_mp_fail_received. In mptcp_sendmsg_frag, if this flag is true, call the new function mptcp_update_infinite_map to set the infinite mapping. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- include/net/mptcp.h | 3 ++- net/mptcp/options.c | 2 +- net/mptcp/pm.c | 5 +++++ net/mptcp/protocol.c | 19 +++++++++++++++++++ net/mptcp/protocol.h | 12 ++++++++++++ 5 files changed, 39 insertions(+), 2 deletions(-) diff --git a/include/net/mptcp.h b/include/net/mptcp.h index f83fa48408b3..29e930540ea2 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -35,7 +35,8 @@ struct mptcp_ext { frozen:1, reset_transient:1; u8 reset_reason:4, - csum_reqd:1; + csum_reqd:1, + infinite_map:1; }; =20 #define MPTCP_RM_IDS_MAX 8 diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 422f4acfb3e6..f4591421ed22 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -816,7 +816,7 @@ bool mptcp_established_options(struct sock *sk, struct = sk_buff *skb, =20 opts->suboptions =3D 0; =20 - if (unlikely(__mptcp_check_fallback(msk))) + if (unlikely(__mptcp_check_fallback(msk) && !mptcp_check_infinite_map(skb= ))) return false; =20 if (unlikely(skb && TCP_SKB_CB(skb)->tcp_flags & TCPHDR_RST)) { diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 6ab386ff3294..5b99c0c9c17e 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -251,7 +251,12 @@ void mptcp_pm_mp_prio_received(struct sock *sk, u8 bku= p) =20 void mptcp_pm_mp_fail_received(struct sock *sk, u64 fail_seq) { + struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); + pr_debug("fail_seq=3D%llu", fail_seq); + + if (mptcp_allow_infinite_fallback(sk)) + subflow->send_infinite_map =3D 1; } =20 /* path manager helpers */ diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 334bbce69fcb..5b73493c75c5 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1274,6 +1274,23 @@ static void mptcp_update_data_checksum(struct sk_buf= f *skb, int added) mpext->csum =3D csum_fold(csum_block_add(csum, skb_checksum(skb, offset, = added, 0), offset)); } =20 +static void mptcp_update_infinite_map(struct mptcp_sock *msk, struct sock = *ssk, + struct mptcp_ext *mpext) +{ + if (!mpext) + return; + + mpext->infinite_map =3D 1; + mpext->data_seq =3D READ_ONCE(msk->last_ack_dss_start); + mpext->subflow_seq =3D 0; + mpext->data_len =3D 0; + mpext->csum =3D 0; + + mptcp_subflow_ctx(ssk)->send_infinite_map =3D 0; + pr_fallback(msk); + __mptcp_do_fallback(msk); +} + static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct mptcp_data_frag *dfrag, struct mptcp_sendmsg_info *info) @@ -1406,6 +1423,8 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct= sock *ssk, out: if (READ_ONCE(msk->csum_enabled)) mptcp_update_data_checksum(skb, copy); + if (mptcp_subflow_ctx(ssk)->send_infinite_map) + mptcp_update_infinite_map(msk, ssk, mpext); mptcp_subflow_ctx(ssk)->rel_write_seq +=3D copy; return copy; } diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 7927acf53f06..9da4dd3b2e2d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -433,6 +433,7 @@ struct mptcp_subflow_context { backup : 1, send_mp_prio : 1, send_mp_fail : 1, + send_infinite_map : 1, rx_eof : 1, can_ack : 1, /* only after processing the remote a key */ disposable : 1, /* ctx can be free at ulp release time */ @@ -872,6 +873,17 @@ static inline void mptcp_do_fallback(struct sock *sk) =20 #define pr_fallback(a) pr_debug("%s:fallback to TCP (msk=3D%p)", __func__,= a) =20 +static inline bool mptcp_check_infinite_map(struct sk_buff *skb) +{ + struct mptcp_ext *mpext; + + mpext =3D skb ? mptcp_get_ext(skb) : NULL; + if (mpext && mpext->infinite_map) + return true; + + return false; +} + static inline bool subflow_simultaneous_connect(struct sock *sk) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206080jam; Wed, 29 Sep 2021 00:35:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx16/liAkxKQlp9FOVc21n11KI4F7/xtFllyWIr9I4J5qotbD+/QpFqtJ6QRYUGYHG+COW2 X-Received: by 2002:a17:90b:3a8a:: with SMTP id om10mr4734198pjb.223.1632900924180; Wed, 29 Sep 2021 00:35:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900924; cv=none; d=google.com; s=arc-20160816; b=0jRI/1C/2kMHBC+nxPFcMHh68h3U2W0pt3hv4bnedd7cTqpt0qKHJujfV2yK6rd0/C QQGeltvqvbnp8bSb0CCH4cmIGDaP/3AwSaMNMbzk4TVspPWEmNGGdK7F9EMm6ZrsIPUC +MjjA9XYPHJn0SWs9yd2mYmnMspWgKWGWYsv7ETjFg2L6uQCYrr3VKfE2REIY5a1f0Rx b1U7mZ8PxbApPQZSdJJkJxDUxlJ6TmzbhfKdF5VVjQjhHXwiCsrEVQEJQg0eYhLo+wa9 /ww8qZvGVNc7KPRmm9+hrG3msNJP8HjKO6Hh+uhl4PoMH8x4JYhfL7M/7jCh7SZQvJS6 1k8A== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=tAskNLE7Qo/f0tL7J7L9HMpHqNwlTRqMapHbxJbOPDA=; b=ZW5k3fGfktIxqREDoW+8fMhuMNfnQbxMCh3ObKzz3bc2bBQldbekk2JZzRN3p+Mqt5 z/Sme9Y+yxhuDDfR4ayVlwwfrse5vxTU0xZyM9RfRa0zV1/8ZlEx/W4ckCG1YptocZHp P0NWVz9UCI+V+NaLL/LaQbDFGU2QPj0wGB6cO4qlulByQym9tTGVJ32fN8Zdecx6+Izv MoQwwQyuiz6WRfXwqBGentBXQW8zS03kqkOoo2cyXuzRyO/ik5/1idtODNPiHsObtlEE S/jN6dBTD7FlL+8G49a1euohPnqlmzAIIHqwpyW0NZXKO2wuP+AHnFjgwZjnnV2deNQi EPEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=QQgJNh57; spf=pass (google.com: domain of mptcp+bounces-2088-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2088-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id z7si1955088pgv.624.2021.09.29.00.35.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:24 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2088-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=QQgJNh57; spf=pass (google.com: domain of mptcp+bounces-2088-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2088-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sjc.edge.kernel.org (Postfix) with ESMTPS id BD8613E1060 for ; Wed, 29 Sep 2021 07:35:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4DC023FD3; Wed, 29 Sep 2021 07:35:23 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71DD93FCB for ; Wed, 29 Sep 2021 07:35:22 +0000 (UTC) Received: by mail-pf1-f170.google.com with SMTP id y8so1203538pfa.7 for ; Wed, 29 Sep 2021 00:35:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tAskNLE7Qo/f0tL7J7L9HMpHqNwlTRqMapHbxJbOPDA=; b=QQgJNh57RTDL7Cv1o5cgRyQGCQAPhdMC82+n5HQNBPVtDu9cMa3pyFgpErOh/Gf8A3 cC6bPSRmCL7DeIoI6baRpHByDmJezAkcGh2vQ+UIrtH4ldxJviRjOZdsvGfsluLrTUUf 4PlKXyniqEb3zrVFMl3qC8dRGW6xfQbi52olOS+clcLSPyOSIEWItSlzklW2R4d77WNN Z1gpOGYXUP7l2hoCdsoX6r11Pq9rElOLItQEGB5oLL6C7J6ruy6CUAID9wki63sndrz4 b8X45l6b2eMZbpBiGZvQVIRLrHtESGLz6fvifabDZk0xoaeERMEhKxNo5s0HmZifho5o gCDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tAskNLE7Qo/f0tL7J7L9HMpHqNwlTRqMapHbxJbOPDA=; b=VcxsPBz1mjvlM7YTHMYUTan+wFlmyEzqbPiRAha3aqsqoiiV6cpYORIuDDlFFxwdJT COZp+M62uXvaQZuJ0Nqzs3pcK4YX1g7Q5NsjV+e+zs3+f+mwODYrnZB5XHnxFjtIhS2o zvXnT1tmdlrzcmsyVhFndVawHRfjKxWWMpkcznPvgNeOzhLRfk7Bi8cFVOMPnC5K380y VdFiPjpDx+mRCU2R+LMeW49+Iu8r6IjABhb/VbTmR/CnjHvg44mtiHvjM1fJTC48BPHG hgvpeQioz4MbePC9RM4MkcWS+OP33/VmgNJgMvte+I9HL3kBqb70eCESw48jgJmDdVxf IBBA== X-Gm-Message-State: AOAM533zrIsikG9XB2wGBBCIYDaZFN54niLRQGUQ6Zj7cmqx1DdjjT8D 4lzRPPcI83IcDhc20bAFlbNETRtAMxyk/A== X-Received: by 2002:aa7:93c9:0:b0:43c:f4f5:aac2 with SMTP id y9-20020aa793c9000000b0043cf4f5aac2mr9519013pff.11.1632900921916; Wed, 29 Sep 2021 00:35:21 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:21 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Paolo Abeni Subject: [PATCH mptcp-next v6 6/9] mptcp: infinite mapping receiving Date: Wed, 29 Sep 2021 15:35:04 +0800 Message-Id: X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added the infinite mapping receiving logic. When the infinite mapping is received, set the map_data_len of the subflow to 0. In subflow_check_data_avail, only reset the subflow when the map_data_len of the subflow is non-zero. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- net/mptcp/subflow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 28ed7dc6e170..101bfa277a1c 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -968,6 +968,7 @@ static enum mapping_status get_mapping_status(struct so= ck *ssk, data_len =3D mpext->data_len; if (data_len =3D=3D 0) { MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPRX); + subflow->map_data_len =3D 0; return MAPPING_INVALID; } =20 @@ -1180,7 +1181,7 @@ static bool subflow_check_data_avail(struct sock *ssk) return true; } =20 - if (subflow->mp_join || subflow->fully_established) { + if ((subflow->mp_join || subflow->fully_established) && subflow->map_dat= a_len) { /* fatal protocol error, close the socket. * subflow_error_report() will introduce the appropriate barriers */ --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206094jam; Wed, 29 Sep 2021 00:35:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwH8WdBwmwDEk8jTSaGsS7yl9zLvn/rVeufmAkefo6YupaMfYLrKC7tNTsX37ryttBeinxS X-Received: by 2002:a05:6830:1557:: with SMTP id l23mr9091967otp.154.1632900925783; Wed, 29 Sep 2021 00:35:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900925; cv=none; d=google.com; s=arc-20160816; b=RUXBD3ojwArh8emmgut9wrwtogF2riLMo7DUj8ej8ye8zUsSpkCErkDY7/b03IO1Bq QbknkuuXeOLGCNR5UMiaee2uo5ofdynKr0/w1sKtkGep2X037IoPCJWGko2MINWfqlVF qVhckWaZlOscl6PRMhCD/K8JjQohKzcBTRJSXj1ftyzgmCaH8kYn/T2J8Yck2lF2VVBn phXOKkGT33p+yDi/W4nOE2hwyZ8xidJlIr6iqdtJNeNchgLrNKJoDxKholFZnQuABfvR m/Bx6VnnsiDOWG9DOmLbpsfYnhzxAHlymM6wlMIt+mbIo0WW2kF9vGyVacVRGUeV0nIY Beng== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=tuwqbiF6/k1+Q/wz49ROuB/yxwKpmTAnGTACC3OY5y8=; b=BZxFpSvJZ37mf7DYFk7YEROalSPNSW2CGTN+a/AQ8H8k+c0mG9BRgyS/gyt+LjlXuo 0f4ZCXBA/SAizMA2TFOSh8a2vWiRzLch52nL3xnFssaVRfLOXzziCTLJpoELPKEtrouN XFQXqvnLOYgAYM5pCaAtYROZZF9O+4DhGNrgyrWxy670HTHgHJGs7zSxTehYmRShqRuL GlcgtuTb1Skn2Vav/xukiCtRsaomsjeZoJL5gKi9pVG9oFp7k+Hd5TJQeMhhp20EEAMJ k2lN4O9fckb2ZJhTJOva5+R2O0eL/SUruELnia1ms9dWMtKYj422YdxPMc5Er35YzI3s UcJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=GLdcZmQG; spf=pass (google.com: domain of mptcp+bounces-2089-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2089-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id 104si73175otu.263.2021.09.29.00.35.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:25 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2089-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=GLdcZmQG; spf=pass (google.com: domain of mptcp+bounces-2089-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2089-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 sjc.edge.kernel.org (Postfix) with ESMTPS id 43BE53E103A for ; Wed, 29 Sep 2021 07:35:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C93F23FD6; Wed, 29 Sep 2021 07:35:24 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF69F3FCB for ; Wed, 29 Sep 2021 07:35:23 +0000 (UTC) Received: by mail-pj1-f42.google.com with SMTP id u1-20020a17090ae00100b0019ec31d3ba2so3583754pjy.1 for ; Wed, 29 Sep 2021 00:35:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tuwqbiF6/k1+Q/wz49ROuB/yxwKpmTAnGTACC3OY5y8=; b=GLdcZmQGcmOf6OuP0GUlg4XQ4dGtxLmVsejTD6rL7OwimFTr0ls8k08rV11ShBnmJA 8fkQKS5cEHGliTJ+HbQHMZcXFZhcAFdcgTWvuC+n23pOtnTHTPS+7M1kOtpg1tj0xhC+ tZvc+w29oiMWOE8s/beYFtBQ6kM2ppGO6V6a5y+pu63q3L5AbuXdjZBxMXqcYXM6vKBq /Bh02viu9xZ9Akjcf41yRCSaCdbEmHL9nmUaAXqGkuJ4Vhi1ph1f/jwKRj/Iwj/7O0WG JtHsi+ukIadHeCf+hHbypnXBoxYeHy+2gUi/77MgyK6teUqutO9fFrVy2//FEtVW/1e1 KnAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tuwqbiF6/k1+Q/wz49ROuB/yxwKpmTAnGTACC3OY5y8=; b=6mZi07tALDVkm3mX3HMNkJKZU2irZTCgkEW9hv5QxFpzPrNwz9rkj0me9osvZ15UhP bL6H9BmUguIA1q3nR3gd1GgLp77gCbYMnuZKxpIIc++VZbKCSLyXxTn7bzz+7U9jMTfX m0lf1JLivKugVE4pEQQFXAA/iQhgK8qWO+VZyvOcktuq7D0qP6zMdX54QHEOFawQbjNk xm01lWjHNYAdLMmnqKiIygZdQ3XjW3JCr6aAkiibZ6S5PoQrSlUTWkWbESI/1LwTrHoM G3AtzDfxPtp8sjtINiehqowUdEpUQXgM0jdYtCvJ+1zeKCZM94InDHCDKUJO1NZwXcn+ 50+w== X-Gm-Message-State: AOAM5330pPuHwho4OnjPpL1RgTMSHVP15/OdBeDi1TH0kVacegaYeKm5 PoymEZ0oQGrdQses2igpz7NSK9xABB21Iw== X-Received: by 2002:a17:90a:d701:: with SMTP id y1mr4772434pju.213.1632900923369; Wed, 29 Sep 2021 00:35:23 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:23 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 7/9] mptcp: add mib for infinite map sending Date: Wed, 29 Sep 2021 15:35:05 +0800 Message-Id: <1092ae72c80b5607995dc42b564c72270841ede9.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added a new mib named MPTCP_MIB_INFINITEMAPTX, increase it when a infinite mapping has been sent out. Signed-off-by: Geliang Tang --- net/mptcp/mib.c | 1 + net/mptcp/mib.h | 1 + net/mptcp/protocol.c | 1 + 3 files changed, 3 insertions(+) diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c index b21ff9be04c6..ab55afdcae22 100644 --- a/net/mptcp/mib.c +++ b/net/mptcp/mib.c @@ -24,6 +24,7 @@ static const struct snmp_mib mptcp_snmp_list[] =3D { SNMP_MIB_ITEM("MPJoinAckRx", MPTCP_MIB_JOINACKRX), SNMP_MIB_ITEM("MPJoinAckHMacFailure", MPTCP_MIB_JOINACKMAC), SNMP_MIB_ITEM("DSSNotMatching", MPTCP_MIB_DSSNOMATCH), + SNMP_MIB_ITEM("InfiniteMapTx", MPTCP_MIB_INFINITEMAPTX), SNMP_MIB_ITEM("InfiniteMapRx", MPTCP_MIB_INFINITEMAPRX), SNMP_MIB_ITEM("DSSNoMatchTCP", MPTCP_MIB_DSSTCPMISMATCH), SNMP_MIB_ITEM("DataCsumErr", MPTCP_MIB_DATACSUMERR), diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h index ecd3d8b117e0..7901f1338d15 100644 --- a/net/mptcp/mib.h +++ b/net/mptcp/mib.h @@ -17,6 +17,7 @@ enum linux_mptcp_mib_field { MPTCP_MIB_JOINACKRX, /* Received an ACK + MP_JOIN */ MPTCP_MIB_JOINACKMAC, /* HMAC was wrong on ACK + MP_JOIN */ MPTCP_MIB_DSSNOMATCH, /* Received a new mapping that did not match the p= revious one */ + MPTCP_MIB_INFINITEMAPTX, /* Sent an infinite mapping */ MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */ MPTCP_MIB_DSSTCPMISMATCH, /* DSS-mapping did not map with TCP's sequence = numbers */ MPTCP_MIB_DATACSUMERR, /* The data checksum fail */ diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 5b73493c75c5..5122c4ea4350 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1286,6 +1286,7 @@ static void mptcp_update_infinite_map(struct mptcp_so= ck *msk, struct sock *ssk, mpext->data_len =3D 0; mpext->csum =3D 0; =20 + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPTX); mptcp_subflow_ctx(ssk)->send_infinite_map =3D 0; pr_fallback(msk); __mptcp_do_fallback(msk); --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206114jam; Wed, 29 Sep 2021 00:35:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxzgIMpvEIx/cpC3WS78mkAALI7Qb9CGihIx6BCDdJzkc+XnxktN/lPxrOPjEb0xxF6KF/n X-Received: by 2002:a37:6d6:: with SMTP id 205mr3997594qkg.466.1632900927110; Wed, 29 Sep 2021 00:35:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900927; cv=none; d=google.com; s=arc-20160816; b=KxipxFwxS9xqiRvuQg+tbQZ6n/pGm1hBElc2uhdzhYq65mUfHQ1eKnweteCVQATXae Sm0ihEfj/hzWHMfoPUVTKW/2p8V9JD7rnYKsenCuTIToGQ9wasRFB3/qu62nk7kPffJe TQ9S5UQdxvqU/DHyd8c6HrkbiEu4kzQlkecc3lJRg47PQX3eUBwAFJ6yYuh4+qqbST1v 0kFj3uyV2uoaMzFF7JVgyqpbTbNLKLSUqlOlKjBNXYYXZ55qhSDxHJjRv82Df6KHsmY5 yRj6ejCldWHfWxxbfKN33Uhjko0nLoFkzQei9103ms682hdEkLyGvZqUAlvJSbbzvCB4 jNFQ== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=VkKzUiWsVaredgIGXg1iu5+B3Z7qsRltK25YrnE3fbY=; b=K4zkC3nX4vlz17sJO0KlD6qJIE2P8WjRGMRrHpHcOx76541uO/yuvVcKV9kKwPBkfE +pwAXErWt9IbXk3QKuNJ32PQC/l1GyZzmtxSDeBNjmM/l6k1WetmWJywud2G6puW29lZ ucGsGzpickCwPCwMi5O+8UvlTvRO0LdPcRrx2JkJnF/uj5jypiBGU+KC+QHjh2ZBXRJd myvfBXllwYNvclHYGCkhO67cUtntuzZLY+/T2EElVFNgupo2YdVbs2SFFAk+bLseJ8La tc8DaXL2jF0sx7dNRD+EWkFvJFZQ3zM+xesEL92VB1tjv3kVgQSi1WpZwIVtvv5/K6ml hd7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ekgarpMy; spf=pass (google.com: domain of mptcp+bounces-2090-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2090-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id v22si1196589qtk.42.2021.09.29.00.35.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:27 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2090-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ekgarpMy; spf=pass (google.com: domain of mptcp+bounces-2090-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2090-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 ewr.edge.kernel.org (Postfix) with ESMTPS id E6CE91C0F49 for ; Wed, 29 Sep 2021 07:35:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 127423FD3; Wed, 29 Sep 2021 07:35:26 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 252DF3FCB for ; Wed, 29 Sep 2021 07:35:25 +0000 (UTC) Received: by mail-pf1-f177.google.com with SMTP id k17so1204624pff.8 for ; Wed, 29 Sep 2021 00:35:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VkKzUiWsVaredgIGXg1iu5+B3Z7qsRltK25YrnE3fbY=; b=ekgarpMy0poW6zpROjSVieyMNTCfAsHscfi3cNY9wIswAhFCqq5XjJpvSxjRnPgZps J0Uzvv+vng1YW09/VoqjTkJSx4NhJTnUn4ykcmK44nzoeYAH0hKOITB3I6ATodKR9i4z WIfMaE0wW+wXfnKJAc1ZNhaa5E2X+RPRgLEJXW6ejwHLvTfl7xOkWMD/iMUYXguDTfIl wfU6PO2zQcHscc0IC2YDWPk740Gvm/jXFD1nVqIORcV9jWBg2zOBOW5T0UESadSVDPO/ avMhdwZst7H/Y5DvYAaf1VOp0ZHPijqu2YKUD/GFlLZrgj/9ejoiLkzBzmguJ+fwCeuH 5sVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VkKzUiWsVaredgIGXg1iu5+B3Z7qsRltK25YrnE3fbY=; b=aRE+gXRZ2gUMAsH/bYZk8If0EalNvRa6zJncgzxxENtOgC/BEvWBanWME7/yIkRAWA wtJBvGzSnaIvhwQoBXEFTmqMdp8SLNouW87T0RDrK8FeBLC8HVlZHGKWciFdkH3NswXs ZRCmcVGOlZUYNPzVIjjDqjiuEqAhxxO+XeoixujHzorKITyznYnk0y3MddN8rc83wa7a tWF0I+iAPGuzjcnuAdzkO9nzIzzuKd5DO4LreW2ZDfNvFwYYxrOHSTFUwYRrHRiAI7Rn 6XKYG83AfjhTodPfKL7qOQ/Cv3wFUggvj5wcuAIFpk8IVtwb6v6N3BbLhDg5nhvijhX9 VIyA== X-Gm-Message-State: AOAM531ijiuUqqVHzi9nV4RzQuQBbQQuoKZJGbXOzl0ZMlaojOU4PMNd 48HxHxG2U8YKfvWPLnLhv0uS82GzbjJyVw== X-Received: by 2002:a62:641:0:b0:44b:74bb:294c with SMTP id 62-20020a620641000000b0044b74bb294cmr9627587pfg.12.1632900924646; Wed, 29 Sep 2021 00:35:24 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:24 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 8/9] selftests: mptcp: add infinite map mibs check Date: Wed, 29 Sep 2021 15:35:06 +0800 Message-Id: <0631510c298457e2436d854762a0004e8fa92030.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" This patch added a function chk_infi_nr to check the mibs for the infinite mapping. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 255793c5ac4f..fe0c8f3164a7 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -615,6 +615,43 @@ chk_fail_nr() fi } =20 +chk_infi_nr() +{ + local mp_infi_nr_tx=3D$1 + local mp_infi_nr_rx=3D$2 + local count + local dump_stats + + printf "%-39s %s" " " "itx" + count=3D`ip netns exec $ns1 nstat -as | grep InfiniteMapTx | awk '{print = $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$mp_infi_nr_tx" ]; then + echo "[fail] got $count infinite map[s] TX expected $mp_infi_nr_tx" + ret=3D1 + dump_stats=3D1 + else + echo -n "[ ok ]" + fi + + echo -n " - irx " + count=3D`ip netns exec $ns2 nstat -as | grep InfiniteMapRx | awk '{print = $2}'` + [ -z "$count" ] && count=3D0 + if [ "$count" !=3D "$mp_infi_nr_rx" ]; then + echo "[fail] got $count infinite map[s] RX expected $mp_infi_nr_rx" + ret=3D1 + dump_stats=3D1 + else + echo "[ ok ]" + fi + + if [ "${dump_stats}" =3D 1 ]; then + echo Server ns stats + ip netns exec $ns1 nstat -as | grep MPTcp + echo Client ns stats + ip netns exec $ns2 nstat -as | grep MPTcp + fi +} + chk_join_nr() { local msg=3D"$1" @@ -665,6 +702,7 @@ chk_join_nr() if [ $checksum -eq 1 ]; then chk_csum_nr chk_fail_nr 0 0 + chk_infi_nr 0 0 fi } =20 --=20 2.31.1 From nobody Thu Apr 25 21:54:01 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:a689:0:0:0:0:0 with SMTP id j9csp6206127jam; Wed, 29 Sep 2021 00:35:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzt7us3Ce6xaIT6HST+hLubBtUyhDZMzEqcvydiAC1wsJp0J4FuLt2EgtY3Fq0lJM2g0bID X-Received: by 2002:ac8:4308:: with SMTP id z8mr10251260qtm.121.1632900928400; Wed, 29 Sep 2021 00:35:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632900928; cv=none; d=google.com; s=arc-20160816; b=fJ/7YYIAo8d9RlsR+y408ykP9o47zkWpyZqzyBqjMXJhyG0i4T9yH2PjgZIDJalp0V I2s1ymmeAo7m7ioPG1KzefT0MtXpyjtqxp78EfVfnmHFH7zgVe2CO2QgeHR6wkd5CCa8 t9WwVYflRd2Pvvs1cXF85Wf/BzDiChhqmc7+pUfPTgdJT6bf5O3nyZJKAtP/hlXSSE25 ftRpdi+FHcWzCBiwo+MpEQBi5xTyJcfeNIkZXforuSdvLjfRDYJvfKgIHUo3pPl3dc/B uPVHVjYjUiO0DeE5Y2cj97TjVaeu+2/HHsHr1AfS2E5XUyCnaRtORuxmGHO3ViY3AbOj v2sQ== 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:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=D1czgHb4cqajH/gvizEF6+XERd/QJi5ZDToHi+OE9hM=; b=eu07ypOplZrxzZDYHCBX60yEhIphnB+Y2/cEgiLwDTKFmB7Rgt3/6dED/x7cmk6Aal BXn/ItewfUD9gt30tqEa4q4Az3u6uqxnQfXg36GAUQRweb/8THPEsg+8fPtKGldItS/F ACd6wcHhsQDHc7i+qf5pELQ6zJiSar8WmIoUmN6C2p1dXWA5OkIp14G1g6rLjDa5w8G4 v3Jb0zQx0cEYFfk1ER5InkeEWkttP+/xGL4lJBjJRAM5KerZeO5YLnYkDDnhUEU80TrP jbMfecsgx2tDfHxxvsL65AheKyuVyl/IEGNDOSBFykVvba6/eIvdXp3B9Ha1yAb3nRhr fv4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZnDQTgs8; spf=pass (google.com: domain of mptcp+bounces-2091-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2091-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [147.75.197.195]) by mx.google.com with ESMTPS id v22si1196589qtk.42.2021.09.29.00.35.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Sep 2021 00:35:28 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2091-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) client-ip=147.75.197.195; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZnDQTgs8; spf=pass (google.com: domain of mptcp+bounces-2091-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 147.75.197.195 as permitted sender) smtp.mailfrom="mptcp+bounces-2091-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com 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 ewr.edge.kernel.org (Postfix) with ESMTPS id 2F6D31C0F44 for ; Wed, 29 Sep 2021 07:35:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 523103FDB; Wed, 29 Sep 2021 07:35:27 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 746B93FCB for ; Wed, 29 Sep 2021 07:35:26 +0000 (UTC) Received: by mail-pl1-f179.google.com with SMTP id y1so896894plk.10 for ; Wed, 29 Sep 2021 00:35:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D1czgHb4cqajH/gvizEF6+XERd/QJi5ZDToHi+OE9hM=; b=ZnDQTgs81IdWfWskA+NAcKbgVzYiRHa/wH1YlbtvkY1nSO0dwob2OxZrhvBT0agi8U BnZmkHF9EgiE4/IR2eCeQAS3eaZHT7IAnZZGudlEAaKYnTa0tq5jhS1JpEu98iSLFhh8 1IisqwsO16tKd8nQX88PCfOELzmDsZyqwcNMw0ZxiQcG1A+6fSl1NIW0mwGJvWYck9Dp vTycjVoYQtpbCT/sOOIU41YU9wducjt5fKTaG60Bc6NsNbVrmnww7t8+eDADxod3PTad EAvOl2ADbkhdjYiYNPeYbP/hDVyv44TqqfkLXdNUz2C64BGS8TNw4S2QNQiOUIN8gnsq jUOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D1czgHb4cqajH/gvizEF6+XERd/QJi5ZDToHi+OE9hM=; b=Ilia9pLSxag22gxc+wJsFvGBOKhOGUy9cvkYXfBxoKV4Tj6yMKCt+wHLiNnlk00/gR IdZ9FPtr7n1nA8ldcu5KYZ6hkBwzu897VC4lkVxYbmb0LFN6hdZw9kZP07fWsKN7cVQe H3LEYJl4d9Kpq9CW5EEeK5R0eWosIjJFpUydo1h+5ynXvHr04LVu2MpOuoKf63hG8vLK fZhUEl/v5PVamKLZjxya623JS6aIFxhr/m2f6k6c3B/y10tbYjJPXSCvr+xG46SuiNwY Ql7jlm/wWjv4gmnk5S7970OWgs+5TWQhyrdrfHyAgU/K0mlGlumwkBr57IRrgHYmWsAm 4SHw== X-Gm-Message-State: AOAM532LZCEbxHNOZP+Y/kKG+AtlwYLkabhUbhM3vYn6aCumwGQKeSlX 0ZW90CzlJ0R7zA+uOHbTJ5FUFwTQzaIH3A== X-Received: by 2002:a17:902:8488:b029:129:97e8:16e7 with SMTP id c8-20020a1709028488b029012997e816e7mr8876300plo.39.1632900925942; Wed, 29 Sep 2021 00:35:25 -0700 (PDT) Received: from MiBook.mioffice.cn ([209.9.72.212]) by smtp.gmail.com with ESMTPSA id gn11sm937853pjb.36.2021.09.29.00.35.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Sep 2021 00:35:25 -0700 (PDT) From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v6 9/9] DO-NOT-MERGE: mptcp: mp_fail test Date: Wed, 29 Sep 2021 15:35:07 +0800 Message-Id: <7c583cc5d31ad60063ea3a6b81e8cd60248c5dbd.1632900306.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: 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" ./mptcp_join.sh -Cf Signed-off-by: Geliang Tang --- net/mptcp/protocol.c | 9 +++++++++ .../testing/selftests/net/mptcp/mptcp_join.sh | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 5122c4ea4350..d3b9f6894eb1 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1292,6 +1292,8 @@ static void mptcp_update_infinite_map(struct mptcp_so= ck *msk, struct sock *ssk, __mptcp_do_fallback(msk); } =20 +static int j; + static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk, struct mptcp_data_frag *dfrag, struct mptcp_sendmsg_info *info) @@ -1426,6 +1428,13 @@ static int mptcp_sendmsg_frag(struct sock *sk, struc= t sock *ssk, mptcp_update_data_checksum(skb, copy); if (mptcp_subflow_ctx(ssk)->send_infinite_map) mptcp_update_infinite_map(msk, ssk, mpext); + + pr_debug("%s j=3D%d", __func__, j++); + if (j =3D=3D 20) + skb->data_len =3D 1; + if (j > 40) + j =3D 0; + mptcp_subflow_ctx(ssk)->rel_write_seq +=3D copy; return copy; } diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index fe0c8f3164a7..38663f6373b8 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -977,6 +977,24 @@ chk_link_usage() =20 subflows_tests() { + # 1 subflow + reset + ip netns exec $ns1 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + chk_join_nr "1 subflow" 0 0 0 + + exit + + # multiple subflows + reset + ip netns exec $ns1 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl limits 0 2 + ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow + ip netns exec $ns2 ./pm_nl_ctl add 10.0.2.2 flags subflow + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow + chk_join_nr "multiple subflows" 2 2 2 + reset run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "no JOIN" "0" "0" "0" --=20 2.31.1