Recommendations for TCPSRCVB and TCPSSNDB XCOM default parameters
search cancel

Recommendations for TCPSRCVB and TCPSSNDB XCOM default parameters

book

Article ID: 24514

calendar_today

Updated On:

Products

XCOM Data Transport XCOM Data Transport - z/OS

Issue/Introduction

XCOM for Z/OS allows specification of default parameters TCPSRCVB and TCPSSNDB in the TYPE=CONFIG member. This article describes the effect of these parameters.

Environment

XCOM™ Data Transport® for z/OS

Resolution

The values specified in these parameters are passed unchanged to the TCP/IP stack to set the size of the TCP/IP send and receive windows. Technically speaking, they are passed as options SO_RCVBUF and SO_SNDBUF in a call to setsockopt() call.

If these values are not specified, the TCP/IP stack assigns the defaults set by options TCPRCVBUFRSIZE and TCPSENDBFRSIZE in the TCPCONFIG statement in the TCP/IP profile, which is one of the TCP/IP configuration datasets . The specified values cannot exceed the maximum set in TCPMAXRCVBUFRSIZE and TCPMAXSENDBUFRSIZE values (which are also specified in the TCPCONFIG statement). If they do, the setsockopt() call fails and the value is left to its default as defined in the TCP/IP profile.
 
The storage buffers set by these options are NOT obtained from the XCOM address space. They are managed by the TCP/IP stack. Therefore, the XCOM started task cannot be directly impacted in terms of storage by changing  these parameters.
 
It's not possible to make a recommendation about TCPSRCVB and TCPSSNDB as they depend on multiple factors, both in the local and the remote TCP/IP stacks. Also, the best value might vary depending on the parameters for each particular transfer. Moreover, these parameters apply to each and every connection (both incoming and outgoing) established by XCOM. This is because they are global parameters and cannot be set for a particular transfer.

Maybe the best approach would be to let them to be zero and use the defaults set by the TCP/IP stack. Note that the stack might be configured to dynamically adjust the send and receive windows depending on the traffic for each particular connection. If this were the case, forcing a particular window size would be a bad choice.