ok, this seems to work
/sbin/bridge vlan add vid 500 tagged dev wan
bridge looks now as following:
root@bpi-r64:~# /sbin/bridge vlan show lanbr0
port vlan ids
wan 500
lan1 1 PVID Egress Untagged
lan2 1 PVID Egress Untagged
br0 1 PVID Egress Untagged
lanbr0 500 PVID Egress Untagged
root@bpi-r64:~#
changed mac of vlan on my main-router to match yours
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
aa:bb:cc:dd:ee:ff dev wan vlan 500 self
root@bpi-r64:~#
put vlan remotely down, to ensure no more traffic is reaching r64
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
root@bpi-r64:~#
self entry was dropped without a mt7530_fdb_write messageâŚafter a while it seems to be written down in dsa-driver to hardware
[ 332.767384] DEBUG: Passed mt7530_fdb_write 366
[ 332.771975] DEBUG: Passed mt7530_fdb_write 381
[ 332.777816] DEBUG: Passed mt7530_fdb_write 366
[ 332.782696] DEBUG: Passed mt7530_fdb_write 381
[ 332.788104] DEBUG: Passed mt7530_fdb_write 366
[ 332.792985] DEBUG: Passed mt7530_fdb_write 381
[ 332.798459] DEBUG: Passed mt7530_fdb_write 366
[ 332.803358] DEBUG: Passed mt7530_fdb_write 381
flush is working
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
root@bpi-r64:~# echo 1 > /sys/class/net/lanbr0/bridge/flush
root@bpi-r64:~# [ 434.499488] DEBUG: Passed mt7530_fdb_write 366
[ 434.504126] DEBUG: Passed mt7530_fdb_write 381
[ 434.509221] DEBUG: Passed mt7530_fdb_write 366
[ 434.513847] DEBUG: Passed mt7530_fdb_write 381
[ 434.518987] DEBUG: Passed mt7530_fdb_write 366
[ 434.523566] DEBUG: Passed mt7530_fdb_write 381
[ 434.528659] DEBUG: Passed mt7530_fdb_write 366
[ 434.533228] DEBUG: Passed mt7530_fdb_write 381
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
root@bpi-r64:~#
put vlan up again remotely and i got the 2 entries back (again without dsa handling)
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
aa:bb:cc:dd:ee:ff dev wan vlan 500 self
root@bpi-r64:~#
mac currently stays in cache, but i cannot delete it
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
aa:bb:cc:dd:ee:ff dev wan vlan 500 self
root@bpi-r64:~# /sbin/bridge fdb del aa:bb:cc:dd:ee:ff dev wan vlan 500 self
[ 615.488224] DEBUG: Passed dsa_switch_event 480
[ 615.493120] DEBUG: Passed dsa_switch_fdb_del 169
[ 615.498140] DEBUG: Passed dsa_switch_fdb_del 172
[ 615.503356] DEBUG: Passed mt7530_port_fdb_del 1346
[ 615.508585] DEBUG: Passed mt7530_fdb_write 366
[ 615.513426] DEBUG: Passed mt7530_fdb_write 381
[ 615.518826] DEBUG: Passed mt7530_port_fdb_del 1351 ret:0
[ 615.524455] DEBUG: Passed dsa_switch_event 482 err:0
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
aa:bb:cc:dd:ee:ff dev wan vlan 500 self
root@bpi-r64:~#
seems like dsa can read the mac-entries (remove it in softwarelist if switch deletes it by itself, but dsa-driver cannot trigger deletion, only flush)
after some time mac-entry is dropped by self (e.g. switch mac timeout)
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
aa:bb:cc:dd:ee:ff dev wan vlan 500 self
root@bpi-r64:~# [ 709.599846] DEBUG: Passed mt7530_fdb_write 366
[ 709.604688] DEBUG: Passed mt7530_fdb_write 381
[ 709.612852] DEBUG: Passed mt7530_fdb_write 366
[ 709.618276] DEBUG: Passed mt7530_fdb_write 381
[ 709.625130] DEBUG: Passed mt7530_fdb_write 366
[ 709.631539] DEBUG: Passed mt7530_fdb_write 381
[ 709.637545] DEBUG: Passed mt7530_fdb_write 366
[ 709.642884] DEBUG: Passed mt7530_fdb_write 381
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
aa:bb:cc:dd:ee:ff dev wan vlan 500 master lanbr0
root@bpi-r64:~# [ 725.983831] DEBUG: Passed mt7530_fdb_write 366
[ 725.988736] DEBUG: Passed mt7530_fdb_write 381
[ 725.994868] DEBUG: Passed mt7530_fdb_write 366
[ 726.001772] DEBUG: Passed mt7530_fdb_write 381
[ 726.007564] DEBUG: Passed mt7530_fdb_write 366
[ 726.012358] DEBUG: Passed mt7530_fdb_write 381
[ 726.017889] DEBUG: Passed mt7530_fdb_write 366
[ 726.022748] DEBUG: Passed mt7530_fdb_write 381
[ 726.028195] DEBUG: Passed mt7530_fdb_write 366
[ 726.033031] DEBUG: Passed mt7530_fdb_write 381
[ 726.038506] DEBUG: Passed mt7530_fdb_write 366
[ 726.043437] DEBUG: Passed mt7530_fdb_write 381
root@bpi-r64:~# /sbin/bridge fdb | grep aa:bb:cc:dd:ee:ff
root@bpi-r64:~#