Skip to main content

     
  TPF : Library : Newsletters

Enhancements to TCP/IP Middleware

Dan Yee, IBM TPF Development

In the previous issue of the TPF Systems Technical Newsletter, I provided information about the new TPF Transmission Protocol/Internet Protocol (TCP/IP) middleware that was available with APAR PJ26161 on (PUT) 10. The middleware, which consisted of Mapping of Airline Traffic over Internet Protocol (MATIP) and IP Bridge support, enables you to migrate your message traffic from a legacy network, using old equipment and protocols such as the 3705 controller and synchronous link control (SLC), to an IP network. APAR PJ26693 on PUT 11 enhances the MATIP and IP Bridge support provided in PUT 10, so it is important that you take note of the enhancements mentioned in this article if you are using the middleware now or plan to do so in the future. Most of the enhancements described in this article pertain only to MATIP support, so those only associated with MATIP are referred to as MATIP enhancements as opposed to MATIP and IP Bridge enhancements.

Support of TPF TCP/IP Native Stack

The MATIP and IP Bridge support provided with APAR PJ26161 will only run with TPF TCP/IP offload support. If you are planning to run MATIP or IP Bridge support with the TPF TCP/IP native stack support provided with APAR PJ26683, you must install the MATIP and IP Bridge enhancements provided in APAR PJ26693. With the new PUT 11 code, you will be able to run MATIP and IP Bridge support with either TPF offload or native stack support.

New Host Name Support

APAR PJ26161 enabled you to start a MATIP session for a particular line number, interchange address, and terminal address (LNIATA) as long as you associated an IP address with the LNIATA by using the ZMATP DEFINE functional message. With MATIP enhancements, that association no longer can be made with the ZMATP DEFINE functional message. You must now enter a host name with the ZMATP DEFINE functional message and use the new MATIP Host Name user exit to associate the LNIATA with the host name. The host name you enter with a ZMATP DEFINE functional message is saved in a TPF collection support (TPFCS) database and is copied to the new MATIP host name table in system heap storage whenever MATIP is started at or above CRAS state. When your application starts a new MATIP session with a ROUTC macro, TPF MATIP intercepts the ROUTC macro and passes the LNIATA associated with ROUTC to the Host Name user exit. The user exit finds the host name associated with the LNIATA in a table you build and then searches the MATIP host name table for the host name. Sample code is provided in the user exit to enable you to use a hashing function to find the host name in the MATIP host name table. The pointer to the host name entry in the MATIP host name table is returned by the user exit to TPF MATIP, which issues a gethostbyname() function to resolve the host name to an IP address. TPF MATIP then uses the IP address to issue a connect() function to the remote host. The data passed to TPF by the ROUTC macro is sent to its destination with the socket send() API function.

MATIP support on PUT 10 provided an application interface to enable you to start a MATIP session for Type-A host-to-host and Type B sessions without having to issue a ROUTC macro. That interface required the application to provide an IP address to TPF MATIP so that TPF could start a MATIP session with the IP address. For PUT 11, that application interface has been replaced with a new interface. The new interface requires the application to provide a pointer to a host name in the RCPLORG field of a Routing Control Parameter List (RCPL) passed to TPF MATIP when the application enters the MATIP code directly. TPF MATIP issues a gethostbyname() function to resolve the host name to an IP address and uses the IP address to issue a connect() function to the remote host. TPF saves the socket number associated with the session in its host name table, sends the data that is passed to it on data level D0, and returns the host ordinal number of the host name entry to the application. When the application sends additional data over the same session, it passes the host ordinal in the RCPLDES field of the RCPL on subsequent enters to TPF MATIP so that TPF can retrieve the socket from the host name entry. TPF then issues a send() function for the data passed on data level D0 and passes the return code from the send() function back to the application.

IP Bridge support was not changed to include host name support, so you must still use the ZMATP DEFINE functional message to associate an LNIATA with an IP address when you want to start an IP Bridge session with that LNIATA.

New ASCU Support

In the previous TPF Newsletter, I described an agent set control unit (ASCU) as a concentrator that is associated with a group of remote terminals. APAR PJ26161 provided the MATIP ASCU List and the Security user exits to define tables to contain ASCUs configured on the TPF system. With MATIP enhancements, you can now define ASCUs through the ZMATP DEFINE functional message and associate them with a particular TPF host name. Like host names, ASCUs that are entered through the ZMATP DEFINE functional message are saved in a TPFCS database and copied to system heap storage whenever MATIP is started at or above CRAS state.

ZMATP Functional Message Enhancements

The ZMATP ALTER functional message has been enhanced to enable you to change host name and ASCU information that is already saved in the TPFCS database.

ADD and DELETE options to the ZMATP functional message have been added to enable ASCUs to be added and deleted from their associated host name records in the TPFCS database. In addition, the ZMATP DELETE functional message enables you to delete the entire host name entry and its associated ASCUs from the TPFCS database.

The ZMATP DISPLAY functional message has been enhanced to display characteristics for host names and ASCUs added to the system through the ZMATP functional message.

The ZMATP START functional message has been enhanced to enable you to start MATIP by host name. If you start MATIP by host name, the host name you enter is copied from the TPFCS database to the MATIP host name table located in system heap storage. When would you use it? If MATIP is already running at or above CRAS state and you add a new host name to the TPFCS database with the ZMATP DEFINE functional message, use this enhancement to ZMATP START to start a session with the new host name without having to stop MATIP.

The ZMATP STOP functional message has been enhanced to enable you to stop MATIP by host name. If you stop MATIP by host name, message traffic will no longer flow through that host name, but MATIP will keep on running to host names that have been started and not yet stopped.

Support for Cisco Routers

MATIP enhancements support session open requests sent from Cisco routers that have MATIP support installed, such as Cisco 2500 series routers.

Prerequisites

APAR PJ26693, which contains the enhancements to MATIP and IP Bridge support, is included on PUT 11. If you do not want to upgrade your TPF system to PUT level 11, your TPF system must be at PUT level 9 or 10 to enable the Internet Daemon to define and start the MATIP Type-A and Type-B servers. If you are at PUT level 9 and you have not yet installed MATIP and IP Bridge support, you need to install APARs PJ26161, PJ26324, and PJ26359 before you install APAR PJ26693. If you want to use MATIP with TPF TCP/IP native stack support and you are at PUT level 9 or 10, you need to install APAR PJ26683 before you install APAR PJ26693.

Before you use the enhancements to MATIP and IP Bridge support, you need to enter the ZDTCP DNS functional message to define the IP address of the DNS server to be used to resolve host names you enter with the ZMATP functional message. The host names to be used to start MATIP client sessions need to be defined on that DNS server so the TPF system can resolve the host names with the gethostbyname() function. See your network administrator if you need assistance defining new host names in your DNS server.

If you are planning to establish MATIP sessions with a Cisco router, that router must have MATIP support installed.

References

The following TPF documents were changed for APAR PJ26693:

  • TPF Migration Guide: Program Update Tapes, GH31-0187
  • TPF Operations, SH31-0162
  • TPF System Installation Support Reference, SH31-0149
  • TPF Messages, SH31-0156.