Date: Wed, 17 Sep 1997 20:37:37 +0200 From: Angelo Turetta <ATuretta@stylo.it> To: "'freebsd-isp@freebsd.org'" <freebsd-isp@freebsd.org> Cc: "'Brian Somers'" <brian@awfulhak.demon.co.uk> Subject: Any reason why 'ppp -direct' might ignore CD transitions? Message-ID: <31EBCC36B676D01197E400801E0324950568AB@styloserver.stylo.it>
next in thread | raw e-mail | index | archive | help
I'm cc-ing Brian which, reading the latest CVS logs, should be the maintainer of user mode ppp. My apologies if that's not true. And BTW, I'm not on this list, so please copy replies to my address. I've upgraded my FreeBSD router/terminal server to 2.2-STABLE (it was running 2.1.0-RELEASE with ppp compiled from the sources of the 2.2-CURRENT branch dated little more than one year ago, and getty hacked to implement the :pp: setting in the same way it works now on 2.2-STABLE) I have getty listening to 4 modems, starting usermode 'ppp -direct' through the :pp: setting of gettytab. All the users have static IP assigned, that is when they call in the server gives them the IP number I've put in my ppp.secret file no matter which port they get assigned to. Since I upgraded to RELENG_2_2, ppp fails to recognise carrier loss every now and then. On most calls everything goes well, but sometimes after a carrier loss the link stays up (last event logged: OsLinkup) and ppp doesn't quit. I suppose this is happening after a client-side timeout, because when this happens often the same customer calls again in a few minutes. At that time, if he's assigned a different line, ppp logs an error 'SetIpDevice: ioctl(SIOCAIFADDR): File exists' and quits. Eventually, the first ppp (the one locked in the Linkup state) times out too and exits, which enables the user to call in again. You can find the log (Carrier Link Phase) of one occurence of the problem attached to this message (ppp[213] was running for about an hour when the modem hung up: the user then called back and started ppp[214] which failed to establish the link because the IP was already in use. ppp[213] terminated only some minutes after the new connection attempt). Please note that I'm sure the user is not trying to connect from two different modems, as I personally witnessed a case where only 1 modem was active while 4 ppp processes where running (3 of them in the locked state). While checking ppp.log I've also noticed that if a new call comes on the same modem the locked ppp is hooked to (thus raising CD again), the old link is brought down and a new user authentication is executed by the same instance of ppp (same PID in log file) It seems like ppp is trying to wait some time for the carrier to come back up before terminating. I think this is not the expected behaviour on a ppp server. Is there someone else using user mode ppp on a ppp server? I think the 'set reconnect' feature is likely to produce a similar behaviour, but it's supposed to be meaningful only in case of outgoing connections, and I've not set it up in my config file. Maybe the introduction of this feature did break the CD-awareness of ppp when running as a server. In fact if I 'kill -HUP' a ppp in the locked state, it logs a 'PPP Terminated (nodial)' event before exiting. Thanks for any hints. Angelo aturetta@stylo.it Sep 17 16:58:22 gate1 ppp[213]: Phase: Using interface: tun0 Sep 17 16:58:22 gate1 ppp[213]: Phase: Listening at port 3000. Sep 17 16:58:22 gate1 ppp[213]: Phase: PPP Started. Sep 17 16:58:22 gate1 ppp[213]: Phase: Packet mode enabled Sep 17 16:58:25 gate1 ppp[213]: Phase: NewPhase: Authenticate Sep 17 16:58:25 gate1 ppp[213]: Phase: his = 0, mine = c223 Sep 17 16:58:25 gate1 ppp[213]: Phase: Valsize = 16, Name = oscar Sep 17 16:58:25 gate1 ppp[213]: Phase: NewPhase: Network Sep 17 16:58:25 gate1 ppp[213]: Link: myaddr = 193.76.98.1 hisaddr = 193.76.98.134 Sep 17 16:58:25 gate1 ppp[213]: Phase: Found interface ed1 for proxy arp Sep 17 16:58:25 gate1 ppp[213]: Link: OsLinkup: 193.76.98.134 Sep 17 17:51:16 gate1 ppp[214]: Phase: Using interface: tun1 Sep 17 17:51:16 gate1 ppp[214]: Phase: Listening at port 3001. Sep 17 17:51:16 gate1 ppp[214]: Phase: PPP Started. Sep 17 17:51:16 gate1 ppp[214]: Phase: Packet mode enabled Sep 17 17:51:18 gate1 ppp[214]: Phase: NewPhase: Authenticate Sep 17 17:51:18 gate1 ppp[214]: Phase: his = 0, mine = c223 Sep 17 17:51:19 gate1 ppp[214]: Phase: Valsize = 16, Name = oscar Sep 17 17:51:19 gate1 ppp[214]: Phase: NewPhase: Network Sep 17 17:51:19 gate1 ppp[214]: Link: myaddr = 193.76.98.1 hisaddr = 193.76.98.134 Sep 17 17:51:19 gate1 ppp[214]: Error: SetIpDevice: ioctl(SIOCAIFADDR): File exists Sep 17 17:54:21 gate1 ppp[213]: Link: OsLinkdown: 193.76.98.134 Sep 17 17:54:21 gate1 ppp[213]: Phase: NewPhase: Terminate Sep 17 17:54:24 gate1 ppp[213]: Phase: Connected! Sep 17 17:54:24 gate1 ppp[213]: Phase: NewPhase: Dead Sep 17 17:54:24 gate1 ppp[213]: Phase: PPP Terminated (dead). Sep 17 17:55:47 gate1 ppp[214]: Phase: NewPhase: Terminate Sep 17 17:55:50 gate1 ppp[214]: Phase: Connected! Sep 17 17:55:50 gate1 ppp[214]: Phase: NewPhase: Dead Sep 17 17:55:50 gate1 ppp[214]: Phase: PPP Terminated (dead).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31EBCC36B676D01197E400801E0324950568AB>