From nobody Tue May 7 08:23:00 2024 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a05:6638:27c:0:0:0:0 with SMTP id x28csp2921169jaq; Fri, 8 Oct 2021 10:28:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGAgt1M4v85vXdOz59MAL+U1+d5Z7kSCoFm166XhMHbAeR++bwtwAfdsiheGOeUMHLjDBf X-Received: by 2002:a17:90b:108d:: with SMTP id gj13mr13619987pjb.95.1633714123826; Fri, 08 Oct 2021 10:28:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633714123; cv=none; d=google.com; s=arc-20160816; b=0imoog7V8EdZthxwlBofKfDbLB0v3ziSImqCsZ0bKKn6bohA+8IakDawOiimHba960 PGK7EOkzL7XcdmBKUxOyvqGeNkEZsiN74c9LhVmwUTK7+9jTgVY5zc+s3mMkKieaZTQF WHZo2L4tgVtvgFo+Ofy68uAFVgqbgyuBopMx9+xajlb51+m4XsoLQJrjVOFApvUaTBLK gfXXkMwpscYYJU96cEi60kp685k7WUgzk3b8+HGAfWvZ3GzYfGsINmRUr+1gdKhgDRps Gp0PB2gIQTW5M5Kn2QeOXfkboOJXtWZwQ1ZLn+B+frKYU5zEG3EFhm8w1ZVelSCQ4F98 HAqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:to:from :dkim-signature; bh=U7lGM/T3wQHkl9pAJmRO5yFW5nLgMTVyOU4yUajy6ys=; b=mrxnzxb2v8wgHPKs4VexSGkiG7LzpS7f3ZWW3d7WT8tuZVLFboUEXwEnKKE3zMkwHD qCvFe+/EEGAFiDKluIszCyqIij1PeuXi8VGLuHvAZc25JzPqtmZmv2TBWB3qB7nMwVVH x9it5BNJSYw2B2z4Xex33/ymENl9PGQO9nQ6iEuZmc9tgDbKSck/euvi7FSIv7UYZuTH qTiMbsh8Hb70BPiz64CYe/0cgk4l96Bgn4l7NG3RL9XqbxqsMt2RKvcN36BdoOIEhzEg NHUxTZ8YlPDqVE+nQKHchQLUZBSr0wiwQ3Eg09Ijhzn3ZOMcJhXG1h7tG5vZaIBbJq6X gWVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=gz9Xk3ON; spf=pass (google.com: domain of mptcp+bounces-2138-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2138-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from ewr.edge.kernel.org (ewr.edge.kernel.org. [2604:1380:1:3600::1]) by mx.google.com with ESMTPS id i12si16674368pju.3.2021.10.08.10.28.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Oct 2021 10:28:43 -0700 (PDT) Received-SPF: pass (google.com: domain of mptcp+bounces-2138-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) client-ip=2604:1380:1:3600::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=gz9Xk3ON; spf=pass (google.com: domain of mptcp+bounces-2138-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1:3600::1 as permitted sender) smtp.mailfrom="mptcp+bounces-2138-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.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 1D6601C0A97 for ; Fri, 8 Oct 2021 17:28:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 78EA92C88; Fri, 8 Oct 2021 17:28:35 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 BA6E92C83 for ; Fri, 8 Oct 2021 17:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633714112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U7lGM/T3wQHkl9pAJmRO5yFW5nLgMTVyOU4yUajy6ys=; b=gz9Xk3ON7Ti0/DWkOI+NEno8as2sf9h4Tlg+hKsjMHkUZQXKA/pUdqeiDFEMId7V6Bm6rK vD65dl1kVtxQJj2QEmAx+4T5TAcNZ+mRvUA3UGcsxVkAfdhbEyJrJozNFih6+xB0wCnlYH JHlHmOFCTnFwRfBhzLeEnm3/3MpYmtk= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-480-NH9yfHIXNu2-YYwOwLarJw-1; Fri, 08 Oct 2021 13:28:06 -0400 X-MC-Unique: NH9yfHIXNu2-YYwOwLarJw-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DE3A310A8E02 for ; Fri, 8 Oct 2021 17:28:05 +0000 (UTC) Received: from gerbillo.redhat.com (unknown [10.39.192.167]) by smtp.corp.redhat.com (Postfix) with ESMTP id 54FD75D9DE for ; Fri, 8 Oct 2021 17:28:05 +0000 (UTC) From: Paolo Abeni To: mptcp@lists.linux.dev Subject: [PATCH mptcp-next] mptcp: increase default max additional subflows to 2 Date: Fri, 8 Oct 2021 19:27:59 +0200 Message-Id: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=pabeni@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Reviewed-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.26.3