From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tp9c8bteA9/QpO3pIOG/3bTEwmbE25ZhMXj+4SiAIvs=; b=hMVTC5Lw/aeMrtkMVlgms07lFnQqVXaDQyIbpT591k8ZodbYobUtxqrbpb0HyEAfeqz2YnnGysFnVrG9jDlI1gXAnauf9vT3FjQxFFq1AmfJMEtFlclZBCEL9JtVz4Iv5BD7ErG5YMyk5Z/RjV830/WYTn/y+4msufXRn5ZJnztfUnEPv7EsyJyAovGj3W6OO2jPbqSW/Yzbux8Rk+H+c/GgES3EjH9D4UjLKFDbyMTdQr+HMdQvfLGm2VMM2ubFhdxCmJoKCe8AEjhl1aFN+OTX6udcv6Bl2QhGcrAxnws4NpC6k3+0YKnD+Sstb+21UvK062nkzceLCBFpeRIl+g== From: Nikolay Aleksandrov References: <20210509194509.10849-1-linus.luessing@c0d3.blue> <20210509194509.10849-10-linus.luessing@c0d3.blue> Message-ID: Date: Tue, 11 May 2021 12:33:08 +0300 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Subject: Re: [Bridge] [net-next v2 09/11] net: bridge: mcast: split multicast router state for IPv4 and IPv6 List-Id: Linux Ethernet Bridging List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Linus_L=c3=bcssing?= , netdev@vger.kernel.org Cc: b.a.t.m.a.n@lists.open-mesh.org, bridge@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Roopa Prabhu , Jakub Kicinski , "David S . Miller" On 11/05/2021 12:29, Nikolay Aleksandrov wrote: > On 09/05/2021 22:45, Linus Lüssing wrote: >> A multicast router for IPv4 does not imply that the same host also is a >> multicast router for IPv6 and vice versa. >> >> To reduce multicast traffic when a host is only a multicast router for >> one of these two protocol families, keep router state for IPv4 and IPv6 >> separately. Similar to how querier state is kept separately. >> >> For backwards compatibility for netlink and switchdev notifications >> these two will still only notify if a port switched from either no >> IPv4/IPv6 multicast router to any IPv4/IPv6 multicast router or the >> other way round. However a full netlink MDB router dump will now also >> include a multicast router timeout for both IPv4 and IPv6. >> >> Signed-off-by: Linus Lüssing >> --- >> net/bridge/br_forward.c | 8 ++ >> net/bridge/br_mdb.c | 10 ++ >> net/bridge/br_multicast.c | 197 ++++++++++++++++++++++++++++++++++---- >> net/bridge/br_private.h | 6 +- >> 4 files changed, 201 insertions(+), 20 deletions(-) [snip] >> +#else >> +static inline void br_ip6_multicast_add_router(struct net_bridge *br, >> + struct net_bridge_port *port) >> +{ >> +} > > Actually that goes for multicast_add_router, too. > err, my bad - multicast_add_router is fine as is, sorry about that > I'm saying all this because soon I'll be adding per-vlan multicast router support > and these will be reusable there without any modification if they can take any list. > Also it'll be easier to maintain one set of functions instead of multiple identical ones. >