The TCP/IP services stack in z/OS® Communications
Server must be defined as a z/OS Communications
Server UNIX System Services
physical file system (PFS) before it can be started. This involves
updating the BPXPRMxx parmlib member. The
following sample definition in BPXPRMxx defines
TCP/IP as a z/OS Communications
Server UNIX System Services
PFS, where the network layer is IP Version 4 (IPv4) and communication
at the sockets layer is through the AF_INET family:
FILESYSTYPE TYPE(INET) ENTRYPOINT(EZBPFINI)
NETWORK DOMAINNAME(AF_INET)
DOMAINNUMBER(2)
MAXSOCKETS(60000)
TYPE(INET)
This sample definition shows how to define a single TCP/IP stack
as IPv4 only. To define a single TCPIP stack as both IPv4 and IPv6,
add an additional NETWORK statement in the BPXPRMxx member.
The following sample definition in BPXPRMxx defines
TCP/IP as a z/OS Communications
Server UNIX System Services
PFS, where the network layer is IP Version 6 (IPv6) and communication
at the sockets layer is through the AF_INET6 family:
NETWORK DOMAINNAME(AF_INET6)
DOMAINNUMBER(19)
MAXSOCKETS(60000)
TYPE(INET)
The BPXPRMxx member contains additional
parameters that are crucial to the correct operation of TCP/IP. Carefully
examine and specify these parameters:
- MAXPROCSYS — Specifies the maximum number of z/OS UNIX processes
that the system allows.
- MAXPROCUSER — Specifies the maximum number of processes
that a single z/OS UNIX user ID can have concurrently active, regardless
of how the processes were created.
Guideline: The TN3270E server creates five UNIX processes at initialization
and one more process for each BEGINVTAM statement that is used to
define a listening port. For example, if 25 ports are defined by BEGINVTAM
statements, then the TN3270 server creates at least 30 UNIX processes. If the TN3270E Telnet server
is not running as UID(0) and has 20 or more ports defined (BEGINVTAM
statements), increase the number of UNIX processes.
You can increase the number of UNIX processes
by increasing the value for MAXPROCUSER in the BPXPRMxx parmlib
member, or by setting the PROCUSERMAX value in the OMVS segment for
the TN3270E user ID.
- MAXUIDS — Specifies the maximum number of z/OS UNIX user
IDs that can operate concurrently.
- MAXFILEPROC — Specifies the maximum number of descriptors
for files, sockets, directories, and any other file system objects
that a single z/OS UNIX process can have concurrently allocated.
This includes access to both z/OS UNIX files and socket descriptors.
In z/OS Communications Server,
most TCP/IP applications access TCP/IP sockets, either directly or
indirectly, using the TCP/IP socket APIs. You should set the MAXFILEPROC
value high enough to accommodate the largest number of sockets that
a single TCP/IP application (or z/OS UNIX process) can allocate.
Result: The TN3270E Telnet server running
as UID(0) or running with BPX.SUPERUSER authority programmatically
raises this limit beyond the MAXFILEPROC value, up to the system-defined
maximum.
Guideline: If the TN3270E
Telnet server or another application cannot programmatically raise
this limit because the application is not running as UID(0) or with
BPX.SUPERUSER authority, you can override the MAXFILEPROC limit by
using the FILEPROCMAX parameter on the RACF® ALTUSER
command (or using the appropriate command for your security product).
- MAXPTYS — Specifies the maximum number of pseudo-terminals
for the system.
- MAXTHREADTASKS — Specifies the maximum number of MVS™ tasks that a single process can
have concurrently active.
- MAXTHREADS — Specifies the maximum number of threads that
a single process can have concurrently active.
- MAXQUEUEDSIGS — The sum of MAXQUEUEDSIGS and MAXFILEPROC
multiplied by 2 is the system-wide maximum for the total number of
asynchronous z/OS UNIX socket calls that can be outstanding. When
you are specifying this number, consider:
- For every TCP/IP connection that the TN3270E Telnet server has,
there is an asynchronous z/OS UNIX socket call outstanding, which
is true for both TN3270 and TN3270E clients.
- Any TCP/IP application, from IBM® or
supplied by a vendor, that uses either the z/OS UNIX asyncio
callable service or the TCP/IP-provided Sockets Extended asynchronous
API can have one or more outstanding asynchronous socket calls.
The MAXSOCKETS parameter specifies the maximum number of sockets
that can be obtained for a particular file system type. You must ensure
that this specification is large enough to accommodate your installation
workload. For example, each connection to your TN3270E Telnet server
or FTP server requires one z/OS UNIX System Services socket. When
the maximum number of sockets is allocated, then no more Telnet sessions,
FTP sessions, or other applications that require z/OS UNIX System
Services sockets can be started.
Note: If multiple NETWORK statements are defined, MAXSOCKETS can be
specified for each NETWORK statement and will be enforced separately.
For details on the BPXPRMxx member, see: