I'm sorry for spamming.
I have played around a bit with tcpdump and it seems that the return route is not working.
Pings from the OpenVPN client server in LAN B to clients in LAN A.
21:07:22.481818 IP 172.16.0.2 > openvpn.server: ICMP echo request, id 38758, seq 1, length 64
21:07:22.481880 IP openvpn.server > 172.16.0.2: ICMP echo reply, id 38758, seq 1, length 64
21:07:23.977527 IP 172.16.0.2 > openvpn.server: ICMP echo request, id 38758, seq 2, length 64
21:07:23.977574 IP openvpn.server > 172.16.0.2: ICMP echo reply, id 38758, seq 2, length 64
21:07:24.484518 IP 172.16.0.2 > openvpn.server: ICMP echo request, id 38758, seq 3, length 64
21:07:57.893100 IP 172.16.0.2 > router.a: ICMP echo request, id 42598, seq 1, length 64
21:07:57.893867 IP router.a > 172.16.0.2: ICMP echo reply, id 42598, seq 1, length 64
21:07:58.821053 IP 172.16.0.2 > router.a: ICMP echo request, id 42598, seq 2, length 64
21:07:58.822162 IP router.a > 172.16.0.2: ICMP echo reply, id 42598, seq 2, length 64
21:07:59.822524 IP 172.16.0.2 > router.a: ICMP echo request, id 42598, seq 3, length 64
21:07:59.823524 IP router.a > 172.16.0.2: ICMP echo reply, id 42598, seq 3, length 64
21:08:12.419886 IP 172.16.0.2 > windows.client.a: ICMP echo request, id 45670, seq 1, length 64
21:08:13.373799 IP 172.16.0.2 > windows.client.a: ICMP echo request, id 45670, seq 2, length 64
21:08:14.372679 IP 172.16.0.2 > windows.client.a: ICMP echo request, id 45670, seq 3, length 64
21:08:15.372587 IP 172.16.0.2 > windows.client.a: ICMP echo request, id 45670, seq 4, length 64
21:08:16.373020 IP 172.16.0.2 > windows.client.a: ICMP echo request, id 45670, seq 5, length 64
21:08:34.942556 IP 172.16.0.2 > osx.client.a: ICMP echo request, id 48230, seq 1, length 64
21:08:35.942703 IP 172.16.0.2 > osx.client.a: ICMP echo request, id 48230, seq 2, length 64
21:08:36.941843 IP 172.16.0.2 > osx.client.a: ICMP echo request, id 48230, seq 3, length 64
21:08:37.941566 IP 172.16.0.2 > osx.client.a: ICMP echo request, id 48230, seq 4, length 64
21:08:39.525880 IP 172.16.0.2 > osx.client.a: ICMP echo request, id 48230, seq 5, length 64
I can ping the OpenVPN server and LAN A's router but no other clients. This must be easy to fix I must have forgotten something but I can't figure out what it is.