Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp5013469ybi; Tue, 30 Jul 2019 12:10:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqzSWc0HHO91Dn5NXmvkiff/8x5mLZfzOSpjhIXJmxzbXJlj1/Pge3wXVLI0gz3BREKyknKy X-Received: by 2002:a17:90a:b394:: with SMTP id e20mr117433326pjr.76.1564513815593; Tue, 30 Jul 2019 12:10:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564513815; cv=none; d=google.com; s=arc-20160816; b=IOuEGbXI3dAEHIfzP3/K2mdFSQ7DkjbZl4jnCmusXWDJJnFwo/xFOtEjO1i+MTWhtg w0nQLKMc4QggGSIhmUFil6RSgVE00U0GwvmYexL7gR4//eIQ/yoISIZqwV1ZiCqq0rhe CDzKxIrYYQsFEtZPDtG0lHjMDiEkD6djBgQ0mW+aMb16UAdesMtY8URItelX3ZAE5oFS G8G8Y/P96eYe4Kp+ymBAz2Con+cOzlNapm9evPiWCep9qUuV1werPRLKBU+U6u4XudHZ xm6avLwqsui7mSCqJWVqPQim+3SEydcpvDngloF3AegFOxJchbr9y0i/dQkgkaLEM6pj xdAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:ironport-sdr; bh=7a6M6cvucUCVn6XhIRxXRADeAZS2TLGRS30F8NrU/lM=; b=ZMwkakcgbD3JDsAzhCMfMg4grMmXZbEeJXo3U+kWQYClMLlIvF/Lj9jGXNP0UOHRNa 67SOC75rOKbHUkGPIx52v40rvAWb3CqmahWTKM8GtX1P/5zLY9wS94jGBiKttVUrprLX oNgR2u3SWmn/70Bs6gOxv66//fsHajhhGmiBM5PLnoIAnMTlIXV6CMiY07UeDxlm49D2 eDjM5uyVMYa7FZgL4te8x8zJcy/5JLLNrHfXiLpOPP8ES2OGvN/nZdTDBWw44H6ygWoV dxGzF1LYsERJmpTwKRUXcF/X9bpGY3oJGXs6433+emVRZdc1/S3B2TL55qSTeygp7oR7 bewA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=microchip.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 14si30524158pgy.255.2019.07.30.12.09.59; Tue, 30 Jul 2019 12:10:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388067AbfG3TI5 (ORCPT + 99 others); Tue, 30 Jul 2019 15:08:57 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:47123 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387996AbfG3TI5 (ORCPT ); Tue, 30 Jul 2019 15:08:57 -0400 Received-SPF: Pass (esa2.microchip.iphmx.com: domain of Allan.Nielsen@microchip.com designates 198.175.253.82 as permitted sender) identity=mailfrom; client-ip=198.175.253.82; receiver=esa2.microchip.iphmx.com; envelope-from="Allan.Nielsen@microchip.com"; x-sender="Allan.Nielsen@microchip.com"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 mx a:ushub1.microchip.com a:smtpout.microchip.com a:mx1.microchip.iphmx.com a:mx2.microchip.iphmx.com include:servers.mcsv.net include:mktomail.com include:spf.protection.outlook.com ~all" Received-SPF: None (esa2.microchip.iphmx.com: no sender authenticity information available from domain of postmaster@email.microchip.com) identity=helo; client-ip=198.175.253.82; receiver=esa2.microchip.iphmx.com; envelope-from="Allan.Nielsen@microchip.com"; x-sender="postmaster@email.microchip.com"; x-conformance=spf_only Authentication-Results: esa2.microchip.iphmx.com; dkim=none (message not signed) header.i=none; spf=Pass smtp.mailfrom=Allan.Nielsen@microchip.com; spf=None smtp.helo=postmaster@email.microchip.com; dmarc=pass (p=none dis=none) d=microchip.com IronPort-SDR: FVWau1FL+BdSstz+rb4YYnQzfGgcu8B+5qDHSBUHkR8H3UFjmMy9b1sfZ1xqa29K5FyhXngNr3 yUZvr9NnInPpgqSkv8/rgGPf1B1IDF791s4Du0A+rgrGXKxmuUGrCVLqMx0nJTZ40BOVmZxFXN K9SkEmScVW6zXTE+CBxQVc5L4Z1hD4xXowKx4Y1jWPyldFfZFMa9ffX2ePQgVruqcwSrnXEN7H F33pDVKcEMheDEj5DuIX9xMa6Gd8M7geoykd9c0sduulfy1wywJLrnWpydqIkM6BOXVFevud4x OIA= X-IronPort-AV: E=Sophos;i="5.64,327,1559545200"; d="scan'208";a="43283969" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 30 Jul 2019 12:08:56 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 30 Jul 2019 12:00:00 -0700 Received: from localhost (10.10.85.251) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Tue, 30 Jul 2019 12:00:00 -0700 Date: Tue, 30 Jul 2019 21:00:01 +0200 From: "Allan W. Nielsen" To: Andrew Lunn CC: Ido Schimmel , Nikolay Aleksandrov , Horatiu Vultur , , , , , Subject: Re: [PATCH] net: bridge: Allow bridge to joing multicast groups Message-ID: <20190730190000.diacyjw6owqkf7uf@lx-anielsen.microsemi.net> References: <20190729121409.wa47uelw5f6l4vs4@lx-anielsen.microsemi.net> <95315f9e-0d31-2d34-ba50-11e1bbc1465c@cumulusnetworks.com> <20190729131420.tqukz55tz26jkg73@lx-anielsen.microsemi.net> <3cc69103-d194-2eca-e7dd-e2fa6a730223@cumulusnetworks.com> <20190729135205.oiuthcyesal4b4ct@lx-anielsen.microsemi.net> <20190729143508.tcyebbvleppa242d@lx-anielsen.microsemi.net> <20190729175136.GA28572@splinter> <20190730062721.p4vrxo5sxbtulkrx@lx-anielsen.microsemi.net> <20190730143400.GO28552@lunn.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline In-Reply-To: <20190730143400.GO28552@lunn.ch> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The 07/30/2019 16:34, Andrew Lunn wrote: > The whole offloading story has been you use the hardware to accelerate > what the Linux stack can already do. It is true, I have been quite keen on finding a way to control the forwarding of L2-multicast which will work in the same way with and without HW acceleration (and which we can HW offlaod with the HW I'm working on). > In this case, you want to accelerate Device Level Ring, DLR. It is actually not only for DLR, there are other ring protocols which has the same needs the same MRP (media redundancy protocol) is an other example. I just used DLR as an example because this is the one we expect to implement the protocol for first. There are other just as important use-cases. > But i've not yet seen a software implementation of DLR. Should we really be > considering first adding DLR to the SW bridge? We have actually (slowly) stared to work on a DLR SW implementation. We want to do this as a Linux driver instead of a user-space implementation, because there are other HW facilities we would like to offload (the HW has a automatic frame generator, which can generate the beacon frames, and a unit which can terminate the beacon frames, and generate an interrupt if the beacon frames are not received). Our plan was to implement this in pure SW, and then look at how to HW offload it. But this will take some time before we have anything meaning full to show. > Make it an alternative to the STP code? I'm still working on learning the details of DLR, but I actually believe that it in some situations may co-exists with STP ;-) DLR only works on ring topologies, but it is possible to connect a ring to a classic STP network. If doing so, then you are suppose to run DLR on the two ring ports, and (M)STP on the ports connecting to the remaining part of the network. As far as I recall, this is called a gateway node. But supporting this is optional, and will properly not be supported in the first implementation. > Once we have a generic implementation we can then look at how it can > be accelerated using switchdev. I agree with you that we need a SW implementation of DLR because we can offload the DLR protocol to HW. But what we are looking at here, is to offload a non-aware-(DLR|MRP)-switch which happens to be placed in a network with these protocols running. It is not really DLR specific, which is why it seems reasonable to implement this without a DLR SW implementation up front. -- /Allan