Hi, I have several FreeBSD machines setup as routers connected to ADSL modems in bridge mode. ie the FreeBSD box terminates the PPP connection and the ADSL modem doesn't do much. This worked well for many moons but a while ago I found issues with the inbuilt PPP and ended up switching to mpd5 which has so far worked flawlessly. I was wondering if anyone else had also seen similar issues? In my experience PPP will hang for a long time when the ADSL link goes down. It does seem to eventually come back (minutes later) but while it's stuck it will only exit with kill -9. This wouldn't be such a big deal but the rc.d script doesn't actually check if the PPP process exits so a naive monitoring script that does 'service ppp restart' will end up with 2 processes which usually screws up firewall rules. There are ways around this (eg have the script check, or set ppp_unit) but it seems like a bug. The only log messages I see are.. May 8 12:27:53 portero ppp[76165]: tun0: LCP: deflink: SendEchoReply(114) state = Opened May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(38) state = Opened May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: RecvEchoReply(38) state = Opened May 8 12:28:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(39) state = Opened May 8 12:29:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(40) state = Opened Does anyone have any suggestions where to start looking? It would be nice if the base tool worked properly for what I feel is a not uncommon scenario :) -- Daniel O'Connor "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
08.05.2018 12:08, O'Connor, Daniel wrote:> Hi, > I have several FreeBSD machines setup as routers connected to ADSL modems in bridge mode. ie the FreeBSD box terminates the PPP connection and the ADSL modem doesn't do much. > > This worked well for many moons but a while ago I found issues with the inbuilt PPP and ended up switching to mpd5 which has so far worked flawlessly. > > I was wondering if anyone else had also seen similar issues? > > In my experience PPP will hang for a long time when the ADSL link goes down. It does seem to eventually come back (minutes later) but while it's stuck it will only exit with kill -9. > > This wouldn't be such a big deal but the rc.d script doesn't actually check if the PPP process exits so a naive monitoring script that does 'service ppp restart' will end up with 2 processes which usually screws up firewall rules. There are ways around this (eg have the script check, or set ppp_unit) but it seems like a bug. > > The only log messages I see are.. > May 8 12:27:53 portero ppp[76165]: tun0: LCP: deflink: SendEchoReply(114) state = Opened > May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(38) state = Opened > May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: RecvEchoReply(38) state = Opened > May 8 12:28:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(39) state = Opened > May 8 12:29:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(40) state = Opened > > Does anyone have any suggestions where to start looking? It would be nice if the base tool worked properly for what I feel is a not uncommon scenario :)You have not specified FreeBSD version you use. First, you should check if the ppp process is waiting on some system call when it's hung. Use ps -l or procstat to check it. And you should enable verbose logs in ppp.conf.
## O'Connor, Daniel (darius at dons.net.au):> This worked well for many moons but a while ago I found issues with the > inbuilt PPP and ended up switching to mpd5 which has so far worked flawlessly.I did switch from ppp to mpd5 quite a while ago, for performance reasons, but beyond that, I didn't have any problems (if my notes are corrent, that was on 10.0 or so).> May 8 12:27:53 portero ppp[76165]: tun0: LCP: deflink: SendEchoReply(114) state = Opened > May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: SendEchoRequest(38) state = Opened > May 8 12:27:54 portero ppp[76165]: tun0: LCP: deflink: RecvEchoReply(38) state = OpenedThat looks like LCP was still up? Have you tried turning the logging up? Regards, Christoph -- Spare Space