Oh… it’s a function of STP… If I turn that off then the network comes alive immediately!
Bootup
[ 6.459881] br-lan: port 1(enp1s0.10) entered blocking state
[ 6.459884] br-lan: port 1(enp1s0.10) entered disabled state
[ 6.460168] br-lan: port 1(enp1s0.10) entered blocking state
[ 6.460169] br-lan: port 1(enp1s0.10) entered forwarding state
[ 6.460207] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
and VM start
[ 33.821006] br-lan: port 2(v-newtest) entered blocking state
[ 33.821009] br-lan: port 2(v-newtest) entered disabled state
[ 33.821189] br-lan: port 2(v-newtest) entered blocking state
[ 33.821191] br-lan: port 2(v-newtest) entered forwarding state
So if I modify the bridge definition to have bridge.stp no
in it then everything works so much faster.
Since I don’t have any loops in my network (it’s just a home network with VLAN aware switches) I don’t need STP at all.
(Sometimes just writing out the problem helps you solve it!!)