pppcontrold Daemon
Purpose
Controls startup and management of the PPP (Point to Point Protocol) subsystem.
Syntax
- To Start and Stop by Using the System Resource Controller
-
startsrc -s pppcontrold
stopsrc -s pppcontrold
Description
The pppcontrold daemon reads in the /etc/ppp/lcp_config and /etc/ppp/if_conf files to install and configure the PPP subsystem. SMIT must be used to generate both /etc/ppp/lcp_config and /etc/ppp/if_conf. To modify these files that the user must have root authority or be a member of the uucp group. The configuration files are read at initialization where the appropriate Streams modules are configured and loaded, and the tcpip network interface layers are installed into the system. After configuring the subsystem, the pppcontrold daemon monitors the Streams that are associated with the IP and IPv6 interfaces to perform operations such as setting IP addresses, and the flags of the IP and IPv6 interface. The pppcontrold daemon terminates upon reciept of SIGTERM or when the stopsrc command is invoked. The preferred method of starting and stopping the pppcontrold daemon is with SRC (System Resource Controller). You must have root authority to run the src commands.
Errors and messages are logged by using the syslog
facility.
The pppcontrold daemon creates the /etc/ppp/pppcontrold.pid file, which contains a single line with the command process ID used to terminate the pppcontrold daemon.
Flags
None
/etc/ppp/lcp_config File
This file provides the configuration information that is required for the
subsystem. These values are used to ensure proper allocation of storage at the time the subsystem is
configured. It is important to configure just what is needed since these values define the storage
that is allocated within the kernel. Blank lines and lines beginning with a # (pound sign)
are ignored in the configuration file. Do not use blank lines or lines beginning with
# (pound sign)
within the interface definition. Only use these lines between
interface definitions.
Required Keywords | |
---|---|
server_name name |
Name of this system. This name must be unique to the system. Ensure that the first 20 bytes of the name are unique. |
lcp_server # |
Number of server connections. Represents the number of server connections that the subsystem allows. Storage for all specified connections is allocated at the time the subsystem is configured. The minimum value is 0 and the maximum value is gated by the amount of memory in the system. |
lcp_demand # |
Specify the maximum number of demand links that you want the PPP LCP multiplexor to support. Set this value to the number of demand interfaces that you expect to configure. The default value is 0. |
lcp_client # |
Number of client connections. The minimum value is 0 and the maximum value is gated by the amount of memory in the system. Client connections are IP and IPv6 interfaces that are configured without addresses. |
num_if # |
Number of IP and IPv6 interfaces to configure. Must be less than or equal to lcp_server + lcp_client. |
num_if6 # |
Maximum number of TCP/IPv6 interfaces to allow. The value is a decimal number. This number, along with "max ip interfaces" and "max ip & ipv6 interfaces", cannot be greater than the total maximum number of server, client, and demand links (max server links + max client links + max demand links = max ip interfaces + max ipv6 interfaces + max ip & ipv6 interfaces). When a machine is used solely as a client connecting up to one server, this field would be set to 1. On a server, this field would be set to the maximum number of IPv6 clients that can simultaneously connect to the server. In this case, make sure that you have enough IPv6 interfaces defined. |
num_if_and_if6 # |
Maximum number of TCP/IP and IPv6 interfaces to allow. The value is a decimal number. This number along with "max ip interfaces" and "max ipv6 interfaces" cannot be greater than the total maximum number of server, client, and demand links (max server links + max client links + max demand links = max ip interfaces + max ipv6 interfaces + max ip & ipv6 interfaces). When a machine is used solely as a client connecting up to one server, this field would be set to 1. On a server, this field would be set to the maximum number of IP and IPv6 clients that can simultaneously connect to the server. In this case, make sure that you have enough IP and IPv6 interfaces defined. |
num_hdlc # |
Maximum number of concurrent asynchronous PPP sessions (server, client, and demand) that can
be active. This field is a decimal number. The value cannot be greater than the total maximum number
of server, client, and demand links ( [max server connections + max client connections + max
demand connections] = max async hdlc attachments = [max ip interfaces + max ipv6 interfaces + max ip
& ipv6 interfaces]) . |
Optional Keywords | |
---|---|
These keywords override the global default LCP options.
Item | Description |
---|---|
txacm 0xXXXXXXXX |
Transmit Asynchronous Character Map. |
-negacm | Do not negotiate async character mapping. Rejects the peer configuration information frames that contain this option. |
-negmru | Do not negotiate MRU (Maximum Receive Unit). Rejects the peer configuration information frames that contain this option. |
mru
# |
MRU desired. A default is 1500. |
-negacf | Do not negotiate ACF (address control field) compression. ACF will not be compressed. Rejects the peers configuration information frames that contain this option. |
-negprotocolcompress | Do not negotiate protocol compression. Normally, the PPP protocol field is compressed by one byte for Network protocols. This disables negotiation of this option for both receiving and sending frames. |
/etc/ppp/if_conf File
This file defines all the server TCP/IP interfaces. Blank lines and lines
beginning with a # (pound sign)
are ignored in the configuration file. Do not use
blank lines or lines beginning with # (pound sign)
within the interface definition.
Only use these lines between interface definitions.
Keywords | |
---|---|
interface |
Indicates that a new interface definition is being started. |
ip and ipv6 |
Specifies the protocol or protocols that are used for this interface and will coincide with the local_ip, local_ip6, remote_ip, and remote_ip6 keywords. These keywords can be used alone or in combination. |
server |
Indicates that the interface is a server connection. Requires the following keywords:
However, these addresses must be different on the pair basis, the local IP, and IPv6 address can be the same for all PPP interfaces. On a particular server, the remote address must be unique. The "interface" "server" entry contains only local_ip and remote_ip addresses if the smitty PPP IP Interfaces menu is used to configure the interface. remote_ip6 and local_ip6 will be seen in the entry if the smitty PPP IPv6 Interfaces menu is used. Finally, all four will be found if smitty PPP IP and IPv6 Interfaces is used. |
client |
This is an IPv6 option only. A client interface is required for all IPv6
connections. The address is randomly generated based on the system model and ID. You can elect to
zero out the address, (::0:0:0:0 or simply ::) and have the server assign an IPv6
address to the client. An example if_conf file entry follows:
|
demand |
There are a local_XXX and remote_XXX that are dependent on the protocol type
(IP, IPv6 or both). A quoted command string is also required to establish connection with the
authenticating host (server). An example if_conf file entry follows:
|
Optional Keywords | |
---|---|
netmask xxx.xxx.xxx.xxx |
Specifies a netmask for an IPv4 interface. |
Exit Status
This command returns the following exit values:
Item | Description |
---|---|
0 | Successful completion. |
!0 | An error occurred. |
Security
- Access Control
- You must have root authority to run this command.
Examples
/ect/ppp/lcp_config
File:# Comment line
server_name pppclient
lcp_server 0
lcp_client 3
lcp_demand 2
num_if 1
num_if6 2
num_if_and_if6 2
num_hdlc 5
/ect/ppp/if_conf
File
# Sample ip server configuration information.
# Note that the complete stanza does not contain
# comments or blank lines
interface
server
ip
local_ip 129.35.130.45
remote_ip 129.35.131.191
netmask 255.255.240.0
# Sample ipv6 server configuration information.
# Note that the complete stanza does not contain
# comments or blank lines
interface
server
ipv6
local_ip6 ::0009:2313:4C00:3193
remote_ip6 ::0009:2313:4C00:3194
#However between stanzas one can have blank or
# comment lines.
interface
server
ip
local_ip 129.35.130.45
remote_ip 129.35.131.196
netmask 255.255.240.0
interface
server
ip
local_ip 129.35.130.45
remote_ip 129.35.131.197
netmask 255.255.240.0
interface
server
ip
local_ip 129.35.130.45
remote_ip 129.35.131.201
netmask 255.255.240.0
interface
server
ip
local_ip 129.35.130.45
remote_ip 129.35.131.212
netmask 255.255.240.0
The configuration before these files would result in a subsystem that installs the IP and IPv6 interfaces as follows:
pp0: flags=71<UP,POINTOPOINT,NOTRAILERS>
inet 129.35.130.45 --> 129.35.131.191 netmask 0xfffff000
pp1: flags=31<UP,POINTOPOINT,NOTRAILERS>
inet 129.35.130.45 --> 129.35.131.196 netmask 0xfffff000
pp2: flags=31<UP,POINTOPOINT,NOTRAILERS>
inet 129.35.130.45 --> 129.35.131.197 netmask 0xfffff000
pp3: flags=31<UP,POINTOPOINT,NOTRAILERS>
inet 129.35.130.45 --> 129.35.131.201 netmask 0xfffff000
pp4: flags=31<UP,POINTOPOINT,NOTRAILERS>
inet 129.35.130.45 --> 129.35.131.212 netmask 0xfffff000
pp5: flags=30<POINTOPOINT,NOTRAILERS>
inet netmask
Files
Item | Description |
---|---|
/usr/sbin/pppcontrold | Contains the pppcontrold daemon. |
/etc/ppp/lcp_config | Configures the subsystem (lcp_config must be generated by SMIT). |
/etc/ppp/if_conf | Configures the TCP/IP interfaces (if_conf must be generated by
SMIT). |
/etc/ppp/pppcontrold.pid | Contains the pppcontrold process ID. |
/etc/ppp/ppp.conf | Contains input to the strload command. |