*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> ppp (1)              
Title
Content
Arch
Section
 

Contents


ppp(1M)								       ppp(1M)


NAME    [Toc]    [Back]

     ppp, if_ppp, ppp_fram - Point-to-Point Protocol

SYNOPSIS    [Toc]    [Back]

     ppp [-d] [-r remote] [-f cfile]

DESCRIPTION    [Toc]    [Back]

     PPP is a standard protocol	for transmitting network data over point-topoint
 links using synchronous modems, asynchronous	modems,	or ISDN	links.
     It	can be used to transfer	data between applications which	are using
     TCP/IP or UDP/IP.

     The ppp program is	used to	connect	to a remote machine.  It does
     everything	necessary to permit network data to reach the modem or ISDN
     line, and to connect the TTY port to the rest the network system.	It
     does things that are done by ifconfig(1M) for other network interfaces.
     The result	is a "point-to-point" link that	can be part of an existing IP
     interwork.

     The -d flag requests additional debugging information.  Additional
     instances of -d produce more information.	The debugging information is
     sent to the system	log (usually /var/adm/SYSLOG) if its standard error
     file descriptor is	not a tty.  The	signals	SIGUSR1	and SIGUSR2 increase
     and decrease the amount of	debugging information.

     Avoid increasing the debugging level to more than 1, because entire
     packets will be logged, including those containing	PPP PAP	and CHAP names
     and passwords, which can let anyone who can read the system log discover
     the passwords.

     Another reason to avoid increasing	the debugging level to more than 1 is
     that turns	on messages from the IRIX kernel.  While the kernel is
     displaying	the message, it	has all	interrupts turned off, which can cause
     input to be lost, which often causes more messages	from the kernel, and
     so	on.

     The -f flag specifies an alternative control file instead of
     /etc/ppp.conf.

     The -r flag specifies the label of	an entry in the	control	file.  If -r
     is	absent,	the value of the environment variable $USER specifies the
     label of the control file entry.

     The operation of the ppp program is controlled by a control file.	The
     control file must be owned	by and readable	only by	UID=0, because it can
     contain PAP or CHAP authentication	secrets.  Comment lines	in the control
     file start	with a '#' character and are ignored, as are blank lines.  A
     '#' character after a keyword and value also signals a comment to the end
     of	the line.  Each	entry starts with a label that is often	the name of a
     remote system.  Non-blank,	non-comment lines that start with blanks or
     tabs are continuations of the previous non-comment	line.  Each label is
     followed by zero or more keywords or keywords followed by an "="



									Page 1






ppp(1M)								       ppp(1M)



     character and a value.  Blanks separate keywords.	Upper and lower	case
     letters have the same significance	in keywords.  Values for keywords can
     be	quoted to contain blanks or '#'	characters.  Standard backslash	escape
     sequences are supported, except that NUL is never permitted.

     There are a large number of parameters that can be	modified.  The default
     values of the parameters are appropriate for most situations.
     Unnecessary changes to these parameters is	the most common	cause of
     problems.	A machine that only answers calls need not have	a control file
     at	all.  Consider using a control file based on the sample	below.

     PPP authentication	is not strictly	necessary when using asynchronous
     modems, because ordinary UNIX usernames and passwords are checked.
     Because the ISDN calling-number information is not	always available, it
     is	important to use authentication	incoming ISDN connections, often with
     reconfigure.  It is also important	to use authentication on switched
     synchronous wide area network connections.`

     When the default value for	-r is used (for	example	when ppp is the	shell
     for an account), some parameters such as the in, out, and quiet modes are
     ignored.  This allows a single control line to serve for both input and
     output.

     The machine that originates the PPP connection (or	both machines for
     symmetric demand dialing) can usually start the ppp program with
     ppp -r remote.  The machine that answers a	modem call (both machines for
     symmetric demand dialing using modems) should have	an account with	a
     "shell" that is the ppp program.  The resulting $USER environment
     variable is then used to select an	entry in the control file.  An
     incoming ISDN call	causes the ISDN	daemon (see isdnd(1M)) to start	the
     ppp program with $USER set	to _ISDN_INCOMING.  An incoming	synchronous
     wide area call causes the WSYNC deamon (see wsyncd(1M)) to	start the ppp
     program with $USER	set to _WSYNC_INCOMING.

     The following list	of control file	parameters is somewhat ordered into
     groups of related functions, with groups least unlikely to	be changed
     first.

     debug[=num]
	  increases the	debugging information sent to the system log.  See
	  also the -d flag described above, including the warning about	high
	  levels of debugging.

     continue=name
	  effectively concatenates the named control file entry	to the current
	  line.	 This can be used with a line naming a fictitious system but
	  containing common settings.

	  To avoid security and	other problems,	name should not	be a valid
	  hostname.  Including a character invalid in a	hostname, as in
	  +common, is a	good idea.




									Page 2






ppp(1M)								       ppp(1M)



     reconfigure
	  indicates that this control file entry is a generic (probably
	  incoming) entry, and that the	remote machine must provide a name
	  using	one of the PPP authentication protocols.  The name is used to
	  select a new control file entry, and that entry is used to set
	  almost all PPP parameters.  This mechanism is	useful for ISDN	and
	  WSYNC	connections which do not use the familiar getty	and login
	  mechanisms.

	  When the CHAP	protocol is used, the remote system must receive a
	  "challenge" so that it can respond with its name.  send_name must be
	  used in the reconfigure entry	if the name used in the	challenge is
	  not the local	hostname.  The "secrets" used with CHAP	authentication
	  should be specified in the entry parsed after	the reconfigure	entry.
	  The reconfiguration entry should only	pick the authentication
	  protocol(s) and (if necessary) specify the CHAP name to send.

	  The only parameters that are not reset according to the new entry
	  are those that cannot	be changed, having already been	used to
	  configure the	link.  Other parameters	are either set to the values
	  specified in the new control file entry or to	their defaults.	 Some
	  parameters such as ACCM that have already been negotiated but	that
	  can be renegotiated with the other system can	be changed between the
	  reconfigure entry and	the new	entry.	If possible, it	is best
	  specify as little as possible, using the default parameters in the
	  reconfigure entry.

	  If an	explicit recv_name is not specified, then any valid username
	  on the local system can be sent by the PPP peer.  A list of explicit
	  names	can be used to restrict	the permitted names.

     recv_name=name
	  requires the remote machine to authenticate itself using name	and
	  the corresponding IRIX (PAP) password	or specified CHAP secret.  A
	  null name allows the remote machine to authenticate itself using PAP
	  with any IRIX	username valid on the local machine.

	  Several recv_name specifications can be used to accept any of
	  several names. This is useful	in a reconfigure entry.	 The parameter
	  is redundant and ignored in the control file entry parsed after the
	  reconfigure entry, because a name has	already	been received from the
	  peer and used	to choose the new control file entry.  However,	that
	  entry	might be parsed	for an out-going connection and	so might need
	  the parameter	then.

	  Whether the name is used in the PAP or the CHAP protocols depends on
	  which	of the two protocols are negotiated.  Which of the protocols
	  are acceptable and so	might be negotiated depends on whether
	  send_pap, send_chap, and so on are specified.	 In the	absence	of any
	  specification	and when passwords, names, or reconfigure are
	  specified, PAP is the	default.  When both are	specified, then	CHAP
	  is offered to	the peer first.



									Page 3






ppp(1M)								       ppp(1M)



	  The PAP name and password received from the peer must	be in the
	  familiar IRIX	password and username database.	 The UID, GUID,
	  "shell" and other parameters associated with the username are
	  ignored.  The	PAP name and password sent to the peer and the CHAP
	  names	and passwords need not be in the IRIX password database.

	  If neither recv_name nor any other authentication parameter is
	  specified and	reconfigure is not used, then no PAP requests will be
	  sent,	the remote machine need	not authenticate itself, and any
	  authentication it offers will	be accepted.  Such a lack of
	  authentication is often considered a bad idea.

     send_name=name
	  specifies the	name to	be sent	to the remote machine as part of PAP
	  or CHAP authentication.

	  The remote machine might or might not	treat the name it receives as
	  an IRIX username.

	  If PAP and not CHAP is used, the name	to be sent can be omitted from
	  a control file entry with reconfigure, in which case the local
	  system will delay authenticating itself with PAP to the other	system
	  until	the peer has authenticated itself.  That allows	the PAP	name
	  to be	in the second control file entry chosen	according to the name
	  supplied by the peer when it authenticated itself.  If the name is
	  specified in the reconfigure entry, it cannot	be changed in the
	  second control file entry, although the same name can	be specified
	  again.

	  If the name is not specified,	but CHAP is specified with send_chap
	  or recv_chap,	then the hostname is the default.  This	name is	used
	  in both CHAP challenges and responses	to name	this machine.  This
	  name must be the same	in both	the reconfigure	and second control
	  file entries,	even when it is	defaulted and not explicitly
	  specified.

     send_passwd=string
	  specifies the	password to be sent to the remote machine as PAP
	  authentication or the	secret used to generate	CHAP responses.

	  The CHAP recv_passwd and send_passwd secrets should be distint to
	  avoid	a security problem.

	  The control file must	be readable only for UID=0 to keep such
	  passwords secret.

	  The password to be sent to the peer can be omitted from the
	  reconfigure entry, in	which case the local system will delay
	  authenticating itself	until the peer has begun authenticated itself.
	  That allows the password to be in the	second control file entry
	  chosen according to the name supplied	by the peer when it
	  authenticated	itself.	 If the	password is specified in the



									Page 4






ppp(1M)								       ppp(1M)



	  reconfigure entry, it	cannot be changed in the second	control	file
	  entry.

     recv_passwd=string
	  specifies the	"secret" used to generate responses to CHAP challenges
	  from the other system.  If CHAP is turned on with recv_chap, then a
	  secret must be specified.

	  The CHAP recv_passwd and send_passwd secrets should be distint to
	  avoid	a security problem.

	  The control file must	be readable only for UID=0 to keep such
	  passwords secret.

     send_pap
	  says that this system	can authenticate itself	to the other system by
	  sending PAP requests.

     -send_pap
	  says that this system	will not authenticate itself to	the other
	  system by sending PAP	requests.

     send_chap
	  says that this system	can authenticate itself	to the other system by
	  sending CHAP responses in answer to CHAP challenges received from
	  the other system.  CHAP is preferred to PAP if both are available
	  when send_pap	is also	specified.

     -send_chap
	  prevents this	system from authenticating itself by sending CHAP
	  responses CHAP.

     recv_pap
	  says this system would like to authenticate the remote system	by
	  receiving PAP	requests from the remote system.

     -recv_pap
	  says the other system	cannot authenticate itself to this system with
	  PAP.

     recv_chap
	  says the other system	can authenticate itself	to this	system with
	  CHAP responses answering CHAP	challenges sent	by this	system.	 CHAP
	  is preferred if both PAP and CHAP are	available when recv_pap	is
	  also specified.

     -recv_chap
	  says the other system	cannot authenticate itself to this system with
	  CHAP.






									Page 5






ppp(1M)								       ppp(1M)



     max_auth_secs=secs
	  changes the time the deadline	for the	other machine to respond to an
	  authorization	request	from the default of 30 seconds.

     auth_secs=secs
	  changes delay	between	retransmissions	of authentication requests
	  from the default of 5	seconds.

     chap_reauth_secs=secs
	  causes CHAP challenges to be sent periodically.  The interval	must
	  be at	least 10 seconds and at	most 2 hours or	7200 seconds

     -utmp
	  turns	off the	"utmp" entries (see utmp(4)) otherwise added for
	  incoming ISDN	or T1 and all outgoing connections.

     netmask=mask
	  overrides the	default	netmask	for the	link.  Because a PPP link is a
	  point-to-point link, the netmask is not used directly.  However, the
	  new RIP routing daemon uses it to infer whether subnetting is	used
	  by the remote	system.	 Thus, if the remote system is treating	the
	  link as "unnumbered" and using its primary host address for its end
	  of the link, then the	local PPP interface should have	the netmask
	  that the remote system is using for its primary network interface.

     metric=num
	  overrides the	default	routing	metric associated with the link.

     mtu=num
	  overrides the	default, 1500 byte "maximum transmission unit" or MTU
	  associated with a PPP	link.  The normal PPP negotiating mechanism
	  can be used by the computer on the other end of the link to reduce
	  the size of packets transmitted by the local machine when the	link
	  is first made.  The MTU cannot be reduced after kernel has committed
	  to is, as with demand	dialing.

     add_route="rt-cmd"
	  executes the command `/usr/etc/route rt-cmd`,	presumably to add an
	  IP route to the kernel routing tables.  The environment variable
	  $REMOTEADDR contains the IP address of the remote machine, the
	  address at the other end of the PPP link.  See route(1M).

	  If the rt-cmd	starts with "add" and if the -del_route	is not used,
	  then the route will be deleted when the ppp program ends and
	  interface is removed.

	  Note that this route is a "static route."  Routing daemons such as
	  gated	and routed should usually be turned off	when this keyword is
	  used,	except when the	new version of routed initially	available in a
	  patch	for IRIX 6.2 is	used.  See gated(1M), routed(1M), and
	  chkconfig(1M).




									Page 6






ppp(1M)								       ppp(1M)



     add_route
	  has the same effect as add_route="add	default	#".

     -del_route
	  turns	off the	default	removal	of the route added by add_route.

     del_route="rt-cmd"
	  executes the command `/usr/etc/route rt-cmd` when the	PPP link is
	  shut down, presumably	to delete a route added	with add_route.	 This
	  is useful in case the	route added did	not start with "add" and so
	  when the default removal of the route	is disabled.

     proxy_arp=ifname
	  specifies that an ARP	table entry for	the IP address of the remote
	  system should	be added using the MAC address of the specified
	  interface.

     -proxy_arp
	  turns	off the	default	addition of an ARP table entry for the remote
	  system.  Otherwise, if the IP	address	of the remote system has a
	  network number equal to one of the non-point-to-point	interfaces of
	  the local system, then a suitable proxy-ARP table entry will be
	  added.

     uucp_name=uname
	  specifies a name in the /etc/uucp/Systems file for dialing.  Its
	  default value	is the remote machine name.  UUCP hostnames can	be at
	  most 7 or sometimes 8	characters long.  It is	useful to use one name
	  for dialing and another for TCP/IP when the more public, harder to
	  change TCP/IP	name is	longer than 7 characters.

     localhost=ipname[,mask]
	  specifies one	of the set of IP addresses for the local end of	the
	  PPP link.  Additional	instances of the keyword add to	the set	of
	  acceptable local addresses.

	  During the IP	part of	negotiations during the	PPP connection
	  initiation, the local	machine	insists	that the negotiated address be
	  a member of the set.	The ipname can be a hostname or	a numeric IP
	  address.  If absent, the mask	is assumed to be "255.255.255.255".
	  The pair (ipname,mask) specifies all IP addresses such that
	  ipname&~mask=0, or in	other words, all addresses that	match modulo
	  the mask.  (Note that	this mask has nothing to do with a "netmask.")
	  If there is more than	one localhost keyword in a single line in the
	  control file,	the set	used during negotiations is the	union of the
	  sets specified by all	of the keywords.  Use localhost=0,0 to let the
	  remote machine pick any IP address for this machine.	If the set
	  consists of a	single IP address (e.g.	a single localhost keyword
	  with a default mask or a mask	of 255.255.255.255), the local machine
	  will not only	reject requests	to use any other address, but will
	  also propose the address with	IPCP configuration request packets.




									Page 7






ppp(1M)								       ppp(1M)



	  If there are no localhost keywords, the set of local addresses
	  defaults to the address of the local machine.	 The default is
	  usually appropriate, whether connecting two ethernets	or extending
	  an ethernet to a distant, isolated workstation.  When	connecting
	  isolated workstations, it is best to use a single network number and
	  allocate host	numbers	on that	network	for remote workstations.

     remotehost=ipname[,mask]
	  specifies one	of the set of IP addresses of the remote end of	the
	  PPP link.  It	behaves	just like the localhost	keyword, except	that
	  the remote end of link is being named	and the	default	is the label
	  of the control file entry or the UUCP	name, if either	is a valid
	  hostname.  If	neither	is a valid hostname, it	defaults to
	  remotehost=0,0 to let	the remote machine negotiate any IP address it
	  wants.

	  In quiet mode, the IP	addresses of the PPP link are configured
	  before the other machine is contacted, since the rest	of the system
	  must know the	addresses in order to send traffic over	the link to
	  cause	the link to be dialed.	That means that	in quiet mode, the IP
	  addresses cannot be defaulted	or negotiated.

     rem_sysname=name
	  specifies a name for the remote system.  This	name may differs from
	  the remote hostname of the system.  By default, this name is the
	  same as the label of the control file	entry, specified with -r or
	  the environment variable $USER.  This	control	is necessary only when
	  MP Endpoint Discriminators are turned	off or not supported by	the
	  peer.

     -addr_negotiate
	  disables IPCP	address	negotiation.  This is useful only when the
	  peer does not	implement the ADDR Configure-Request option, the
	  default values for remotehost	and localhost are correct, and it is
	  worthwhile to	save the cost of an extra round	of Configure-Reject
	  and Configure-Request.  Use of this facility should be avoided,
	  because it disables the detection of one of the most common
	  configuration	errors.

     active_timeout=secs
	  sets the number of seconds of	idleness while at least	one TCP
	  connection seems to be open before the PPP link is broken.  The
	  lower	layers snoop on	packets	to infer the number of open TCP
	  connections that go over the link.  This snooping cannot be made
	  entirely reliable, because the end of	the connection may be a
	  distant machine that forwards	only some of its packets through this
	  machine, and because only TCP/IP packets transmitted by this machine
	  are observed.

	  The active timeout must be no	smaller	than the inactive_timeout.
	  See the quiet	mode.  In quiet	mode, the active_timeout defaults to
	  the inactive_timeout,	and if neither is specified, the



									Page 8






ppp(1M)								       ppp(1M)



	  active_timeout defaults to 300 and the inactive_timeout to 30
	  seconds.  Such values	limit many telephone calls for quick,
	  automatic transactions like email to less than a minute, without
	  making interactive sessions painful.	As long	as you type at least
	  once every 5 minutes in an interactive session, the link will	remain
	  active.

     inactive_timeout=secs
	  sets the number of seconds of	idleness while no TCP connections seem
	  to be	open before the	PPP link is broken.  This timeout must no
	  larger than the active_timeout.  See the quiet mode.	In quiet mode,
	  the inactive_timeout defaults	to the active_timeout, and if neither
	  is specified,	the active timeout defaults to 300 and the inactive
	  timeout to 30	seconds.

	  When non-TCP applications are	being used, or when applications such
	  as Mosaic, involving many short-lived	TCP connections	are used, it
	  can be useful	to open	a TCP connection (e.g. telnet or login)	to a
	  remote system	to invoke the longer, active_timeout.

	  Specifying a timeout with active_timeout or inactive_timeout turns
	  on "demand dialing".	See quiet.

     toll_boundary=billing_secs
	  overrides active_timeout and inactive_timeout	until the link as been
	  active approximately multiple	of billing_secs	seconds.  For example,
	  if the telephone company bills for complete minutes, an idle link
	  may as well remain connected until near the end of the current
	  minute.

     busy_delay=secs
	  sets the delay before	complete saturation of the current links
	  causes the addition of an additional line, provided there are	fewer
	  lines	currently active than specified	with outdevs.  The default
	  delay	is 10 seconds, and it is always	rounded	up to a	multiple of 5
	  seconds.

     idle_delay=secs
	  sets the period of at	least partial idleness with no moments of
	  complete saturation of the links before one of the active lines in
	  excess of the	number specified with mindevs is turned	off.  Only
	  links	started	by the local machine are turned	off when they are
	  idle.	 If all	links are completely idle, the active_timeout and
	  inactive_timeout will	turn off all lines, including incoming lines.
	  The default delay is 30 seconds, and it is always rounded up to a
	  multiple of 5	seconds.

     bps=num
	  overrides the	automatic measurements of the speed of the device.






									Page 9






ppp(1M)								       ppp(1M)



     maxdevs=num
	  changes the maximum number of	multilink serial lines.	 Connections
	  in excess of this number are refused.

     outdevs=num
	  sets the maximum number of multilink serial lines that will be used
	  when originating a call.  If the maxdevs value is greater than the
	  outdevs value, additional incoming connections in excess of the
	  outdevs limit	are permitted.

     mindevs=num
	  changes the minimum number of	multilink serial lines (e.g. modems)
	  from the default of 1.  An additional	connection is attempted
	  whenever there are fewer, provided this system originated the	call.

     unsafe_mp
	  allows the system answering the phone	to add a link to the multilink
	  bundle.  This	is usually undesirable,	unless the other system	is too
	  dumb to add links to the bundle when the bundle is saturated.

     -mp  disables the PPP multilink protocol, MP.  The	BF&I multilink
	  protocol will	be used	instead.

     mp_send_ssn
	  try to send short MP sequence	numbers;

     mp_recv_ssn
	  accept short MP sequence numbers;

     mp_headers
	  requires MP headers even when	the bundle consists of a single	link.

     -endpoint_discriminator
	  turn off endpoint-descriptors	when talking to	a broken system.
	  Endpoint-descriptors extremely useful.

     -mp_frag
	  avoids MP fragmentation as much as possible.

     map_char_num=num
	  adds a character to the list of those	that must be escaped when
	  transmitted over the PPP link.  Not just control characters, but any
	  character other than the PPP 0x5e can	be marked to be	escaped.
	  However, only	control	characters can be negotiated to	be escaped
	  when received.  See map_char.

     accm=num
	  sets the list	(Async-Control-Character-Map or	ACCM) of characters
	  that must be escaped when transmitted	over the PPP link.  See
	  map_char.





								       Page 10






ppp(1M)								       ppp(1M)



     map_char=chars
	  adds the control characters corresponding to the letters in the
	  string chars to the list of those that must be escaped when
	  transmitted over the PPP link.  By default, the list is empty, but
	  other	commonly used lists are	all (accm=0xffffffff) and NUL, XOFF,
	  and XON (map_char=@QS).

     accm_parity
	  causes control characters to be escaped regardless of	their "parity"
	  bit.

     -rx_accm
	  Control characters that are received from the	peer and in the	ACCM
	  negotiated with the peer must	be discarded according to the PPP
	  standard.  This is because there are two reasons for escaping
	  control characters.  They might be gratuitously removed by modems or
	  other	equipment in the line, or they might by	gratuitously added.
	  This switch overrides	the default behavior of	discarding bytes that
	  should have been escaped but were not.

	  The transmit ACCM is separate	from the receive ACCM.	There is
	  nothing the receiver can do except suggest during the	negotiations
	  when the link	is made	that transmitter escape	more bytes and discard
	  bytes	that were not escaped but should have been.

     in	  specifies "input mode" for the ppp program.  In this mode, the local
	  machine is expected to accept	connections (e.g. telephone calls) for
	  the remote machine.  See quiet.

     out  specifies "output mode" for the ppp program.	In this	mode, the
	  local	machine	is expected to initiate	the connection to the remote
	  machine (e.g.	place the telephone call).

	  Specifying a timeout with active_timeout or inactive_timeout turns
	  on "demand dialing" that differs from	"quiet mode" only in
	  immediately making the connection without waiting for	traffic.  See
	  quiet.

     quiet
	  specifies "quiet mode" for the ppp program.  When there is traffic,
	  it creates the connection.  When the link seems to be	idle, it
	  breaks the connection, and later restores it when there is more
	  traffic.  This is sometimes called "demand dialing."

	  A quiet connection must know both IP addresses before	the connection
	  is established, because the connection is not	made until traffic is
	  waiting, traffic cannot exist	until the remote and local IP
	  addresses are	known, and so the normal IP address negotiation
	  mechanism is not available, and so remotehost	and localhost must be
	  explicitly specified.

	  While	a quiet	mode connection	can be started at the receiving	end of



								       Page 11






ppp(1M)								       ppp(1M)



	  a connection,	it may not have	the desired effect.  The daemon	does
	  not expect to	use the	serial connection to its standard input	in
	  quiet	mode.  If started in quiet mode	as the result of the remote
	  system dialing in, the daemon	will ignore the	incoming serial
	  connection.  It expects to wait quietly until	it sees	locally
	  generated traffic and	the need to dial its own new link.  One	might
	  conceivably start a quiet mode daemon	remotely for a simple kind of
	  traffic driven or "demand dial-back."

     camp turns	on "camping," a	mode in	which the ppp program continually
	  tries	to reestablish the link	whenever it is broken.	Camping	can
	  only be used in out mode.  When practical, "demand dialing" with
	  quiet	mode is	more convenient.

     modwait=secs
	  sets the number of seconds the modem is allowed to cool before
	  attempting a call.  The default is 5 seconds.	 Too short a delay
	  between attempts to use the modem can	cause various messages,
	  including the	ever popular "DEVICE LOCKED".

     modtries=num
	  sets the number of consecutive tries to dial the remote machine
	  before temporarily giving up,	putting	the message "giving up for
	  now" into the	system log, and	flushing the output queue.  When
	  demand dialing is used, a new	series of attempts will	be made	soon
	  after	a new packet is	put into the output queue (see modwait).

     modpause=num
	  changes the delay after failed series	of attempts to dial the	remote
	  machine from the default of 0	to num seconds.

     restart_ms=milliseconds
	  changes the initial delay before retransmitting PPP control packets
	  from the default of 1	seconds.

     restart_ms_lim=milliseconds
	  changes the limit on the binary exponential increase of restart_ms
	  from the default of 8	seconds.

     ccp_restart_ms=milliseconds
	  changes the delay before retransmitting CCP (PPP compression control
	  protocol) packets from the default of	6 seconds.  This timer has no
	  backoff and starts out longer, because CCP is	often done while the
	  link is otherwise very busy.	A 3 second timeout is too short	on a
	  busy 9600 bit/sec link with a	1500-byte MTU.

     max_FSM_fail=num
	  changes the limit on the number of times the PPP finite state
	  machine will attempt to negotiate (i.e. Configure-Requests and
	  receive Configure-Naks or Configure-Rejects).	 The default is	10.





								       Page 12






ppp(1M)								       ppp(1M)



     max_FSM_conf=num
	  changes the number of	times the PPP FSM will send a ConfigurationRequest
 without receiving a response before giving up	(.e. send
	  Configure-Requests and no response).	The default is 10.

     max_FSM_term=num
	  changes the number of	times a	Terminate-Request will be sent by the
	  local	FSM before turning off the link	unilaterally.  Use
	  max_FSM_term or max_term_ms but not both.

     max_term_ms=milliseconds
	  changes the duration Terminate-Requests will be sent by the local
	  FSM before turning off the link unilaterally.	 Use max_FSM_term or
	  max_term_ms but not both.  The default is 7 seconds.

     -LCP_IDENT
	  turns	off LCP	Identification packets.	 See RFC 1570.

     -LCP_ECHOS
	  turns	off LCP	Echo Requests.	By default, an LCP Echo	Request	packet
	  is sent periodically to ensure that the peer is still	working.

     LCP_ECHO_INTERVAL=num
	  changes the repetition rate of LCP Echo Requests from	its default
	  value	of 10 seconds.	The new	value must be between 1	and 120
	  seconds.

     noicmp
	  causes the system to discard all ICMP	packets	instead	of
	  transmitting them over the link.  This is intended for extremely low
	  speed	links.

     qmax=num
	  sets the maximum depth of the	interface queue.  The size of the
	  queue	can be monitored with the netstat command.

     -telnettos
	  turns	off the	"telnet	type of	service	hack," which tries to give
	  interactive traffic better service by	moving ICMP packets and	TCP
	  packets to or	from ports 23, 513, or 518 to the front	of the
	  transmit queue.  Note	that the IP TOS	"low delay" bits are always
	  honored by the PPP driver.

     inact_port=port
	  adds the TCP or UDP port number port to the list of ports that are
	  not considered evidence of activity.	Traffic	transmitted by this
	  machine to ports not in the list causes the system to	restore	the
	  PPP link (while in quiet mode).  The port can	be specified by
	  number, service name in /etc/services, or NIS	service	name.

	  By default, the list contains	only ports 13 (daytime), 37 (time),
	  123 (ntp), 520 (route), and 525 (timed).



								       Page 13






ppp(1M)								       ppp(1M)



     -inact_port
	  clears the list of uninteresting port	numbers, making	all ports
	  evidence of traffic.

     inact_icmp=type
	  adds an ICMP packet type to the list of types	that are not
	  considered evidence of activity.  Other kinds	of ICMP	packets	cause
	  the system to	restore	the PPP	link (while in quiet mode).

	  The packet type must be a number from
	  /usr/include/netinet/ip_icmp.h.  By default, the list	contains only
	  5 (ICMP_UNREACH), 4 (ICMP_SOURCEQUENCH), 9 (ICMP_ROUTERADVERT), 10
	  (ICMP_ROUTERSOLICIT),	13 (ICMP_TSTAMP), and 14 (ICMP_TSTAMPREPLY).

     -inact_icmp
	  clears the list of uninteresting ICMP	packet types.

     sync

     -sync
	  indicate whether the line is "synchronous" or	"asynchronous."	 The
	  default is asynchronous, except when its major device	number is
	  known	to be that of an ISDN line or when the top-most	STREAMS	module
	  is not recognized as the familiar module "TTY	line discipline."

     xon_xoff
	  turns	on "XON/XOFF" or "software flow	control" when a	modem is used.
	  This should be avoided if at all possible.

     -pcomp
	  disables PPP LCP protocol field compression.	It is on by default.

     -acomp
	  disables PPP LCP address and control field compression.  It is on by
	  default on asynchronous links.

     -vj_comp
	  disables Van Jacobson	TCP/IP header compression.  It is on by
	  default.

     vj_compslot
	  enables compression of the Van Jacobson TCP/IP header	compression
	  slot ID.  It is off by default, and should be	off whenever there is
	  no reliable notification of the kernel PPP code of lost bytes.
	  There	is no such notification	over IRIX asynchronous serial lines.
	  Van Jacobson header compression is described in RFC 1144.

     -vj_compslot
	  disables compression of the Van Jacobson TCP/IP header compression
	  ID.





								       Page 14






ppp(1M)								       ppp(1M)



     vj_slots=slots
	  changes the number of	Van Jacobson TCP header	compression slots from
	  its default of 16.

     -ccp disables the Compression Control Protocol and	all link layer
	  compression.

     -tx_predictor1
	  disables "Predictor Type 1" link layer compression on	packets
	  transmitted by this system.

     tx_bsd=bits
	  limits to no more than bits the code size of "BSD compress" link
	  layer	compression on packets transmitted by this system.

     -tx_bsd
	  disables "BSD	compress" link layer compression on packet transmitted
	  by this system.

     -rx_predictor1
	  disables "Predictor Type 1" link layer compression on	packets
	  received by this system.

     rx_bsd=bits
	  limits to no more than bits the code size of "BSD compress" link
	  layer	compression on packets received	by this	system.

     -rx_bsd
	  disables "BSD	compress" link layer compression on packet received by
	  this system.

	  "BSD compress" code sizes of 9 to 15 bits are	allowed.

	  "BSD compress" compression is	more effective but requires more CPU
	  cycles than "Predictor Type 1."  "BSD	compress" code sizes larger
	  than 12 require more system memory than "Predictor Type 1."

	  Packets are not compressed unless both the transmitting and
	  receiving systems agree.  BSD	compress is preferred when both	BSD
	  compress and Predictor are enabled and permitted by the other
	  system.  Both	12-bit "BSD Compress" and "Predictor Type 1"
	  compression are enabled by default.  When both are enabled, "BSD
	  Compress" is preferred.

	  The compression a system uses	on the packets it transmits is chosen
	  and negotiated independently of the compression it expects to	see on
	  the packets it receives.

     stream_module=sname
	  adds the stream module with name sname to the	list of	modules	that
	  will be pushed onto the STREAMS device beneath the two PPP modules.
	  The modules are pushed in the	order they are named.



								       Page 15






ppp(1M)								       ppp(1M)



     The ppp program must be killed to finally terminate a link	that is
     "camping" or in "quiet" mode (see kill(1) or killall(1M)).	 The TERM or
     INT signals, as in	`killall -v -TERM ppp`,	are best because they allow
     the ppp program to	notify the other machine that the link is being	turned
     off.

   Installation	Notes
     The program uses the dialing information on each appropriate line of the
     /etc/uucp/Systems file until it succeeds.	This can be useful if there is
     more than one telephone number that might be used to contact the remote
     machine.  A /etc/uucp/Systems line	like the following works well to call
     an	IRIS running this ppp software:

	  rmt Any ACUSLIP 19200	5551234	"" @\r\c ogin: mynam ssword: xxx PPP

     The last check for	"PPP," output by the ppp program by the	remote IRIS
     just before it starts the IP protocol, ignores banners or messages	of the
     day.  It ensures the remote machine is not	waiting	for an additional
     password.	The check for "PPP" may	not be appropriate with	other brands
     of	computer.

     The following shell script	can be used to start the connection with the
     Systems file entry	above:

	  #!/bin/sh
	  exec </dev/null >/dev/null 2>&1
	  /usr/etc/ppp -r rmt $* &

     The following sample PPP configuration file assumes a "quiet" mode

	  # common parameters
	  me   add_route	   #install default route

	  # special parameters for rmt,
	  rmt  remotehost=rmt.foo.bar.com
	       quiet			#requires both host names be known
	       #
	       uucp_name=rmt		#not needed, since same	as default
	       continue=me

	  # another host that can use parallel links, and correctly negotiates
	  #   its IP address, and uses ISDN and	so needs PAP authentication.
	  other	    remotehost=0 outdevs=2
	       send_name=mynam send_passwd=guess@it
	       continue=me

	  # common entry for incoming ISDN connections
	  _ISDN_INCOMING
	       continue=_INCOMING

	  # common entry for incoming WSYNC connections
	  _WSYNC_INCOMING



								       Page 16






ppp(1M)								       ppp(1M)



	      continue=_INCOMING

	  _INCOMING
	       reconfigure


     A machine which has no network connection other than a PPP	link should
     use a terminator on its ethernet port, and	so act as if it	has a valid
     although very small local area network.

     Because the ppp program can use the UUCP control files, the best way to
     install a PPP connection is to first install a UUCP connection.  So, one
     first creates appropriate entries in the /etc/uucp/Dialers,
     /etc/uucp/Devices,	and /etc/uucp/Systems files, and then "debugs" the
     connection	with cu	-d remotesystem.

     A server which other machines call	to use PPP should establish separate
     "user names" in /etc/passwd (see passwd(4)), all using the	ppp program as
     their "login shell."  Each	username should	be the same as a remote
     machine name starting a line in the control file, thereby choosing
     appropriate parameters for	the link.

     Since the ppp command configures network interfaces, it must be executed
     with UID 0, and so	the password entry on the remote system	should use UID
     0.

     Routing demons can	be used	to exchange RIP	packets	(see routed(1M)	or
     gated(1M))	over the link, as well as advertise the	link to	the rest of
     the IP network.  The -h option to routed can usefully reduce the
     resulting clutter of "host-routes."  The -F option	to routed on the
     machine gatewaying	a point-to-point link to an ethernet sends a synthetic
     "default route" over the PPP link instead of the full routing tables,
     making the	cost of	running	RIP over the link negligible.

     Each time the link	is (re)established, the	program	sends a	SIGHUP signal
     to	the gated and routed daemons, if they are running.  This causes	the
     routing daemons to	more quickly notice the	(probably) new network
     interface and to start advertising	adjusted routes.  It also causes a
     "killed" message in the debugging output.

     Static routing can	be used	instead	of a routing daemon with the add_route
     control file keyword or with route(1M) commands in	a
     /etc/init.d/network.local files associated	with the /etc/init.d/network
     file.

     Note that

     A ppp program using demand-dialing	("quiet" mode in the control file) can
     call another ppp program which is in input, output, or demand-dialing
     mode.  In case the	other system is	calling	this system, demand-dialing
     uses random binary	exponential backoffs after failed attempts.




								       Page 17






ppp(1M)								       ppp(1M)



     The network information service (NIS, see ypbind(1M)) is not often	useful
     over a PPP	link.  it is usually necessary to use local copies of mail
     aliases.  However,	the Internet domain name server	can be useful, by
     creating a	/usr/etc/resolv.conf  file (see	resolver(4)) similar to	the
     following but with	the addresses and domain name changed appropriately:

	  domain your.dom.ain
	  hostresorder local bind
	  nameserver 192.26.61.24
	  nameserver 192.26.61.21
	  nameserver 192.26.51.194


     It	is possible to use NFS over a PPP link,	necessary to adjust the	mount
     options for the relatively	long latencies and low bandwidth (see
     automount(1M) and fstab(4)).  Timeouts should be set long enough to allow
     a complete	transaction to pass the	link before becoming too late, and
     having to be retransmitted.  A plausible value for	timeo with default
     8KByte block sizes	over a 19.2Kbit/s link is 90, for 9 seconds.  It can
     be	useful to increase the attribute timeouts substantially, to minutes.

     To	synchronize clocks over	a PPP link timed can be	used, but timeslave is
     often more	accurate.

     Once each day at about midnight, if the ppp program has been running for
     at	least several hours, it	logs some statistics concerning	its work for
     the previous 24 hours.

DIAGNOSTICS    [Toc]    [Back]

     Error messages complaining	that "I_PUSH" failed mean that the kernel does
     not contain the required PPP STREAMS modules, if_ppp and ppp_fram.

FILES    [Toc]    [Back]

     /etc/ppp.conf		   default control file
     /etc/init.d/network	   network start-up script
     /etc/passwd
     /var/adm/SYSLOG		   system log for debugging messages
     /etc/uucp/Systems		   "modem chat scripts"
     /etc/uucp/Dialers		   "chat scripts" to control modems
     /etc/uucp/Devices		   tty port/modem configurations
     /etc/hosts			   hostname database
     /var/sysgen/master.d/if_ppp   kernel STREAMS module
     /var/sysgen/master.d/ppp_fram
     /var/sysgen/boot/if_ppp.o
     /var/sysgen/boot/ppp_fram.o
     /tmp/.ppp-rendezvous	   rendezvous for demand dialing and pppstat
     /dev/tty[dmf]x		   tty port attached to	modem.

SEE ALSO    [Toc]    [Back]

      
      
     chkconfig(1M), cu(1), getty(1M), ifconfig(1M), icmp(7P), isdn(7M),
     gated(1M),	master(4), passwd(4), pppstat(1m), resolver(4),	routed(1M),
     slip(1m), syslog(1M), wsyncd(1M), uucico(1M)



								       Page 18






ppp(1M)								       ppp(1M)


BUGS    [Toc]    [Back]

     Only IP datagrams (and so TCP, UDP, NFS, and so on) are currently
     supported.


								       PPPPaaaaggggeeee 11119999
[ Back ]
 Similar pages
Name OS Title
pppoerd.conf HP-UX PPPoE (Point to Point Protocol over Ethernet) relay configuration file
pppoesd.conf HP-UX PPPoE (Point to Point Protocol over Ethernet) server configuration file
pppoec.conf HP-UX PPPoE (Point to Point Protocol over Ethernet) client configuration file
sppp FreeBSD point to point protocol network layer for synchronous lines
sppp OpenBSD point to point protocol network layer for synchronous lines
pppoesd HP-UX PPPoE (Point-to-Point Protocol over Ethernet) server daemon
pppoec HP-UX PPPoE (Point to Point Protocol over Ethernet) client
pppoerd HP-UX PPPoE (Point to Point Protocol over Ethernet) relay
pppstats Tru64 Print Point-to-Point Protocol (PPP) statistics
ppp OpenBSD point to point protocol network interface
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service