From: Vladimir Oltean <olte...@gmail.com> Date: Wed, 27 May 2020 20:20:38 +0300
> From: Vladimir Oltean <vladimir.olt...@nxp.com> > > Be there 2 switches spi/spi2.0 and spi/spi2.1 in a cross-chip setup, > both under the same VLAN-filtering bridge, both in the > SJA1105_VLAN_BEST_EFFORT state. > > If we try to change the VLAN state of one of the switches (to > SJA1105_VLAN_FILTERING_FULL) we get the following error: > > devlink dev param set spi/spi2.1 name best_effort_vlan_filtering value > false cmode runtime > [ 38.325683] sja1105 spi2.1: Not allowed to overcommit frame memory. > L2 memory partitions and VL memory partitions share the > same space. The sum of all 16 memory partitions is not > allowed to be larger than 929 128-byte blocks (or 910 > with retagging). Please adjust > l2-forwarding-parameters-table.part_spc and/or > vl-forwarding-parameters-table.partspc. > [ 38.356803] sja1105 spi2.1: Invalid config, cannot upload > > This is because the spi/spi2.1 switch doesn't support tagging anymore in > the SJA1105_VLAN_FILTERING_FULL state, so it doesn't need to have any > retagging rules defined. Great, so it can use more frame memory > (retagging consumes extra memory). > > But the built-in low-level static config checker from the sja1105 driver > says "not so fast, you've increased the frame memory to non-retagging > values, but you still kept the retagging rules in the static config". > > So we need to rebuild the VLAN table immediately before re-uploading the > static config, operation which will take care, based on the new VLAN > state, of removing the retagging rules. > > Fixes: 3f01c91aab92 ("net: dsa: sja1105: implement VLAN retagging for > dsa_8021q sub-VLANs") > Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com> Applied, thanks.