gtpm2m13Migration Guide: Program Update Tapes

Transmission Control Protocol/Internet Protocol (TCP/IP) Full-Duplex Socket Support (APAR PJ23180)

The following section discusses the migration considerations for TCP/IP full-duplex socket support.

Prerequisite APARs

See the APEDIT for APAR PJ23180 for information about prerequisite APARs.

Be sure TCP/IP offload support (APAR PJ21791) is applied before applying TCP/IP full-duplex socket support (APAR PJ23180). See Transmission Control Protocol/Internet Protocol (TCP/IP) Offload Support (APAR PJ21791) for more information about TCP/IP offload support (APAR PJ21791).

Functional Overview

TCP/IP full-duplex socket support is an enhancement of TCP/IP offload support, which is described in Transmission Control Protocol/Internet Protocol (TCP/IP) Offload Support (APAR PJ21791) and provides these functions.

Full-Duplex Socket Support or Multiple Entry Control Block (ECB) Support, which allows another socket application to issue a different type of function call and the call is not blocked even if a specific type of function call is outstanding for a particular socket descriptor. A list of these function calls follows here:

For example, if a socket application program issues a send type function call for a particular socket, this does not block another socket application program from issuing a receive type function call from a different entry control block (ECB) for the same socket. Therefore, multiple socket application programs can access the same socket at the same time, allowing full-duplex support between socket application programs.

Socket Cycle-Up User Exit in which the socket cycle-up user exit is entered only once during system cycle-up and allows you to activate socket server applications automatically during system cycle-up. The socket cycle-up user exit lets you maintain your user exits more easily when you have more than one TCP/IP offload device defined in your TPF 4.1 system. In addition, this user exit is suitable for applications that issue bind socket API function calls to bind all network interfaces in the internet domain.

Internet Protocol (IP) Table Expansion in which the Internet Protocol (IP) table is expanded to allow you to define 81 TCP/IP offload devices. See TPF Transmission Control Protocol/Internet Protocol for information about TCP/IP control blocks and storage considerations.

Architecture

Using TCP/IP full-duplex socket support, socket application programs can access the same socket without being blocked. However, each socket application program must use different function calls from a discrete set of functions. See Functional Overview for a list of these function calls.

Operating Environment Requirements and Planning Information

There are no changes.

Interface Changes

The following section summarizes interface changes.

C/C++ Language

The following section summarizes C/C++ language changes. This information is presented in alphabetic order by the type of C/C++ language information. See the TPF C/C++ Language Support User's Guide and TPF Application Programming for more information about the C/C++ language. See TPF Transmission Control Protocol/Internet Protocol for more information about the C/C++ language functions provided with the TCP/IP support.

Build Scripts

Table 188 summarizes changes to the build scripts used by the build tool. This information is presented in alphabetic order by the name of the build script.

Table 188. Changes to Build Scripts for TCP/IP Full-Duplex Socket Support

Build Script Type New, Changed, or No Longer Supported? Description of Change
CLCVBS DLM New Build script for the CLCV DLM.

Dynamic Load Module (DLM) Stubs

Table 189 summarizes changes to the dynamic load module (DLM) stubs. This information is presented in alphabetic order by the name of the DLM stub. See TPF Application Programming for more information about the DLM stubs.

Table 189. Changes to Dynamic Load Module (DLM) Stubs for TCP/IP Full-Duplex Socket Support

DLM Stub New, Changed, or No Longer Supported?
CLCV New

General Use C Language Header Files

Table 190 summarizes the general use C language header file changes. This information is presented in alphabetic order by the name of the general use C language header file.

General use means these header files are available for your use.

Table 190. Changes to General Use C Language Header Files for TCP/IP Full-Duplex Socket Support

General Use C Language Header File TARGET (TPF) ISO-C New, Changed, or No Longer Supported? Do You Need to Recompile Segments?
c$eb0eb.h   X Changed No
c$isccdt.h   X Changed No
c$iscfdt.h   X Changed No
c$iscipt.h   X Changed No
c$isclnt.h   X Changed No
c$isiucv.h   X Changed No
c$sthr.h   X New Not Applicable
claw.h   X Changed No

Implementation-Specific C/C++ Language Header Files (IBM Use Only)

There are no changes.

Library Interface Scripts

There are no changes.

Library Members (Object Files)

Table 191 summarizes the library member (object file) changes. This information is presented in alphabetic order by the name of the library member (object file).

Table 191. Changes to Library Members (Object Files) for TCP/IP Full-Duplex Socket Support

Library Member (Object File) Library Module Name New, Changed, or No Longer Supported? Type Description of Change
C511 COMX Changed C Language Updated to provide multiple ECB support.
C512 COMX Changed C Language Updated to provide multiple ECB support.
C513 COMX Changed C Language Updated to provide multiple ECB support.
C514 COMX Changed C Language Updated to provide multiple ECB support.
C515 COMX Changed C Language Updated to provide multiple ECB support.
C516 COMX Changed C Language Updated to provide multiple ECB support.
C517 COMX Changed C Language Updated to provide multiple ECB support.
C518 COMX Changed C Language Updated to provide multiple ECB support.
C519 COMX Changed C Language Updated to provide multiple ECB support.
C520 COMX Changed C Language Updated to provide multiple ECB support.
C524 COMX Changed C Language Updated to provide multiple ECB support.
C525 COMX Changed C Language Updated to provide multiple ECB support.
C528 COMX Changed C Language Updated to provide multiple ECB support.
C529 COMX Changed C Language Updated to provide multiple ECB support.
C530 COMX Changed C Language Updated to provide multiple ECB support.
C531 COMX Changed C Language Updated to provide multiple ECB support.
C532 COMX Changed C Language Updated to provide multiple ECB support.
C533 COMX Changed C Language Updated to provide multiple ECB support.
C534 COMX Changed C Language Updated to provide multiple ECB support.
C537 COMX Changed C Language Updated to provide multiple ECB support.
C539 COMX Changed C Language Updated to provide multiple ECB support.
C540 COMX Changed C Language Updated to provide multiple ECB support.
C541 COMX Changed C Language Updated to provide multiple ECB support.

Link-Edited Modules

There are no changes.

Members (Object Files)

Table 192 summarizes changes to members (object files). This information is presented in alphabetic order by the name of the member (object file).

Notes:

  1. You must recompile or reassemble a member (object file) if it has changed.

  2. You must prelink and link a dynamic load module (DLM) if it has changed.

Table 192. Changes to Members (Object Files) for TCP/IP Full-Duplex Socket Support

Member (Object File) DLM/DLL New, Changed, or No Longer Supported? Type Description of Change
CLCA CLCA Changed C Language Provides support for the socket cycle-up user exit.
CLCE CLCE Changed C Language Posts events associated with each device of the file descriptor when the TCP/IP offload device is deactivated.
CLCF CLCB Changed C Language Posts events associated with each file descriptor when the system is cycling down to the 1052 state.
CLCK CLCK Changed C Language Handles Internet Protocol (IP) table expansion.
CLCR CLCR Changed C Language Posts events associated with a file descriptor when a system error occurs on the socket.
CLCV CLCV New C Language Contains the socket cycle-up user exit.
CLZD CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZE CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZF CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZG CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZJ CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZK CLZK Changed C Language Corrects parsing of the ZCLAW commands.
CLZL CLZL Changed C Language Corrects parsing of the ZCLAW commands.
CLZK CLZK Changed C Language Corrects parsing of the ZCLAW commands.

Object Code Only (OCO) Stubs

There are no changes.

Configuration Constant (CONKC) Tags

There are no changes.

Control Program Interface (CINFC) Tags

There are no changes.

Copy Members

Table 193 summarizes copy member changes. This information is presented in alphabetic order by the name of the copy member.

Table 193. Changes to Copy Members for TCP/IP Full-Duplex Socket Support

Copy Member Type CSECT Where Copy Member Is Located New, Changed, or No Longer Supported? Description of Change
CLWP Control Program CCLAW3 Changed Discards responses to socket application programming interface (API) requests that have timed out.
CLWX Control Program CCLAW3 Changed Allows ECBs to hold records when an ECB is suspended during CLAW API processing.
CLW8 Control Program CCLAW3 Changed Picks up the I-stream number from the IUCV header for most socket API responses during RECEIVE complete subrequest processing.
CT15 Control Program CCCTIN Changed Recalculates sizes of CLAW areas to account for new socket thread support.

Fixed File Records

There are no changes.

Macros

The following section summarizes the macro changes. This information is presented in alphabetic order by the type of macro.

Advanced Program-to-Program Communications (APPC) Macros

There are no changes.

Communication Macros and Statements

Table 194 summarizes changes to the communication macros and statements. This information is presented in alphabetic order by the name of the communication macro or statement.

Table 194. Changes to Communication Macros and Statements for TCP/IP Full-Duplex Socket Support

Communication Macro or Statement New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
SNAKEY Changed Yes

Data Macros

Table 195 summarizes the data macro changes. This information is presented in alphabetic order by the name of the data macro.

Table 195. Changes to Data Macros for TCP/IP Full-Duplex Socket Support

Data Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs Using This Data Macro?
CK2SN Changed No
EB0EB Changed No
ICLAWP Changed No
ICLCFG Changed No
ISCDT New Not Applicable
ISCFDT Changed No
ISIPT New Not Applicable
ISIUCV Changed No
ISTHR New Not Applicable

General Macros

There are no changes.

Selected Equate Macros

Table 196 summarizes the selected equate macro changes. This information is presented in alphabetic order by the name of the selected equate macro.

Table 196. Changes to Selected Equate Macros for TCP/IP Full-Duplex Socket Support

Selected Equate Macro New, Changed, or No Longer Supported? Do You Need to Reassemble Programs?
CLAWC Changed No
ECBEQ Changed No

Structured Programming Macros (SPMs)

There are no changes.

System Initialization Program (SIP) Skeleton and Internal Macros (Inner Macros)

Table 197 summarizes the system initialization program (SIP) skeleton and internal macro changes. This information is presented in alphabetic order by the name of the SIP skeleton and internal macro. See TPF System Generation for a complete description of the SIP skeleton and internal macros. If the SIP skeleton and internal macro (inner macro) is changed, you must reassemble the SIP Stage I deck and run the appropriate job control language (JCL) jobs from the SIP Stage II deck.

Table 197. Changes to SIP Skeleton and Internal Macros for TCP/IP Full-Duplex Socket Support

SIP Skeleton and Internal Macro New, Changed, or No Longer Supported?
SPPGML Changed

System Initialization Program (SIP) Stage I Macros and Statements

There are no changes.

System Initialization Program (SIP) Stage II Macros

Table 198 summarizes system initialization program (SIP) Stage II macro changes. This information is presented in alphabetic order by the name of the SIP Stage II macro. See TPF System Generation for a complete description of the SIP Stage II macros. If IBMPAL is changed, you must run the system allocator (SALO) and load the new program allocation table (PAT) to the TPF 4.1 system.

Table 198. Changes to SIP Stage II Macros for TCP/IP Full-Duplex Socket Support

SIP Stage II Macro New, Changed, or No Longer Supported?
IBMPAL Changed

System Communication Keypoint (SCK) Generation Macros

There are no changes.

System Macros

There are no changes.

System Macros (IBM Use Only)

There are no changes.

Segments

Table 199 summarizes segment changes. This information is presented in alphabetic order by the name of the segment.

Table 199. Changes to Segments for TCP/IP Full-Duplex Socket Support

Segment Type Link-Edit Module (Where Offline Segment Is Linked) New, Changed, or No Longer Supported? Description of Change
CLC0 Real-Time Assembler Not Applicable Changed Socket/CLAW Restart; initializes tables and blocks.

System Equates

There are no changes.

User Exits

Control Program (CP) User Exits and ECB User Exits summarize the control program (CP) and ECB user exit changes. See TPF System Installation Support Reference for a complete description of all user exits.

Control Program (CP) User Exits

There are no changes.

ECB User Exits

This information is presented in alphabetic order by the name of the function.

Table 200. Changes to ECB User Exits for TCP/IP Full-Duplex Socket Support

Function User Exit Activated In User Exit Program New, Changed, or No Longer Supported? Description of Change
Socket Cycle-Up User Exit CLCA CLCV New Allows you to activate all of your socket server applications at one time.

Functional and Operational Changes

There are no changes.

Performance or Tuning Changes

There are no changes.

Storage Considerations and Changes

Use the SNAKEY macro to define the size of the main storage variables used by the TCP/IP offload support. The maximum value that you can define for the number of TPF Internet Protocol (IP) entries using the CLAWIP parameter has increased to 6804. See TPF Transmission Control Protocol/Internet Protocol for information about determining values for these parameters.

System Initialization Program (SIP) and System Generation Changes

There are no changes.

Loading Process Changes

There are no changes.

Online System Load Changes

There are no changes.

Publication Changes

Table 201 summarizes changes to the publications in the TPF library. This information is presented in alphabetic order by the publication title. See the TPF Library Guide for more information about the TPF library.

Table 201. Changes to TPF Publications for TCP/IP Full-Duplex Socket Support

Publication Title Softcopy File Name Description of Change
TPF ACF/SNA Network Generation GTPACF05 Updated to reflect changes in the SNAKEY macro.
TPF Library Guide GTPDOC05 Updated with definitions for new terminology in the master glossary.
TPF Migration Guide: Program Update Tapes GTPMIG05 Updated with migration considerations for TCP/IP full-duplex socket support.
TPF Operations GTPOPR05 Updated with information about displaying the values set by the SNAKEY macro.
TPF System Installation Support Reference GTPINR05 Updated to document the new socket cycle-up user exit.
TPF Transmission Control Protocol/Internet Protocol GTPCLW01 Updated with information about the new value for the CLAWIP parameter, calculating the total number of bytes required by the TPF 4.1 system for control block structures, user exits, and multiple ECB support.

Host System Changes

There are no changes.

Application Programming Interface (API) Changes

There are no changes.

Database Changes

There are no changes.

Feature Changes

There are no changes.

Installation Validation

There are no changes.

Migration Scenarios

Use the following procedure to install the TCP/IP full-duplex socket support in your TPF 4.1 system.

  1. Ensure TCP/IP offload support (APAR PJ21791) is installed:
  2. Update the socket cycle-up user exit (CLCA). See TPF System Installation Support Reference for more information about this user exit.
  3. Use the SNAKEY macro to define the following information in keypoint record 2 (CTK2):

    See TPF Transmission Control Protocol/Internet Protocol for information about the values to specify for these parameters. See TPF ACF/SNA Network Generation for more information about the SNAKEY macro.

  4. Load the updated keypoint record 2 (CTK2) to a processor in the TPF 4.1 system.
  5. Recompile all changed ISO-C DLMs, prelink, link-edit, and reload. See Interface Changes for more information about the updated ISO-C programs.
  6. Run the system allocator (SALO) to include the new CLCV segment.
  7. Reassemble the CCLAW3 CSECT, CCCTIN.
  8. Link-edit the control program (CPS0).
  9. Link-edit the COMX library because of changes to the library members.
  10. Reassemble the new assembler segments found in Interface Changes.
  11. Perform an initial program load (IPL).