Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp7230994ybh; Thu, 8 Aug 2019 12:11:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqwsORO1BhSgilq/WVhZzHmTIbERb4R1OLsFrqr2y/T5x1jhqmJJ+E9zyP/gr81fSs9R8J/k X-Received: by 2002:aa7:8651:: with SMTP id a17mr17010372pfo.138.1565291505184; Thu, 08 Aug 2019 12:11:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565291505; cv=none; d=google.com; s=arc-20160816; b=QjO1OVmcp2UlXSfOD+EYvC1Kj/hce4XKuusodbpAwjLu6RF7+bidatrGlXSim69itY 8vnL5cuqpdNDdoU4jCUWz2U/u0RJKXw6ZKYXT9bBZQJ2I9aO+VbooMxrhedhZBQiFfOz OU4KhvNuoTvxGWwE1B+pMluuLyMfQf4P3FZ7E9ZkO2fPQxMOh1jbf6Yq+j2NGwuqQWYi UPymP/mceCpQ0GTCQ9dwgLQ1j2L+3Mldl+Uio13vFHOh6G6xblHuAJUwcTdUgz3pKH2e ttHxUtGw1JC8JDCAlLJZfeRPUPOf1GDFYs7IP5aM7MO3SrXEQlxTOcKE3Eu9KWF7X7RB g6bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=s+98ihENQ6MNLW1IWYa/8i5NOJHR+YVhPCPT4ln8N/c=; b=qRCkH7sZYp7SD38G52clO/MkMTO5mpZwC3ClLatGX1S+hOKy8bdeMkpiqkqT3diNd2 P/66Gaa/+nOTh2Tc9xmtjxr+mUkcYq9eyWvL+4IVVOtr8hDQXmIZNASlmsrjq1T1poIu bMrW6a/Du2Rbut9UgJuWFyeVX5Knh/skAW7wv+K4cyokUM/gTmNjjNRao103URZYfEI4 LdpMquqze0Ap006fixqV41lPKGRPvhN0p2H1an3ptKZ1VI3mNAzh9YWxqKPTVbkajb62 t7SkpktMq0UaiffnfDbDssHFe1zkaVdPnxsPIohA1cc20b16YatOscOoUWfmiznHddRe m38w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZiduICmp; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 65si58027818pff.220.2019.08.08.12.11.30; Thu, 08 Aug 2019 12:11:45 -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; dkim=pass header.i=@kernel.org header.s=default header.b=ZiduICmp; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404617AbfHHTKR (ORCPT + 99 others); Thu, 8 Aug 2019 15:10:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:44542 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2405236AbfHHTKM (ORCPT ); Thu, 8 Aug 2019 15:10:12 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CA5AF21743; Thu, 8 Aug 2019 19:10:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565291411; bh=poNZxvBB64RY5bgeLeW7pw6ZypDav4EqCJYFwjKF1MM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZiduICmpddMy+7P25LYqk7lLsa94AtgPmCMIfkAd+ceXRt1fd9w4107qSuYeQUjQ1 Bp9ZgTzDQjlgxulTT1uhgi+IO8iAAsz2Ua1PSqAbI0ciD4yHEskX92tjA/90zBbL89 SYHj53csbZE+MoBwe6phRPKHitS8TZz+bXpdGh8Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nikolay Aleksandrov , "David S. Miller" Subject: [PATCH 4.19 22/45] net: bridge: mcast: dont delete permanent entries when fast leave is enabled Date: Thu, 8 Aug 2019 21:05:08 +0200 Message-Id: <20190808190454.983078630@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190808190453.827571908@linuxfoundation.org> References: <20190808190453.827571908@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nikolay Aleksandrov [ Upstream commit 5c725b6b65067909548ac9ca9bc777098ec9883d ] When permanent entries were introduced by the commit below, they were exempt from timing out and thus igmp leave wouldn't affect them unless fast leave was enabled on the port which was added before permanent entries existed. It shouldn't matter if fast leave is enabled or not if the user added a permanent entry it shouldn't be deleted on igmp leave. Before: $ echo 1 > /sys/class/net/eth4/brport/multicast_fast_leave $ bridge mdb add dev br0 port eth4 grp 229.1.1.1 permanent $ bridge mdb show dev br0 port eth4 grp 229.1.1.1 permanent < join and leave 229.1.1.1 on eth4 > $ bridge mdb show $ After: $ echo 1 > /sys/class/net/eth4/brport/multicast_fast_leave $ bridge mdb add dev br0 port eth4 grp 229.1.1.1 permanent $ bridge mdb show dev br0 port eth4 grp 229.1.1.1 permanent < join and leave 229.1.1.1 on eth4 > $ bridge mdb show dev br0 port eth4 grp 229.1.1.1 permanent Fixes: ccb1c31a7a87 ("bridge: add flags to distinguish permanent mdb entires") Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/bridge/br_multicast.c | 3 +++ 1 file changed, 3 insertions(+) --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1621,6 +1621,9 @@ br_multicast_leave_group(struct net_brid if (!br_port_group_equal(p, port, src)) continue; + if (p->flags & MDB_PG_FLAGS_PERMANENT) + break; + rcu_assign_pointer(*pp, p->next); hlist_del_init(&p->mglist); del_timer(&p->timer);