[2209] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: LCP echo problems (again)

daemon@ATHENA.MIT.EDU (linuxsys@ssg.com)
Fri Mar 22 11:22:45 1996

Date: 	Fri, 22 Mar 1996 14:46:37 GMT
From: linuxsys@ssg.com
To: Paul Mackerras <paulus@cs.anu.edu.au>
Cc: longyear@netcom.com, linuxsys@ssg.com, linux-net@vger.rutgers.edu,
        linux-ppp@vger.rutgers.edu
In-Reply-To: <199603202247.JAA11460@sirius.anu.edu.au>

Paul Mackerras writes:
 > Al Longyear wrote:
 > > Linux pppd version 2.2 sends an empty CCP frame if you don't have any
 > > compressors defined.
 > If no compressors are enabled, pppd is supposed to bring up CCP in
 > "silent" mode, so it won't send a CCP frame unless it sees one from
 > the peer.  It needs to be able to send an empty CCP frame in the case
 > that the peer wants us to compress stuff going to it, and we're
 > willing, but we don't want stuff coming to us compressed.
 > 
 > It looks to me like the problem is that pppd is not checking with the
 > kernel which compression options are supported before making the
 > decision about whether to open CCP in silent mode or not.  This is a
 > bug which can be fixed by changing the line in ccp_open which says
 > 
 > 	if (!ANY_COMPRESS(ccp_wantoptions[unit]))
 > 
 > to
 > 	ccp_resetci(f);
 > 	if (!ANY_COMPRESS(ccp_gotoptions[unit]))
 > 
 > Also, I think we need a -ccp option (or something) to disable CCP
 > completely.
 > 

I modified 2.2.0d (I have no experience with 2.2.0e - I changed ccp.c
per the above) and rebuilt 1.3.57 from a fresh tree (the 1.3.7x series
has been blowing my SCSI drive away and .57 has an excellent track
record here to date).  The good news is that one of the problems
initially reported (lcp-echo-failure 16 was effectively ignored - I'd
get two LCP echo exchanges and then my system disconnected) has been
cleared up.  The echos now bounce around for many iterations before
the connection drops as before.

Despite the change to ccp.c and ccp_open, there appears to be some
sort of CCP transaction at the open:
Mar 22 14:22:55 wxsat pppd[471]: pppd 2.2.0 started by system, uid 0
Mar 22 14:23:19 wxsat pppd[471]: Serial connection established.
Mar 22 14:23:20 wxsat pppd[471]: Using interface ppp0
Mar 22 14:23:21 wxsat pppd[471]: Connect: ppp0 <--> /dev/cua1
Mar 22 14:23:21 wxsat pppd[471]: sent [LCP ConfReq id=0x1 <mru 1500> <magic 0x52
ca4a00> <pcomp> <accomp>]
Mar 22 14:23:21 wxsat pppd[471]: sent [LCP ConfReq id=0x1 <mru 1500> <magic 0x52
ca4a00> <pcomp> <accomp>]
Mar 22 14:23:21 wxsat pppd[471]: rcvd [LCP ConfAck id=0x1 <mru 1500> <magic 0x52
ca4a00> <pcomp> <accomp>]
Mar 22 14:23:21 wxsat pppd[471]: rcvd [LCP ConfAck id=0x1 <mru 1500> <magic 0x52
ca4a00> <pcomp> <accomp>]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 
0xde8fc22> <pcomp> <accomp>]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 
0xde8fc22> <pcomp> <accomp>]
Mar 22 14:23:23 wxsat pppd[471]: sent [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 
0xde8fc22> <pcomp> <accomp>]
Mar 22 14:23:23 wxsat pppd[471]: sent [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 
0xde8fc22> <pcomp> <accomp>]
Mar 22 14:23:23 wxsat pppd[471]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compr
ess VJ 0f 01>]
Mar 22 14:23:23 wxsat pppd[471]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compr
ess VJ 0f 01>]
Mar 22 14:23:23 wxsat pppd[471]: sent [CCP ConfReq id=0x1 <bsd v1 12>]
Mar 22 14:23:23 wxsat pppd[471]: sent [CCP ConfReq id=0x1 <bsd v1 12>]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [IPCP ConfNak id=0x1 <addr 206.228.127.44>
]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [IPCP ConfNak id=0x1 <addr 206.228.127.44>
]
Mar 22 14:23:23 wxsat pppd[471]: sent [IPCP ConfReq id=0x2 <addr 206.228.127.44>
 <compress VJ 0f 01>]
Mar 22 14:23:23 wxsat pppd[471]: sent [IPCP ConfReq id=0x2 <addr 206.228.127.44>
 <compress VJ 0f 01>]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [LCP] 08 03 00 0e 80 fd 00 07 15 03 2c
Mar 22 14:23:23 wxsat pppd[471]: rcvd [LCP] 08 03 00 0e 80 fd 00 07 15 03 2c
Mar 22 14:23:23 wxsat pppd[471]: rcvd [IPCP ConfAck id=0x2 <addr 206.228.127.44>
 <compress VJ 0f 01>]
Mar 22 14:23:23 wxsat pppd[471]: rcvd [IPCP ConfAck id=0x2 <addr 206.228.127.44>
 <compress VJ 0f 01>]
Mar 22 14:23:26 wxsat pppd[471]: rcvd [IPCP ConfReq id=0x4 <compress VJ 0f 01> <
addr 206.228.127.2>]
Mar 22 14:23:26 wxsat pppd[471]: rcvd [IPCP ConfReq id=0x4 <compress VJ 0f 01> <
addr 206.228.127.2>]
Mar 22 14:23:26 wxsat pppd[471]: sent [IPCP ConfAck id=0x4 <compress VJ 0f 01> <
addr 206.228.127.2>]
Mar 22 14:23:26 wxsat pppd[471]: sent [IPCP ConfAck id=0x4 <compress VJ 0f 01> <
addr 206.228.127.2>]
Mar 22 14:23:26 wxsat pppd[471]: local  IP address 206.228.127.44
Mar 22 14:23:26 wxsat pppd[471]: remote IP address 206.228.127.2
Mar 22 14:23:26 wxsat pppd[471]: sent [CCP ConfReq id=0x1 <bsd v1 12>]
Mar 22 14:23:26 wxsat pppd[471]: sent [CCP ConfReq id=0x1 <bsd v1 12>]
Mar 22 14:23:26 wxsat pppd[471]: rcvd [LCP ProtRej id=0x5 80 fd 00 07 15 03 2c]
Mar 22 14:23:26 wxsat pppd[471]: rcvd [LCP ProtRej id=0x5 80 fd 00 07 15 03 2c]
Mar 22 14:23:36 wxsat pppd[471]: sent [LCP EchoReq id=0x0 52 ca 4a 00]
Mar 22 14:23:36 wxsat pppd[471]: sent [LCP EchoReq id=0x0 52 ca 4a 00]
Mar 22 14:23:37 wxsat pppd[471]: rcvd [LCP EchoRep id=0x0 0d e8 fc 22]
Mar 22 14:23:37 wxsat pppd[471]: rcvd [LCP EchoRep id=0x0 0d e8 fc 22]
Mar 22 14:26:28 wxsat pppd[471]: sent [LCP EchoReq id=0x1 52 ca 4a 00]
Mar 22 14:26:28 wxsat pppd[471]: sent [LCP EchoReq id=0x1 52 ca 4a 00]
Mar 22 14:26:28 wxsat pppd[471]: rcvd [LCP EchoRep id=0x1 0d e8 fc 22]
Mar 22 14:26:28 wxsat pppd[471]: rcvd [LCP EchoRep id=0x1 0d e8 fc 22]
Mar 22 14:26:43 wxsat pppd[471]: sent [LCP EchoReq id=0x2 52 ca 4a 00]
Mar 22 14:26:43 wxsat pppd[471]: sent [LCP EchoReq id=0x2 52 ca 4a 00]
Mar 22 14:26:43 wxsat pppd[471]: rcvd [LCP EchoRep id=0x2 0d e8 fc 22]
Mar 22 14:26:43 wxsat pppd[471]: rcvd [LCP EchoRep id=0x2 0d e8 fc 22]
Mar 22 14:26:58 wxsat pppd[471]: sent [LCP EchoReq id=0x3 52 ca 4a 00]
Mar 22 14:26:58 wxsat pppd[471]: sent [LCP EchoReq id=0x3 52 ca 4a 00]
Mar 22 14:26:58 wxsat pppd[471]: rcvd [LCP EchoRep id=0x3 0d e8 fc 22]
Mar 22 14:26:58 wxsat pppd[471]: rcvd [LCP EchoRep id=0x3 0d e8 fc 22]
[...]
Mar 22 14:31:12 wxsat pppd[471]: sent [LCP EchoReq id=0xd 52 ca 4a 00]
Mar 22 14:31:12 wxsat pppd[471]: sent [LCP EchoReq id=0xd 52 ca 4a 00]
Mar 22 14:31:12 wxsat pppd[471]: rcvd [LCP EchoRep id=0xd 0d e8 fc 22]
Mar 22 14:31:12 wxsat pppd[471]: rcvd [LCP EchoRep id=0xd 0d e8 fc 22]
Mar 22 14:31:41 wxsat pppd[471]: sent [LCP EchoReq id=0xe 52 ca 4a 00]
Mar 22 14:31:41 wxsat pppd[471]: sent [LCP EchoReq id=0xe 52 ca 4a 00]
Mar 22 14:31:56 wxsat pppd[471]: ioctl(PPPIOCGIDLE): I/O error
Mar 22 14:31:56 wxsat pppd[471]: ioctl(PPPIOCGDEBUG): I/O error
Mar 22 14:31:56 wxsat pppd[471]: ioctl(TIOCSETD): I/O error
Mar 22 14:31:56 wxsat pppd[471]: ioctl(TIOCNXCL): I/O error
Mar 22 14:31:56 wxsat pppd[471]: Exit.

The events summarized above (I've deleted some of the LCP echo
exchanges) have been repeated over several sessions.

I'll go back and try Al's more drastic alterations to see what happens
next.  BTW, should this thread be cross-posted to linux-net?  I think
linux-ppp is enough.

Rick

-- 
| Richard B. Emerson     | Replies may be sent to:  linuxsys@ssg.com       |
| 940 Delaware Avenue    |-------------------------------------------------+
| Lansdale, PA 19446 USA | War doesn't determine who's right or wrong,     |
| Voice: 215.855.1607    |                            only who's left.     |


home help back first fref pref prev next nref lref last post