A fix is available
APAR status
Closed as program error.
Error description
. When the TCP Receive Buffer size being used for a connection (either selected by the application via a setsockopt() call setting SO_RCVBUF or by the configured TCPRCVBUFRSIZE) is larger than half of the configured TCPMAXRCVBUFRSIZE value, the advertised TCP Window size in window updates can be significantly larger than they should be. This can cause the remote system to send data beyond the correct window size. In the worst case, this can cause disruptions when this system is receiving high rates of inbound data and the associated application is not reading the data as fast as it is arriving. Other symptoms: - In a packet trace, the unsolicited window updates sent by this system when the application reads a significant amount of data will have a large jump in the window size. But the next ACK in response to data arrival will have a window size reduction that is larger than the amount of data that has arrived. - If the sender exceeds the actual window size (due to receiving the incorrectly large window), those packets will be discarded. A NETSTAT STATS PROTOCOL TCP command will show increasing 'Segments Completely After Window' values (and possibly 'Segments Partially After Window' values as well). A packet trace with DISCARD option enabled will show these with a 8195 discard code (TCP_OUTSIDE_WINDOW). Addional symptoms: CSM storage growth in 32K HVCOMMON storage. All CSM 32K HVCOMM storage was related to only one connection of the application.
Local fix
. Set the TCPMAXRCVBUFRSIZE to be at least twice what the affected application is using for the receive buffer size. A NETSTAT ALL command filtered to list only this one socket will show this size as the ReceiveBufferSize if the x'40' bit of the TcpPrf value is OFF. For FTP, the receive buffer size is 180K.
Problem summary
**************************************************************** * USERS AFFECTED: * * All users of the IBM Communication Server for z/OS Version 2 * * Releases 1 and 2 IP * **************************************************************** * PROBLEM DESCRIPTION: * * Incorrect TCP window size is advertized causing inbound data * * to be discarded, impacting throughput on the connection. * **************************************************************** * RECOMMENDATION: * * Apply PTF * **************************************************************** The TCP window size calculated when an application reads data from the connection recieve queue may not take into account unread data remaining on the recieve queue. The incorrectly calculated window is advertized in a window update ACK. The remote peer sends data to fill the advertized window. When the first data packet arrives a new window size is calculated correctly, taking into account unread data on the recieve queue. The newly calculated window will no longer accept the incoming data that was sent by the peer, cuasing packets to be dropped due to being outside the window. The dropped packets require the peer to retransmit when the window allows, which negatively impacts the throughput on the connection.
Problem conclusion
EZBTCFRD has been amended to take into account unread data on the receive queue when calculating the window size.
Temporary fix
Comments
APAR Information
APAR number
PI65912
Reported component name
TCP/IP V3 MVS
Reported component ID
5655HAL00
Reported release
220
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-07-15
Closed date
2016-09-22
Last modified date
2017-01-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI40995 UI40996
Modules/Macros
EZBTCFRD
Fix information
Fixed component name
TCP/IP V3 MVS
Fixed component ID
5655HAL00
Applicable component levels
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"220"}]
Document Information
Modified date:
10 September 2020