A fix is available
APAR status
Closed as program error.
Error description
While attempting to transfer very large monitor data files from one z/VM system to another, the connection ends up getting aborted after exactly one hour. To both sides, it looks like the other side aborted the connection. The messages that appear on the FTP client side look like this: . 229 Entering Extended Passive Mode (|||20476|) >>>STOR /ZVMSTATS/monwrite/DIETVM1.D131010.MONDATA.F4096 150 Connection accepted 1359872 bytes transferred. ..... 564158464 bytes transferred. 567189504 bytes transferred. FSENDresponse note shows error: Foreign host aborted the connection error in SendToTcp Foreign host aborted the connection
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of the z/VM FTP client and server * **************************************************************** * PROBLEM DESCRIPTION: * **************************************************************** * RECOMMENDATION: APPLY PTF * **************************************************************** While attempting to transfer very large files from one z/VM system to another, the connection ends up getting aborted after exactly one hour. To both sides, it looks like the other side aborted the connection. The messages that appear on the FTP client side look like this: . 229 Entering Extended Passive Mode (|||20476|) >>>STOR /ZVMSTATS/monwrite/DIETVM1.D131010.MONDATA.F4096 150 Connection accepted 1359872 bytes transferred. ..... 564158464 bytes transferred. 567189504 bytes transferred. FSENDresponse note shows error: Foreign host aborted the connection error in SendToTcp Foreign host aborted the connection
Problem conclusion
If FTP control connection is idle for a certain time, the connection will be shut down. VM FTP need to provide keepalive support for both z/VM FTP client and server, and make use of the TCP/IP server's keepalive mechanism to avoid timing out an idle control connection. . Procudure DoConnect() in part FTPROCS PASCAL was updated to check the FTPKeepalive setting to determine whether to enable the keepalive mechanism for the FTP client when setting up a control connection. Procudure DoLocSite() in part FTCVMSUB PASCAL was updated to add FTPKEEPALIVE ON|OFF options on the LOCSITE FTP subcommand which allow the FTP client to enable/disable the keepalive mechanism for the control connection. In order to support the 'FTPKEEPALIVE ON|OFF' statement in the FTC DATA file, prodecure ReadVMFtpData() in part FTBVMSUB PASCAL was updated to set FTPKeepalive status on the Client side. FTSRVPA PASCAL was updated to support the 'FTPKEEPALIVE ON|OFF' statement in the SRVRFTP CONFIG file to set FTPKeepalive status on the Server side. FTMAIN PASCAL was updated to set the default value of FTPKeepalive FTSEVEN PASCAL was updated to enable the keepalive mechanism for the FTP server's control connections and to support the dynamic changes to the FTPKEEPALIVE setting through the SMSG command. FTSVMSUB PASCAL was updated to display the FTPKeepalive setting for the FTP server. New variables were added in FTUSER COPY and FTSRVCO COPY to refelect the status of FTPkeepalive for both the FTP client and server sides. MSFTP MSGS and MSFTPC MSGS were updated to add new messages related to FTPKEEPALIVE LOCSITE HELPFTP was updated to illustrate the new LOCSITE options; FTP SDATA was updated to describe how to configure the FTPKEEPALIVE statement in FTP DATA file; SRVRFTP SCONFIG was updated to describe how to configure the FTPKEEPALIVE statement in SRVRFTP CONFIG file; SMSG HELPFTP file was updated to illustrate the new SMSG options. --------------------------------------------------------------- The following documentations need to be updated. --------------------------------------------------------------- A new description about FTPKEEPALIVE Statement will be added to Chapter 6 (Configuring the FTP Server) of TCP/IP Planning and Customization (SC24-6238-05) as follows: (1)Add FTPKEEPALIVE Statement at Page 68, FTP Server Configuration File Statements FTPKEEPALIVE Statement Purpose The FTPKEEPALIVE statement defines whether the FTP server will use the TCP/IP stack's keepalive timer value for control connections. '---FTPKEEPALIVE OFF------------------' >>---.-------------------------------------.------------->< '---FTPKEEPALIVE-.-ON----.------------' '-OFF---' Operands ON Specifies that the FTP server should make use of the TCP/IP server's keepalive mechanism to avoid timing out idle control connections. The frequency with which packets are sent is determined by the KEEPALIVEOPTIONS statement in the TCP/IP server's configuration file. OFF Specifies that the FTP server should allow idle control connections to time out. (2) Add FTPKEEPALIVE at page 83, SMSG Interface to the FTP Server >>--SMSG--server_id--.--process_name---------------------.-->< | ............. | |--FTPkeepalive--.--ON-----.--------| | '--OFF----' | | ............. | | '--*-------------' | |--Query----|----------------|------| | | ............ | | | |--FTPkeepalive--| | FTPkeepalive ON | OFF Specifies whether or not the FTP server should make use of the TCP/IP server's keepalive mechanism to avoid timing out idle control connections. The frequency with which packets are sent is determined by the KEEPALIVEOPTIONS statement in the TCP/IP server's configuration file. Note: Dynamic changes to the FTPKEEPALIVE setting will only affect new connections. Query FTPkeepalive Returns the setting (ON or OFF) that is in effect for the FTP keepalive setting. --------------------------------------------------------------- A new description about the FTPKEEPALIVE Statement will be added to Chapter 2 (Transferring Files Using FTP), Section 2.4 (FTP DATA file Statements) of TCP/IP User's Guide (SC24-6240-05) as follows: (1)Add FTPKEEPALIVE Statement to Page 34 FTPKEEPALIVE Statement The FTPKEEPALIVE statement specifies whether the FTP client will use the TCP/IP stack's keepalive timer value for control connection. '---FTPKEEPALIVE OFF------------------' >>---.-------------------------------------.------------->< '---FTPKEEPALIVE---ON-----------------' '-OFF-------' Operands ON Specifies that the FTP client should make use of the TCP/IP server's keepalive mechanism to avoid timing out an idle control connection. The frequency with which packets are sent is determined by the KEEPALIVEOPTIONS statement in the TCP/IP server's configuration file. OFF Specifies that the FTP client should allow idle control connections to time out. OFF is the default. (2) Add LOCSITE FTPKEEPALIVE at page 73 >>--LOCSIte--.-Varrecfm----------------.-------------------->< |-......... | |-NOEPsv4-----------------| '-FTPkeepalive-.-ON--.----' '-OFF-' Purpose Use the LOCSITE subcommand to change the record format and record length used for files created on the local host, or to change how secure connections should be handled based certificate verification results, or to change how the connection should be established with the server for data transfer, or to set whether client will send keepalive packets for control connection periodically. FTPkeepalive ON Specifies that the FTP client should make use of the TCP/IP server's keepalive mechanism to avoid timing out an idle control connection. The frequency with which packets are sent is determined by the KEEPALIVEOPTIONS statement in the TCP/IP server's configuration file. FTPkeepalive OFF Specifies that the FTP client should allow idle control connections to time out. --------------------------------------------------------------- New FTP Messages will be documented in Chapter 2 (FTP MEssages) of TCP/IP Messages and Codes (GC24-6237-05) as follows: FTP Server Numbered Messages (1) DTCFTS0421E Setting not specified for FTPKEEPALIVE statement Explanation: The FTPKEEPALIVE statement requires a setting to be specified; Valid settings are ON and OFF. System action: Server initialization stops. User response: Correct the FTPKEEPALIVE configuration file statement and restart the FTP server. Module: FTSRVPA PASCAL Severity: Error Procedure Name: Error (2) DTCFTS0422E FTPKEEPALIVE setting <setting> is not valid Explanation: The indicated setting is not valid for the FTPKEEPALIVE statement. Valid settings for the FTPKEEPALIVE statement are ON and OFF. System action: Server initialization stops. User response: Correct the FTPKEEPALIVE configuration file statement and restart the FTP server. Module: FTSRVPA PASCAL Severity: Error Procedure Name: Error (3) DTCFTS0423I Warning: Unable to set KEEPALIVE option for FTP control connection: <result> Explanation: FTP server failed to turned on TCP/IP server's keepalive mechanism for current control connection. System action: Program execution continues User response: Use the specified result to determine an appropriate action. If necessary, call the IBM Support Center for assistance. Module: FTSEVEN PASCAL Severity: Warning Procedure Name: NewConnectionEvent (4) DTCFTS0424I KEEPALIVE has been enabled Explanation: FTP server has turned on TCP/IP server's keepalive mechanism to avoid timing out idle control connections. System action: Program execution continues User response: None Module: FTSEVEN PASCAL Severity: Informational Procedure Name: NewConnectionEvent (5) DTCFTS0425I Keepalive <setting> for control connections Explanation: The specified FTP keepalive mechanism will be used when a control connection is established with FTP server. Please refer to the Configuring the FTP Server chapter in z/VM: TCP/IP Planning and Customization for more information System action: Server execution continues User response: None Module: FTSEVEN PASCALFTSVMSUB PASCAL Severity: Informational Procedure Name: DoFTPkeepalive, DisplaySettings (6) DTCFTS2589I FTPKEEPALIVE setting <setting> is not valid Explanation: The indicated setting is not valid for the FTP server SMSG FTPKEEPALIVE command. Valid keepalive mechanism settings are ON and OFF. System action: Program execution continues. User response: Correct the FTP server SMSG FTPKEEPALIVE command Module: FTSEVEN PASCAL Severity: Informational. Procedure Name: DoFTPkeepalive (7) DTCFTS8444I FTPKEEPALIVE setting not specified Explanation: A setting was not specified on the FTP server SMSG FTPKEEPALIVE command. The setting must be specified when the FTP server SMSG FTPKEEPALIVE command is used System action: Server execution continues. User response: Reissue the FTP server SMSG FTPKEEPALIVE command specifying a valid setting. Module: FTSEVEN PASCAL Severity: Informational Procedure Name: DoFTPkeepalive ------------------------------------------------- FTP Server Unnumbered Messages (1) FTPKEEPALIVE setting <setting> is not valid Explanation: The indicated setting is not valid for the FTP server SMSG FTPKEEPALIVE command. Valid keepalive mechanism settings are ON and OFF. System action: The keepalive mechanism setting is not changed. User response: Correct the error and reissue the command Module: FTSEVEN PASCAL Severity: Error. Procedure Name: DoFTPkeepalive (2) Keepalive <setting> for control connections Explanation: The FTP server's keepalive mechanism setting for control connections is set to the specified mechanism. Refer to z/VM: TCP/IP Planning and Customization for more information. System action: Server execution continues. User response: None Module: FTSEVEN PASCAL Severity: Informational. Procedure Name: DoQueryFtpkeepalive, DoFTPkeepalive (3) FTPKEEPALIVE setting not specified Explanation: A setting was not specified on the FTP server SMSG FTPKEEPALIVE command. The setting must be specified when the FTP server SMSG FTPKEEPALIVE command is used. System action: Server execution continues. User response: Correct the error and reissue the command Module: FTSEVEN PASCAL Severity: Error. Procedure Name: DoFTPkeepalive (4) FTPKEEPALIVE setting <setting> is not valid Explanation: The indicated setting is not valid for the FTP server SMSG FTPKEEPALIVE command. Valid settings for the FTP server SMSG FTPKEEPALIVE command are ON and OFF. System action: Server execution continues. User response: Correct the error and reissue the command Module: FTSEVEN PASCAL Severity: Error. Procedure Name: DoFTPkeepalive ------------------------------------------------- FTP Client Unnumbered Messages (1) FTPKEEPALIVE value <value> is not valid. Default value used. Explanation: The value for FTPKEEPALIVE in the FTP DATA file is not valid. Valid values are ON and OFF. System action: FTP client will use the default setting for FTPKEEPALIVE. Processing continues normally. User response: If necessary, terminate the FTP session and correct the FTPKEEPALIVE keyword value in the FTP DATA file. Module: FTBVMSUB PASCAL Severity: Informational. Procedure Name: ReadVMFtpData (2) KEEPALIVE has been enabled for control connection Explanation: FTP client has turned on TCP/IP server's keepalive mechanism to avoid timing out on idle control connection. System action: Program execution continues User response: None Module: FTPROCS PASCAL Severity: Informational Procedure Name: DoConnect (3) Warning: Unable to set KEEPALIVE option for FTP control connection: <result> Explanation: FTP client failed to turned on TCP/IP server's keepalive mechanism for current control connection. System action: Program execution continues User response: Use the specified result to determine an appropriate action. If necessary, call the IBM Support Center for assistance. Module: FTCVMSUB PASCAL, FTPROCS PASCAL Severity: Warning Procedure Name: DoLocSite, DoConnect (4) Warning: Unable to disable KEEPALIVE option for FTP control connection: <result> Explanation: FTP client failed to turned off TCP/IP server's keepalive mechanism for current control connection. System action: Program execution continues User response: Use the specified result to determine an appropriate action. If necessary, call the IBM Support Center for assistance. Module: FTCVMSUB PASCAL Severity: Warning Procedure Name: DoLocSite
Temporary fix
Comments
APAR Information
APAR number
PI08085
Reported component name
TCP/IP V2 FOR V
Reported component ID
5735FAL00
Reported release
620
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-12-13
Closed date
2014-02-19
Last modified date
2015-02-16
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI15480 UI15481
Modules/Macros
FTBVMSUB FTCVMSUB FTMAIN FTP FTPROCS FTSEVEN FTSRVCO FTSRVPA FTSVMSUB FTUSER LOCSITE MSFTP MSFTPC SMSG SRVRFTP
| GC24623705 | SC24624005 | SC24623805 |
Fix information
Fixed component name
TCP/IP V2 FOR V
Fixed component ID
5735FAL00
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.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27N","label":"APARs - VM\/ESA environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]
Document Information
Modified date:
16 February 2015