man Pages(1M): System Administration Commands
  Search only this book
Download this book in PDF

NAME

aspppd, aspppls - Asynchronous PPP Link Manager

SYNOPSIS

/usr/sbin/aspppd [ -d debug-level ]
/usr/sbin/aspppls

AVAILABILITY

SUNWapppr
SUNWapppu

DESCRIPTION

aspppd is the link manager for the asynchronous data link protocol specified in RFC1331, The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links. It is a user level daemon that works in concert with the IP-Dialup driver (ipdcm) and PPP streams module ( ppp(7)) to provide IP network services over an analog modem using dialed voice grade telephone lines. The link manager automates the process of connecting to a peer (remote) host when PPP service with that host is required. The connection process can be initiated either by sending an IP datagram to a (disconnected) peer host or by receiving a notification that a peer host desires to establish a connection.
aspppls is the login service that connects the peer host machine to aspppd. aspppls is invoked by the serial port monitor when a peer machine logs into a PPP enabled account. Its purpose is to cause the link manager to accept the incoming call.

OPTIONS

-d debug-level
The debug-level is a number between 0 and 9. Higher numbers give more detailed debugging information. The output is written to the log file /etc/log/asppp.log.

USAGE

The link manager is invoked at boot time if the configuration file /etc/asppp.cf is present. After parsing the configuration file and building a path object for each peer host, it sleeps until (1) an IP datagram is routed to one of the ipd or ipdptp interfaces (see ppp(7)); or (2) it is notified by the login service that a peer host is attempting to make a connection.
In the first case, it consults the UUCP database, dials the modem, logs into the peer host, establishes the PPP data link, brings up IP, and forwards the IP datagram that initiated the process.
In the second case, the link manager opens the file descriptor supplied by the login service, establishes the PPP data link, and brings up IP.
If the link manager determines that there has been no IP traffic for the period specified by the inactivity_timeout keyword, it disconnects the link by bringing down IP and PPP and closing the connection with the peer host.
The link manager can be reinitialized by sending it the -HUP signal (with kill(1) for example), which causes it to disconnect all open PPP links and reread the configuration file.

Path

A path is an object that contains the state of a connection with a peer host. Information such as system names, interface names, timeout values, and other attributes are kept in the path object. There exists a path for each potential peer host. Paths are defined in the configuration file.

Interfaces

The link manager supports two types of IP layer interfaces; the point-to-multipoint interface (ipd) and the point-to-point interface (ipdptp) (see ppp(7)).
The point-to-multipoint interface logically connects the host machine to a network containing one or more peer hosts. IP traffic to or from any of the peer hosts is routed through the point-to-multipoint interface. When an ipd interface is configured, only one IP address, that of the host, is assigned. In other words, it behaves very similarly to an Ethernet interface, although the broadcast capability is not supported. This type of interface is well suited for a dial in PPP server.
The point-to-point interface logically connects the host machine with one peer host. Only IP traffic to or from the peer host is routed through this interface. When an ipdptp interface is configured, two IP addresses are assigned. This type of interface is well suited to support a remote, or nomadic, machine.
An interface must be fully configured and enabled (i.e. up) before an IP datagram will be routed to it. It's also true that a point-to-multipoint interface must be fully configured and enabled before the link manager will associate an incoming connection with it. It's not necessary, however, for a point-to-point interface to be configured and enabled before an incoming connection will be assigned to it. A point-to-point interface that is "plumbed", but otherwise not configured or enabled (i.e. down), can be used to accept an incoming connection if the path associated with the potential connection contains a dynamic interface specification (e.g. interface ipdptp* ). In this case the link manager will select a disabled (down) interface, configure the host and peer addresses, bring it up, and assign it for the duration of the connection.

Routing

Special attention should paid to routing issues that may arise if a host has more than one interface configured and enabled. By definition, a host with more then one enabled interface is a router, and the routing daemon (typically in.routed ) will advertise the routes provided by the PPP interfaces. This is normally acceptable behavior for a dial in server, but can cause network disruptions if not administered properly.
To prevent routing information packets (RIP) from flowing over point-to-point interfaces, specify the norip keyword in the /etc/gateways file. See in.routed(1M) for further information.

Configuration File

The primary purpose of the /etc/asppp.cf configuration file is to define each path used by the link manager to establish and maintain communication with a peer system.
The file consists of a sequence of tokens separated by white space (blanks, tabs, and new lines). There are no record boundaries or any other constraints on the placement of the tokens. If a token begins with a pound sign (#), all characters between the pound sign and the next newline (\n) are ignored (i.e. they are treated as a comment).
Alphanumeric tokens are case insensitive and are translated by the lexical analyzer into lower case before further processing.
Groups of tokens are assembled into units known as paths (essentially a human-readable form of the path object). A path begins with the keyword path and ends at the token found before any subsequent path (or defaults) keyword or at the last token in the file. The tokens comprising a path are further partitioned into small groups consisting mostly of keyword/value pairs that define the attributes of the current path. If a particular keyword/value pair is not listed for a path, the default value is assumed.
The token sequences that begin with the substrings ipcp_ or lcp_ refer to PPP initial configuration options as specified in RFC1332, The PPP Internet Protocol Control Protocol (IPCP). See the RFC for a more complete definition of these options.
The following is an alphabetic list of the token sequences that can be contained in a configuration file. Required sequences are noted.

Keywords

debug_level number
number is between 0 and 9. Higher numbers give more detailed debugging information. The output is written to the /etc/log/asppp.log file. The value set by the debug_level keyword overrides the -d command line option.
defaults
Indicates that all following token sequences up the next path keyword, or the end of file, set default attributes that affect subsequently defined paths.
default_route
When the IP layer corresponding to the current path is fully operational, add the peer IP address to the route table as the default destination. The route is removed when the IP layer is brought down. Note: the default_route keyword is only installed by point-to-point interfaces.
ifconfig parameters
(Required) The ifconfig keyword and associated parameters are passed to the shell for evaluation and execution. It's used to define an interface. See the ifconfig (1M)man page for more information.
inactivity_timeout seconds
seconds is the maximum number of seconds that the connection associated with the current path can remain idle before it is terminated. 0 may be specified to indicate no timeout. The default is 120 seconds.
interface ( ipdn | ipdptpn | ipdptp* )
(Required) Associates a specific point-to-multipoint or point-to-point interface as denoted by the non-negative integer n with the current path. The third form, ipdptp* ,indicates that the interface associated with the path is a dynamic interface that will be selected at connect time from a pool of previously configured, inactive (i.e. down) point-to-point interfaces.
ipcp_async_map hex-number
Specifies the async control character map for the current path. The hex-number is the natural (i.e. big endian) form representation of the four octets that comprise the map. The default value is ffffffff.
ipcp_compression ( vj | off )
Indicates whether IP compression is enabled or not. If enabled (vj), the Van Jacobson compression algorithm is used. The default is compression (vj).
lcp_compression ( on | off )
Indicates whether PPP address, control, and protocol field compression is enabled or not. If enabled, both the address and control field compression and the protocol field compression options are set. The default is compression (on).
lcp_mru number
number specifies a desired maximum receive unit packet size in octets. The default is 1500.
path
(Required) Indicates that all following token sequences are to be grouped together as attributes of this (current) path. The collection of attributes comprising the current path are terminated by the occurrence of a subsequent path or defaults keyword or by the end of file.
peer_ip_address IP-address
(Required for point-to-multipoint paths) Associates the IP-address with the current path. The value is ignored if the path specifies a point-to-point interface. The IP-address may be in "dotted decimal", hexadecimal, or symbolic (i.e. hostname) format.
peer_system_name name
(Required) Associates the peer system name with the current path. The name is used to look up modem and peer specific information for outbound connections in the UUCP /etc/uucp/Systems file. For incoming connections, the appropriate path is determined by matching name with the login name that was used to obtain the connection (i.e. an entry in the /etc/passwd file specifies name in the username field).
version n
Specifies that the contents of the configuration file correspond to format version n. If this keyword is present, it must be the first keyword in the file. If absent, the version is assumed to be 1. This document contains the definition of the version 1 format for the configuration file.

EXAMPLES

The following are examples of typical configuration files.

Remote Machine

In this example, the remote machine is most likely a nomadic or home machine with a single modem.
#
# Dial in to two servers
#
ifconfig ipdptp0 plumb nomad1 dialin1 up
path
        interface ipdptp0
        peer_system_name Pdialin1

ifconfig ipdptp1 plumb nomad1 dialin2 up
path
        interface ipdptp1
        peer_system_name Pdialin2
        lcp_mru 1006

Dial In Servers

This example shows a dial in server supporting a point-to-multipoint interface. There may be several modems attached to this server. Note that the network addressed by the ipd interface will be advertised by the router, and all traffic destined for that network will be routed through this host. For that reason, it is not wise to support multiple dial in servers with point-to-multipoint interfaces to the same network.
#
# A point-to-multipoint dial in server
#
ifconfig ipd0 plumb dialin1 netmask + up
defaults
        interface ipd0
        inactivity_timeout 900 # 15 minutes
path
        peer_system_name Pnomad1
path
        peer_system_name Pnomad2
path
        peer_system_name Pnomad3
        inactivity_timeout 0    # No timeout for this host
path
        peer_system_name Pnomad4

This is another dial in server that supports dynamic point-to-point interfaces. Usually the server has one modem for each interface. One advantage of using dynamic interfaces is that (host) routes will only be advertised when an interface is up. Therefore, multiple dial in servers can be supported.
#
# A dynamic point-to-point dial in server
#
ifconfig ipdptp0 plumb dialin2 down
ifconfig ipdptp1 plumb dialin2 down
ifconfig ipdptp2 plumb dialin2 down
defaults
        interface ipdptp*
        inactivity_timeout 900
        lcp_mru 1006

path peer_system_name Pnomad1
path peer_system_name Pnomad2
path peer_system_name Pnomad3
path peer_system_name Pnomad4

FILES

/etc/asppp.cf
configuration file
/etc/log/asppp.log
message log file
/etc/uucp/Devices
/etc/uucp/Dialers
/etc/uucp/Sysfiles
/etc/uucp/Systems
/tmp/.asppp.fifo       communication path between aspppd and aspppls
/usr/sbin/aspppd      link manager
/usr/sbin/aspppls     login service

SEE ALSO

ifconfig (1M),in.routed(1M), ppp(7)
TCP/IP Network Administration Guide