Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp2583430ybi; Sun, 28 Jul 2019 12:22:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqyiytmBi+CJ/2tPidks/SCMlauzEBuGdA/GDgeYuqA0kwAuE1KGBl8rY75Mj+0BNyaTH21i X-Received: by 2002:a65:4505:: with SMTP id n5mr4863119pgq.301.1564341738712; Sun, 28 Jul 2019 12:22:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564341738; cv=none; d=google.com; s=arc-20160816; b=SgvmIldQgPx0dgVSQwMpCV3TXsGobvd21TgKet3U36b8XaGyk77qG36kHNqU42i++5 9HpuXmRn8XjxoD1YfZpBDT7glLrMmJLmFvBL67GZuWoGHMr6+EZ1LQbqrEdFCuN+ckIK wXWIpVYaYYx6nuC2OP/9qy2Ctr8+4SxPhDx4by1Q0+MHgXOYAWF+i+5oJMxaxdHCwjU9 aiPJuZAqpxz20F9yDKTFpFy246m0fLJNJVvVdzYx0AaN00FWfhyzwatzSrqOjDj5JT73 CBzhsiC5TC/Vc6a1uJ+NvkPJ2q4i8iCzJEhhRvjgIhm8HkvDU3ZR2+frhNeNKAKwLvbu ENbw== 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=tAlUwd6fIAlsvCNmTtdqOGOWBdrz6VsqnMCXimV24B0=; b=y5Q60b4eiIQjC4EY+LtooOTExDqQ4n9bMw3XIRV4OytAKx9ZQwF0JP/MM4tmMbwPut NUC6uREYd7/K1cWsR+nvNLUpQ09q2OMkxNaHPixoUjooY0buFnxkXlBhHr4TrZXxRl3C 8enN1GfrazMj+eiddhrfc0NdkQB9iDwFHzEA9hfydlJ4KtwNhpR3K8vIWvIunkWsLMTp 7D92Rzw3N33aVDUtVCttbaSjX8VC0dy4f/EJiOF8u1nI4jQ93xs7eynRU5DnMDFGJ3OW fURj9XQkYjDJXZGw1Eu++/ZaGR0RRErVAOvGaNpi2Sj5tkPYVM/pEn3dXX+8AHp3CoJi I8Yw== 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 h4si26042547plt.30.2019.07.28.12.21.20; Sun, 28 Jul 2019 12:22:18 -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 S1726195AbfG1TQD (ORCPT + 99 others); Sun, 28 Jul 2019 15:16:03 -0400 Received: from esa5.microchip.iphmx.com ([216.71.150.166]:21211 "EHLO esa5.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726098AbfG1TQC (ORCPT ); Sun, 28 Jul 2019 15:16:02 -0400 Received-SPF: Pass (esa5.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=esa5.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 (esa5.microchip.iphmx.com: no sender authenticity information available from domain of postmaster@email.microchip.com) identity=helo; client-ip=198.175.253.82; receiver=esa5.microchip.iphmx.com; envelope-from="Allan.Nielsen@microchip.com"; x-sender="postmaster@email.microchip.com"; x-conformance=spf_only Authentication-Results: esa5.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: nfVslRGlBP3jSD2/UOVCrH3bTtjdhYH/82SxjIu63midTzY8YUXbqMoj7viNJdGHsF1KVVaz3Q +gEMNrJC+OpQKMOmYTapnlPiEoc+e3uaix2PLhUn2hVnfwwJkhht3lYDMfMWRouDlsAK0kX6yJ OLKhlE+N3jh8Tj74ADcIq8JPQknNlypNwFwE/U0d5cZahCPmoWRrblPGqCbhSG4RUMY6XUrbNB ntoqk2QOt5bkSdwDAZ850QOcGc1O1zeLoCqvAvooYREQvFFR692Ynie+kq1l+9qThVSphe1JzR YaE= X-IronPort-AV: E=Sophos;i="5.64,319,1559545200"; d="scan'208";a="41428814" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 28 Jul 2019 12:16:01 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.87.152) by chn-vm-ex04.mchp-main.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 28 Jul 2019 12:16:00 -0700 Received: from localhost (10.10.85.251) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.1713.5 via Frontend Transport; Sun, 28 Jul 2019 12:16:00 -0700 Date: Sun, 28 Jul 2019 21:15:59 +0200 From: "Allan W. Nielsen" To: Andrew Lunn CC: Horatiu Vultur , Nikolay Aleksandrov , , , , , Subject: Re: [PATCH] net: bridge: Allow bridge to joing multicast groups Message-ID: <20190728191558.zuopgfqza2iz5d5b@lx-anielsen.microsemi.net> References: <1564055044-27593-1-git-send-email-horatiu.vultur@microchip.com> <7e7a7015-6072-d884-b2ba-0a51177245ab@cumulusnetworks.com> <20190725142101.65tusauc6fzxb2yp@soft-dev3.microsemi.net> <20190726120214.c26oj5vks7g5ntwu@soft-dev3.microsemi.net> <20190726134613.GD18223@lunn.ch> <20190726195010.7x75rr74v7ph3m6m@lx-anielsen.microsemi.net> <20190727030223.GA29731@lunn.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline In-Reply-To: <20190727030223.GA29731@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/27/2019 05:02, Andrew Lunn wrote: > > As you properly guessed, this model is quite different from what we are used to. > > Yes, it takes a while to get the idea that the hardware is just an > accelerator for what the Linux stack can already do. And if the switch > cannot do some feature, pass the frame to Linux so it can handle it. This is understood, and not that different from what we are used to. The surprise was to make all multicast traffic to go to the CPU. > You need to keep in mind that there could be other ports in the bridge > than switch ports, and those ports might be interested in the > multicast traffic. Hence the CPU needs to see the traffic. This is a good argument, but I was under the impression that not all HW/drivers supports foreign interfaces (see ocelot_netdevice_dev_check and mlxsw_sp_port_dev_check). > But IGMP snooping can be used to optimise this. Yes, IGMP snooping can limit the multicast storm of multicast IP traffic, but not for L2 non-IP multicast traffic. We could really use something similar for non-IP multicast MAC addresses. Trying to get back to the original problem: We have a network which implements the ODVA/DLR ring protocol. This protocol sends out a beacon frame as often as every 3 us (as far as I recall, default I believe is 400 us) to this MAC address: 01:21:6C:00:00:01. Try take a quick look at slide 10 in [1]. If we assume that the SwitchDev driver implemented such that all multicast traffic goes to the CPU, then we should really have a way to install a HW offload path in the silicon, such that these packets does not go to the CPU (as they are known not to be use full, and a frame every 3 us is a significant load on small DMA connections and CPU resources). If we assume that the SwitchDev driver implemented such that only "needed" multicast packets goes to the CPU, then we need a way to get these packets in case we want to implement the DLR protocol. I'm sure that both models can work, and I do not think that this is the main issue here. Our initial attempt was to allow install static L2-MAC entries and append multiple ports to such an entry in the MAC table. This was rejected, for several good reasons it seems. But I'm not sure it was clear what we wanted to achieve, and why we find it to be important. Hopefully this is clear with a real world use-case. Any hints or ideas on what would be a better way to solve this problems will be much appreciated. /Allan [1] https://www.odva.org/Portals/0/Library/Conference/2017-ODVA-Conference_Woods_High%20Availability_Guidelines%20for%20Use%20of%20DLR%20in%20EtherNetIP%20Networks_FINAL%20PPT.pdf