From: Vladimir Oltean <olte...@gmail.com> Date: Sun, 25 Aug 2019 21:27:23 +0300
> On Sun, 25 Aug 2019 at 20:25, Vivien Didelot <vivien.dide...@gmail.com> wrote: >> >> When a VLAN is programmed on a user port, every switch of the fabric also >> program the CPU ports and the DSA links as part of the VLAN. To do that, >> DSA makes use of bitmaps to prepare all members of a VLAN. >> >> While this is expected for DSA links which are used as conduit between >> interconnected switches, only the dedicated CPU port of the slave must be >> programmed, not all CPU ports of the fabric. This may also cause problems in >> other corners of DSA such as the tag_8021q.c driver, which needs to program >> its ports manually, CPU port included. >> >> We need the dsa_port_vlan_{add,del} functions and its dsa_port_vid_{add,del} >> variants to simply trigger the VLAN programmation without any logic in them, >> but they may currently skip the operation based on the bridge device state. >> >> This patchset gets rid of the bitmap operations, and moves the bridge device >> check as well as the explicit programmation of CPU ports where they belong, >> in the slave code. >> >> While at it, clear the VLAN flags before programming a CPU port, as it >> doesn't make sense to forward the PVID flag for example for such ports. >> >> Changes in v2: only clear the PVID flag. ... > For the whole series: > Tested-by: Vladimir Oltean <olte...@gmail.com> > Thanks! Series applied.