Tested with the latest stable build: 2.4.2-r15 In the stop section of net.ppp0 it looks for the pid of the daemon in /var/run. That's correct when the file with the pid exists, but pppd will only create that file when the interface is up. I have a situation here, where the pppd daemon starts but it is unable to create the interface ppp0 (Waiting por PADO packets os something similar). In this situation, for each net.ppp0 restart that I try it creates a new pppd process. Reproducible: Always Steps to Reproduce: 1. 2. 3.
You have 2 options. Either use "updetach" pppd option (for forcing pppd to detach only when the connection is up) or use the upcoming pppd net module found in bug #53954. Hopefully, the actual net.ppp0 - the one installed by net-dialup/ppp - will be soon removed. *** This bug has been marked as a duplicate of 53954 ***