@barryf
So I have just tried what I said above (new kernel, brctl etc.).
brctl builds the bridge fine and lan0+lan1 become bridged (again). Someone on lan1 is seeing someone else on lan0, at layer 2.
However contrary to what I said above, I haven’t yet been able to get tcpdump to show unicast frames flowing between lan0 and lan1.
Either tcpdump is reading at the wrong level in the stack, or something “interesting” is going on. Such as the “bridge” kernel module activating the hardware bridge. I’m leaning towards the 1st but will have to continue tinkering with it later.