On Fri, Feb 26, 2016 at 04:37:39PM -0500, Vivien Didelot wrote: > Hi Kevin, Andrew, > > Andrew Lunn <and...@lunn.ch> writes: > > > 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). > > Given Linux expectations (described below by Andrew) I'd say yes, this > is always correct. But I'd be curious to know if someone has counter > examples for this. > > > What do these figures show? > > The figure shows the following VLANTable config: > > Port 0 1 2 3 4 5 6 > 0 - * * * - - * > 1 * - * * - - * > 2 * * - * - - * > 3 * * * - - - * > 4 - - - - - * - > 5 - - - - * - - > 6 * * * * - - - > > There is two independant groups: 0, 1, 2, 3, 6 (LAN, 6 is CPU/Router), > and 4, 5 (4 is WAN and 5 is CPU/Router):
Ah, two CPU interfaces. We don't support that yet. I do have patches, but i took a different approach. They just load balance, by some definition of 'load balance' between the two CPU ports. Andrew