Userland PPP on ADSL

Eugene Grosbein eugen at grosbein.net
Tue May 8 13:04:43 UTC 2018


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.



More information about the freebsd-stable mailing list