Controls startup and management of the PPP (Point to Point Protocol) subsystem.
To Start and Stop by Using the System Resource Controller:
startsrc -s pppcontrold
stopsrc -s pppcontrold
The pppcontrold daemon reads in the /etc/ppp/lcp_config and /etc/ppp/if_conf files to install and configure the PPP subsystem. SMIT should be used to generate both /etc/ppp/lcp_config and /etc/ppp/if_conf. To modify these files 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 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 prefered 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 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.
None
/etc/ppp/lcp_config File
This file provides the configuration information 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 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 should 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 will allow. 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 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 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 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 can not 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 will override the global default LCP options.
Item | Description |
---|---|
txacm 0xXXXXXXXX | Transmit Asynchronous Character Map. |
-negacm | Do not negotiate async character mapping. Rejects the peers configuration information frames that contains this option. |
-negmru | Do not negotiate MRU (Maximum Receive Unit). Rejects the peers configuration information frames that contains 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 will be 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 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: local_ip xxx.yyy.zzz.qqq remote_ip xxx.yyy.zzz.qqq local_ip6 ::XXXX:XXXX:XXXX:XXXX remote_ip6 ::XXXX:XXXX:XXXX:XXXX These addresses MUST be different on the pair basis, however the local IP and IPv6 address can be the same for all PPP interfaces. On a given server, the remote address must be unique. The "interface" "server" entry will contain 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 will be 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 is a local_XXX and remote_XXX that are
dependant 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. |
This command returns the following exit values:
Item | Description |
---|---|
0 | Successful completion. |
!0 | An error occurred. |
Access Control: You must have root authority to run this command.
# 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
# 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 above configuration 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
Note: pp5 is the result of the lcp_client keyword in the /etc/ppp/lcp_config file (lcp_client 1). Both IP and IPv6 client interfaces will have no address associated with them until a connection" is established with the server and the IPs are negotiated through IPCP/IPV6CP. The only exception is with demand client interfaces. These interfaces will specify their own address and demand it during negotiation. As such, they will have their IP and IPv6 address associated with their interface as soon as the PPP subsystem is started.
Item | Description |
---|---|
/usr/sbin/pppcontrold | Contains the pppcontrold daemon. |
/etc/ppp/lcp_config | Configures the subsystem (lcp_config should be generated by SMIT). |
/etc/ppp/if_conf | Configures the TCP/IP interfaces (if_conf should be generated by SMIT). |
/etc/ppp/pppcontrold.pid | Contains the pppcontrold process id. |
/etc/ppp/ppp.conf | Contains input to the strload command. |