Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Dec 96 22:20 CST
From:      uhclem@nemesis.lonestar.org
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/2255: Client PPP negotiates Stacker compression - FDIV049
Message-ID:  <m0vawS4-000uMMC@nemesis.lonestar.org>
Resent-Message-ID: <199612200430.UAA04973@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2255
>Category:       bin
>Synopsis:       Client PPP negotiates Stacker compression - FDIV049
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 19 20:30:01 PST 1996
>Last-Modified:
>Originator:     Frank Durda IV
>Organization:
>Release:        FreeBSD 2.1.5-RELEASE
>Environment:

FreeBSD 2.1.5 system, with an external Sportster 33.6 modem,
attempting to contact an Internet provider who is using the
Nortel Rapport Dialup Switch, Version BETA 4.5b5 96/10/28, possibly
other versions too.

>Description:

When attempting to connect to an ISP who is using the Nortel
Rapport Dialup Switch (and assorted mechanisms that intercept
your call to an ISP and route it off the public switched telephone
network and to a modem pool shared by one or more ISPs.  From 
there your packets are routed based on the call ANI to the
appropriate ISP using L2F or other mechanisms.  In our case, the
vendors do not have Script(textual) implemented under L2F, so
only PAP logins travel under L2F.  Script logins are handled
more like a traditional terminal server, obtaining IP numbers
from a fixed pool.

When using PAP for connections, there is no problem and the
connection completes normally.  When Script (textual) logins are
used, the Shiva terminal server (inside the Rapport) offers
Stacker compression #0, which for some reason it thinks the
FreeBSD (and Linux) PPP clients accept.  Once this happens, the
connection is established, but you can't do anything and your
logs fill with error messages.  Shiva thinks the problem is with
the FreeBSD PPP client since Trumpet Winsock also uses script
login and correctly negotiates PRED1 compression.

By disabling PRED1 compression negotiation on the PPP client
side, the problem is avoided.  Shiva has also found they can
simply disable offering Stacker #0 compression and avoid the
issue, but they would like to leave it on since it benefits
customers using ISDN connections

The issue at hand is why the FreeBSD PPP client thinks it can do
Stacker #0 when it can't.  Or, is FreeBSD saying it can't do Stacker #0
and the Shiva terminal server thinks FreeBSD said it could.

>How-To-Repeat:

Assuming you can contact the offending terminal server,
%ppp
 set line /dev/cuaa2
 set speed 57600
 set timeout 55555
 term
 atdt number
 loginname
 password:
 add 0 0 HISADDR

 Now, try to ping something.

 Your log should look like this: 
12-17 10:24:39 [7072] Using interface: tun0
12-17 10:24:39 [7072] PPP Started.
12-17 10:25:54 [7072] *Connected!
12-17 10:26:11 [7072] LCP: state change Initial --> Closed
12-17 10:26:11 [7072] LCP: state change Closed --> Stopped
12-17 10:26:13 [7072] LCP: Received Configure Request (2) state = Stopped (3)
12-17 10:26:13 [7072]  MRU 1522
12-17 10:26:13 [7072]  ACCMAP 000a0000
12-17 10:26:13 [7072]  MAGICNUM 6f483c94
12-17 10:26:13 [7072]  ACFCOMP
12-17 10:26:13 [7072] LCP: SendConfigReq
12-17 10:26:13 [7072]  ACFCOMP
12-17 10:26:13 [7072]  PROTOCOMP
12-17 10:26:13 [7072]  ACCMAP [6] 00000000
12-17 10:26:13 [7072]  MRU [4] 1500
12-17 10:26:13 [7072]  MAGICNUM [6] 6994f840
12-17 10:26:13 [7072]  QUALPROTO (3000)
12-17 10:26:13 [7072] LCP:  SendConfigAck(Stopped)
12-17 10:26:13 [7072]  MRU 1522
12-17 10:26:13 [7072]  ACCMAP 000a0000
12-17 10:26:13 [7072]  MAGICNUM 6f483c94
12-17 10:26:13 [7072]  ACFCOMP
12-17 10:26:13 [7072] LCP: state change Stopped --> Ack-Sent
12-17 10:26:13 [7072] LCP: Received Configure Reject (1) state = Ack-Sent (8)
12-17 10:26:13 [7072] LCP: RecvConfigRej.
12-17 10:26:13 [7072]  QUALPROTO proto: c025, interval: 30000ms
12-17 10:26:13 [7072] LCP: SendConfigReq
12-17 10:26:13 [7072]  ACFCOMP
12-17 10:26:13 [7072]  PROTOCOMP
12-17 10:26:13 [7072]  ACCMAP [6] 00000000
12-17 10:26:13 [7072]  MRU [4] 1500
12-17 10:26:13 [7072]  MAGICNUM [6] 6994f840
12-17 10:26:14 [7072] LCP: Received Configure Ack (2) state = Ack-Sent (8)
12-17 10:26:14 [7072] LCP: state change Ack-Sent --> Opend
12-17 10:26:14 [7072] LCP: LayerUp
12-17 10:26:14 [7072] Phase: Authenticate
12-17 10:26:14 [7072]  his = 0, mine = 0
12-17 10:26:14 [7072] Phase: Network
12-17 10:26:14 [7072] IPCP: state change Initial --> Closed
12-17 10:26:14 [7072] IPCP Up event!!
12-17 10:26:14 [7072] IPCP: SendConfigReq
12-17 10:26:14 [7072]  IPADDR [6] 206.66.13.72
12-17 10:26:14 [7072]  COMPPROTO [6] 002d0f00
12-17 10:26:14 [7072] IPCP: state change Closed --> Req-Sent
12-17 10:26:14 [7072] CCP: state change Initial --> Closed
12-17 10:26:14 [7072] CCP Up event!!
12-17 10:26:14 [7072] CCP: SendConfigReq
12-17 10:26:14 [7072] CCP: state change Closed --> Req-Sent
12-17 10:26:14 [7072] IPCP: Received Configure Request (1) state = Req-Sent (6)
12-17 10:26:14 [7072]  IPADDR[6]  192.168.224.21
12-17 10:26:14 [7072]  COMPPROTO[6]  002d0f00
12-17 10:26:14 [7072] IPCP:  SendConfigAck(Req-Sent)
12-17 10:26:14 [7072]  IPADDR[6]  192.168.224.21
12-17 10:26:14 [7072]  COMPPROTO[6]  002d0f00
12-17 10:26:14 [7072] IPCP: state change Req-Sent --> Ack-Sent
12-17 10:26:14 [7072] CCP: Received Configure Request (1) state = Req-Sent (6)
12-17 10:26:14 [7072]  STAC[5] 
12-17 10:26:14 [7072] CCP:  SendConfigRej(Req-Sent)
12-17 10:26:14 [7072]  STAC[5] 
12-17 10:26:14 [7072] CCP: Received Configure Reject (1) state = Req-Sent (6)
12-17 10:26:14 [7072] CCP: RecvConfigRej.
12-17 10:26:14 [7072]  PRED1[2] 
12-17 10:26:14 [7072] CCP: SendConfigReq
12-17 10:26:14 [7072] LCP: Received Protocol Reject (20) state = Opend (9)
12-17 10:26:14 [7072] -- Protocol (c025) was rejected.
12-17 10:26:14 [7072] IPCP: Received Configure Nak (1) state = Ack-Sent (8)
12-17 10:26:14 [7072]  IPADDR[6]  207.136.8.162
12-17 10:26:14 [7072]  IPADDR[6]  changing address: 206.66.13.72  --> 207.136.8.162
12-17 10:26:14 [7072] IPCP: SendConfigReq
12-17 10:26:14 [7072]  IPADDR [6] 207.136.8.162
12-17 10:26:14 [7072]  COMPPROTO [6] 002d0f00
12-17 10:26:14 [7072] CCP: Received Configure Request (2) state = Req-Sent (6)
12-17 10:26:14 [7072] CCP:  SendConfigAck(Req-Sent)
12-17 10:26:14 [7072] CCP: state change Req-Sent --> Ack-Sent
12-17 10:26:14 [7072] CCP: Received Configure Ack (2) state = Ack-Sent (8)
12-17 10:26:14 [7072] CCP: state change Ack-Sent --> Opend
12-17 10:26:14 [7072] CCP: LayerUp.
12-17 10:26:14 [7072] myproto = 0, hisproto = 0
12-17 10:26:14 [7072] LCP: Received Echo Reply (3) state = Opend (9)
12-17 10:26:14 [7072] IPCP: Received Configure Ack (2) state = Ack-Sent (8)
12-17 10:26:14 [7072] IPCP: state change Ack-Sent --> Opend
12-17 10:26:14 [7072] IPCP: LayerUp.
12-17 10:26:14 [7072]  myaddr = 207.136.8.162  hisaddr = 192.168.224.21
12-17 10:26:14 [7072] OsLinkup: 192.168.224.21
12-17 10:26:43 [7072] LCP: Received Echo Request (1) state = Opend (9)
12-17 10:26:43 [7072] LCP:  SendEchoRep(Opend)
12-17 10:26:44 [7072] LCP: Received Echo Reply (4) state = Opend (9)
12-17 10:26:55 [7072] LCP: Received Protocol Reject (45) state = Opend (9)
12-17 10:26:55 [7072] -- Protocol (00fd) was rejected.
12-17 10:26:56 [7072] LCP: Received Protocol Reject (123) state = Opend (9)
12-17 10:26:56 [7072] -- Protocol (00fd) was rejected.
...Several thousand of these same message pairs omitted
12-17 10:37:15 [7092] LCP: Received Protocol Reject (123) state = Opend (9)
12-17 10:37:15 [7092] -- Protocol (00fd) was rejected.
12-17 10:37:15 [7092] LCP: LayerDown
12-17 10:37:15 [7092] OsLinkdown: 192.168.224.21
12-17 10:37:15 [7092] Phase: Terminate
12-17 10:37:15 [7092] LCP: SendTerminateReq.
12-17 10:37:15 [7092] LCP: state change Opend --> Closing
12-17 10:37:16 [7092] LCP: Received Terminate Ack (15) state = Closing (4)
12-17 10:37:16 [7092] LCP: state change Closing --> Closed
12-17 10:37:16 [7092] LCP: LayerFinish
12-17 10:37:16 [7092] Disconnected!
12-17 10:37:16 [7092] Connect time: 377 secs
12-17 10:37:16 [7092] Phase: Dead
12-17 10:37:16 [7092] LCP: state change Closed --> Initial
12-17 10:37:16 [7092] Phase: Dead
12-17 10:37:18 [7092] PPP Terminated.
12-17 10:37:23 [7115] Using interface: tun0
12-17 10:37:23 [7115] PPP Started.
12-17 10:38:53 [7115] PPP Terminated.

>Fix:
	
Until a code fix is found, issue the command "disable pred1" prior to
placing a call, or use PAP instead of script dialing.

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0vawS4-000uMMC>