A good number of my work's site connections are done via DSL on OpenWRT routers. However, when I reconfigured my home DSL recently, I discovered that in order to make my HE.NET tunnel work properly, I had to activate it via a script in ppp/ip-up.d (actually I think I modified the main script since I had some startup trouble). I did reconfigure our sites to try restarting VPN via an ip-up script if the connection drops: initial testing seems to confirm that works, but I still have to start the VPN on boot as well (I moved the vpn commands to a /etc/vpn.sh file and set it to start from /etc/init.d/done & symlinked to /etc/ppp/ip-up.d/vpn.sh).
Another thing too is that two of our links have atrocious start times: one is managed by the DSL modem (AT&T/SBC modem); the other by the router. The routers with active PPPoE setups, I modified their /etc/ppp/options files with the following changes...
That should help track any issues and prevent overloaded links from crashing the connections.
PPP tweaking done by Dan Siemon
PPPD options for Linux