2.2.0pre3: PPP VJ compression broken

Arno Peters (A.W.Peters@ieee.org)
Sat, 2 Jan 1999 18:29:44 +0100


Description of the problem:

TCP packets waiting in the Send-Q to be sent over a compressed PPP
link are never transmitted over the link. I've traced the problem
down to the compression module of PPP. When I disable VJ compression
negociation (-vj), PPP works like a charm but with compression, the
TCP packets never leave my linux box. Ping works in both cases
though.

I find this problem in all kernels > 2.1.130 (but haven't tried any
earlier development kernels). This problem does not exist in 2.0.35.

My system is based on the Debian distribution. All components
mentioned in Documentation/Changes are up to date.

Detailed information:

Upon establishing the PPP link, I run fetchmail to probe my remote
account. As a test, I also try to connect to my university's web
server. Lynx reports that a HTTP connection has been made, sents a
request for data but then waits for the data to actually arrive which
never happens because the request is still waiting in the send-queue.
Or so I gather from the output of netstat (further down).

pppd options are as follows:

noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/provider"
debug
/dev/ttyS1
115200
defaultroute
noipdefault
user xxxxxx

I can reproduce the problem with the following modules in my kernel:

# lsmod
Module Size Used by
ppp_deflate 38832 0 (autoclean)
bsd_comp 3448 0 (autoclean)
unix 10008 12 (autoclean)
ppp 17716 0 [ppp_deflate bsd_comp]
slhc 4436 0 [ppp]
serial 16764 1

Running netstat while lynx and fetchmail are waiting for data shows
the following:

# netstat -n

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 551 131.155.12.109:1025 131.155.2.6:80 ESTABLISHED
tcp 0 1 131.155.12.109:1024 131.155.40.33:110 ESTABLISHED
^^^
Note the numbers in the Send-Q column.

# ifconfig ppp0

ppp0 Link encap:Point-to-Point Protocol
inet addr:131.155.12.109 P-t-P:131.155.12.9 Mask:255.255.255.255
POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0

pppd protocol negociation from /var/log/syslog

Dec 30 18:36:36 maxi kernel: CSLIP: code copyright 1989 Regents of the University of California
Dec 30 18:36:36 maxi kernel: PPP: version 2.3.3 (demand dialling)
Dec 30 18:36:36 maxi kernel: PPP line discipline registered.
Dec 30 18:36:53 maxi kernel: registered device ppp0
Dec 30 18:36:53 maxi pppd[197]: pppd 2.3.5 started by root, uid 0
Dec 30 18:37:15 maxi pppd[197]: Serial connection established.
Dec 30 18:37:16 maxi pppd[197]: Using interface ppp0
Dec 30 18:37:16 maxi pppd[197]: Connect: ppp0 <--> /dev/ttyS1
Dec 30 18:37:16 maxi pppd[197]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x258e9671> <pcomp> <accomp>]
Dec 30 18:37:16 maxi pppd[197]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth pap> <magic 0xfb55b0d0> <pcomp> <accomp>]
Dec 30 18:37:16 maxi pppd[197]: sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth pap> <magic 0xfb55b0d0> <pcomp> <accomp>]
Dec 30 18:37:19 maxi pppd[197]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x258e9671> <pcomp> <accomp>]
Dec 30 18:37:19 maxi pppd[197]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x258e9671> <pcomp> <accomp>]
Dec 30 18:37:19 maxi pppd[197]: sent [LCP EchoReq id=0x0 magic=0x258e9671]
Dec 30 18:37:19 maxi pppd[197]: sent [PAP AuthReq id=0x1 user="xxxxxx" password="xxxxxx"]
Dec 30 18:37:19 maxi pppd[197]: rcvd [LCP EchoRep id=0x0 magic=0xfb55b0d0]
Dec 30 18:37:20 maxi pppd[197]: rcvd [PAP AuthAck id=0x1 ""]
Dec 30 18:37:20 maxi pppd[197]: Remote message:
Dec 30 18:37:20 maxi pppd[197]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01>]
Dec 30 18:37:20 maxi kernel: PPP BSD Compression module registered
Dec 30 18:37:20 maxi kernel: PPP Deflate Compression module registered
Dec 30 18:37:20 maxi pppd[197]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
Dec 30 18:37:20 maxi pppd[197]: rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 131.155.12.9>]
Dec 30 18:37:20 maxi pppd[197]: sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 131.155.12.9>]
Dec 30 18:37:20 maxi pppd[197]: rcvd [IPXCP ConfReq id=0x3 <network 839b0c6d> <node 00802d064a86> < 03 06 00 02 0f 00> <router proto 2> <router name "xxxxxx">]
Dec 30 18:37:20 maxi pppd[197]: Unsupported protocol (0x802b) received
Dec 30 18:37:20 maxi pppd[197]: sent [LCP ProtRej id=0x2 80 2b 01 03 00 26 01 06 83 9b 0c 6d 02 08 00 80 2d 06 4a 86 03 06 00 02 0f 00 04 04 00 02 05 0a 4c 4d 30 36 34 41 38 36]
Dec 30 18:37:20 maxi pppd[197]: rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Dec 30 18:37:23 maxi pppd[197]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01>]
Dec 30 18:37:23 maxi pppd[197]: rcvd [IPCP ConfNak id=0x1 <addr 131.155.12.109>]
Dec 30 18:37:23 maxi pppd[197]: sent [IPCP ConfReq id=0x2 <addr 131.155.12.109> <compress VJ 0f 01>]
Dec 30 18:37:23 maxi pppd[197]: rcvd [IPCP ConfReq id=0x5 <addr 131.155.12.9>]
Dec 30 18:37:23 maxi pppd[197]: sent [IPCP ConfAck id=0x5 <addr 131.155.12.9>]
Dec 30 18:37:23 maxi pppd[197]: rcvd [IPCP ConfAck id=0x2 <addr 131.155.12.109> <compress VJ 0f 01>]
Dec 30 18:37:23 maxi pppd[197]: local IP address 131.155.12.109
Dec 30 18:37:23 maxi pppd[197]: remote IP address 131.155.12.9
Dec 30 18:37:49 maxi pppd[197]: sent [LCP EchoReq id=0x1 magic=0x258e9671]
Dec 30 18:37:49 maxi pppd[197]: rcvd [LCP EchoRep id=0x1 magic=0xfb55b0d0]
Dec 30 18:38:19 maxi pppd[197]: sent [LCP EchoReq id=0x2 magic=0x258e9671]
Dec 30 18:38:19 maxi pppd[197]: rcvd [LCP EchoRep id=0x2 magic=0xfb55b0d0]
Dec 30 18:38:49 maxi pppd[197]: sent [LCP EchoReq id=0x3 magic=0x258e9671]
Dec 30 18:38:49 maxi pppd[197]: rcvd [LCP EchoRep id=0x3 magic=0xfb55b0d0]
Dec 30 18:39:01 maxi pppd[197]: Terminating on signal 15.
Dec 30 18:39:01 maxi pppd[197]: sent [LCP TermReq id=0x3 "User request"]
Dec 30 18:39:01 maxi pppd[197]: rcvd [LCP TermAck id=0x3]
Dec 30 18:39:01 maxi pppd[197]: Connection terminated.
Dec 30 18:39:01 maxi fetchmail[249]: terminated with signal 15
Dec 30 18:39:01 maxi pppd[197]: Exit.

I hope this is sufficient data to help you track down the problem.

-- 
Arno Peters

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/