OpenBSD has a kernel
pppoe(4) and userland
pppoe(8), you are currently using the userland implementation.
Both man pages are detailed, and contain example configurations.
The kernel client might be better at maintaining and re-establishing a link if the connection fails, if either by a remote error.. or cable yanking.. if not, you could use the
ifstated(4) daemon to monitor the
pppoe(4) interface. [
0]
One other option may be the "enable lqr / accept lqr" option(s) for userland pppoe, according to the description.. "Enable and accept link quality requests, which can be used to detect whether the link has gone down."
I hope this helps, but please.. for the sake of the kittens... don't yank cables.