From nobody Mon Feb 9 03:13:40 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:7824:0:0:0:0:0 with SMTP id p36csp823996jac; Fri, 15 Oct 2021 16:06:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyr1czDdK+WYjIiXVvWb5pdifCIRN8jJSa9zuAnQudKqlV0j3yOMPd3ORS+WwFeqQJ4vKWi X-Received: by 2002:a92:d684:: with SMTP id p4mr5310149iln.288.1634339187422; Fri, 15 Oct 2021 16:06:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634339187; cv=none; d=google.com; s=arc-20160816; b=B4B/7x/WdZPF/fF8brSJZyrICNBiLOIb5KQsCzUKxQ0clME3TboK5x2bZyA6c4sdN3 CaNY/7diLgyOn41gLXj0MbANz/oIRgQ7KuH9k0L5SCSEzXVAVqDGlocNmiC9/muJRUOg qrgxQZ5aKKHFDS+jCpkWKk6kmA773oo368FWb31zApOYTeS1JW1pEOqraXfZIZubW+d5 wn3CwjFkJwzJY189lN0fPA1NLcGbsII0L9ZTyTxH3BS3EjRsipx1R4ds8DlYNgl2q845 OYxI0t1HMySkJWA+38zkVyEZa35Yorf3dJdG8JXKn+i1MGzkvO5h8OdJCCwdguj6HUhx cuIA== 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; bh=6V5WBLGhpIYsnRg+g0nEIajAfRY3PQJG6BOAaHAtcb8=; b=oqq5/2ptTWtOPWoU5vJMl9g8HWXfHsrMIe02kSrhNLBg0ay+MNPe1uf/bN6kJ2TRnB RSAJGe6dQftD7rvfQQmzaWlP+4yhvzsm9iVh/cJs/RiSOUH1Rf0VC9Yk3VUfmDpovbE/ XfKJh5bEaRKtD7piDsnfnNEKX/WRRmJquXyQ6h+xkJmjfCkd1xfMt7RWMtLdfgtkG3dc WURjKqHdKq3S1u3yH3N1IajuLI3va2qHBdx/gmrlPJP7ZVhdJBa/ZwUNWHM0hyThPMzO H2bfNnhvuHJv4SoiHB+22w1gsW3eQCV7EU7/ONhx7ffsYjiIrjhqnL06Ufko87fpkZvh TrOA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of mptcp+bounces-2175-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2175-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.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 i15si8671083ion.80.2021.10.15.16.06.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Oct 2021 16:06:27 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2175-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; spf=pass (google.com: domain of mptcp+bounces-2175-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2175-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.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 C547F3E1071 for ; Fri, 15 Oct 2021 23:06:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C370B2C85; Fri, 15 Oct 2021 23:06:25 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 B93DD2C81 for ; Fri, 15 Oct 2021 23:06:24 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10138"; a="291483047" X-IronPort-AV: E=Sophos;i="5.85,376,1624345200"; d="scan'208";a="291483047" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2021 16:06:22 -0700 X-IronPort-AV: E=Sophos;i="5.85,376,1624345200"; d="scan'208";a="528398900" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.212.195.24]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2021 16:06:22 -0700 From: Mat Martineau To: netdev@vger.kernel.org Cc: Paolo Abeni , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 2/3] mptcp: increase default max additional subflows to 2 Date: Fri, 15 Oct 2021 16:05:51 -0700 Message-Id: <20211015230552.24119-3-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211015230552.24119-1-mathew.j.martineau@linux.intel.com> References: <20211015230552.24119-1-mathew.j.martineau@linux.intel.com> 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" From: Paolo Abeni The current default does not allowing additional subflows, mostly as a safety restriction to avoid uncontrolled resource consumption on busy servers. Still the system admin and/or the application have to opt-in to MPTCP explicitly. After that, they need to change (increase) the default maximum number of additional subflows. Let set that to reasonable default, and make end-users life easier. Additionally we need to update some self-tests accordingly. Signed-off-by: Paolo Abeni Signed-off-by: Mat Martineau --- net/mptcp/pm_netlink.c | 3 +++ tools/testing/selftests/net/mptcp/mptcp_join.sh | 5 ++++- tools/testing/selftests/net/mptcp/pm_netlink.sh | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 050eea231528..f7d33a9abd57 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -2052,6 +2052,9 @@ static int __net_init pm_nl_init_net(struct net *net) struct pm_nl_pernet *pernet =3D net_generic(net, pm_nl_pernet_id); =20 INIT_LIST_HEAD_RCU(&pernet->local_addr_list); + + /* Cit. 2 subflows ought to be enough for anybody. */ + pernet->subflows_max =3D 2; pernet->next_id =3D 1; pernet->stale_loss_cnt =3D 4; spin_lock_init(&pernet->lock); diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 255793c5ac4f..293d349e21fe 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -945,12 +945,15 @@ subflows_tests() =20 # subflow limited by client reset + ip netns exec $ns1 ./pm_nl_ctl limits 0 0 + ip netns exec $ns2 ./pm_nl_ctl limits 0 0 ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "single subflow, limited by client" 0 0 0 =20 # subflow limited by server reset + ip netns exec $ns1 ./pm_nl_ctl limits 0 0 ip netns exec $ns2 ./pm_nl_ctl limits 0 1 ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 @@ -973,7 +976,7 @@ subflows_tests() run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows" 2 2 2 =20 - # multiple subflows limited by serverf + # multiple subflows limited by server reset ip netns exec $ns1 ./pm_nl_ctl limits 0 1 ip netns exec $ns2 ./pm_nl_ctl limits 0 2 diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 3c741abe034e..cbacf9f6538b 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -70,7 +70,7 @@ check() =20 check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 0" "defaults limits" +subflows 2" "defaults limits" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo @@ -118,11 +118,11 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush= addrs" =20 ip netns exec $ns1 ./pm_nl_ctl limits 9 1 check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 0" "rcv addrs above hard limit" +subflows 2" "rcv addrs above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 1 9 check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 0" "subflows above hard limit" +subflows 2" "subflows above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8 --=20 2.33.1