From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BABB4C43381 for ; Sat, 16 Feb 2019 08:35:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 837FD222D0 for ; Sat, 16 Feb 2019 08:35:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="bjP7pZap" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730839AbfBPIfi (ORCPT ); Sat, 16 Feb 2019 03:35:38 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:51760 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726050AbfBPIfg (ORCPT ); Sat, 16 Feb 2019 03:35:36 -0500 Received: by mail-wm1-f65.google.com with SMTP id n19so163506wmi.1 for ; Sat, 16 Feb 2019 00:35:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=OyCnuCG6AS2P1i2XtRCcTuDofsx+cFMFYugIhGVPNfg=; b=bjP7pZapEbliP/nuHv8l3nVg6wD1X38QdKErf+W4dQAvHUU3zzo110aKn3ACDkq/NB 3mpmg/sGDyK9DFmjbQvGnSU0EgzhswR6SVpaClhtcC5Fxh5qAsO1hEEWS3kSlhI4cViS mHWFfxAVgC2eZeUlTKyvXpm4GJ9T3Hj+VcjMw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OyCnuCG6AS2P1i2XtRCcTuDofsx+cFMFYugIhGVPNfg=; b=QFVmD58tIjgwihD8dMXsIq+rnd7eOiqtqmtlhRV50/vNa+H9YcuyNVSND4Fk0F0cpU 5gIPDtE08Kce0R4gjdCmJqrm8LuvJHCfxEyYEBceWRRLX+xeYWc+1QVmcdVbshrzWBz/ eFQghL7OgH0AyIhpeb4F8XHoY4Lnkq86E6uZNGcoTBj/C2z0mMT1/K/P0fTny2pFS071 vyza/yyNUPQz4RvbGWDQpUmNAewYbtAJRJU91mG+o/FQU8WqlRrpmOVEHjjhiu5xYrO2 55HEjMFtPhIpUzvqYJOq1QhJ57YNVJ8NTQEIWdp/RJ/FPBPkXzC8cFInP2DrOX2lTUMy 6eeA== X-Gm-Message-State: AHQUAuZYVzr0LpZg1tkOzE2IfyvXUC/9JuoQoxUSPnBomrmXZrOGReCd nPI7/Y5iwlZMMUJWAkRCrmmrnA== X-Google-Smtp-Source: AHgI3IZFqec4sgvY1SAURwDnaWS+IH19LNx9Ig8r4dcW1hdf6+R0HiJeZ823wPLxP5gHQfi/u6YdTw== X-Received: by 2002:a1c:9810:: with SMTP id a16mr9167815wme.37.1550306134879; Sat, 16 Feb 2019 00:35:34 -0800 (PST) Received: from [192.168.0.107] (79-100-158-105.ip.btc-net.bg. [79.100.158.105]) by smtp.gmail.com with ESMTPSA id s127sm8172476wmf.39.2019.02.16.00.35.33 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Sat, 16 Feb 2019 00:35:34 -0800 (PST) Subject: Re: [PATCH RFC] net: bridge: don't flood known multicast traffic when snooping is enabled From: Nikolay Aleksandrov To: =?UTF-8?Q?Linus_L=c3=bcssing?= Cc: netdev@vger.kernel.org, roopa@cumulusnetworks.com, wkok@cumulusnetworks.com, anuradhak@cumulusnetworks.com, bridge@lists.linux-foundation.org, davem@davemloft.net, stephen@networkplumber.org References: <20190215130427.29824-1-nikolay@cumulusnetworks.com> <20190215171332.GA1472@otheros> <479a1acf-c7f3-4e6f-4246-e1583e98d356@cumulusnetworks.com> Message-ID: <733b151e-47dd-ad9a-b112-473cf551fbeb@cumulusnetworks.com> Date: Sat, 16 Feb 2019 10:35:32 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <479a1acf-c7f3-4e6f-4246-e1583e98d356@cumulusnetworks.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 16/02/2019 10:05, Nikolay Aleksandrov wrote: > On 15/02/2019 19:13, Linus Lüssing wrote: >> On Fri, Feb 15, 2019 at 03:04:27PM +0200, Nikolay Aleksandrov wrote: >>> Every user would expect to have traffic forwarded only to the configured >>> mdb destination when snooping is enabled, instead now to get that one >>> needs to enable both snooping and querier. Enabling querier on all >>> switches could be problematic and is not a good solution, >> >> There is no need to set the querier on all snooping switches. >> br_multicast_querier_exists() checks if a querier exists on the >> link in general, not if this particular host/bridge is a querier. >> > > We need a generic solution for the case of existing mdst and no querier. > More below. > >> >>> for example as summarized by our multicast experts: >>> "every switch would send an IGMP query >> >> What? RFC3810, section 7.1 says: >> >> "If it is the case, a querier election mechanism (described in >> section 7.6.2) is used to elect a single multicast router to be >> in Querier state. [...] Nevertheless, it is only the [elected] Querier >> that sends periodical or triggered query messages on the subnet." >>>> for any random multicast traffic it >>> received across the entire domain and it would send it forever as long as a >>> host exists wanting that stream even if it has no downstream/directly >>> connected receivers" >> > > This was taken out of context and it's my bad, I think everyone is aware > of the election process, please nevermind the above statement. > > [snip]> >> >> Have you done some tests with this change yet, Nikolay? >> > > You've raised good questions, IPv6 indeed needs more work - we'll have to flood > link-local packets etc. but I wanted to have a discussion about no querier/existing mdst. > To simplify we can modify the patch and have traffic forwarded to the proper ports when an > mdst exists and there is no querier for both unsolicited report and user-added entry. To add a bit more: "- no querier exists on the link - one port gets an unsolicited MLD report, i.e. because a host has just started to listen to a particular multicast address => will only this port receive multicast traffic? what happens to other ports that have listeners for the same multicast group?" Correct, only the interested ports (where reports have been seen or the user has added them) will get the traffic. We could also consider having this only for user-added mdsts, I'll have to think more about that. > We can keep the current behaviour for unknown traffic with and without querier. > This would align it closer to what other vendors currently do as well IIRC. > What do you think ? > > Thanks, > Nik >