Re: [PATCH net-next 7/9] net: dsa: mv88e6xxx: restore VLANTable map control

From: Andrew Lunn
Date: Fri Feb 26 2016 - 16:04:27 EST

On Fri, Feb 26, 2016 at 08:45:28PM +0000, Kevin Smith wrote:
> Hi Vivien,
> On 02/26/2016 12:16 PM, Vivien Didelot wrote:
> > + /* allow CPU port or DSA link(s) to send frames to every port */
> > + if (dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port)) {
> > + output_ports = mask;
> > + } else {

> Is this always correct? Are there situations where a CPU or neighboring
> switch should not be allowed to access another port? (e.g. Figure 6 or 7
> in the 88E6352 functional specification).

What do these figures show?

The CPU port needs to be able to send to each external port. The whole
DSA concept is that Linux has a netdev per external port, and can send
frames using the netdev out a specific port. Such frames have a DSA
header indicating which port they are destined to. When you have a
multi chip setup, the frame needs to traverse DSA ports.