Thread (38 messages) 38 messages, 9 authors, 2017-11-09

Re: [PATCH v3 net-next 0/5] IGMP snooping for local traffic

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2017-11-07 21:18:17

On 11/07/2017 01:01 PM, Andrew Lunn wrote:
quoted
quoted
It is not quite as simple as that. Image:

brctl addbr br0
brctl addif br0 eth2
brctl addif br0 lan0
Hi Vivien

I will reply to your other points later. But another scenario to think
about.

Take the above configuration.

A join is received on eth2. The bridge makes switchdev calls. Your
idea would be it passes add MDB(eth2).

Now an application performs a join on br0. The bridge does nothing
with switchdev. It already gets the frames it needs.

eth2 leaves the group. The switch does nothing. It still needs the frames.

The application leaves the group on br0. The bridge makes switchdev
calls to tell the hardware to stop sending it frames. With your
scheme, it would pass del MDB(br0).

So we start it with eth2, stop it with br0. I think this makes it
clear, the interface name is not important. All we need is a bit,
which says is this a normal MDB request, or a host MDB request.  I
encode this bit by having a different requests.
Andrew, I am afraid you lost me here, I don't even understand the
problem you are trying to describe :) What would be the rationale for
differentiation "normal MDB requests" from "host MDB requests", how and
why should we treat them differently? In a switch case, they all
translate to programming a MDB entry for a given switch port, right?
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help