Topology here:

1) When everything comes up, spanning tree is working as predicted with Link-B being the Primary path, and Link-A being blocked. Host1 can ping Host2:
2) When I simulate failure on Link-B, spanning tree unblocks Link-A(in about 2 seconds), Host1 can not ping Host2
3) If on host 2 I ping 192.168.100.10 (this ip doesent exist) it seems that the Openvpn service relearns the mac and now Host1 can Ping Host2 again, and at the exact same time I see this in the server log:
client1/10.200.0.20:1194 MULTI: Learn: 00:0c:29:dd:da:0a -> client1/10.200.0.20:1194
So it seems on every Spanning tree state change, the link breaks, it seems that it needs to relearn the mac address location. And that it learns the mac based on the arp broadcast I assume. Is there anyway to make it flood to all clients if it doesent know the location of the mac? Or any other ideas on how to solve this?