Yes, since netifd is supervising pppd, we don't want pppd to continue trying on connection failures. We want to notify netifd and terminate pppd so that netifd can restart the process as needed.
If you want to override maxfail for debugging purposes or whatever, you have to adjust ppp.sh
That does not seem to be necessary, least my understanding is that the ppp process arguments are read/applied from left to right and the last value wins.
`maxfail 0' may be necessary with newer PPPDs. After the connection is lost, PPPD will wait for a while before reconnecting.
Could you elaborate how or point to the code?
What seems to be happening is that /lib/netifd/ppp-up is being called way too early during the node's boot phase, leading to repeated PPPoE discovery attempts (and times producing a SIGTERM signal) regardless of whether the carrier link state of the WAN port (ethX) is up already.
Looks like maxfail 0 in /etc/ppp/options is being discarded at least for WAN PPPoE. Bit of confusing that is being a vanilla argument in /etc/ppp/options.
Not sure how that option remedies that issue. On the other hand there appears to be bug in the ppp code where handling of signals is broken when rp-pppoe.so plugin (used for PPPoE) is loaded https://github.com/paulusmack/ppp/pull/148
Plus
would seem to derive pppd process state assumption from the existence of its related /proc//exec* file instead of monitoring its signal pipe.