Networking TCP-IP Troubleshooting
Networking TCP-IP Troubleshooting
System i
Networking
TCP/IP troubleshooting
Version 5 Release 4
System i
Networking
TCP/IP troubleshooting
Version 5 Release 4
Note
Before using this information and the product it supports, read the information in “Notices,” on
page 83.
This topic is a centralized resource for finding answers to TCP/IP problems. You might have a general
connectivity problem that is quickly identified or a more localized problem that requires in-depth
consideration. Troubleshooting tools are provided in this topic to help you solve the problem.
Note: By using the code examples, you agree to the terms of the Code license and disclaimer
information.
| The Communications Trace Analyzer allows you to analyze an i5/OS® Communications Trace, using
| either the Start Communications Trace (STRCMNTRC) command or the Trace Connection (TRCCNN)
| command. You can use this tool to troubleshoot various performance, connection, or security problems.
| Note: The Communication Trace Analyzer can only be installed on systems running V5R2 or later.
| To help you see where technical changes have been made, this information uses:
| v The image to mark where new or changed information begins.
| v The image to mark where new or changed information ends.
| To find other information about what’s new or changed this release, see the Memo to users.
Printable PDF
Use this to view and print a PDF of this information.
To view or download the PDF version of this document, select TCP/IP troubleshooting (about 1046 KB).
| You need Adobe Reader installed on your system to view or print these PDFs. You can download a free
| copy from the Adobe Web site (www.adobe.com/products/acrobat/readstep.html) .
Use these tools and techniques to determine the most effective way to troubleshoot your TCP/IP
problem.
Netstat
Netstat is a tool for managing and monitoring the status of your system’s interfaces, routes, and
connections, and it is useful for troubleshooting TCP/IP problems. You can use Netstat whether you are
using IPv4 or IPv6 connectivity on the network.
You can use Netstat from a character-based interface to help you troubleshoot problems with TCP/IP
connectivity.
From the character-based interface, use the Work with Network Status menu to work with the network
status functions. You must have TCP/IP started on the system to use the menu options.
To start TCP/IP, type STRTCP on the command line, and press Enter.
To display the Work with Network Status menu, type NETSTAT or WRKTCPSTS on the command line, and
press Enter.
You might want to verify that the appropriate IPv4 or IPv6 interfaces are configured on your system and
that they are active.
IPv4 interfaces
To display information about the IPv4 interfaces on your system, complete these steps:
You might want to check the status of other interfaces. For example, if you are trying to ping interfaces
on other hosts on the network, you should verify that those interfaces are active.
IPv6 interfaces
To display information about the IPv6 interfaces on your system, complete these steps:
1. Type NETSTAT or WRKTCPSTS on the command line to display the Work with Network Status menu, and
then select option 4 on this menu.
2. You should have at least one active interface. Verify that this interface is active:
v Loopback (::1)
3. If this interface is not active, select option 9 (Start) to start the interface.
You might want to check the status of other interfaces. For example, if you are trying to ping interfaces
on other hosts on the network, you should verify that those interfaces are active.
If you are trying to ping an interface address and do not receive a reply, you should verify that your
routes are configured and available.
Your system needs routes to send packets to other systems or hosts. The route determines the path that a
packet takes to its destination. To communicate between a local and remote network, whether you are
using IPv4 or IPv6 connectivity, you should have at least these two types of routes configured on the
system:
v A direct route (*DIRECT) allows packets to travel between interfaces on the local network. It is
automatically configured and activated by the system for each interface.
v A default route (*DFTROUTE) allows packets to travel to hosts that are not directly connected to your
network. It provides a path for the packets to take. A default route identifies a specific node as a next
hop to which the packets travel and then continue their trip to their final destination on a different
network. The packets take the default route whenever there is no other (more specific) route matching
the destination IP address.
Keep in mind that routes are unidirectional. Just because a packet from a client can get to your system
does not mean that your system can send a packet to the client.
Verify that the appropriate IPv4 or IPv6 routes are configured on your system.
IPv4 routes
To display information about the IPv4 routes on your system, follow these steps:
1. Type NETSTAT or WRKTCPSTS on the command line to display the Work with Network Status menu, and
then select option 2 on this menu.
2. Select option 5 (Display details) for details about a specific route.
3. If you do not have a default route configured, you should configure it now. To configure a default
route, follow these steps:
a. At the command line, type CFGTCP to access the Configure TCP/IP menu.
TCP/IP troubleshooting 3
b. Select option 2 (Work with TCP/IP Routes).
c. Select option 1 (Add) to go to the Add TCP/IP Route (ADDTCPRTE) display.
d. For the Route destination prompt, specify *DFTROUTE.
e. For the Subnet mask prompt, specify *NONE.
f. For the Next hop prompt, specify the appropriate IP address.
As an alternative, you can configure a default route using the New IPv4 Route wizard in iSeries
Navigator. See the routes information for iSeries Navigator for more information.
IPv6 routes
To display information about the IPv6 routes on your system, follow these steps:
1. Type NETSTAT or WRKTCPSTS on the command line to display the Work with Network Status menu, and
then select option 5 on the menu.
2. Select option 5 (Display details) for details about a specific route.
For IPv6, the Internet Protocol automatically configures default routes for each interface on the system.
However, if you prefer, you can use the New IPv6 Route wizard in iSeries Navigator to create new
routes yourself. See the routes information for iSeries Navigator for more information.
Related concepts
“Using Netstat from iSeries Navigator: Routes” on page 6
If you are trying to ping an interface address and do not receive a reply, you should verify that your
routes are configured and available.
You need to verify the status of your IPv4 and IPv6 connections.
For both IPv4 and IPv6 connections, you should verify the following information:
v You should have at least one passive listening connection for each of the servers you need to use. A
passive listening connection indicates that the connection is ready for work. Passive listening
connections are indicated by an asterisk in the Remote Address and Remote Port columns. See the
server table for a list of all the servers and their associated jobs and subsystems.
v The passive listening connections should not be ended. If they have been ended, then remote systems
are unable to use the servers represented by the connections.
v You can verify the status for jobs associated with a connection. This allows you to work with a job that
might be impacting the connection.
To display information about the status of your IPv4 connections, follow these steps:
1. Type NETSTAT or WRKTCPSTS on the command line to display the Work with Network Status menu, and
then select option 3 on this menu.
2. If you need to end and restart the passive listening connection, you should do it by ending and
restarting the server. At the command line, type ENDTCPSVR *myserver (where myserver is the server
you want to end) and STRTCPSVR *myserver. If you are ending and restarting a host server, type
ENDHOSTSVR *myserver (where myserver is the server you want to end) and STRHOSTSVR *myserver. See
the server table to find out how to start and end various servers.
To display information about the status of your IPv6 connections, follow these steps:
You can use the network status functions (known as Netstat in the character-based interface) in iSeries
Navigator to troubleshoot TCP/IP problems.
iSeries Navigator is a graphical user interface that provides dialog boxes and wizards to configure and
manage TCP/IP. To use the network status functions in iSeries Navigator, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration.
2. Expand IPv4 to access the status of interfaces, routes, and connections for your IPv4 connectivity, or
expand IPv6 to access the status of interfaces, routes, connections, and the neighbor cache for your
IPv6 connectivity.
3. Expand Lines to view a list of the physical lines that are used for TCP/IP.
You might want to verify that the appropriate IPv4 or IPv6 interfaces are configured on your system and
that they are active.
IPv4 interfaces
To display information about the IPv4 interfaces on your system, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv4.
2. Select Interfaces.
3. You should have at least two active interfaces. Verify that these interfaces are active:
v Loopback (127.0.0.1).
v i5/OS IP address interface. This is the interface on your local system.
4. If these interfaces are not active, right-click the IP address of the interface you want to start, and select
Start.
You might want to check the status of other interfaces. For example, if you are trying to ping interfaces
on other hosts on the network, you should verify that those interfaces are active.
IPv6 interfaces
To display information about the IPv6 interfaces on your system, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv6.
2. Select Interfaces. You should have at least one active interface. Verify that this interface is active:
v Loopback (::1)
TCP/IP troubleshooting 5
3. If this interface is not active, right-click the IP address of the interface you want to start, and select
Start.
You might want to check the status of other interfaces. For example, if you are trying to ping interfaces
on other hosts on the network, you should verify that those interfaces are active.
If you are trying to ping an interface address and do not receive a reply, you should verify that your
routes are configured and available.
Your system needs routes to send packets to other systems or hosts. The route determines the path that a
packet takes to its destination. To communicate between a local and remote network, whether you are
using IPv4 or IPv6 connectivity, you should have at least these two types of routes configured on the
system:
v A direct route (*DIRECT) allows packets to travel between interfaces on the local network. It is
automatically configured and activated by the system for each interface.
v A default route (*DFTROUTE) allows packets to travel to hosts that are not directly connected to your
network. It provides a path for the packets to take. A default route identifies a specific node as a next
hop to which the packets travel and then continue their trip to their final destination on a different
network. The packets take the default route whenever there is no other (more specific) route matching
the destination IP address.
Keep in mind that routes are unidirectional. Just because a packet from a client can get to your system
does not mean that your system can send a packet to the client.
IPv4 routes
To display information about the IPv4 routes on your system, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv4.
2. Select Routes.
3. Right-click the IP address in the Remote Network column of the route you want to see, and select
Properties.
4. If you do not have a default route configured, you should configure it now. To configure an IPv4
default route, follow these steps:
a. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv4.
b. Right-click Routes and select New Route.
c. Follow the wizard’s instructions to create a new default route.
IPv6 routes
To display information about the IPv6 routes on your system, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv6.
2. Select Routes.
3. Right-click the IP address in the Destination Address column of the route you want to see, and select
Properties.
4. For IPv6, the Internet Protocol automatically configures default routes for each interface on the
system. However, if you prefer, you can use the New IPv6 Route wizard in iSeries Navigator to create
new IPv6 routes yourself. To configure an IPv6 default route, follow these steps:
a. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv6.
b. Right-click Routes and select New Route.
c. Follow the wizard’s instructions to create a new default route.
You need to verify the status of your IPv4 and IPv6 connections.
For both IPv4 and IPv6 connections, you should verify the following information:
v You should have at least one passive listening connection for each of the servers you need to use. A
passive listening connection indicates that the connection is ready for work. Passive listening
connections are indicated by an asterisk in the Remote Address and Remote Port columns. See the
server table for a list of all the servers and their associated jobs and subsystems.
v The passive listening connections should not be ended. If they have been ended, then remote systems
are unable to use the servers represented by the connections.
To display information about the status of your IPv4 connections, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv4.
2. Select Connections.
3. If you need to end and restart the passive listening connection, then you should do it by ending and
restarting the server. To end and restart a server, follow these steps:
a. In iSeries Navigator, expand your system → Network → Servers.
b. Select TCP/IP for TCP/IP servers or select iSeries Access for host servers, right-click the server
you want to end and restart, and select End.
c. Right-click the server you want to restart, and select Start.
To display information about the status of your IPv6 connections, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv6.
2. Select Connections.
3. If you need to end and restart the passive listening connection, then you should do it by ending and
restarting the server. To end and restart a server, follow these steps:
a. In iSeries Navigator, expand your system → Network → Servers.
b. Select TCP/IP, right-click the server you want to end and restart, and select End.
c. Right-click the server you want to restart, and select Start. IBM provides a limited number of
TCP/IP applications that support IPv6.
Related reference
“Server table” on page 35
You can use this server table as a reference to find out how servers, server jobs, job descriptions, and
subsystems are mapped to one another.
Ping
You can use the Packet Internet Groper (Ping) function to test IP-level connectivity between two
TCP/IP-capable interfaces or systems.
The Ping function sends out a special IP packet to a specified host. If the destination host receives this
special packet, it replies to you with a message which indicates to you that you can communicate with
that host. You can use the Ping function in two different ways:
TCP/IP troubleshooting 7
v Use the Ping function to test your local TCP/IP configuration. For example, after setting up TCP/IP on
the system for the first time, you can use Ping to test the TCP/IP configuration.
v Use the Ping function to test your ability to communicate with other hosts on the local or remote
networks.
Note: You can use the Ping function for both IPv4 and IPv6 connectivity.
Related concepts
Internet Protocol version 6
You can use the PING command from the character-based interface to test your TCP/IP connectivity.
For example, if you want to test whether your data is traveling from your system to an interface with IP
address 10.5.5.1 and host name FIRSTHOST, type PING ’10.5.5.1’ or PING firsthost at the command
line.
You can specify either the IP address or host name of the remote node you want to reach. Ping appends
the local domain to a host name if a domain name is not specified or if a period (.) does not appear at
the end of the specified host name.
A successful Ping operation means your packets are reaching the 10.5.5.1 interface. An unsuccessful Ping
operation indicates there is a problem with the connectivity between your system and interface 10.5.5.1.
To verify that your TCP/IP software is installed, started, and working properly, ping the loopback
interface.
You can perform the test without being connected to a physical line or network.
i5/OS reserves the IP address 127.0.0.1, the host name LOOPBACK, and the line description value of
*LOOPBACK for verifying the software. Similarly for IPv6, i5/OS reserves the IP address ::1 and the line
description *LOOPBACK for this purpose. The IPv6 loopback interface does not have a corresponding
host name because the local host tables do not currently support IPv6 addresses. However, you can use a
Domain Name System (DNS) to store the IPv6 host name instead of using the local host table.
To ping the loopback interface on your system to troubleshoot the problem, follow these steps:
1. At the command line, type these commands:
v For IPv4: PING ’127.0.0.1’ or PING LOOPBACK
v For IPv6: PING ’::1’
See PING parameters to fine-tune the PING command to get the most accurate results. Prompt on the
PING command by selecting F4 for complete details on the PING parameters.
Problem Recovery
The local host table does not have an entry for the IPv4 You need to add the entry to the host table. This is only
LOOPBACK host name and IP address of 127.0.0.1. relevant for IPv4 because host tables do not currently
support IPv6. To verify the host table entries, follow
these steps:
1. At the command line, type CFGTCP (Configure
TCP/IP).
2. Select option 10 (Work with TCP/IP Host Table
Entries).
3. Verify that the host table contains an entry for the
LOOPBACK host name and IP address 127.0.0.1.
The loopback interface is not active. To activate the loopback interface:
1. At the command line, type NETSTAT.
2. Select option 1 (Work with TCP/IP interface status)
for IPv4 interfaces, or select option 4 (Work with IPv6
interface status) for IPv6 interfaces.
3. Scroll down to find the loopback interface (127.0.0.1
or ::1), and select option 9 (Start) from the Work with
TCP/IP interface status menu.
TCP/IP has not been started. To start TCP/IP, type STRTCP (Start TCP/IP) at the
command line.
Related reference
“Common error messages” on page 14
When you use the PING command to verify the connection to another host in the network, TCP/IP
can give you an error message. Use this table to identify common error messages and to determine
what you should do to solve the problems.
“PING parameters” on page 15
With PING command parameters, you can adjust the way the PING command performs its test of
connectivity.
To test whether packets can reach interfaces on your local area network (LAN), ping the local interface.
For IPv4, this is the IP address of a manually configured interface. For IPv6, this is the IP address of an
automatically configured interface or a manually configured interface. It is also useful to ping an interface
that is beyond your local system but attached to the LAN.
To ping your own system to troubleshoot the problem, follow these steps:
1. At the command line, type these commands:
v For IPv4: PING ’nnn.nnn.nnn.nnn’ or PING hostname
v For IPv6: PING ’x:x:x:x:x:x:x:x’ or PING hostname
PING parameters can be used to tune the PING command to get the most accurate results. Prompt on
the PING command by selecting F4 for complete details on the PING parameters.
2. Failures might indicate the following problems.
Problem Recovery
The TCP/IP stack has not been activated on your At the command line, type STRTCP to start the stack.
system.
TCP/IP troubleshooting 9
Problem Recovery
The local host table does not have an entry for the IPv4 You need to add the entry to the host table. This is only
host name and IP address. relevant for IPv4 because host tables do not currently
support IPv6. To verify the host table entries, follow
these steps:
1. At the command line, type CFGTCP (Configure
TCP/IP).
2. Select option 10 (Work with TCP/IP Host Table
Entries).
3. Verify that the host table contains an entry for the
host name and IP address.
Your line description or local interface has not been The line should be varied on, and the interface should be
properly configured. started.
If you are using IPv6, the IPv6 stack has not been You can start IPv6 by specifying *YES for the STRIP6
activated on your system. parameter on the STRTCP (Start TCP/IP) command. If
TCP/IP has already been started, you will need to end
and restart TCP/IP. At the command line, type ENDTCP
(End TCP/IP) to end TCP/IP. To restart TCP/IP and the
IPv6 stack, type STRTCP STRIP6(*YES) at the command
line.
Note: Through ending TCP/IP, you end all Telnet
sessions and all TCP/IP servers that are running.
Related reference
“PING parameters” on page 15
With PING command parameters, you can adjust the way the PING command performs its test of
connectivity.
Pinging the interface on a network not directly attached to your local network:
Ping a remote interface to test whether packets can leave your network and reach a remote system. Ping
a remote Domain Name System (DNS) to make sure your system can resolve domain names.
1. At the command line, type these commands:
v For IPv4: PING ’nnn.nnn.nnn.nnn’ or PING hostname
v For IPv6: PING ’x:x:x:x:x:x:x:x’ or PING hostname
See PING parameters to fine-tune the PING command to get the most accurate results. Prompt on the
PING command by selecting F4 for complete details on the PING parameters.
2. Failures might indicate the following problems:
v TCP/IP has not been started. To start TCP/IP, type STRTCP (Start TCP/IP) at the command line.
v The remote system is not available.
v A frame size problem. The frame size on the line description should be greater than or equal to the
maximum transmission unit (MTU) of the interface.
v A network, router, next hop, or bridge problem.
v The default route is not configured on your system.
v The remote system or intermediate firewall has ICMP Echo requests or replies disabled.
v If you have multiple IP addresses and subnets, make sure that IP datagram forwarding is set to
*YES.
v If the interface you are trying to reach is configured to an Ethernet adapter, you might need to
change the Ethernet standard in the Ethernet line description. Specify either the correct Ethernet
standard or *ALL.
You can use Ping from iSeries Navigator to test your TCP/IP connectivity.
iSeries Navigator is a graphical user interface that provides dialog boxes and wizards to configure and
manage TCP/IP.
To test TCP/IP connectivity by using the Ping utility in iSeries Navigator, follow these steps:
1. In iSeries Navigator, expand your system → Network.
2. Right-click TCP/IP Configuration, and select Utilities → Ping.
3. Specify the IP address or host name. If you are testing by using the host name, you must select the
Protocol for host names.
4. Click Ping Now to send the Ping. View the responses to your Ping in the list of results.
To verify that your TCP/IP software is installed and working properly, ping the loopback interface.
You can perform the test without being connected to a physical line or network.
i5/OS reserves the IP address 127.0.0.1, the host name LOOPBACK, and the line description value of
*LOOPBACK for verifying the software. Similarly for IPv6, i5/OS reserves the IP address ::1 and the line
description *LOOPBACK for this purpose. The IPv6 loopback interface does not have a corresponding
host name because the local host tables do not currently support IPv6 addresses. However, you can use a
Domain Name System (DNS) to store the IPv6 host name instead of using the local host table.
To ping the loopback interface on your system to troubleshoot the problem, follow these steps:
1. In iSeries Navigator, expand your system → Network.
2. Right-click TCP/IP Configuration, and select Utilities → Ping.
3. Specify the loopback interface IP address or host name. If you are testing by using the host name, you
must select the Protocol for host names.
4. Click Ping Now to send the Ping. View the responses to your Ping in the list of results.
TCP/IP troubleshooting 11
5. Failures might indicate these problems:
Problem Recovery
The local host table does not have an entry for the Add the entry to the host table. This is only relevant for
LOOPBACK host name and IP address of 127.0.0.1. IPv4 because host tables do not currently support IPv6.
To verify the host table entries, follow these steps:
1. In iSeries Navigator, expand your system → Network.
2. Right-click TCP/IP Configuration and select Host
Table.
3. Verify that the host table contains an entry for the
LOOPBACK host name and IP address 127.0.0.1.
The loopback interface is not active. To activate the loopback interface:
v For IPv4:
1. In iSeries Navigator, expand your system →
Network → TCP/IP Configuration → IPv4 →
Interfaces.
2. In the right pane, right-click the loopback interface
(127.0.0.1) and select Start.
v For IPv6:
1. In iSeries Navigator, expand your system →
Network → TCP/IP Configuration → IPv6 →
Interfaces.
2. In the right pane, right-click the loopback interface
(::1) and select Start.
TCP/IP has not been started. Start TCP/IP.
Related reference
“Common error messages” on page 14
When you use the PING command to verify the connection to another host in the network, TCP/IP
can give you an error message. Use this table to identify common error messages and to determine
what you should do to solve the problems.
To test whether packets can reach interfaces on your local area network (LAN), ping the local interface.
For IPv4, this is the IP address of a manually configured interface. For IPv6, this is the IP address of an
automatically or a manually configured interface.
Problem Recovery
The TCP/IP stack has not been activated on your At the command line, type STRTCP to start the stack.
system.
Related reference
“Common error messages” on page 14
When you use the PING command to verify the connection to another host in the network, TCP/IP
can give you an error message. Use this table to identify common error messages and to determine
what you should do to solve the problems.
Pinging the interface on a network not directly attached to your local network:
To test whether packets can leave your network and reach a remote system, ping the remote interface.
Ping a remote Domain Name System (DNS) to make sure your system can resolve domain names.
TCP/IP troubleshooting 13
v If the interface you are trying to reach is configured to an Ethernet adapter, you might need to
change the Ethernet standard in the Ethernet line description. Specify either the correct Ethernet
standard or *ALL.
v A DNS or host name table problem. For example, if the Ping works for the interface’s IP address
but not the host or domain name, you need to check your host table or DNS entries.
Related reference
“Common error messages”
When you use the PING command to verify the connection to another host in the network, TCP/IP
can give you an error message. Use this table to identify common error messages and to determine
what you should do to solve the problems.
When you use the PING command to verify the connection to another host in the network, TCP/IP can
give you an error message. Use this table to identify common error messages and to determine what you
should do to solve the problems.
Verify that you can reach the remote name server by issuing a Ping to
the remote name server.
PING parameters:
With PING command parameters, you can adjust the way the PING command performs its test of
connectivity.
The PING command includes various parameters, such as packet length and wait time for a response.
The default wait time of 1 second allows the remote system enough time to respond in most networks.
However, if the remote system is far away or if the network is busy, increasing the wait time parameter
can improve the results.
It is recommended that the parameter values be left at their default values. Be aware that if you do
change them, a combination of large packet length and short wait time might not give the network
enough time to transmit and receive the response, and time-outs can occur. If the network is not given
enough time to transmit and receive the response, it can appear that you do not have connectivity to a
system when, in fact, you do.
Related tasks
“Pinging your own system” on page 9
To test whether packets can reach interfaces on your local area network (LAN), ping the local
interface.
“Pinging the interface on a network not directly attached to your local network” on page 10
Ping a remote interface to test whether packets can leave your network and reach a remote system.
Ping a remote Domain Name System (DNS) to make sure your system can resolve domain names.
Trace route
The trace route function allows you to trace the route of IP packets to a user-specified destination system
so you can locate the connectivity problem.
The route can involve many different systems along the way. Each system along the route is referred to
as a hop. You can trace all hops along the route or specify the starting and ending hops to be traced.
Trace route displays a list of routers between your local network and the destination node. Examine the
list of routers that the trace encounters to locate the problem on the network. For example, if the trace
stops at a particular router, the problem might lie with that router or somewhere on the network after
that point.
To use the trace route function from the character-based interface, you can specify the destination system
by system name or IP address. Either a valid IPv4 or IPv6 address is accepted.
TCP/IP troubleshooting 15
You can use trace route from iSeries Navigator to troubleshoot your connectivity problem.
Communications trace
You can use communications trace to determine whether your data is being transmitted correctly across
the network.
Use the communications trace function to troubleshoot TCP/IP. Communications trace is a service
function that allows the data that flows over a communications line, such as a local area network (LAN)
or wide area network (WAN), to be captured for analysis. The communications trace traces only the
packets received by or sent from i5/OS. It does not trace other packets flowing on the network. After the
data has been traced, the raw data can be dumped into a stream file, or it can be formatted and placed in
a spooled file to be displayed or printed.
If your system is multihomed, data might be sent on one interface and received on a different interface.
In this situation, you should trace two communications lines to see packets that are sent and received.
Communications trace can be used for troubleshooting both IPv4 and IPv6 communications.
To use the CL commands to perform a communications trace, you must have *SERVICE special authority,
or you must be authorized to the service trace function of i5/OS through iSeries Navigator. See the
chapter on user profiles in iSeries Security Reference for more information about this type of authority.
The trace connection function is an alternative method of getting a trace that is similar to a
communications trace. See Trace connection for more information.
You need to prepare for the communications trace before using it to determine whether your data is
being transmitted correctly across the network.
You can use CL commands in the character-based interface to perform a communications trace. If you
want to start a new trace on the same line, you must first delete the existing communications trace.
This action starts a communications trace for the specified line or network interface description.
Note: A communications trace can no longer be used to trace data on a network server description
(*NWS). Use the communications trace function to trace data on either a specific line (*LIN) or a
network interface description (*NWI).
If your system is multihomed, data might be sent on one interface and received on a different interface.
In this situation, you should trace two communications lines to see packets that are sent and received.
TCP/IP troubleshooting 17
6. For the Communications trace options prompt, specify *RMTIPADR if you want to limit the data collected
to a trace of one remote interface. Otherwise, use the default value.
7. For the Remote IP address prompt, specify the IP address associated with the remote interface to which
the trace data will be collected.
The communications trace continues until one of the following situation occurs:
v The ENDCMNTRC command is run.
v A physical line problem causes the trace to end.
v The Trace full prompt specifies *STOPTRC and the buffer becomes full.
To format and display the trace, you must first end the trace. This action ends the trace but saves the
data in the communications trace buffer.
Dumping the data to a stream file offers several advantages. Consider these advantages when deciding
whether to use this function.
v You can run new traces without losing data from the existing trace.
v You can run an initial program load (IPL) on the system and still keep the raw trace data in the stream
file.
v You can format trace data multiple times, even after you run an IPL or delete the prior trace buffer. If
you do not dump the raw data to a stream file and you delete the trace or run an IPL on the system,
you will not be able to format the trace again.
v You can use a custom formatter to analyze the trace data.
Note: If you are using Internet Protocol version 6 (IPv6), you must dump the trace data into a stream file
by following these steps. However, if you are using IPv4, this is an optional part of the
communications trace process.
To dump a communications trace, follow these steps:
1. Create a directory, such as mydir. See the CRTDIR (Create Directory) command description in the
Control Language (CL) topic, to create a directory.
2. At the command line, type DMPCMNTRC.
3. For the Configuration object prompt, specify the same line you specified when you started the trace,
such as TRNLINE.
4. For the Type prompt, specify the type of resource, either *LIN or *NWI.
5. For the To stream file prompt, specify the path name, such as /mydir/mytraces/trace1.
Related reference
Create Directory (CRTDIR) command
For IPv4, you can print a communications trace from the raw data you collected, or you can print from a
stream file in which you previously dumped the raw data. For IPv6, you can only print from a stream
file.
Note: If you are using Enterprise Extender to run System Network Architecture (SNA) applications over
Internet Protocol (IP) networks using High Performance Routing (HPR), specify the following
additional parameters for the PRTCMNTRC command in the following procedures.
v For the Format SNA data only prompt, type *Yes.
v For the Format HPR over IP prompt, type *Yes.
v For the Format LDLC over IP prompt, type *Yes.
If you collected the raw data without dumping it, follow these steps to print the data:
1. At the command line, type PRTCMNTRC.
2. For the Configuration object prompt, specify the same line you specified when you started the trace,
such as TRNLINE, and press Enter.
3. For the Type prompt, specify the type of resource, either *LIN or *NWI.
4. For the Character code prompt, specify either *EBCDIC or *ASCII. You should print the data twice, once
specifying *EBCDIC and then specifying *ASCII.
5. For the Format TCP/IP data prompt, type *YES, and press Enter twice.
6. Perform steps 1 through 5 again, but specify the other character code.
If you dumped the data to a stream file, follow these steps to print the data:
1. At the command line, type PRTCMNTRC.
2. For the From stream file prompt, specify the path name, such as /mydir/mytraces/trace1, and press
Enter.
3. For the Character code prompt, specify *EBCDIC or *ASCII. You should print the data twice, once
specifying *EBCDIC and then specifying *ASCII.
4. Perform steps 1 through 3 again, but specify the other character code.
The first part of the communications trace summarizes the prompts that you specified when you started
the trace, such as the name of the Configuration object. Page down to find a list of items, such as Record
Number and S/R, with associated definitions. These items represent titles that are later used to identify
TCP/IP troubleshooting 19
sections of the communications trace data. It might be useful to refer back to this list as you read the
trace data. This figure shows the preliminary information in a communications trace.
If you find an asterisk (*) after a record number, for example, 31*, be aware that the asterisk represents
missing trace data. This missing trace data appears when communications trace records are dropped.
Communications trace data is collected by the input/output processor (IOP). If the communications line
is very busy, the IOP prioritizes all the network traffic and gives a higher priority to the data path
input/output than to the communications trace information. Under these circumstances, the IOP might
drop some of the communications trace records. This can indicate that the IOP is not capable of handling
the excessive speeds or traffic on the network.
This figure shows the TCP/IP data portion of the communications trace.
You must delete a communications trace before starting a new trace on the same line. The
communications trace can be deleted after the trace has ended. This action deletes the communications
trace buffer for the specified line or network interface description.
The Communications Trace Analyzer helps determine the type of communication problem that you
encounter. It asks questions about the problem, the location of the trace, and analyzes the trace to show
you where potential problems might exist and validates that they are, in fact, problems. For each problem
it discovers, it provides a detailed explanation and offers resolution suggestions.
It also shows you the frames within the trace that provide the evidence for each problem. You can also
use the analyzer to browse the trace by individual port pair conversations or other levels, either viewing
summaries of each frame or the actual frames as they appear in the trace.
Note: The Communication Trace Analyzer can only be installed on systems running Operating
System/400® (OS/400®) V5R2, i5/OS V5R3, or later.
The Check Communications Trace (CHKCMNTRC) command and Check Communications Trace
(QSCCHKCT) API provide additional communications trace functions.
With the CHKCMNTRC command and the QSCCHKCT API, you can check the status of existing
communications traces and programmatically check the storage space currently allocated for traces.
You might want to find out if communications traces currently exist on your system. Use the Check
Communications Trace (CHKCMNTRC) command to return the communications trace status for a specific
line or network interface description, or for all of the traces of a specific type that exist on the system.
The status is returned to you in a message.
TCP/IP troubleshooting 23
3. For the Type prompt, specify the type of resource, either *LIN or *NWI.
To programmatically check the maximum space allocated for traces and the sizes, in bytes, of all traces in
active or stopped status on the system, use the Check Communication Trace (QSCCHKCT) API.
Related concepts
Application programming interfaces
Trace connection
You can trace encrypted data to locate the source of the problem by using trace connection. Trace
connection is especially useful for connections, such as virtual Ethernet and OptiConnect, that do not
support the general communications trace function.
The Trace Connection (TRCCNN) command is a service function that provides output similar to the
general communications trace. The TRCCNN SET (*ON) TRCTYPE(*IP) SIZE(128000) traces data at the
Licensed Internal Code TCP/IP layer.
Trace connection is useful for situations in which the general communications trace is not available or not
effective. For example:
v You have TCP applications that use Secure Sockets Layer (SSL) or you use IP security. In either case,
the data that flows over the communications line is encrypted. Therefore, the general communications
trace might not be helpful if you need to see the data. Trace connection traces the data before
encryption and after decryption and therefore, can be used when the general communications trace is
not effective.
v You are using TCP/IP over a connection that does not support the general communications trace
function, such as Loopback, OptiConnect, or Twinaxial. In this situation, you can use the trace
connection as an alternative method for generating a trace.
To use the CL commands to perform a trace connection, you must have *SERVICE special authority, or be
authorized to the Service Trace function of i5/OS through iSeries Navigator. See the chapter on user
profiles in iSeries Security Reference for more information about this type of authority.
Related concepts
“Trace connection”
You can trace encrypted data to locate the source of the problem by using trace connection. Trace
connection is especially useful for connections, such as virtual Ethernet and OptiConnect, that do not
support the general communications trace function.
“Trace TCP/IP application” on page 25
Use the Trace TCP/IP Application (TRCTCPAPP) command to trace data that pertains to specific
TCP/IP application servers.
Related tasks
“Job trace” on page 26
Use the job trace tool to trace data in any job to help identify your problem.
“Communications trace” on page 16
You can use communications trace to determine whether your data is being transmitted correctly
across the network.
Related reference
This function is typically used at the request of your service provider. For troubleshooting information
related to some of these specific application servers, see Troubleshooting problems related to specific
applications.
To use the CL commands to perform this type of trace, you must have *SERVICE special authority, or be
authorized to the service trace function of i5/OS through iSeries Navigator. See the chapter on user
profiles in iSeries Security Reference for more information about this type of authority.
Related concepts
“Trace connection” on page 24
You can trace encrypted data to locate the source of the problem by using trace connection. Trace
connection is especially useful for connections, such as virtual Ethernet and OptiConnect, that do not
support the general communications trace function.
Related tasks
“Job trace” on page 26
Use the job trace tool to trace data in any job to help identify your problem.
Related reference
TCP/IP troubleshooting 25
Job trace
Use the job trace tool to trace data in any job to help identify your problem.
Job trace is a problem analysis tool that allows you to look at what any application is doing. Use job trace
as a first step in locating a problem with an application. You can turn on job trace in any job and see the
call and return flows of that application. Job trace records the raw data and then stores it in a set of
database files.
The job trace is performed using a series of CL commands, such as STRTRC (Start Trace), ENDTRC (End
Trace), and PRTTRC (Print Trace). Starting a job trace consumes relatively few system resources.
However, ending the job trace and printing the job trace require more time and processing resources. If
you have a limited amount of interactive capability available on your system, you might want to submit
the ENDTRC and PRTTRC to batch.
Note that if the application code is created with OPTIMIZE(40), the optimization disables call and
instruction tracing. Although you can specify LICOPT (CallTracingAtHighOpt) to enable job call tracing,
the optimization might still disable some calls. Therefore, job trace might not be effective when using
OPTIMIZE(40).
To use the CL commands to perform a job trace, you must have *SERVICE special authority, or be
authorized to the service trace function of i5/OS through iSeries Navigator. See the chapter on user
profiles in iSeries Security Reference for more information about this type of authority.
Use the following job trace instructions as a guide. The example demonstrates how to use job trace to
troubleshoot a sockets application. Sockets adds information to the job trace output when errors are
returned on the sockets APIs. You might need to specify different parameters, depending on the type of
application you are troubleshooting. Note that communications trace is also useful when troubleshooting
sockets applications.
Related concepts
“Trace connection” on page 24
You can trace encrypted data to locate the source of the problem by using trace connection. Trace
connection is especially useful for connections, such as virtual Ethernet and OptiConnect, that do not
support the general communications trace function.
“Trace TCP/IP application” on page 25
Use the Trace TCP/IP Application (TRCTCPAPP) command to trace data that pertains to specific
TCP/IP application servers.
Related tasks
“Communications trace” on page 16
You can use communications trace to determine whether your data is being transmitted correctly
across the network.
Related reference
This action starts a job trace for one or more jobs. You can start any number of trace sessions, but active
trace session identifiers must be unique across the system.
Note: If you have not identified the job that needs to be traced, use the server table as a reference in
identifying jobs and their corresponding servers.
TCP/IP troubleshooting 27
“Multiple generic traces” on page 29
The generic job trace allows you to trace jobs in several different ways. You can designate specific
criteria to get precise results from the trace.
Re-create the problem by repeating the series of actions you previously took.
This action ends the trace and stores the collected trace records in a set of database files. The stored trace
records stay in the database files until you run the Delete Trace Data (DLTTRC) command.
Note: The ENDTRC (End Trace) process can use a substantial amount of processing time and resources.
If you have a limited amount of interactive capability available on your system, you might want to
submit the ENDTRC to batch.
This action formats and writes the stored trace records to a spooled output file or to a database output
file.
Note: The PRTTRC (Print Trace) command can use a substantial amount of processing time and
resources. If you have a limited amount of interactive capability available on your system, you
might want to submit the PRTTRC to batch.
Related reference
Print Trace Data (PRTTRC) command
This action deletes the trace records that were stored in the database files as a result of the End Trace
(ENDTRC) command.
Job trace offers some advanced functions that enhance the results of the job trace.
The generic job trace allows you to trace jobs in several different ways. You can designate specific criteria
to get precise results from the trace.
These examples show several different ways to specify a generic job name for your trace. These are all
valid formats. Note that in all cases, the job number is *ALL:
v Generic job name, full user name: STRTRC SSNID(TEST) JOB((*ALL/USER/JOB*))
v Full job name, generic user name: STRTRC SSNID(TEST) JOB((*ALL/USER*/JOB))
v Full job name, full user name: STRTRC SSNID(TEST) JOB((*ALL/USER/JOB))
v Generic job name, generic user name: STRTRC SSNID(TEST) JOB((*ALL/USER*/JOB*))
Related tasks
“Starting a job trace” on page 27
This action starts a job trace for one or more jobs. You can start any number of trace sessions, but
active trace session identifiers must be unique across the system.
You can simultaneously run multiple traces on the same job and view cumulative output. In addition,
you can view the results of all the traces within the output of each trace.
If you are tracing the same job in more than one trace session, and you are using the Trace type prompt,
the Trace type component selections will accumulate and the results of all trace types will be included in
the output of all of the trace sessions.
For example, you and your colleague both need to troubleshoot problems on the same Web server jobs.
You start a job trace using the Start trace (STRTRC) command with these parameters:
JOBTRCTYPE(*ALL) and TRCTYPE(*HTTP). Some time later, your colleague starts a trace using the
STRTRC command with these parameters: JOBTRCTYPE(*ALL), and TRCTYPE(*SOCKETS).
Both traces contain the call and return flow for the period of time each trace is active. However, the
additional TRCTYPE data that is collected is cumulative; that is, as new traces are started the trace types
accumulate and the requested trace type information is collected until all traces are ended.
When your trace starts, it is collecting only the *HTTP trace type information. When your colleague’s
trace starts, your output and your colleague’s output both contain the same type of information; they
TCP/IP troubleshooting 29
contain both the *HTTP trace type information and the *SOCKETS trace type information. Even if you
end your trace shortly after your colleague begins a trace, your colleague’s trace continues to collect both
*HTTP and *SOCKETS trace type information until that trace ends.
For example, when you start a trace on a busy system, it is possible for large amounts of trace data to be
collected very quickly so that the trace buffer wraps, overlaying previous trace data. By the time you can
manually determine the problem has occurred and stop the trace, the previous trace data needed to solve
the problem has been overlaid. The result is lost trace data. The watch function solves this problem by
allowing you to set certain watch criteria using the watch parameters. When a failure occurs, there is
often a message or a Licensed Internal Code log that is generated at the time of the failure. You can
specify which messages or Licensed Internal Code logs should be monitored during the trace collection,
and when they occur the system automatically ends the trace.
You can enhance the i5/OS trace functions, such as communications trace and job trace, by using watch
support.
Suppose that Telnet sessions are dropping intermittently on the system, but nothing else seems to be
wrong. When the sessions drop, message TCP2617 is sent to the QSYS/QSYSOPR message queue. To
solve the problem, you need to perform a communications trace using watch support.
With watch support, the trace is automatically stopped when the TCP2617 message is sent to QSYSOPR.
This allows you to capture only the data that you need to analyze the problem and prevents the trace
from running longer than necessary.
To perform the communications trace using watch support, follow these steps:
1. Start the communications trace:
a. At the command line, type STRCMNTRC and press F4.
b. For the Configuration object prompt, specify the name of the line, such as TRNLINE.
c. For the Type prompt, specify the type of resource, such as *LIN.
d. For the Watch for message, Message identifier prompt, type TCP2617.
e. For the Watched message queue, Message queue prompt, type *SYSOPR. This ensures that the
communications trace stops running when the TCP2617 message is sent to the QSYSOPR message
queue.
f. For the Length of time to watch prompt, type 2880. The value 2880 indicates that the communications
trace runs for a maximum of two days (2880 minutes) if the message does not occur. When two
days elapse, the trace ends. If you do not want the trace to end if the message does not occur
during the specified time, specify *NOMAX for this parameter.
2. Verify that the watch support started:
a. At the command line, type WRKWCH and press F4.
b. For the Watch prompt, type *TRCCMD. You should see QSCCMNxxxx session listed under Trace
type. Note that CMN in the middle of the session identifier indicates that the watch session was
started by the STRCMNTRC command. xxxx indicates a unique identifier for the watch session.
3. Verify that the watch support is running:
v At the command line, type WRKACTJOB SBS(QUSRWRK).
Assume that you write a sockets server application that occasionally fails. When the application fails, the
TCP3B04 socket API error is sent to the job log. To solve the problem, you need to perform a job trace
using watch support.
With watch support, the trace is automatically stopped when the TCP3B04 error is sent to the job log.
This allows you to capture only the data that you need to analyze the problem and prevents the trace
from running longer than necessary.
To perform the job trace using watch support, follow these steps:
1. Start the job trace:
a. At the command line, type STRTRC and press F4.
b. For the Session ID prompt, specify a meaningful session identifier, such as mytrace.
c. For the Jobs parameter, specify these values:
v For the Jobs, Job Name prompt, type the job name, such as SOCKETAPP.
v For the Jobs, User prompt, specify the user ID, such as user.
v For the Jobs, Number prompt, type *ALL.
d. For the Watch for message, Message identifier prompt, type TCP3B04.
e. For the Watched message queue, Message queue prompt, type *JOBLOG. This ensures that the job trace
stops running when the TCP3B04 message is sent to the job log.
f. For the Watched job parameter, specify these values:
v For the Jobs, Job Name prompt, type SOCKETAPP.
v For the Jobs, User prompt, specify the user ID, such as user.
v For the Jobs, Number prompt, type *ALL.
2. Verify that the watch support started:
a. At the command line, type WRKWCH and press F4.
b. For the Watch prompt, type *TRCCMD. You should see QSCSTTxxxx session listed under Trace type.
Note that STT in the middle of the session identifier indicates that the watch session was started
by the STRTRC command. xxxx indicates a unique identifier for the watch session.
3. Verify that the watch support is running:
v At the command line, type WRKACTJOB SBS(QUSRWRK).
v You should see the watch job QSCSTTxxxx running in the QUSRWRK subsystem. The job is usually
in DEQW status if the watched message has not been sent.
TCP/IP troubleshooting 31
4. After the TCP3B04 message is sent to the jobnumber/user/SOCKETAPP job log, you should verify
that the trace has ended:
v At the command line, type DSPMSG MSGQ(*SYSOPR).
v You should see the CPI3999 message which indicates that the QSCSTTxxxx watch session associated
with STRTRC command was ended because of reason code 02. Reason code 02 indicates that Watch
for event criteria met because of message id TCP3B04 found in jobnumber/user/SOCKETAPP.
v You can also verify that the watch session has ended using WRKWCH command as indicated in
step 2.
5. Format the trace output using the Print Trace (PRTTRC) command to analyze the data you collected.
Watch parameters:
Here are the parameters that you can use to specify watch criteria for watch support.
The trace commands have the following parameters to specify the watch criteria. See the trace commands
help information for the descriptions of each parameter:
v Watch for message (WCHMSG)
v Watched message queue (WCHMSGQ)
v Watched job (WCHJOB)
v Watch for LIC log entry (WCHLICLOG)
v Length of time to watch (WCHTIMO)
v Trace program (TRCPGM)
v Time interval (TRCPGMITV)
You can specify exit programs in the trace program parameter to extend the capability of the watch
function.
Click these links to learn how you can implement exit programs.
This is sample code for a watch trace exit program. It is written in control language (CL).
Use this exit program as a starting point to help you create your own watch trace program. You can
modify the code to allow the program to perform additional function. Using the watch exit program
example, you can learn how to extend the capability of the watch function.
Note: By using the code examples, you agree to the terms of the “Code license and disclaimer
information” on page 81.
/*********************************************************/
/* THIS IS A SAMPLE CODE FOR WATCH FOR TRACE EVENT */
/* FACILITY */
/* */
/* FUNCTION: WHEN THE TRACE OPTION SETTING PARAMETER */
/* INDICATES THAT A MESSAGE ID MATCHED WITH THE ONE BEING*/
/* WATCHED, THIS PROGRAM WILL PRINT THE HISTORY LOG AND */
/* STOP THE TRACE COMMAND EXECUTION. OTHERWISE, THIS */
/* WILL INDICATE TO CONTINUE WITH THE EXECUTION. */
/* */
/* NOTE: MYLIB/MYOBJECT IS A DATA AREA THAT IS */
/* CONTINUOUSLY CHANGING DURING THE PROCESS. THE USER */
/* WANTS TO DUMP IT PERIODICALLY TO CHECK HOW ITS */
/* CONTENT IS CHANGING AND WHAT IS THE FINAL VALUE */
/* WHEN THE WATCHED MESSAGE OCCURS. THIS DATA AREA */
TCP/IP troubleshooting 33
Example: Modifying the exit program:
Using the example exit program as a starting point, you can modify the code to allow the program to
perform additional function.
The following table provides suggestions for ways you can extend the capability of the watch function on
your system by performing different actions based on the Trace option setting parameter in the exit
program. Refer to each Trace option setting parameter value and the corresponding sample functions that
can be performed.
Trace option setting parameter value Sample functions that can be performed
*ON v To set up the environment right before the trace starts.
For example:
– Start a process
– Run commands
– Change some special values
v To register the status of the system right before the
trace starts. For example:
– Retrieve system values
– Dump a job
– Dump key objects for problem analysis
v To verify that everything is ready for the trace and the
watch function to start. For example:
– Check certain system values
– Check for the existence of key objects.
If the exit program detects that something is not ready,
the value *STOP for the Output parameter could be
specified to prevent the trace command and the watch
function from starting.
*MSGID or *LICLOG v To register the final status of the system right after the
event being watched for occurs. For example:
– Retrieve system values
– Dump a job
– Dump key objects for problem analysis
v To set the environment back to the initial status. For
example:
– End a process
– Run commands
– Change special values
*COMPDATA The exit program can determine whether the trace and
the watch function should stop or continue running. This
is determined by returning *STOP or *CONTINUE for
the Output parameter.
*INTVAL v To perform activities periodically. For example, dump
key objects for problem analysis.
v To check conditions periodically. For example, check
for the existence of key objects. The exit program can
determine whether the trace and the watch function
should stop or continue running. This is determined
by returning *STOP or *CONTINUE for the Output
parameter.
Related reference
“Example: Watch exit program” on page 32
This is sample code for a watch trace exit program. It is written in control language (CL).
Troubleshooting tips
These troubleshooting tips enable you to solve basic TCP/IP problems.
You can find out how to check logs and verify that your interfaces and other network components are
active.
If you are experiencing problems related to TCP/IP, you should check for error messages in the QTCP
message queue located in library QUSRSYS. Many errors relating to TCP/IP functions get logged in this
message queue. To display the QTCP messages, enter DSPMSG QUSRSYS/QTCP on the command line.
Server table
You can use this server table as a reference to find out how servers, server jobs, job descriptions, and
subsystems are mapped to one another.
TCP/IP troubleshooting 35
Server type:
The server type is a 30 byte character string that uniquely identifies the server to the system. All
IBM-supplied servers have their server type begin with QIBM_. The server type is set by the
server job using the Change Job API.
Note: To view or change the Autostart servers parameter, follow these steps:
v From the character based interface:
Type CHGxxxA at the i5/OS command line, where xxx is the name of the server. For
example, CHGFTPA to work with the attributes of the FTP server. The Autostart servers
parameter appears at the top of the list of parameters.
v From iSeries Navigator:
In iSeries Navigator, the equivalent of the Autostart servers parameter is indicated as one
of the properties of a server, Start when TCP/IP is started.
1. In iSeries Navigator, expand your system → Network → Servers.
2. Click TCP/IP, iSeries Access, DNS, or User-Defined, depending on the type of
server you want to view.
3. In the right pane, right-click the server you want to view, such as FTP.
4. On the General page, verify whether Start when TCP/IP is started is selected.
Default port:
The port from which the server job listens for client requests. Some of the ports indicate a service
name within parentheses. This service name refers to the name that is defined in the Service
Table Entries.
Note: To view the Service Table Entries display, type WRKSRVTBLE at the i5/OS command line.
To End:
ENDTCPSVR *ASFTOMCAT
To Start:
STRNFSSVR *BIO
To End:
ENDNFSSVR *BIO
Product: 5722–SS1
| Server Description: The Network File System client might use the Block
| I/O daemon to handle bulk I/O traffic.
BootP DHCP Relay Agent QSYS/QTODDJDS QSYSWRK QTODDHCPR *NO 67 (dhcps)
942
To Start:
STRTCPSVR *DHCP
To End:
ENDTCPSVR *DHCP
Product: 5722–SS1
To Start:
STRTCPSVR *BOOTP
To End:
ENDTCPSVR *BOOTP
Product: 5722–SS1
TCP/IP troubleshooting 37
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
CCServer Agent QSYS/QSYSWRK QSYSWRK QCQNCMPS Not No port is used
applicable
To Start:
STRMGDSYS
To End:
ENDMGDSYS
Product: 5722–MG1
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_CENTRAL
Central Server Daemon QSYS/QZBSJOBD QSYSWRK QZSCSRVSD *YES 8470
(as-central)
To Start: 9470
(as-central-s)
STRHOSTSVR *CENTRAL
To End:
ENDHOSTSVR *CENTRAL
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_CENTRAL
CIM Object Manager QSYS/QYCMJOBD QSYSWRK QYCMCIMOM N/A 5988
(wbem-http)
To Start:
STRTCPSVR *CIMOM
To End:
ENDTCPSVR *CIMOM
Product: 5722–SS1
Product: 5722–SS1
Server Type:
QIBM_CLUSTER_RESOURCE_SERVICES
Product: 5722–SS1
Server Type:
QIBM_CLUSTER_RESOURCE_SERVICES
Cluster Resource Services QSYS/QCSTSRCD QSYSWRK QSVRMSERMD N/A No port is used
QCSTHRMD
To Start: Starts when the daemon QCSTCTRMCD job starts QYUSCMCRMD
QYUSALRMD
To End: Ends when the daemon QCSTCTRMCD job ends
Product: 5722–SS1
Server Type:
QIBM_CLUSTER_RESOURCE_SERVICES
Cluster Resource Services QGPL/QDFTJOBD QSYSWRK QCSTCTL N/A No port is used
QCSTCRGM
To Start: CRG-name
APIs: Start Cluster Node, Create Cluster Resource Group, Create Cluster,
or Add Cluster Node Entry
Product: 5722–SS1
Server Type:
QIBM_CLUSTER_RESOURCE_SERVICES
Cluster Resource Services QSYS/QCSTSRCD QSYSWRK QCSTCRGRM N/A No port is used
QCSTSAM
To Start: QCSTCTCFRM
APIs: Start Cluster Node, Create Cluster Resource Group, Create Cluster,
or Add Cluster Node Entry
Product: 5722–SS1
Server Type:
QIBM_CLUSTER_RESOURCE_SERVICES
Clustered Hash Table (CHT) Server QGPL/QDFTJOBD QSYSWRK Clustered Hash N/A No port is used
table (CHT) name
To Start:
STRCHTSVR
To End:
ENDCHTSVR
Product: 5722–SS1
TCP/IP troubleshooting 39
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
Collection Services Server QGPL/ QSYSWRK QPMASERV N/A No port is used
QCOLJOBD
To Start: Starts automatically when an application uses the QPMWKCOL
function.
To End: Ends when there are no application requests for data collection.
Product: 5722–SS1
Server Type:
QIBM_COLLECTION_SERVICES
| Server Description: Is a set of jobs that perform the system functions for
| collection services and real-time performance data collection.
Collection Services Server QSYS/QYPSJOBD QSYSWRK CRTPFRDT N/A No port is used
Product: 5722–SS1
Server Type:
QIBM_COLLECTION_SERVICES
Collection Services Server QGPL/QCOLJOBD QSYSWRK QPMACLCT N/A No port is used
Product: 5722–SS1
Server Type:
QIBM_COLLECTION_SERVICES
Collection Services Server QSYS/QYPSJOBD QSYSWRK QYPSPFRCOL N/A No port is used
Product: 5722–SS1
Server Type:
QIBM_COLLECTION_SERVICES
Collection Services Server QGPL/QPMUSRCAT QSYSWRK Category name N/A No port is used
(default but
To Start: Starts when the QYPSPFRCOL job starts if user category is depends on
configured and collection is enabled category
owner JOBD)
To End: Ends automatically when data collection (QYPSPFRCOL job)
ends or current collection is cycled (restarted).
Product: 5722–SS1
Server Type:
QIBM_COLLECTION_SERVICES
Product: 5733-PYS
Product: 5733–CO2
To End:
ENDTCPSVR
To Start:
STRTCP
To End:
ENDTCP
Product: 5722–SS1
Server Type:
QIBM_TOC_ENDTCP_CONTROLED
To End:
ENDCICS
Product: 5722–DFH
TCP/IP troubleshooting 41
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
Database Server QGPL/QDFTSVR QUSRWRK or QZDASOINIT *YES No port is used
configurable
To Start: 1) Starts when the subsystem starts 2) If subsystem is active and
the jobs are not active, issue STRPJ SBS(subsystem name)
PGM(QSYS/QZDASOINIT), where subsystem name is QUSRWRK or the
user-configured subsystem
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_DATABASE
Database Server Daemon QSYS/QZBSJOBD QSERVER QZDASRVSD *YES 8471
as-database
To Start: STRHOSTSVR *DATABASE (Requires QSERVER up) 8478
as-transfer
9471
To End: ENDHOSTSVR *DATABASE
as-database-s
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_DATABASE
Database SSL Server QGPL/QDFTSVR QUSRWRK or QZDASSINIT *YES No port is used
configurable
To Start: 1) Starts when the subsystem starts 2) If subsystem is active and
the jobs are not active, issue STRPJ SBS(subsystem name)
PGM(QSYS/QZDASSINIT), where subsystem name is QUSRWRK or the
user-configured subsystem
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_DATABASE
Datalink File Manager QGPL/QDFTJOBD QSYSWRK QZDFMCOD *NO 20001 (dlfm)
QZDFMCPD
To Start: QZDFMDGD
QZDFMGCD
STRTCPSVR *DLFM QZDFMRTD
QZDFMSVR
To End: QZDFMUPD
ENDTCPSVR *DLFM
QZDFMCHD (A
Product: 5722–SS1 child server job
that receives and
processes DLFM
Server Type: QIBM_DLFM
requests as needed.
Multiple instances
| Server Description: Allows database files to contain references to objects
of the
| that are not traditionally stored inside a database file. Those objects can
QZDFMCHD job
| be video clips or pictures, and are stored in the integrated file system.
can run
| The references can link to the objects on the same system or on other
simultaneously.)
| systems.
Data Queue Server QSYS/QZBSJOBD QUSRWRK or QZHQSSRV *YES No port is used
configurable
To Start: 1) Starts when the subsystem starts 2) If subsystem is active and
the jobs are not active, issue STRPJ SBS(subsystem name)
PGM(QSYS/QZHQSSRV), where subsystem name is QUSRWRK or the
user-configured subsystem
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_DTAQ
To End:
ENDHOSTSVR *DTAQ
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_DTAQ
DB2® Text Extender Administration Server QGPL/QDFTJOBD QSYSWRK DESSRVBG N/A No port is used
Server Type:
QIBM_TEXT_EXTENDER_ADMIN
Server Type:
QIBM_TEXT_EXTENDER_DAEMON
Server Type:
QIBM_TEXT_EXTENDER_UPDATE
| Server Description: Maintains the Text Extender log tables and triggers
| index updates by scheduling documents that are referenced in the log
| tables.
TCP/IP troubleshooting 43
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
Dynamic Host Configuration Protocol (DHCP) server QSYS/QTODDJDS QSYSWRK QTODDHCPS *NO 67 (dhcps)
942
To Start:
STRTCPSVR *DHCP
To End:
ENDTCPSVR *DHCP
Product: 5722–SS1
or
STRDOMSVR
To End:
ENDTCPSVR *DOMINO
or
ENDDOMSVR
Product:
Product: 5722–SS1
Server Type:
QIBM_OS400_QRW_SVR_DDM_DRDA
Product: 5722–SS1
Server Type:
QIBM_OS400_QRW_SVR_DDM_DRDA
Extended Dynamic Remote SQL QSYS/QXDAJOBD QSYSWRK QXDAEDRSQL *NO 4402 (as-edrsql)
To Start:
STRTCPSVR *EDRSQL
To End:
ENDTCPSVR *EDRSQL
Product: 5722–SS1
Product: 5722–SS1
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_FILE
TCP/IP troubleshooting 45
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
File Server S2 QGPL/QDFTSVR QSERVER or QPWFSERVS2 *YES No port is used
configurable
To Start: 1) Starts when the subsystem starts 2) If subsystem is active and
the jobs are not active, issue STRPJ SBS(subsystem name)
PGM(QSYS/QPWFSERVS2), where subsystem name is QSERVER or the
user-configured subsystem
Product: 5722–SS1
To End:
ENDSBS QSERVER
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_FILE
File Server SSL Server QGPL/QDFTSVR QSERVER or QPWFSERVSS *YES No port is used
configurable
To Start: 1) Starts when the subsystem starts 2) If subsystem is active and
the jobs are not active, issue STRPJ SBS(subsystem name)
PGM(QSYS/QPWFSERVSS), where subsystem name is QSERVER or the
user-configured subsystem
To End:
ENDSBS QSERVER
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_FILE
File Transfer Protocol (FTP) server QUSRSYS/QTMFTPS QSYSWRK or QTFTP* *YES 21
configurable (ftp-control)
To Start: 990
(ftps-control)
STRTCPSVR *FTP
To End:
ENDTCPSVR *FTP
Product: 5722–TC1
| Server Description: Transfers data between local and remote hosts. FTP
| consists of a client, from which FTP requests are issued, and the server,
| where client requests are processed.
To Start:
STRTCPSVR *DBG
To End:
ENDTCPSVR *DBG
Product: 5722–SS1
Product: 5722–SS1
| Product: SS03
2010
To End:
(as-admin-
ENDTCPSVR *HTTP https)
TCP/IP troubleshooting 47
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
IBM® Director QCPMGTDIR/ QSYSWRK QCPMGTAGT N/A 14247
QCPMGTDIR QCPMGTSVR 14248
To Start: QCPMGTDIR
QCPMGTDIR
Qshell script
/qibm/userdata/ director/bin/twgstart
To End:
Qshell script
/qibm/userdata/ director/bin/twgend
Product: 5722-DR1
Server Type:
QIBM_DIRECTOR_AGENT
QIBM_DIRECTOR
To End:
ENDTCPSVR *DIRSRV
Product: 5722–SS1
To Start:
STRFNTDWN
To End:
ENDFNTDWN
Product: 5722–IP1
Server Type:
QIBM_IPS_FONTDOWNLOADER
Product: 5722-IP1
| Server Description: Converts Adobe PDF 1.3 and PS Level 3 data streams
| to IBM Advanced Function Presentation™ (AFP™) data stream. This
| transform is indirectly called through the Image Print Transform function
| of i5/OS.
InfoPrint Server for iSeries Transform Manager QGPL/QDFTJOBD QUSRWRK QXTRTFMMGR N/A No port is used
To Start:
STRTFMMGR
To End:
ENDTFMMGR
Product: 5722-IP1
To End:
ENDTCPSVR *INETD
Product: 5722–SS1
Product: 5722–SS1
| Server Description: Allows you to order and download PTFs using the
| Internet.
iSeries Access for Web PDF Server jobd in QUSER profile QSYSWRK QIWAPDFSRV N/A 8490
(defaults to QJVACMDSRVA (as-iwapdfsrv)
To Start: Started by the iSeries Access for Web printer servlet support QGPL/QDFTJOBD)
when any user needs to transform a spooled file to PDF using InfoPrint
Server support.
TCP/IP troubleshooting 49
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
iSeries NetServer™ Daemon QSYS/QZLSSERVER QSERVER QZLSSERVER *YES 137 TCP
(netbios-ns)
To Start:
137 UDP
STRTCPSVR *NETSVR
(netbios-ns)
To End:
138 UDP
ENDTCPSVR *NETSVR (netbios-dgm)
Product: 5722–SS1
| Product: 5722–SS1
Product: 5722–SS1
Product: 5722–SS1
To Start: Started by the Licensed Internal Code when a 3494 tape library
is varied on.
To End: Ended by the Licensed Internal Code when the last 3494 tape
library is varied off.
Product: 5722–999
To Start:
STRTCPSVR *LPD
To End:
ENDTCPSVR *LPD
Product: 5722–TC1
| Server Description: Receives files sent by the Line Printer Request (LPR).
| You can use the LPD server to receive spooled files from another system,
| or you can use the LPD server to receive print output from another
| system.
Managed System Agent QSYS/QSYSWRK QSYSWRK QCQEPMON N/A No port is used
To Start:
STRMGDSYS
To End:
ENDMGDSYS
Product: 5722-MG1
Server Type:
QIBM_MGMTCENTRAL_AGENT
TCP/IP troubleshooting 51
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
Management Central Server QSYS/QYPSJOBD QSYSWRK QYPSJSRV *YES 5544
(as-mgtcrlj)
To Start:
5555
STRTCPSVR *MGTC
(as-mgtctrl)
To End:
5566
ENDTCPSVR *MGTC (as-mgtctrl-ss)
To Start:
STRNFSSVR *MNT
To End:
ENDNFSSVR *MNT
Product: 5722–SS1
To Start:
STRMQMLSR
To End:
ENDMQMLSR
Product: 5724-B41
To Start:
STRNFSSVR *NLM
To End:
ENDNFSSVR *NLM
Product: 5722–SS1
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_NETPRT
Network Print Server Daemon QSYS/QZBSJOBD QSYSWRK QNPSERVD *YES 8474
(as-netprt)
To Start: 8479
(as-vrtprint)
STRHOSTSVR *NETPRT 9474
(as-netprt-s)
To End:
ENDHOSTSVR *NETPRT
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_NETPRT
Network Station® Login Daemon QYTCV2/ QSYSWRK QYTCNSLD *NO 256
QYTCNSLD
To Start: QYTCV2/
QYTCNSLD
CALL QYTCV2/QYTCUSVR (’STRTCPSVR ’)
To End:
Product: 5648–C07
To Start:
STRNFSSVR *NSM
To End:
ENDNFSSVR *NSM
Product: 5722–SS1
TCP/IP troubleshooting 53
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
NFS Server QSYS/QP0LNFSD QSYSWRK QNFSNFSD* *NO 2049
To Start:
STRNFSSVR *SVR
To End:
ENDNFSSVR *SVR
Product: 5722–SS1
To End:
ENDTCPSVR *ONDMD
To Start:
STRTCPSVR *ONDMD
To End:
ENDTCPSVR *ONDMD
To End:
ENDTCPSVR *ONDMD
Product: 5722–SS1
To Start:
STRTCPSVR *POP
To End:
ENDTCPSVR *POP
Product: 5722–TC1
| Server Description: Allows the system to store e-mail for clients who use
| POP for their e-mail. E-mail is stored on the server until clients request it,
| at which time the mail is forwarded to the client and deleted from the
| server.
QoS Policy Agent QSYS/QTOQJOBDR QSYSWRK QTOQSRVR *NO No port is used
To Start:
STRTCPSVR *QOS
To End:
ENDTCPSVR *QOS
Product: 5722–SS1
To Start:
STRTCPSVR *QOS
To End:
ENDTCPSVR *QOS
Product: 5722–SS1
TCP/IP troubleshooting 55
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
QuickPlace® Server Same as subsystem QPLACE00 or Configurable *NO Same as
Notes Domino HTTP
To Start: subsystem task (typically
80)
STRTCPSVR *LQP
or
STRLQPSVR
To End:
ENDTCPSVR *LQP
or
ENDLQPSVR
Product: 5733-LQP
To Start:
STRMGDSYS
To End:
ENDMGDSYS
Product: 5722–MG1
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_RMTCMD
Remote Command Server Daemon QSYS/QZBSJOBD QSYSWRK QZRCSRVSD *YES 8475
(as-rmtcmd)
To Start: 9475
(as-rmtcmd-s)
STRHOSTSVR *RMTCMD
To End:
ENDHOSTSVR *RMTCMD
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_RMTCMD
To Start:
STRTCPSVR *REXEC
To End:
ENDTCPSVR *REXEC
Product: 5722–TC1
To End:
ENDTCPSVR *ROUTED
Product: 5722–SS1
To Start:
STRNFSSVR *RPC
To End:
ENDNFSSVR *RPC
Product: 5722–SS1
| To End: Ends by using the ENDJOB command or the kill utility in i5/OS
| PASE.
| Product: 5733–SC1
TCP/IP troubleshooting 57
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
Server Port Mapper QSYS/QZBSJOBD QSYSWRK QZSOSMAPD *YES 449 (as-svrmap)
To Start:
STRHOSTSVR *SVRMAP
To End:
ENDHOSTSVR *SVRMAP
Product: 5722–SS1
Server Type:
QIBM_OS400_QZBS_SVR_SVRMAP
| Server Description: Allows the client to find the port of the particular
| service. The client sends in a request with the service name, and the port
| mapper looks up the service in the service table and returns the port
| number to the client.
Service Agent Hardware Problem Reporting QSYS/QS9SRVAGT QSYSWRK QS9PRBMON N/A No port is used
QS9PALMON
To Start: Started by autostart job, or STRSRVAGT command
Product: 5722–SS1
To End:
ENDJOB
Product: 5722–SS1
To End:
ENDHOSTSVR *SIGNON
Product: 5722–SS1
Product: 5722–SS1
To Start:
STRTCPSVR *NTP
To End:
ENDTCPSVR *NTP
Product: 5722–SS1
To End:
ENDTCPSVR *SMTP
Product: 5722–TC1
To End:
ENDTCPSVR *SMTP
Product: 5722–TC1
To End:
ENDTCPSVR *SMTP
Product: 5722–TC1
To End: Ends when the client daemon job QTSMTPCLTD ends the client
prestart jobs
Product: 5722–TC1
TCP/IP troubleshooting 59
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
SMTP Mail Scheduler QUSRSYS/ QSYSWRK or QTSMTPSCH *YES No port is used
QTMSMTPS configurable
To Start:
STRTCPSVR *SMTP
when configured
To End:
ENDTCPSVR *SMTP
Product: 5722–TC1
| Server Description: Sets the time intervals that you want the system to
| connect to your Internet service provider (ISP) and send your e-mail.
SMTP Server Daemon QUSRSYS/ QSYSWRK or QTSMTPSRVD *YES 25 (smtp)
QTMSMTPS configurable
To Start:
STRTCPSVR *SMTP
To End:
ENDTCPSVR *SMTP
Product: 5722–TC1
To End: Ends when the server daemon job QTSMTPSRVD ends the server
prestart jobs
Product: 5722–TC1
To Start:
STRTCPSVR *SNMP
To End:
ENDTCPSVR *SNMP
Product: 5722–SS1
To Start:
STRTCPSVR *SNMP
To End:
ENDTCPSVR *SNMP
Product: 5722–SS1
To Start:
STRTCPSVR *SNMP
To End:
ENDTCPSVR *SNMP
Product: 5722–SS1
To Start:
STRTRPMGR
To End:
ENDTRPMGR
Product: 5722–SS1
To Start:
STRTRPMGR
To End:
ENDTRPMGR
Product: 5722–SS1
TCP/IP troubleshooting 61
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
SQL QGPL/QDFTSVR QSYSWRK QSQSRVR *NO No port is used
To End:
ENDPJ SBS(QSYSWRK) PGM(QSQSRVR)
Product: 5722-ST1
To Start:
STRSYSMGR
To End:
ENDSYSMGR
Product: 5722-SM1
To Start:
STRTCP
To End:
ENDTCP
Product: 5722–SS1
To Start:
STRTCP
To End:
ENDTCP
Product: 5722–SS1
| To Start: The L2TP server job starts automatically when the first L2TP
| connection profile is started using the STRTCPPTP command or iSeries
| Navigator.
| To End: The L2TP server job ends automatically when the last L2TP
| connection profile is ended using the ENDTCPPTP command or iSeries
| Navigator.
| Product: 5722–SS1
| To Start: The PPP server job starts automatically when the first PPP
| connection profile is started using the STRTCPPTP command or iSeries
| Navigator.
| To End: The PPP server job ends automatically when the last PPP
| connection profile is ended using the ENDTCPPTP command or iSeries
| Navigator.
| Product: 5722–SS1
| Product: 5722–SS1
To Start:
STRTCPSVR *TELNET
Product: 5722–TC1
TCP/IP troubleshooting 63
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
TELNET Server QTCP/QTGSTELN QSYSWRK QTVTELNET *YES 23 (telnet)
992(telnet-ssl)
To Start:
STRTCPSVR *TELNET
To End:
ENDTCPSVR *TELNET
Product: 5722–TC1
To Start:
CALL PGM(QDB2TX/TXSTART)
To End:
CALL PGM(QDB2TX/TXSTOP)
To Start:
STRTCPSVR *TCM
To End:
ENDTCPSVR *TCM
To Start:
STRTCPSVR *TFTP
To End:
ENDTCPSVR *TFTP
Product: 5722–SS1
To Start:
STRTCPSVR *VPN
To End:
ENDTCPSVR *VPN
Product: 5722–SS1
To Start:
STRTCPSVR *VPN
To End:
ENDTCPSVR *VPN
Product: 5722–SS1
To End:
ENDTCPSVR *WEBFACING
Product: 5722–SS1
TCP/IP troubleshooting 65
Server name Job description Subsystem Job name Shipped Default port
default
value for
autostart
parameter
WebSphere Application Server V4 Advanced Edition, Administration QEJBADV4/ QEJBADV4 Configurable N/A 900
Server QEJBJOBD (default of 9000
QEJBADV4/ QEJBADMIN)
To Start: Either when SBS starts (default Administration server) or explicit QEJBJOBD
command
Product: 5733–WA4
Product: 5733–WA4
Product: 5733–WS4
To End:
ENDTCPSVR *HOD
Product: 5733–A59
To End: ENDWLM
Product: 5798–WLD
Related concepts
“Using Netstat from a character-based interface: Connections” on page 4
You need to verify the status of your IPv4 and IPv6 connections.
“Using Netstat from iSeries Navigator: Connections” on page 7
You need to verify the status of your IPv4 and IPv6 connections.
Related tasks
“Job trace” on page 26
Use the job trace tool to trace data in any job to help identify your problem.
“Starting a job trace” on page 27
This action starts a job trace for one or more jobs. You can start any number of trace sessions, but
active trace session identifiers must be unique across the system.
If you are having problems with TCP/IP connectivity, you should take a look at the jobs that are running
on your system. All work on your system is performed through jobs. Most jobs have associated job logs
that record the jobs’ activities. The job log contains information, such as when the job starts and ends,
which commands are running, and error messages. Here are some ways to use jobs and job logs to help
solve your TCP/IP problems.
TCP/IP troubleshooting 67
TCP/IP requires that certain basic jobs are running. You can verify that these basic jobs are running.
For normal usage, you need to have the QTCPIP job running in the QSYSWRK subsystem. The QTCPIP
job controls starting and ending TCP/IP interfaces. However, you can run TCP/IP when the operating
system is in the restricted state. In this case, the QTCPIP job is not active.
In addition, you should have at least one job for each of the servers you are attempting to use.
To find the QTCPIP job using the character-based interface, follow these steps:
1. At the command line, type WRKACTJOB SBS(QSYSWRK) (Work with Active Jobs).
2. Press F7 (Find).
3. At String type QTCPIP to search for the job. When found, the QTCPIP job is displayed at the top of
the subsystem/job list.
To verify that you have at least one job for each of the servers you are attempting to use, follow these
steps:
1. At the command line, type WRKSBS (Work with Subsystems).
2. View the list of subsystems, and locate QSYSWRK.
3. Select option 8 (Work with subsystem jobs) in front of QSYSWRK, and press Enter.
4. View the list of jobs associated with QSYSWRK. Locate at least one job for each of the applications
you are attempting to use and verify that each of the jobs is active.
In addition to verifying active jobs in the QSYSWRK subsystem, you should verify jobs in the QUSRWRK
and QSERVER subsystems. If you have servers that run in their own subsystems, you should also check
the jobs in those subsystems. See the server table to find the job name associated to the server you want
to verify.
To see if you have at least one job for each of the servers you are attempting to use, follow these steps:
1. In iSeries Navigator, expand your system → Work Management → Subsystems → Active Subsystems.
2. Click Qsyswrk.
Note: QSYSWRK and the controlling subsystem are always started for you by the operating system.
QUSRWRK and QSERVER are started by the IBM-supplied startup program, so unless you
have changed the IBM-supplied startup program these subsystems should be started
automatically for you. The server jobs might also be in QUSRWRK, QSERVER, or their own
subsystem.
3. View the list of jobs in the Job name column in the right pane, and locate at least one job for each of
the applications you are attempting to use.
See the server table to find the job name associated to the server you want to verify.
Checking the job logs for error messages and other indication of problems:
You can use job logs to help identify the source of your problem.
A job log is a record of the activities associated with a particular job, such as the time an interface started
and processing delays or failures. Job logs help you identify the source of your problem.
To access the job log for an active job or server job, follow these steps:
1. At the command line, type WRKACTJOB (Work with Active Jobs).
2. Press F7 (Find) to locate the specific job. See the server table if you need help finding the job name
associated to the server.
3. Select option 5 (Work with) in front of the job in the listing.
4. On the Work with Job Display, select option 10 (Display Job Log if Active or on Job Queue), and press
Enter. View the messages displayed in the Job Log to help identify problems associated with this job.
To access the job log for an active job or server job, follow these steps:
1. In iSeries Navigator, expand your system → Work Management → Active Jobs or Server Jobs. You can
see a job log from any place within Work Management that you access jobs (for example, through the
subsystem area or the memory pool area).
2. Right-click a job (for example, Qsyswrk) and select Job Log. View the messages displayed in the Job
Log to help identify problems associated with this job.
To view more details of a message, double-click a specific message ID. A Message Details dialog box
appears. This dialog shows the details of the message as well as the message help. The detailed
message gives you information to help solve a problem.
Changing the message logging level on job descriptions and active jobs:
TCP/IP troubleshooting 69
If you are having problems with TCP/IP or the server jobs, you might need to change the message
logging level text value on the job description or on the active job associated with your TCP/IP server.
You should change the message logging level text value from the default value *NOLIST to *SECLVL.
The value *SECLVL causes a job log to be generated. It is helpful to review the job log for messages that
can identify problems.
Note that changes to job descriptions do not affect currently running jobs. You must end and then restart
the server for the change to take effect.
To change the message logging levels on job descriptions or on active jobs, select one of these interfaces.
You can use the character-based interface to change the message logging level.
To change the message logging level on the job description, follow these steps using the character-based
interface:
1. At the command line, type WRKJOBD (Work with Job Descriptions), and press F4 (Prompt).
2. For the Job description prompt, specify the name of the job description, such as MYJOBD.
3. For the Library prompt, specify the library that contains the job description you want to change, and
press Enter.
4. On the Work with Job Descriptions display, select option 2 (Change) in front of the job description
you want to change, and press Enter.
5. On the Change Job Description display, page down to the Message logging.
6. For the Message Logging prompt, type 4 for the Level parameter, 00 for the Severity parameter, *SECLVL
for the Text parameter, and press Enter.
7. You must end and then restart the server for the change to take effect. At the command line, type
ENDTCPSVR *MYSERVER, where MYSERVER is the server you want to stop. Then, type STRTCPSVR
*MYSERVER to restart the server. Be aware that if you only type ENDTCPSVR, the default *ALL will
end all of the TCP servers. If you need to end and restart a server that is not started with the
STRTCPSVR command, you need to specify different commands. See the server table for the
appropriate commands to end and restart those servers.
To change the message logging level of a server job that is currently active, follow these steps:
1. At the command line, type CHGJOB, and press F4 (Prompt).
2. For the Job name prompt, specify the name of the job you want to change, such as MYJOB, and press
Enter. See the server table to find the job name associated to your server.
3. On the Change Job display, page down to Message logging.
4. For the Message Logging prompt, type 4 for the Level parameter, 00 for the Severity parameter, type
*SECLVL for the Text parameter, and press Enter.
You can use iSeries Navigator to change the message logging level.
You must use the character-based interface to change the message logging level text value on a job
description.
To change the message logging level of a server that is currently active, follow these steps:
1. In iSeries Navigator, expand your system → Work Management → Server Jobs.
2. Right-click the job you want to change and select Properties.
3. Click the Job Log tab.
4. Select Create printer output for job log if job ends normally, select Print message, cause, and
recovery, and click OK.
Considerations regarding the job log maximum size and the resulting job actions might help you solve
the problem.
If you are having problems with storage consumption, you might need to change the job log maximum
size on the server job. You should specify a relatively small size for the job log to avoid consuming
excessive storage and, in some cases, excessive processing time. These types of resource consumption
occur when the system produces job logs. For example, if a repetitive error occurs on a long running
server job, your job log fills up with repetitive messages and increases your storage consumption level.
The value specified for the Job message queue maximum size (JOBMSGQMX) parameter for the job indicates
the size of the job log. This value, along with the rest of the job’s properties, is given to the job when the
job is started. Some server jobs specify this value in the job description used by the job. Other server jobs
specify this value by defaulting to the setting of the QJOBMSGQMX system value.
The recommended value for the JOBMSGQMX parameter is 8 MB. You cannot change the value for this
parameter by using the Change Job (CHGJOB) command. However, you can change the value by
accessing the parameter through the job description using the Change Job Description (CHGJOBD)
command.
When the job log reaches its maximum capacity as determined by the JOBMSGQMX parameter, several
different actions can occur depending on the value specified in the Job message queue full action
(JOBMSGQFL) parameter for the job. In most cases, the job description indicates *WRAP as the default
value. Many server jobs specify this value in the job description used by the jobs.
You should verify that *WRAP is specified for the JOBMSGQFL parameter by accessing the job
description. This value ensures that the job log messages overlay one another when the job log reaches its
maximum capacity. Be aware that other values, such as *NOWRAP, can cause the server job to end when
the job log reaches its maximum capacity.
Packet filter rules are designed to protect a network by filtering packets according to rules that the
network administrator defines. Packet rules might have been created on either your system or the
TCP/IP troubleshooting 71
destination system, and the packet rules might filter data that is incoming or outgoing. Rules might have
also been defined on one or more intermediate routers.
To find out whether you have active filter rules on your system, follow these steps:
1. In iSeries Navigator, expand your system → Network → IP policies → Packet rules. If the right pane is
empty, then your system is not currently using packet rules. If the right pane contains a list of
interfaces, then proceed with the next step.
2. Select the interface that you suspect contains the active filter rules.
3. View the list of active packet rules in the right pane. Click Help to find out how to edit and work
with packet rules.
To remove active filters on the system, type RMVTCPTBL *ALL (Remove TCP/IP Table) at the command line.
This command also causes virtual private networking (*VPN) tunnels to fail, so use this command with
caution.
To find out whether filter rules are active on the destination system, call the network administrator at
that location.
Related concepts
IP filtering and network address translation
Your network communications might be failing because the server and its associated subsystems and
interfaces have not been started properly. You need to start the appropriate subsystems, servers,
interfaces, and the TCP/IP stack in the correct order to ensure successful network communications.
Follow this order when starting the subsystems, stack, interfaces, and servers.
Starting subsystems:
QSYSWRK and the controlling subsystem are always started for you by the operating system. QUSRWRK
and QSERVER are started by the IBM-supplied startup program, so unless you have changed the
IBM-supplied startup program these subsystems should be started automatically for you.
If you are using any subsystems other than the IBM-supplied subsystems, you might also need to start
these subsystems before you start TCP/IP.
See the server table to understand how the servers map to the actual jobs and subsystems they represent.
Starting TCP/IP:
Before you can communicate over the network, TCP/IP must be started.
Note: The server automatically starts TCP/IP for you when you start the system. However, if you end
TCP/IP due to problems so that you need to manually restart TCP/IP, read the following
information.
Note: You can use iSeries Navigator to stop TCP/IP. However, if you stop TCP/IP, you are likely to lose
your iSeries Navigator connection to the server because iSeries Navigator requires TCP/IP for its
own connection. Therefore, in most situations you should use some form of console to start and
stop TCP/IP so that you do not lose the very connection you are working with. In this case and
depending on your hardware configuration, you can use a Twinaxial console , Operations
Console, or the Hardware Management Console (HMC) to start and stop TCP/IP because these
consoles do not require TCP/IP to be started in i5/OS.
Starting interfaces:
Your network communication might be failing because your interfaces have not been activated.
Remember these tips to ensure your interfaces are functioning correctly.
v Verify that your interfaces are configured and activated by using Netstat. For those interfaces you
always want active, you should specify AUTOSTART (*YES). They will automatically start when
TCP/IP is started.
v If you are using profiles for remote access services, such as Point-to-Point Protocol (PPP) or Layer Two
Tunneling Protocol (L2TP), you should verify that the profiles are active. To verify the status of the
profiles, follow these steps:
1. In iSeries Navigator, select your system → Network → Remote Access Services.
2. Click Originator Connection Profiles or Receiver Connection Profiles depending on the type of
profile you want to verify, and view the list of profiles in the right pane to verify the status. To start
a profile, right-click the profile and select Start.
If you want any of the remote access services profiles to automatically start when TCP/IP is started,
you should specify AUTOSTART (*YES) for those profiles. It might be useful to set the profiles to
automatically start with TCP/IP in these types of situations:
– You want to have a constant dialup connection to the ISP.
– You schedule an IPL at midnight and you want the profiles to automatically start during the IPL.
TCP/IP troubleshooting 73
v Verify that the QTCPIP job is active. See Verifying that necessary jobs exist for these instructions. The
QTCPIP job must be active before you can start or end your interfaces.
v Be aware that your line descriptions, network server descriptions, and network interface descriptions
should be configured to vary on with TCP/IP. This allows these configuration objects to start at the
same time TCP/IP starts. See Varying on communication lines, controllers, and devices for more
information.
Related tasks
“Netstat” on page 2
Netstat is a tool for managing and monitoring the status of your system’s interfaces, routes, and
connections, and it is useful for troubleshooting TCP/IP problems. You can use Netstat whether you
are using IPv4 or IPv6 connectivity on the network.
Starting servers:
The system is shipped with several servers configured to automatically start when TCP/IP starts.
However, you can configure additional servers to automatically start when TCP/IP starts, or you can
manually start the individual servers at any time.
Remember that most subsystems required by your servers must be active before the server starts.
However, some servers start their own subsystems. See the server table to understand how the servers
map to the actual jobs and subsystems they represent.
Note: Servers that are required to run iSeries Navigator, such as the remote command server, signon
server, server mapper, and database server, must be started from the character-based interface.
This example shows how to start certain types of TCP servers. See the server table for a list of servers
and the commands you can use to start them. To manually start a server, follow these steps:
1. At the command line, type STRTCPSVR, and press F4 (Prompt).
2. For the Server application prompt, specify the servers you want to start, and press Enter.
Some servers cannot be started from iSeries Navigator. Servers that are required to run iSeries Navigator,
such as the remote command server, signon server, server mapper, and database server, must be started
from the character-based interface.
Timing considerations:
i5/OS has the capability to automatically start the necessary subsystems, the TCP/IP stack, lines,
interfaces, and servers at the appropriate times during IPL. In most situations, your network
communications will start smoothly using this automatic startup process.
However, depending on your unique hardware and software configuration you might have problems
starting the network communication due to timing problems during IPL. Timing problems can occur for
several different reasons. For example:
v The processing speed and the number of input-output processors (IOPs) can affect the startup of the
network hardware resource. If your hardware resource is slow to start, it might not be ready when
TCP/IP tries to start. Your network communications fail because the TCP/IP interfaces cannot be
started.
v You might encounter timing problems if you have customized your server so that you are using
subsystems other than the IBM-supplied subsystems. Many subsystems are typically started by the IPL
startup program. However, if you are using customized subsystems that are not recognized by the IPL
startup program, they will not be automatically started at IPL. Your network communications fail
because these subsystems have not been started.
If these types of timing problems occur, you can automatically start the subsystems, the TCP/IP stack,
interfaces, and servers in the correct order by creating a customized IPL startup program. You might need
to put delays in the startup program to ensure that each step of the startup process is initiated at the
appropriate time. For example, the subsystems should be started before the TCP/IP stack, and the
interfaces should be started after the communications resources are available.
To change from using the default IPL startup program to using a customized startup program, follow
these steps:
1. Create a customized startup program. Things to consider when creating a new startup program:
Note: These steps are defined to ensure that all required resources are active before the next step.
v Start the subsystems.
v Allow delays after the subsystems start.
TCP/IP troubleshooting 75
v Use the Retrieve Subsystem Information (QWDRSBSD) API to ensure that the subsystems are
active. Although this API is not required, it can help you avoid timing problems.
v Start TCP/IP specifying STRSVR *NO, STRIFC *NO and STRPTPPRF(*NO).
Note: You will start TCP/IP for both IPv4 and IPv6 by performing this step. If you do not want to
start IPv6, specify STRIP6 (*NO) on the STRTCP command.
v Start the interfaces with STRTCPIFC *AUTOSTART. Remember that TCP/IP should vary on your
communication lines, controllers, and devices.
vAllow delays to ensure the required interfaces are active.
vStart the TCP/IP point-to-point session jobs with STRTCPPTP *AUTOSTART.
vStart the servers with STRTCPSVR *AUTOSTART.
vStart any other servers that are not started with the STRTCPSVR command. Use STRHOSTSVR
*ALL.
2. Test the customized startup program by calling the program. To properly test the program you need
to end TCP/IP and the subsystems. However, be aware this can terminate the connections that other
users are using. Plan accordingly to test when the system is dedicated to the test.
3. Change the QSTRUPPGM system value to point to your customized start-up program. It is not
recommended to directly change QSTRUP.
4. Change the IPL attribute to no longer start TCP/IP automatically when the system is started. To
change the IPL attribute, follow these steps:
a. At the command line, type CHGIPLA (Change IPL Attributes), and press F4.
b. For the Start TCP/IP prompt, type *NO. This prevents TCP/IP from starting at IPL, letting your
startup program control the startup.
To configure your configuration objects to vary on when TCP/IP starts, follow these steps:
1. At the command line, type WRKLIND for the line description, WRKNWSD for the network server
description, or WRKNWID for the network interface description, depending on the type of configuration
object you want to change.
2. Select option 2 (Change) in front of the object description you want to change, and press Enter.
3. For the Online at IPL prompt, type *NO, and press Enter.
If you are having problems communicating among partitions over a virtual Ethernet, you should verify
that your logical partitions are configured correctly. The partitions must be configured to be able to
communicate with one another. If the partition configuration is wrong, then your TCP/IP configuration
will not work even if you configured TCP/IP correctly.
To work with LPAR, you must have *SERVICE special authority. See the chapter on user profiles in
iSeries Security Reference for more information about this type of authority.
Remember these tips when troubleshooting problems that are specific to IPv6:
v Ensure that your Ethernet line is configured and active. To check the status of lines that are configured
on the system, follow these steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → Lines.
2. In the right pane, find the line that should be configured for IPv6 and check the Status column. If
the line does not appear in the list, you must configure a line for IPv6 either by manually
configuring interfaces on an existing line or by using IPv6’s Stateless Address Autoconfiguration
feature, or both.
v If your Ping to an IPv6 address was unsuccessful, verify the address state of both interfaces. Both
interfaces should have an address state of Preferred. If either the target or source interface is not in the
preferred state, then either choose other interfaces for the test or change the interfaces being used to
the correct status and address state. To verify the address state of the source interface, follow these
steps:
1. In iSeries Navigator, expand your system → Network → TCP/IP Configuration → IPv6 → Interfaces.
2. In the right pane, right-click the IP address associated with the interface, select Properties, and
select the Options page. This dialog allows you to view the preferred lifetime or valid lifetime for
the interface. Repeat these steps to check the state of the target interface address.
Related tasks
“Netstat” on page 2
Netstat is a tool for managing and monitoring the status of your system’s interfaces, routes, and
connections, and it is useful for troubleshooting TCP/IP problems. You can use Netstat whether you
are using IPv4 or IPv6 connectivity on the network.
“Ping” on page 7
You can use the Packet Internet Groper (Ping) function to test IP-level connectivity between two
TCP/IP-capable interfaces or systems.
“Trace route” on page 15
The trace route function allows you to trace the route of IP packets to a user-specified destination
system so you can locate the connectivity problem.
TCP/IP troubleshooting 77
“Communications trace” on page 16
You can use communications trace to determine whether your data is being transmitted correctly
across the network.
Configuring IPv6
The following advanced troubleshooting tools are typically used at the request of your service provider.
However, you should familiarize yourself with these tools, then work with your service provider to
maximize the benefits of these tools.
Note: If you are reporting your TCP/IP problem to your service provider, you might be asked to provide
a copy of the configuration files used for TCP/IP processing or a copy of the integrated file system
(IFS) files. Use their instructions for sending the files to your service provider.
To solve network problems by using the i5/OS performance tools, see the Performance topic.
To work with the Licensed Internal Code logs, you must have *SERVICE special authority. See the
chapter on user profiles in iSeries Security Reference for more information about this type of
authority.
The Trace Internal (TRCINT) command is used to collect data about the internal operation of the Licensed
Internal Code. Use TRCINT to debug a problem that you can re-create, but is not visible at the
application level. For example, you can use TRCINT to debug Licensed Internal Code in the TCP/IP
protocol stack and sockets.
To use the CL commands to perform the internal trace, you must have *SERVICE special authority, or be
authorized to the service trace function of i5/OS through iSeries Navigator. See the chapter on user
profiles in iSeries Security Reference for more information about this type of authority.
Related reference
Trace Internal (TRCINT) command
To work with the product activity log, you must have *SERVICE special authority. See the chapter on
user profiles in iSeries Security Reference for more information about this type of authority.
Use the product activity log to view error log data. Whenever a TCP/IP datagram is discarded because of
a protocol error, the TCP/IP Licensed Internal Code creates an entry in the product activity log.
You can view entries for discarded datagrams that are outbound or inbound:
v Outbound datagrams - For outbound TCP/IP datagrams, an error is reported to the user and the
outbound datagram is discarded. For example, you try to send a datagram over your X.25 connection,
but the connection fails.
v Inbound datagrams - Inbound datagrams cause an entry in the product activity log to be created when
both of these conditions are met:
– The Log protocol errors TCP/IP attribute is set to *YES.
– The datagram has failed one of the TCP/IP protocol validity tests specified in RFC 1122, causing the
system to discard it. (Silently discarded means the following: Discard the received datagram
without reporting an error to the originating host device.) Examples of such datagrams are those
with checksums or destination addresses that are not valid.
When a datagram is discarded, the IP and TCP or UDP datagram headers are logged in the detailed data
of the product activity log entry. The system reference code for these product activity log entries is 7004.
IOP dump
Dump an IOP when requested by your service provider.
Process dump
Dump a process when requested by your service provider.
These functions are typically used at the request of your service provider.
To use the CL commands to perform a dump, you must have authority to one of these IBM-supplied user
profiles:
v QPGMR
v QSYSOPR
v QSRV
v QSRVBAS
TCP/IP troubleshooting 79
See the chapter on user profiles in iSeries Security Reference for more information about these types
of authority.
You might be asked by your service provider to perform one of the following types of dumps. Click each
dump for step-by-step instructions:
This particular set of values is used to get a dump of the call stacks for all threads in the process. This is
most useful for multi-threaded jobs.
If you have determined that your problem lies within a specific application that you are running on
TCP/IP, then select the application for detailed troubleshooting information. If you do not find the
application in the list, perform a search for the application you need. Then, use the troubleshooting
information provided there.
The following information might help you understand troubleshooting problems related to specific
applications.
Domain Name System
This topic provides a flow chart for problem analysis and guides you through debugging
strategies for Domain Name System (DNS) problems.
File Transfer Protocol
This topic suggests solutions for File Transfer Protocol (FTP) problems and demonstrates the
server job log as a troubleshooting tool.
Point-to-Point Protocol
This topic offers solutions to common Point-to-Point Protocol (PPP) connection problems.
Post Office Protocol
This topic helps troubleshoot the Post Office Protocol (POP) server and other e-mail applications.
TCP/IP troubleshooting 81
82 System i: Networking TCP/IP troubleshooting
Appendix. Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that
only that IBM product, program, or service may be used. Any functionally equivalent product, program,
or service that does not infringe any IBM intellectual property right may be used instead. However, it is
the user’s responsibility to evaluate and verify the operation of any non-IBM product, program, or
service.
IBM may have patents or pending patent applications covering subject matter described in this
document. The furnishing of this document does not grant you any license to these patents. You can send
license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property
Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106-0032, Japan
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some
states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this
statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of
the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
| The licensed program described in this information and all licensed material available for it are provided
| by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement,
| IBM License Agreement for Machine Code, or any equivalent agreement between us.
Any performance data contained herein was determined in a controlled environment. Therefore, the
results obtained in other operating environments may vary significantly. Some measurements may have
been made on development-level systems and there is no guarantee that these measurements will be the
same on generally available systems. Furthermore, some measurements may have been estimated through
extrapolation. Actual results may vary. Users of this document should verify the applicable data for their
specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of
those products.
All statements regarding IBM’s future direction or intent are subject to change or withdrawal without
notice, and represent goals and objectives only.
This information contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs
in any form without payment to IBM, for the purposes of developing, using, marketing or distributing
application programs conforming to the application programming interface for the operating platform for
which the sample programs are written. These examples have not been thoroughly tested under all
conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these
programs.
Each copy or any portion of these sample programs or any derivative work, must include a copyright
notice as follows:
© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. ©
Copyright IBM Corp. _enter the year or years_. All rights reserved.
If you are viewing this information softcopy, the photographs and color illustrations may not appear.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other
countries, or both.
| Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
Personal Use: You may reproduce these publications for your personal, noncommercial use provided that
all proprietary notices are preserved. You may not distribute, display or make derivative works of these
publications, or any portion thereof, without the express consent of IBM.
Commercial Use: You may reproduce, distribute and display these publications solely within your
enterprise provided that all proprietary notices are preserved. You may not make derivative works of
these publications, or reproduce, distribute or display these publications or any portion thereof outside
your enterprise, without the express consent of IBM.
Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either
express or implied, to the publications or any information, data, software or other intellectual property
contained therein.
IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use of
the publications is detrimental to its interest or, as determined by IBM, the above instructions are not
being properly followed.
Appendix. Notices 85
You may not download, export or re-export this information except in full compliance with all applicable
laws and regulations, including all United States export laws and regulations.
Printed in USA