My setup is as follow:
two lans, br0 is 192.168.1.0/26 and br1 192.168.2.0/24
They each have their wifi network (eth1 and wl0.1 respectively)
In other words, it's quite exactly the setup explained in the multi ssid guide.
I've set limits for 192.168.2.0/24 in the B/W Limiter page. The GUI complained about the IP being out of range, but still accepted my changes and I could see them in iptables and the nvram.
However they were not enforced.
As I find out, the default iptables mangle rules are as follow:
iptables -t mangle -I PREROUTING -i br0 -j IMQ —todev 1
iptables -t mangle -I POSTROUTING -o br0 -j IMQ —todev 2
As we can see, the mangle rules are applied only to br0.
What I did at first was to add two lines in my firewall script (so my changes are auto applied after I edit the QoS page):
iptables -t mangle -I PREROUTING -i br1 -j IMQ —todev 1
iptables -t mangle -I POSTROUTING -o br1 -j IMQ —todev 2
At this point everything is working as expected.
Even though it is not in my set up, I tested setting rules affecting the two lans at the same time, and it's working. I did not notice any problems, but I confess that I did not do a lot of tests. In my humble opinion, it is unlikely to cause a performance hit.
Fixing the GUI to accept all lans ips and applying the two iptables rules to all bridges would be a solution. Or to apply them only to the lans concerned by user defined rules (but then we'd have to consider "Default Class rate/ceiling for unlisted IP's", which is expected to concern all lans).
Editing the GUI and building a firmware is way beyond my knowledge, that's why I asked here if someone had a solution. Even though now I found a solution, it would be great if it was built in the firmware, I'm sure others will come by the same problem sooner or later.
Note: The title of my original post is incorrect, the problem only affects the B/W limiter, the QoS rules works as expected.