TCP/IP SKT protocol (0x0068nnnn)
These messages describe errors that are related to the TCP/IP SKT protocol in the Classic virtual host services layer.
TCP/IP errors are reported by using the 0x68 resource set identifier.
Many of the 0x68 error codes also include errno information that is returned by the TCP/IP stack and can be used to identify the underlying reason that the TCP/IP operation failed. A TCP/IP UNIX reason code might also be included when the error is detected on z/OS® or an errno2 might be included when the error is detected in a non-z/OS environment.
When written to the diagnostic log, the data components are used to report the errno and errno2/UNIX reason code. In a Classic CDC, IMS Replication, or VSAM Replication environment, the 0x68 messages are often reported in source/target server event messages where the specific return code is 6800nn and the specific return codes are the errno and errno2 or UNIX reason code.
A good example of one of these messages is as follows:
CECC0012E The source server could not establish a connection to the target server for subscription SUB1 using target URL SKT/1.2.3.4/5.
The error message code is 680010, with the specific return codes (6F,744C7246).
When this message is reported on z/OS, you can use the UNIX System Services shell command bpxmtext (display reason code text) to obtain information about the error that is being reported. The following sample JCL shows how to execute this command from JCL.
//GETTCPER JOB (3WCA000),'GET TCP/IP ERROR',MSGCLASS=H,
// REGION=2M,CLASS=A,NOTIFY=&SYSUID
//ISPFPROC EXEC PGM=IKJEFT01,DYNAMNBR=30
//SYSTSPRT DD SYSOUT=*
//SYSEXEC DD DISP=SHR,DSN=SYS1.SBPXEXEC
//SYSTSIN DD DATA,DLM='*/'
BPXMTEXT ERRNO
BPXMTEXT UNIXCODE
*/
Replace the ERRNO with the first special return code value and the UNIXCODE with the second value and submit the job. The results for the error that is reported above are shown below:
READY
BPXMTEXT 6F
111(6Fx) EACCES: Permission is denied
READY
BPXMTEXT 744C7246
TCPIP
JRPortAccessAuth: User does not have authority to access this port.
Action: Specify a valid port.
READY
END
The SYSEXEC DD statement references the system library where BPXMTEXT is located. You can also execute BPXMTEXT from the ISPF command shell, IPCS, and/or UNIX System Services. For additional information about using this command, see bpxmtext - Display reason code text.
In non-z/OS environments, convert the errno to a decimal number and review that environment’s errno.h documentation to determine what the error is. For example, in a Linux® environment where the standard C/C++ compiler was installed by using the following command, the command would return information about a connection failure that reports a 6F errno:
cpp -dM /usr/include/errno.h | grep '111'
Where cpp is the C pre-processor and -dM generates a list of the #defines in the macros, then that output is piped to grep to look for the code in decimal.
You should always go through the exercise of identifying the underlying TCP/IP error condition for connection failures (0x00680010) because these errors are typically caused by providing invalid information or indicate that the environment was not properly configured. Identifying why a send (0x00680018) or receive (0x00680017) failed can assist in determining why a previously valid session is no longer valid.
In cases where the reason for the failure is not obvious, you should contact your network administrator and provide the errno and UNIX reason code information and they can advise you whether to contact IBM® Software Support.