gtps2m0yACF/SNA Data Communications Reference

NPSI GATE/Fast Transaction Processing Interface (GATE/FTPI)

The Fast Transaction Processing Interface (FTPI) facility of the X.25 NCP Packet Switching Interface (NPSI) enhances the GATE facility. (GATE is General Access to X.25 Transport Extension.) GATE allows communications between non-SNA devices and a Communication and Transmission Control Program (CTCP) running under TPF or VTAM. A CTCP assumes control of the X.25 DTE/DCE interface protocol. The communications between a CTCP and the NCP is established through SNA sessions. With FTPI, all virtual circuit traffic is multiplexed on a single SNA session between the CTCP and NPSI.

Without the FTPI option, NPSI requires the traffic for each virtual circuit to flow on its own unique SNA session. By reducing the multiple sessions required for each virtual circuit to a single session for each NCP, the time to activate the network is greatly reduced, and less main storage is required by NPSI. FTPI also improves NCP performance by blocking several packets into a single PIU for transfer to the host. TPF similarly blocks output to the NCP.

The essential parts of FTPI support include:

For more information regarding coding of a GATE/FTPI CTCP, as well as more detailed information regarding NPSI and its command flows, see the NPSI Host Programming and the NPSI Planning and Installation.

Message Traffic Multiplexing

The format of the traffic sent between NCP and TPF is shown in Figure 10. The data transferred is always complete messages and is prefixed by a command header. The header provides the data length, X.25 link identifier (MCH_ID), the virtual circuit identifier (VC_ID), and the correlation number. The correlation number is assigned to the virtual circuit by NPSI at CALL REQUEST time and is used for all control and data exchanges for the life of the virtual circuit. Figure 11 shows the data content of each of the FTPI commands.

Figure 10. FTPI Message Blocking Format. For additional information on the Q and D bits, see the NPSI Planning and Installation.


Figure 11. FTPI Command Content. As represented in this figure, the X.25 link identifier is MCH, the virtual circuit identifier is VC, and the correlation number is CN. Additional information on the FTPI command content is found in the NPSI Host Programming.


Input Processing

The input logic is located in OPZERO and provides demultiplexing support for message traffic received over an FTPI session. The flow of input processing follows:

  1. Each message in a PIU received from NPSI FTPI is copied to a core block and associated with an ECB.
  2. The data collection counters for total message length and number of messages received reflect the number and size of the messages received rather than the number and size of PIUs received.
  3. The demultiplexing of messages honors the input shutdown levels. When an FTPI PIU is processed by OPZER0, that is, the message is copied to a core block and the block attached to an ECB, OPZER0 only schedules 1 ECB before returning the PIU to the top of the Input_List. This technique insures that the Input_List shutdown levels for ECBs and core blocks continue to control the addition of new work to the system.

Multiplexing Output Traffic

The logic in the SNA Output (SOUTC) routine accumulates output destined for an FTPI session. The general SOUTC processing recognizes traffic destined for an FTPI LU and:

  1. Accumulates output messages using as the control structure the LU message blocking table. Messages are blocked into 4K blocks before transmission. This technique centralizes multiplexing in SOUTC.
  2. Sends the accumulated data when the 4K block is full or when a user-definable timer expires.
  3. Data collection counters for the number and size of messages sent reflect the actual message count, not the PIU count.

Application Program Interface

FTPI message traffic is presented to the application using the standard TPF API:

Similarly, the application sends output messages by issuing a ROUTC macro with the data in a core block and a register pointing to the RCPL. On input to the application, the message text starts with an FTPI command header as shown in Figure 10. Output sent by the application must also prefix the message text with an FTPI command header. Optionally, the PSV routine that handles the call setup and takedown for the X.25 resources supported by the FTPI multiplexed session can insulate the application from processing FTPI headers by also performing the FTPI header management. The PSV routine defined for the FTPI LU can remove the FTPI header from input messages and store for recall and appending to the corresponding output message.

Network Definition

Define the following to NPSI:

Define the following to the TPF system:

For more information about defining SNA resources to the TPF system, see Defining SNA Resources to the TPF System.

TPF CTCP Definition

CTCP is the host LU that handles X.25 traffic. In VTAM, the CTCP is viewed as an intermediate program that translates between X.25 and SNA message formats. In TPF, you have different implementation choices for a CTCP. A TPF LU that serves the role of a CTCP can be any of the following:

Regardless of the method used to create a CTCP LU, your application or PSV routine is responsible for translating between the data formats used by NPSI and those required by the TPF application.

CTCP Definition

The CTCP pseudo LU is an LU that serves as a port between FTPI and the CTCP. There is a difference between operating with or without FTPI. Without FTPI, NPSI requires an LU and a session for each virtual circuit; with FTPI, there is a single LU and a single session for each CTCP or host. The format and parameters used to define a CPLU are shown in Figure 12.

Figure 12. RSC Definition Statement for an FTPI LU


  lu_name   RSC   LUTYPE=FTPI
                  [,PACING=0|n]
                  [,AWARE=YES|NO]
                  [,PSV=name]
                  [,LEID=nnnnnn]

The description of the FTPI values are:

lu_name
Specifies the name of the pseudo CTCP LU.

LUTYPE=FTPI
Specifies the LU is a Fast Transaction Processing Interface (FTPI) LU.

PACING=0|n
Specifies the pacing value to use for message traffic sent by TPF. A value of zero (0) means that pacing is not used.

AWARE=YES|NO
Specifies whether the session awareness exit should be started whenever a session with the LU has been established or terminated. For additional information on session awareness, see TPF SNA Session Awareness.

PSV=name
Specifies the name of the PSV routine to receive control when a message is received or sent to the LU.

LEID=nnnnnn
Specifies from 1 to 3 bytes of data to be passed to the PSV routine when an input message is received from the LU.

An example of the coding of the RSC statement for a CPLU is shown in Figure 13.

Figure 13. RSC Coding Example Statement for an FTPI LU


  CPLU1     RSC   LUTYPE=FTPI,
                  PACING=0,
                  AWARE=NO,
                  PSV=FTPI

See TPF ACF/SNA Network Generation for more information about the OSTG RSC statement.

VTAM Considerations

The only VTAM consideration for FTPI support is to provide a default VTAM log mode definition for the FTPI LU, as shown in Figure 14.

Figure 14. VTAM Log Mode Entry for FTPI


 FTPI   MODENT  FMPROF=X'03',                        FM Profile 3
                TSPROF=X'03',                        TS Profile 3
                PRIPROT=X'90',                       Exception response
                SECPROT=X'90',                       Exception response
                COMPROT=X'0040',                     Half-duplex contention
                RUSIZES=X'8989'                      Max 3860 in, 3860 out
                SSNDPAC=X'00'                        No send pacing
                SRCVPAC=X'00'                        No receive pacing
                PSERVIC=X'010000000000000000000000   LU type 1

For more information about the VTAM log mode definition, see VTAM Resource Definition Reference.

NPSI Considerations

NPSI stage 1 user macros describe the X.25 network. The overall structure of the macro is shown in Figure 15. For additional information on the NPSI macros, see NPSI Planning and Installation.

Figure 15. Organization of NPSI Macros


   X25.CPL          One for each CTCP
     X25.NET        One for each network
     X25.VCCPT
       X25.OUFT
       X25.MCH      One per multi-channel link
       X25.LCG      One per logical channel group
         X25.LINE   One per virtual circuit
         X25.PU     One per virtual circuit
    X25.END

There are two macro changes to NPSI definition for FTPI:

  1. X25.CPL - CTCP pseudo LU
  2. X25.MCH - X.25 link.

The X25.CPL macro creates the NCP system generation statements to define a virtual link, PU, and LU. The virtual LU provides a port between NPSI and the CTCP for exchanging message traffic. One X25.CPL macro is required for each CTCP or TPF host. The macro format is shown in Figure 16.

Figure 16. Organization of X25.CPL Macro


     X25.CPL CTCPNO=n,
             LOGAPPL=ctcp_name,
             MINDATA=mm,
             MAXTIME=time,
             MAXDATA=size,
             DLOGMODE=mode_name,
             MODTAB=mode_table

The description of the X25.CPL macro values are:

CTCPNO=n
This is a 1-byte value associated with the CTCP or TPF application.

LOGAPPL=ctcp_name,
Requests VTAM to automatically establish a session between the CTCP pseudo LU and the CTCP when both:

MINDATA=mm,
Specifies the number of X.25 packets that FTPI should accumulate before considering the message buffer full. When the message buffer is full, it is sent to the CTCP.

MAXTIME=time,
Specifies the time in tenths of a second that FTPI should wait before sending a partial message buffer to the CTCP. This value avoids the need to fill the message buffer before sending the data to the CTCP.

MAXDATA=size,
Specifies the maximum message size that can be transmitted. If the message sent by the CTCP is larger than MAXDATA, NPSI sends it as several messages.

DLOGMODE=mode_name,
Specifies the name of the VTAM mode table entry associated with the CTCP pseudo LU. See Figure 14 for an example of the entry.

MODTAB=mode_table
Specifies the name of the VTAM mode table that contains the mode table entry for the CTCP pseudo LU. If MODENT is not coded, the first entry in this table is the mode table entry for the LU.

The coding of X25.CPL card is shown in Figure 17.

Figure 17. CTCP Pseudo LU Coding Example


         X25.CPL CTCPNO=0,LOGAPPL=NEFA,MINDATA=120,MAXTIME=10,       X
               MAXDATA=35665
*
         X25.CPL CTCPNO=1,LOGAPPL=NEFB,MINDATA=121,MAXTIME=20

X25.MCH

The parameter to indicate that the Fast Transaction Processing Interface (FTPI) option of NPSI is to be used is on the X25.MCH macro. An MCH macro is required for every X.25 physical link. The macro, with the operands specific to FTPI support, is shown in Figure 18.

Figure 18. X.25 MCH Macro


          X25.MCH FTPI=YES|CUD0|SUBD
                  [,CTCP=(m1,m2,...mn)]
                  [,CUD0=(n1,n2,...nn)]
                  [,SUBD=(p1,p2,...pn)]

The description of the X25.MCH values are:

FTPI=YES|CUD0|SUBD
Specifies that FTPI processing is to be used:

CTCP=(m1,m2,...mn)
Used with either the CUD0 or SUBD operand to select a specific CTCP number. A CTCP's number is defined on the X25.CPL macro.

CUD0=(n1,n2,...nn)
Used with the CTCP= operand to select a CTCP based upon the CUD0 value.

SUBD=(p1,p2,...pn)
Used with the CTCP= operand to select a CTCP based on the subaddresssing.

An example of the coding of X25.MCH card is shown in Figure 19. For additional information on coding the X25.MCH card, see the NPSI Planning and Installation.

Figure 19. X.25 Link Definition


         X25.MCH ADDRESS=1,                                            X
               FTPI=CUD0,                                              X
               CUD0=(00,09,01),                                        X
               CTCP=(01,02,03),                                        X
               LCGDEF=(1,10),                                          X
               PKTMODL=8,                                              X
               FRMLGTH=3500,                                           X
               TDTIMER=3,                                              X
               LCN0=NOTUSED,                                           X
               LLCLIST=(LLC4),                                         X
               GATE=GENERAL,                                           X
               MWINDOW=2

Operations

To allow traffic to flow between TPF and the network requires activating:

With FTPI there are two additional steps to the activation procedure:

  1. Establishing a session between the FTPI LU in the NCP and the TPF application
  2. Activating the X.25 multichannel links.

Activating the TPF CTCP

Figure 20 summarizes the line flows needed to establish a session between the TPF CTCP and the FTPI pseudo LU. NPSI FTPI support uses a pseudo link, PU, and LU to provide a port or connection to the CTCP. Typically, the session between the CTCP and the FTPI LU is automatically activated when the VTAM operator requests activation of the pseudo link, PU, and LU.

Figure 20. Pseudo Link Activation




  1. The pseudo link is activated by the VTAM operator.
  2. The pseudo PU is activated by the VTAM operator. Normally, the PU is defined as ISTATUS=ACTIVE, and the PU is automatically started when the link is started.
  3. The pseudo LU is activated by the VTAM operator. As is the PU, the LU is usually defined as ISTATUS=ACTIVE, and the LU is automatically started when the PU is started. The LU is also defined as autolog, and the session with the CTCP is requested when the LU is active.
  4. As part of the automatic logon process, the VTAM Logon Manager sends a SESINIT message to TPF requesting a session between the FTPI LU and the TPF CTCP.
  5. TPF sends a bind command to establish the FTPI LU-CTCP session.
  6. TPF allows data flow by sending a Start Data Traffic (SDT) command.
  7. Incoming CALL REQUESTS are blocked into a PIU and sent to the CTCP.

Activating Multi-Channel Links

Figure 21 shows the activation of an X.25 link. The description is for a single link; however, in practice, a single operator command activates both the CTCP session and the X.25 links.

Figure 21. Multi-Channel Link Activation




  1. The VTAM operator activates the X.25 link. Normally the links would be initially defined as active; the links would be automatically activated when the NCP is started.
  2. The VTAM operator requests activation of the X.25 link station or PU. Normally, the PUs would be initially defined as active; the PUs would be automatically activated when the NCP is started.

Traces

The 3 traces provided for FTPI are:

  1. PIU Trace: TPF traces each PIU sent and received between an FTPI LU and TPF. The PIU can contain 1 or more blocked messages. The PIU trace collection and reporting programs continue to trace PIUs and do not attempt to trace each message in the PIU. The TPF message collection facility should be used to trace messages.
  2. Message Collection: Captures a copy of each message sent and received from an FTPI LU. Message collection is provided by the Comm Source and ROUTC function.
  3. Real Time Trace (RTT): RTT traces system and application activity for a specific terminal.