also make sure that:
eth0 & tap0 are both in promisc mode
eth0 & tap0 are bridged together before openvpn comes up
i have a rather strange network setup and i think it might be affecting my ability to do external DHCP. I have a bond (bond0) of two interfaces (p1p1 and p1p3), with two vlans trunked across (bond0.50 and bond0.52). bond0.50 and tap0 are bridged together on br0 with an IP of 192.168.50.1.
of the interfaces:
physical - p1p1 and p1p3
bond - bond0
vlans - bond0.50 and bond0.52 (52 should not be relevant)
tap - tap0
bridge - br0
which have to be in promisc mode? can you explain why this is important?