[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44233399-2cb9-35af-2b93-b0024aac8dc4@gmail.com>
Date: Wed, 6 Sep 2017 12:54:28 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Roopa Prabhu <roopa@...ulusnetworks.com>,
netdev <netdev@...r.kernel.org>,
Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
Woojung.Huh@...rochip.com, jbe@...gutronix.de,
sean.wang@...iatek.com, john@...ozen.org
Subject: Re: [PATCH v2 rfc 0/8] IGMP snooping for local traffic
On 09/06/2017 09:42 AM, Andrew Lunn wrote:
>>> On the switch asics we work with, the driver has information if the
>>> packet was
>>> forwarded in hardware. This is per packet reason code telling why the
>>> CPU is seeing the packet.
>>> The driver can use this information to reset skb->offload_fwd_mark to
>>> allow software forward.
>
>> I am not positive this is universally available across different
>> switch vendors.
>
> It is not universally available. We cannot rely on it being available
> with switches supported by DSA.
>
> We have a few choices:
>
> 1) We assume anything the switch forwards to the CPU has also been
> sent out whatever ports of the switch it needs to. Set
> offload_fwd_mark.
>
> 2) We assume anything the switch forwards to the CPU has not gone
> anywhere else, and the bridge needs to send it out whatever ports
> it thinks. Don't set offload_fwd_mark.
>
> 3) We define some rules about what packets the switch should handle,
> and then do some deep packet inspection to decide if
> offload_fwd_mark should be set or not.
>
> I don't see 3) being possible. We are dealing with a fixed silicon
> data path, not something which is fully programmable.
>
> So it is down to 1) or 2). I've been assuming 1), but maybe we need to
> discuss that as well.
At the very least we should probably move the skb->offload_fwd_mark
setting down into the individual taggers since they should be in a
better position to set it or not based on the switch device they are
driving, this should address, on a per-switch basis whether 2) or 3)
applies to a given switch.
That being said, I have a feeling that the Marvell switches behave a
tiny bit differently than others in that they do not flood broadcast by
default in a given L2 domain.
On b53/bcm_sf2 there is the ability to disable the reception of
broadcast frames on the management/CPU port, and while there is the
ability to configure which ports should be flooded in case of
unicast/multicast lookup failures, I don't see anything for Broadcast,
so I am assuming this will get forwarded by default. Will test with your
patch set later on time permitting.
--
Florian
Powered by blists - more mailing lists