PPP Options

PPP is a slightly modified version of ppp-2.1.2. It has several options that are supported that may be useful for connecting to certain providers.
-all			Don't request/allow any options
-ac			Disable Address/Control compress
-am			Disable asyncmap negotiation
-as			set the desired async map
-d			Increase debugging level
debug			Increase debugging level
dialup			Do special stuff for dialup
-ip			Disable IP address negotiation
-mn			Disable magic number negotiation
-mru			Disable mru negotiation
mru			Set MRU value for negotiation
-p			Set passive mode
-s			Set silent mode
-pc			Disable protocol field compress
passive			Set passive mode
silent			Set silent mode
+pap			Require UPAP authentication
-pap			Don't allow UPAP authentication
+chap			Require CHAP authentication
-chap			Don't allow CHAP authentication
vjmode			set VJ compression mode
-vj			disable VJ compression
-vjccomp		disable VJ connection-ID compression
vj-max-slots		Set maximum VJ header slots
sync			operate in synchronous HDLC mode
domain			Add given domain name to hostname
netmask			set netmask
unit			Set Unit request
slip			Do SLIP framing
dynamic			Allow Dynamic addresses
name			Set local name for authentication
user			Set username for PAP auth with peer
usehostname		Must use hostname for auth.
remotename		Set remote name for authentication
auth			Require authentication from peer
login			Use system password database for UPAP
pap-restart		Set timeout for UPAP
pap-max-authreq		Set max #xmits for auth-reqs
chap-restart		Set timeout for CHAP
chap-max-challenge	Set max #xmits for challenge
chap-interval		Set interval for rechallenge
If you need further information on these options, the best source of information is probably the source code itself.

Negotiation Tracing

When PPP starts, a series of packets are exchanged to negotiate all the possible options. Because of limitations of certain PPP implementations, all possible options may be not be supported. When PPP negotiation fails, you may to set options in the conf file under PPP_ARGS.

In order to determine what is going on with all this negotiation, you can set LOG_LEVEL=3 in the conf file, and enable syslog output in your /etc/syslog.conf file. This syslog entry seems to work well:

local2.emerg;local2.alert;local2.emerg;local2.crit;local2.err	/var/adm/dp/ppp.log
local2.warning;local2.notice;local2.info;local2.debug		/var/adm/dp/ppp.log
In examining the syslog output of PPP, you can often tell where the PPP negotiation is failing and just set the options so that the negotiation works first time.

VJ Compression

Van Jacobsen Header Compression is a very useful scheme for reducing the overhead of TCP/IP headers on slow links. For this reason, it is worth the time taken to set up the PPP options so that it is properly negotiated.

In versions of dp prior to dp-3.1.4, VJ compression was not automatically negotiated properly. For this reason, dp-3.1.4 or newer is highly recommended

There have been at least 3 different Van Jacobsen Header compression negotiations in use since PPP became widely used. The original "rfc1172" scheme was used by the very earliest versions of dp. At some point, the default was changed to "pre1332" which used the new option value, but used the old options. Both of these older negotiations assume CID compression and 16 slots. "rfc1332" compression allows negotiation of the number of slots and the ability to enable or disable CID compression. dp-3.1.4 and newer seems to handle this correctly and it now defaults to using "rfc1332". Some effort was made to make dp-3.1.4 backward compatible with older VJ negotiations. By using the PPP_ARGS setting in the conf file, you can enable the older negotiations as follows:

			Negotiation	Negotiation
			Option Value	Option Length
    PPP_ARGS=rfc1172	 0x2d (45)	   4
    PPP_ARGS=pre1332	 0x37 (55)	   4
    PPP_ARGS=rfc1332	 0x37 (55)	   6		(default)
If need be, in dp-3.1.4 or later, you can disable CID compression with the option "PPP_ARGS=-vjccomp". In addition, you can set the number of slots by using "PPP_ARGS=vj-max-slots,N", where N is between 3 and 254. These options have been tested with a Xyplex terminal server.

CHAP & PAP

For more info on using CHAP & PAP, a
thorough document is available.

Kirk Smith / ks@acn.purdue.edu Last updated: 28 July 1995