@skids thanks for the heads-up. I've now updated the bridge config to include the hairpin settings and mcast_to_ucast
However this does not update /sys/devices/virtual/net/br-trusted/lower_dual2/brport/hairpin_mode
I'm inclined to mark this as a bug since I'm pretty sure I'm setting the right bits but it never works:
and
Setting manually with echo 1 > /sys/devices/virtual/net/br-trusted/lower_dual2/brport/hairpin_mode
and everything magically works.
Am I missing something? Full config is at https://github.com/imaginator/home-network/blob/master/w8970_w8980.settings