Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp1044000rwi; Mon, 31 Oct 2022 10:29:02 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4a6F7zSOrhPFMkH6Z+ITN587D3r3IPYf5wTiaiii35cBDdDoL6fRgQIxtJwJrqgMSTa9Wf X-Received: by 2002:a17:907:1b24:b0:76d:7b9d:2f8b with SMTP id mp36-20020a1709071b2400b0076d7b9d2f8bmr13945441ejc.414.1667237341900; Mon, 31 Oct 2022 10:29:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667237341; cv=none; d=google.com; s=arc-20160816; b=yTmACq9r7tVPi2JDYIzfbxIMf8+U8GzJyWyzbguCsw54B2hI5bUpFUYNTsv3G+qlhI 8ZnFMXFiYGdRXXKYi3hH5DUAH/GzhFtxmREqoYgOyv6LSM3Ogxbb7Bv3vi3iJvQb2Vgx QuwKoK1ok7onUMKWJCD99/rvvg9zTNGGPSdmu8P6dQbiovesc03oIs4WzGWTvMh6CP9x IRT23aEn4D5Hjmx1clSgVSbE9GaQnyImjszQYRQ2Na8pyVqJJtBfjdkXQnEgi6QGIePC 68Nda8bdgPearTxtABgsjz2jEKN2W1yRLiisjhBmw7Uggd1H5bmt2ZSGVOia2lui3LMb TFJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=+roT/mXY1Xj9BIgaBuMzajKsJp9QScOkuxLVcXTax3U=; b=dk1N2+5Vcv1IapvWfD1biBZRx412vlz2of8XjOUXtxbTYkCxdHr1zf4KaP1Az4gnHx KMjJH6OmQfjVABhv6K1dGplps1GWN28tlW5oCCR0TEfj3wyIONSw6UmhmVIliXk9lAul x9Vuiy2CIyI360MvuZ7tjxhp8Quzkty0Gj/f8oANFmrF/T3c8UsrL9ipcXzjm9uOuo27 vd0YIS+n+pEW89xh4KlyDdjW6HpJzKOWFVB0ac2lK5S193D3qDE5LWN4/9HjScQv0u+A Bq6GxvfZleCFIEHbkdgDN4MAFcV8EDSRYPVu8nf2VVbAjfQ2IKZto5Uc6igw5g+gdFVq fgzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=c0Qg7g91; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qk35-20020a1709077fa300b007a2d966eeccsi9275697ejc.686.2022.10.31.10.28.37; Mon, 31 Oct 2022 10:29:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=c0Qg7g91; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231781AbiJaRGk (ORCPT + 99 others); Mon, 31 Oct 2022 13:06:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230337AbiJaRGg (ORCPT ); Mon, 31 Oct 2022 13:06:36 -0400 Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9EFFF12AC5 for ; Mon, 31 Oct 2022 10:06:32 -0700 (PDT) Received: by mail-qt1-x830.google.com with SMTP id fz10so2108792qtb.3 for ; Mon, 31 Oct 2022 10:06:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=+roT/mXY1Xj9BIgaBuMzajKsJp9QScOkuxLVcXTax3U=; b=c0Qg7g91f/9gFzUCdvSJKXgZ6aKZl3lD9rYG3jn/TSss6UtsSq27HkOYIoVTFlkthN SnDsIii3duzLu6MCVmfOqudWV6ptIfIH6QFA6+x1gALjUXzv5VP6dTpOdv9t2vNBLcrk YRyg4TI+NOH/rZM+fzShhp7YW8M6vAYDvdKsU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+roT/mXY1Xj9BIgaBuMzajKsJp9QScOkuxLVcXTax3U=; b=wncM8Q1/XrUqohpC842JnCB784u+GhaiOo8I33gK27AWkCdA8VVYUY/zkiZswoOtED NpW4j2+c6kckgBWqp4eEcR1NZBQtXVRWCddjomCeIIYfBz6vSgAubMlXrqRe7dfuoUnV iseuUi2ykBN+BB7X8gbFFiXNcxVDcpLyt2cGWRhExRh+Hcyl2iTsItRTklUg80OpjeYz VGWcXUPot8YVrfTIC1EpvwrQyRBi9GETZbK7SjucCfN/N29LOa3XCZgXoap/Z/g+znB4 suoazbFnH3+loMqcd7q2deIw5gbsp0sLNyaiaXD4N7OFBR9FQeEg0KR7oX1PGVo8d8JC m0HQ== X-Gm-Message-State: ACrzQf2wc++4twYJnDrVyEUUI1irLNODiCHKaSvN7EElOG+0gj8BoK3y JNuMyr6vjEEyM9uOixDR9+BMfi0qxe0VzK/tttpaDdDcmcZ10vxiJmOLR/Cf1TfroyN5DwmlmlY pR8wuUgNDgi8s3Vc= X-Received: by 2002:ac8:6690:0:b0:3a5:2e05:3433 with SMTP id d16-20020ac86690000000b003a52e053433mr2220043qtp.618.1667235991701; Mon, 31 Oct 2022 10:06:31 -0700 (PDT) Received: from linuxpc-ThinkServer-TS140.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id w12-20020a05620a424c00b006bbc3724affsm5048982qko.45.2022.10.31.10.06.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Oct 2022 10:06:29 -0700 (PDT) From: Steven Hsieh To: jay.vosburgh@canonical.com Cc: andy@greyhouse.net, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, steven.hsieh@broadcom.com, vfalico@gmail.com Subject: Re: [PATCH net-next] bonding: 3ad: bonding of links with different data rate Date: Mon, 31 Oct 2022 10:06:05 -0700 Message-Id: <20221031170605.644240-1-steven.hsieh@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <15633.1666628709@famine> References: <15633.1666628709@famine> MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000000fb0e705ec57a162" X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --0000000000000fb0e705ec57a162 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks Jay for reviewing patch request. We decided not to move forward. Instead of adding different speed links to one aggregator, we can assign them to multiple aggregators and use ad_select=3Dbandwidth to pick highest bandwidth aggregator. Thanks Steven H. > From: Jay Vosburgh > To: Steven Hsieh > Cc: Andy Gospodarek , > "David S. Miller" , > Eric Dumazet , > Jakub Kicinski , Paolo Abeni , > Veaceslav Falico , > linux-kernel@vger.kernel.org, netdev@vger.kernel.org > Subject: Re: [PATCH net-next] bonding: 3ad: bonding of links with differe= nt data rate > Date: Mon, 24 Oct 2022 09:25:09 -0700 [thread overview] > Message-ID: <15633.1666628709@famine> (raw) > In-Reply-To: <20221022220158.74933-1-steven.hsieh@broadcom.com> >=20 > Steven Hsieh wrote: >=20 > >Current Linux Bonding driver supports IEEE802.3ad-2000. > >Operation across multiple data rates=E2=80=94 > >All links in a Link Aggregation Group operate at the same data rate. > > > >In IEEE802.1AX-2014 > >Aggregation of links of different data rates is not prohibited > >nor required by this standard. >=20 > The -2014 and -2020 versions change a lot of things at once; I'm > not sure we can just cherry pick out one thing (or maybe we can, I'm > reading through the changes). Notably, the -2020 version states, in > reference to changes added at -2014, >=20 > "[...] it explicitly allowed the aggregation of point-to-point links of > any speed using any physical media or logical connection capable of > supporting the Internal Sublayer Service specified in IEEE Std > 802.1AC." >=20 > whereas the -2008 standard specifies "CSMA/CD MACs" instead of > the ISS from 802.1AC. I'm not yet sure if this makes any relevant > difference. > >This patch provides configuration option to allow aggregation of links > >with different speed. >=20 > Have you tested all of the edge cases? E.g., what is the > behavior with and without the option enabled when an interface in an > aggregator changes its speed? >=20 > If you have tests, consider including test scripts in > tools/testing/selftests/drivers/net/bonding/ >=20 In current code, when 2nd port is linked up with different speed, it will not be part of active aggregator. > >Enhancement is disabled by default and can be enabled thru > > echo 1 > /sys/class/net/bond*/bonding/async_linkspeed >=20 > New option settings like this require (a) support in iproute2 > (to set/get the option like any other bonding option), and (b) updates > to the documentation (Documentation/networking/bonding.rst). >=20 > I'm not completely sold on the name, either, "async" doesn't > really describe "differing data rates" in my mind. Perhaps an option > named "ad_link_speed" with allowed values of "same" or "any"? --=20 This electronic communication and the information and any files transmitted= =20 with it, or attached to it, are confidential and are intended solely for=20 the use of the individual or entity to whom it is addressed and may contain= =20 information that is confidential, legally privileged, protected by privacy= =20 laws, or otherwise restricted from disclosure to anyone else. If you are=20 not the intended recipient or the person responsible for delivering the=20 e-mail to the intended recipient, you are hereby notified that any use,=20 copying, distributing, dissemination, forwarding, printing, or copying of= =20 this e-mail is strictly prohibited. If you received this e-mail in error,= =20 please return the e-mail to the sender, delete it from your computer, and= =20 destroy any printed copy of it. --0000000000000fb0e705ec57a162 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 zqFsDrDD6cfwPFA8egCLRqlqcMvTsLO8Ak8PulZSDNLvAbFQEcKXLzfSS5I4bJEyNm+gDxU2ufWn S26/TTgra4hsvkgl1igpsKFbDqYd5GXc4f+GLIfWlFUCAwEAAaOCAdowggHWMA4GA1UdDwEB/wQE AwIFoDCBowYIKwYBBQUHAQEEgZYwgZMwTgYIKwYBBQUHMAKGQmh0dHA6Ly9zZWN1cmUuZ2xvYmFs c2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNydDBBBggrBgEFBQcw AYY1aHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAw TQYDVR0gBEYwRDBCBgorBgEEAaAyASgKMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2Jh bHNpZ24uY29tL3JlcG9zaXRvcnkvMAkGA1UdEwQCMAAwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDov L2NybC5nbG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcmwwJAYDVR0R BB0wG4EZc3RldmVuLmhzaWVoQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNV HSMEGDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUo47KV++PjdaGX8yl9SYgLyqh UFcwDQYJKoZIhvcNAQELBQADggEBACv8VBuGccogpklAkOkvfL8jtr7AUHpm2ZaG6RzE4EzvGTat uzvVLmsDVHyVsa1ioxXjqCHYllCoea6lm9UEzsidojI+YYnkuh62tdBeZ7holVEdpaq39FmL1cdH CSwbr9nedhgKPjQtcnY41wCwI1HMCUFiB3XW9DcBh94PSvqvYGsx0gFFJoXt2at06iqSLji8Rot+ jsXWHybl7AZDcupjJeQoApn6y0weM2xKcoG0WeN5SDDvmXTPe3AZG4n1xK1S8sjPJstMr++KiYS8 8l4ubZbXNKvsYhBY1PRITsrjcHkZbsufMbH2ZHAyxVN2QirJnb3Jocji5QBdKAX+pAAxggJtMIIC aQIBATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQD EyhHbG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgxJVhM6Swu/6EH/BMgw DQYJYIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEICR3zLSnPHN6ydSRQ8CZks8EeXTQ0kvH sONcqpF6iaBDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMTAz MTE3MDYzMlowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCG SAFlAwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQC ATANBgkqhkiG9w0BAQEFAASCAQBUoQNqkr9FMKnGOYERZ0DX5PCvaGa/aTK/9EdrCCymdEGQt/bu Ls4ysdDmu3jBTvsnr/dFLdwTwyJhy5vzGJ+juJ8ig+2Jtu7t6htsy7P1Fn7MjcvfZc8AgUE4lbd0 z2PiXsZdsa5tTX2V4+TVkOH4BMSSbuCELju3ThjH8364pah1e2yYQURLWF+4+BE38ULAk5ey4SnJ a06XdRce0lbnFkI7jos2LSeozdiQyOoSSsU8g96Z7KOu/ZmpjvXAJrJesP5+uIiNfX6aqjJ7YqO+ fZLvW21L38/9i5tG3ELtJ6DoOGHosKuP4NN/35RwI0ExHBr4uQYWBQMnGBHe7c/i --0000000000000fb0e705ec57a162--