Comparison of stacks and protocols
In this chapter, we compare the different IP stacks and their applications in terms of functionality and usability. We also provide hints and tips for using particular functions.
We also describe commonalities and differences in terms of provided application programming interfaces, performance, and Secure Sockets Layer (SSL).
Finally, considerations for IBM applications provide details about how IBM applications are affected by a particular IP stack.
This chapter includes the following topics:
SSL
6.1 Stacks comparison
In this section, we describe the IP stacks and compare their basic properties, applications, and programming interfaces.
6.1.1 Licensing
In this topic, we describe how the stacks are licensed:
TCP/IP for VSE/ESA
Licensing of the stack provided by Connectivity Systems International depends on whether you obtain it from IBM as part of z/VSE or directly from CSI. If you obtain it from IBM by using the IBM Key Center, your license includes the base and application pak. If you obtain it directly from CSI, you have several options. Contact CSI for more information in this case.
A CSI license key is independent from your hardware.
IPv6/VSE
A BSI license key depends on your CPU ID and is therefore only usable for one specific LPAR. If you run z/VM in this LPAR with multiple z/VSE guests, the same key can be used for all of these VSE systems. For more information, see 3.2, “Obtaining and activating a license key” on page 48.
Linux Fast Path
The LFP function is part of z/VSE Advanced Functions and does not need to be licensed separately.
6.1.2 Installation libraries
In this topic, we describe the installation libraries of the following IP stacks:
TCP/IP for VSE/ESA
The installation library for TCP/IP for VSE/ESA is PRD1.BASE.
Update with z/VSE 5.2: the default installation library is now PRD2.TCPIPC (C for CSI).
IPv6/VSE
The installation library for IPv6/VSE is PRD2.TCPIPB (B for Barnard).
Linux Fast Path
The Linux Fast Path binary files belong to VSE Advanced Functions and are installed in IJSYSRS.SYSLIB. Related job skeletons are provided in ICCF library 59.
6.1.3 Virtual storage organization
In this topic, we describe the storage requirements of the different stacks.
TCP/IP for VSE/ESA
The default partition size for TCP/IP for VSE/ESA is 20 MB per default. However, use a partition with at least 30 MB to benefit from the 31-bit use of the product.
Some of the TCP/IP applications run in the same partition as the IP stack, whereas the following applications use their own partitions:
TN3270 daemons, FTPD daemons, automatic FTP (AutoFTP), and automatic line printer requester (AutoLPR) run in the same partition as the IP stack.
FTPBATCH runs in a separate partition.
Different partition priorities for TN3270 versus FTP/LPR require multiple IP stacks.
TCP/IP for VSE/ESA requires 1050 K of partition GETVIS (ANY) space and 1050 K for SETPFIX (ANY) for each LINK of an OSAX device.
The minimum suggested partition size for FTPBATCH as a client is 4 MB. The minimum suggested partition size for FTPBATCH as a server is 8 MB to support up to four active connections. For a server, add 256 KB for each additional concurrent session.
So, if you have, for example,
// EXEC FTPBATCH,SIZE=FTPBATCH,PARM='FTPDPORT=2121,UNIX=BIN,MAXACT=12',
the suggested size of the FTPBATCH server is:
8192 KB (8 MB) + (8*256 KB) = 8192 KB + 2048 KB = 10240 KB (10 MB)
This assumes for the client and server that DEBUG=ON, SET DIAGNOSE ON, or SET DIAGNOSE EVENTS was not issued in the FTPBATCH partition. If any of these diagnostics are active, add another 2 MB.
IPv6/VSE
The IPv6/VSE stack requires a minimum 20 MB partition. This amount of storage allows for stack start and storage for a few users, but is too small for production usage.
BSI recommends the use of a separate dynamic partition for each function for more granularity of control. Customers can increase VSIZE and DPD space to allow for more dynamic partitions.
Sample partition allocations are shown in the following examples:
Q1 6M autolpr process
Q2 6M autolpr print jobs
R1 6M autoftp process
R2 6M autoftp transfer jobs
S1 24M IP stack for ftp/lpr
T1 24M IP stack for tn3270
T2 24M tn3270/3270 printing sessions
U1 20M ftp server
IPv6/VSE requires SETPFIX LIMIT=(256 K, 1100 K) per DEVICE command.
Linux Fast Path
Linux Fast Path (LFP) does not run in a partition. Most control blocks are allocated in SVA PFIX memory in the ANY area.
6.1.4 Commands
In this topic, we describe some examples that show how commands are specified for the various stacks.
TCP/IP for VSE/ESA
For more information about the following available commands for TCP/IP for VSE/ESA, see TCP/IP for VSE Command Reference, SC33-6764:
SET IPADDR=172.16.1.252
SET MASK=255.255.252.0
DEFINE LINK,ID=OSA,TYPE=3172,DEV=600,MTU=4096
DEFINE ADAPTER,LINKID=0SA,NUMBER=0,TYPE=TOKEN_RING
DEFINE ROUTE,ID=WORLD,LINKID=OSA,IPADDR=0.0.0.0, -
GATEWAY=172.16.1.1
SET DNS1=172.16.1.222
DEFINE NAME,NAME=SERVER00,IPADDR=172.16.1.254
DEFINE TELNETD ...
DEFINE FTPD ...
DEFINE EVENT ...
Typically, you include TCP/IP commands into your IPINIT member to be run at stack start. It is also possible to include other commands in more L-members. Any command also can be entered online from the VSE operator console at the TCP/IP command prompt.
IPv6/VSE
For more information about IPv6/VSE stack commands, see IPv6/VSE IPv6 Installation Guide, SC34-2616. For more information about the following application-related commands (FTP, Telnet, mail, and so on), see IPv6/VSE IPv6 User’s Guide, SC34-2618:
DEVICE LCS600 LCS 600 TOKENRING
LINK LCS600 1 172.16.1.252 255.255.252.0 4096
ROUTE LCS600 172.16.0.0 255.255.252.0 172.16.1.1 0
ROUTE LCS600 0.0.0.0 0.0.0.0 172.16.1.1 1
HOST SERVER00 172.16.1.254
DNS 172.16.1.222
All server applications can be stopped by using the SHUTDOWN command.
LFP
For more information about commands that are available for LFP, see z/VSE TCP/IP Support, SC34-2640. Depending on the environment that is used (under z/VM, VIA, or in LPAR), commands are divided into Linux shell commands, z/VM SMSG commands, and JCL to maintain an LFP instance on z/VSE.
6.1.5 Comparison of protocols
In this topic, we describe the supported protocol versions of the different IP stacks.
TCP/IP for VSE/ESA
The supported protocol is IPv4.
IPv6/VSE
The following protocols are supported:
IPv4
IPv6
Linux Fast Path
The following protocols are supported:
IPv4 (since z/VSE 4.3)
IPv6 (since z/VSE 5.1)
6.2 Applications comparison
In this section, we describe the TCP/IP applications that are provided by the different stacks and their similarities and differences.
6.2.1 FTP server
There are several differences in how FTP servers can be used in the different stacks. TCP/IP for VSE/ESA provides an internal FTP daemon (FTPD) that runs as a subtask in the TCP/IP partition, and an external FTP server (FTPBATCH) that runs in a separate partition. IPv6/VSE provides one FTP server (BSTTFTPS) that runs in any static or dynamic partition. LFP does not provide its own FTP server, but you can use BSTTFTPS and the Virtual z/VSE FTP Daemon with LFP.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides the following types of FTP daemons:
FTPD
This daemon runs as a subtask in the TCP/IP partition. Depending on the UNIX parameter, graphical FTP clients, such as FileZilla, can display the VSE file systems. You define an FTPD by using the following command.
DEFINE FTPD,ID=FTP,UNIX=BIN,PORT=21,COUNT=3
With UNIX=NO (default), you can connect to a batch FTP client (for example, ftp.exe on Windows). However, a graphical client, such as FileZilla, does not work with this setting, such as ftp.exe on Windows, as shown in Example 6-1.
Example 6-1 Using the MS Windows batch FTP client
D:>ftp vsessl
Connected to vsessl.boeblingen.de.ibm.com.
220-TCP/IP for VSE Internal FTPDAEMN 01.05 F 20120717 12.01
Copyright (c) 1995,2006 Connectivity Systems Incorporated
220 Ready for new user
User (vsessl.boeblingen.de.ibm.com:(none)): jsch
331 User name okay, need password
Password:
230 User logged in, proceed
ftp> dir
200 Command okay
150 File status okay; about to open data connection
drw-rw-rw- 1 vse direct 0 MAY 02 13:11 ICCF
drw-rw-rw- 1 vse direct 0 MAY 02 13:11 POWER
drw-rw-rw- 1 vse direct 0 MAY 02 13:11 PRD1
drw-rw-rw- 1 vse direct 0 MAY 02 13:11 PRD2
...
With UNIX=YES or UNIX=BIN, FileZilla displays the VSE file systems as defined by using DEFINE FILE and DEFINE FILESYS.
FTPBATCH
This daemon runs in a separate partition. FTPBATCH can be run as a client or as a server. As with FTPD, FTPBATCH has a UNIX parameter that must be set to YES when a graphical FTP client is used.
Depending on the file definitions in the IPINIT member, DTPD and FTPBATCH provide access to all VSE file systems: Librarian, POWER, and VSAM.
Typical FTPBATCH JCL is shown in the following example:
// LIBDEF *,SEARCH=(PRD2.TCPIPC,PRD1.BASE)
// EXEC FTPBATCH,SIZE=FTPBATCH,PARM='UNIX=YES,FTPDPORT=21'
/*
Figure 6-1 shows the FileZilla client window that is connected to FTPBATCH.
Figure 6-1 The use of FileZilla client with FTPBATCH
IPv6/VSE
The main difference between the FTP server that is provided with IPv6/VSE and the CSI-provided FTP servers is the display of VSE file systems. Although CSI displays the file systems as defined by using DEFINE FILE and DEFINE FILESYS, the BSI-provided FTP server displays only one mount point. Only one mount point can be defined for one given BSTTFTPS instance.
Example 6-2 shows the JCL to connect to BSTTFTPS.
Example 6-2 JCL for a BSTTFTPS showing the PRD2 library
// EXEC BSTTFTPS,SIZE=BSTTFTPS,OS390
ID 02
*
OPEN 9.152.131.189 21
*
* USE THE IBM PROVIDED BSM SECURITY EXIT
BSSTISX
*
* DEFINE THE DEFAULT FILE SYSTEM TO USE
*
SMNT LIBRARY PRD2
*
ATTACH SERVER-1
ATTACH SERVER-2
ATTACH SERVER-3
*
/*
When you are connecting to BSTTFTPS with the definition that is shown in Example 6-2, FileZilla shows VSE library PRD2 and its sublibraries, as shown in Figure 6-2.
Figure 6-2 FileZilla client that shows the PRD2 library
The following methods can be used to establish a mount point:
The BSTTFTPS startup commands specify a default file system to be mounted when an FTP client logs in to the FTP server. There can be only one default file system; if you specify multiple default file systems in the BSTTFTPS start commands, the last one is used.
The FTP-USER command that is specified in the BSTTSCTY.T security table defines users. You can optionally define a file system to be mounted for each user on the FTP-USER command, as shown in the following example:
FTP-USER PWRTEST BSI SMNT-POWER/LST
The FTP client can issue a command to mount a file system by using the SMNT (structure mount) command, as shown in the following examples:
smnt power
smnt vsam vsam.catalog.name
When an smnt command is sent from the FTP client, spaces are used between each parameter. If the FTP client does not support the smnt command, use the quote command to issue the smnt command, as shown in the following example:
quote smnt power
The FTP client can also mount a file system by using a change directory (cd) command, as shown in the following examples:
cd smnt-power/lst
cd smnt-vsam-vsam.catalog.file
cd smnt-library-prd2/config
Because the cd command does not allow the use of spaces, dashes are used between parameters. Internally, the FTP server changes the dashes to spaces before the embedded smnt command is processed.
Many PC FTP clients allow you to define connections and save them for future use. Most of these FTP clients also allow you to specify initial command (or commands) that are automatically issued after the login is complete. These initial commands provide an easy way to mount a file system.
For example, by using Core FTP LE, you can specify predefined commands to be issued at various points in the connection process. In the Site Manager window, click Advanced. Then, in the Advanced Site Settings box, select Scripts/Cmds, as shown in Figure 6-3.
Figure 6-3 Specifying predefined commands in Core FTP LE
This example causes the PRD2 library to be displayed when this connection is used. In this way, you can define one connection per file system.
Figure 6-4 shows the Site Manager window with different connection definitions.
Figure 6-4 Displaying the PRD2 library in Core FTP LE
LFP
When the Virtual z/VSE FTP Daemon with Linux Fast Path is used, your FTP client displays the file system as provided by the VSE Connector Server. After the VSE Connector Server is started on VSE and the z/VSE Virtual FTP daemon (for example, on your workstation), FileZilla shows the default file systems that are using the VSE Connector Server.
ICCF skeleton SKVCSLIB in ICCF library 59 allows the user to add more VSE libraries. For VSAM, the VSE Connector Server reads the standard labels and displays all defined files, as shown in Example 6-3.
Example 6-3 Specifying VSE libraries in skeleton SKVCSLIB
* ******************************************************************
* LIBRARIAN CONFIGURATION MEMBER FOR VSE CONNECTOR SERVER
* ******************************************************************
*
* ADD THE NAME OF YOUR LIBRARIES TO THIS MEMBER IF YOU WANT TO
* HAVE ACCESS TO THEM WITH THE VSE CONNECTOR SERVER.
*
* NOTE: EACH LINE SPECIFIES ONLY ONE LIBRARY
*
* ******************************************************************
CRYPTO
PRD1
PRD2
PRIMARY
IJSYSRS
When the default configuration for VSE Connector Server is used, the FileZilla client displays the default file systems, as shown in Figure 6-5.
Figure 6-5 Using FileZilla client with LFP and z/VSE Virtual FTP Daemon
6.2.2 FTP clients
The behavior of the FTP clients that are provided by the different stacks is similar. However, there are differences in JCL.
A typical problem when mainframe files are sent to non-mainframe platforms is handling the record format and record length. Because record-based file systems exist only on mainframes, FTP servers, such as FileZilla server, do not accept any site commands setting RECFM or LRECL.
To overcome this problem, TCP/IP for VSE/ESA and IPv6/VSE provide functionality that allows their FTP clients to use this setting at the client side.
TCP/IP for VSE/ESA
Example 6-4 shows how to send a VSAM file to an external FTP server by using a fixed record length of 128 bytes. You specify these values as parameters of the PUT command.
Example 6-4 TCP/IP for VSE/ESA FTP client
// DLBL INFILE,'BF.WORK.H0590A.#05',,VSAM,CAT=CSYSWK6
// EXEC FTPBATCH,SIZE=FTPBATCH
LOPEN
EXECUTE 139LOGIN.L
CD REGOPSHAREDDOWN
PUT %INFILE,ESDS,F,0128 FMASTCR.TXT
QUIT
/*
IPv6/VSE
Example 6-5 shows how BSTTFTPC sends a VSAM file to a non-mainframe FTP server by using a fixed record length of 128 bytes. The OUTPUT command is used to specify the values.
Example 6-5 IPv6/VSE FTP client
// DLBL INFILE,'BF.WORK.H0590A.#05',,VSAM,CAT=CSYSWK6
// EXEC BSTTFTPC,SIZE=BSTTFTPC
* $$ SLI MEM=139LOGIN.L
CWD REGOPSHAREDDOWN
INPUT VSAM INFILE
TYPE I
STOR FMASTCR.TXT
QUIT
/*
LFP
As of this writing, LFP does not provide its own FTP client. However, you can use BSTTFTPC from the IPv6/VSE stack.
6.2.3 Uploading a virtual tape into VSAM
Sometimes it is useful to upload a virtual tape file (.aws) into VSAM for further processing. For example, performing a Fast Service Upgrade (FSU), or installing products from an optional product tape. This section shows how to do this using the different IP stacks. In all examples, we use the interactive FTP batch client (ftp.exe) in MS Windows. We assume that the VSE.VTAPE.FILE has been defined by using ICCF skeleton SKVTAPE.
TCP/IP for VSE/ESA
When using TCP/IP for VSE/ESA you first navigate to the data part of the VSAM file, then specify record length and format. Finally, you do the FTP put into the data part of the file as shown in Example 6-6.
Example 6-6 Uploading a vtape by using TCP/IP for VSE/ESA
D:>ftp vsessl
Connected to vsessl.boeblingen.de.ibm.com.
220-TCP/IP for VSE Internal FTPDAEMN 01.05 F 20120717 12.01
Copyright (c) 1995,2006 Connectivity Systems Incorporated
220 Ready for new user
User (vsessl.boeblingen.de.ibm.com:(none)): jsch
331 User name okay, need password
Password:
230 User logged in, proceed
ftp> cd vse.vtape                   <-- change directory
250 Requested file action okay, completed
ftp> quote site lrecl 32758         <-- specify record length
200 Command processed
ftp> quote site recfm v             <-- specify record format
200 Command processed
ftp> bin
200 Command okay
ftp> put mytape.aws file            <-- do the FTP put into the file
200 Command okay
150-About to open active data connection
File:VSE/VTAPE/FILE
Type:Binary Recfm:V Lrecl: 32758
CC=ON UNIX=ON RECLF=OFF TRCC=OFF CRLF=ON NAT=NO CONT=OFF
MODE=Stream STRU=File
150 File status okay; about to open data connection
226-Bytes received: 560,819
Records received: 18
Transfer Seconds: .06 ( 9128K per second)
File I/O Seconds: .06 ( 9128K per second)
226 Closing data connection
ftp: 560819 bytes sent in 0,04Seconds 14379,97Kbytes/sec.
ftp>
IPv6/VSE
When using the FTP server (BSTTFTPS) of IPv6/VSE, first mount the VSAM user catalog with the smnt command, if not already mounted by the server. Then, specify the DLBL name of the VSAM file and transfer type binary as shown in Example 6-7.
Example 6-7 Uploading a vtape by using IPv6/VSE
D:>ftp vsessl
Connected to vsessl.boeblingen.de.ibm.com.
220 IPv6/VSE FTP Server Ready.
User (vsessl.boeblingen.de.ibm.com:(none)): jsch
331 User name OK, need password.
Password:
230 User JSCH logged in, proceed.
ftp> quote smnt vsam vsesp.user.catalog <-- mounts the user catalog
200 Command OK.
ftp> quote site output esds vtape1 recsz 32758 <-- vtape file DLBL name
200 Command OK.
ftp> bin
200 Command OK.
ftp> put mytape.raws
200 Command OK.
150 File status OK, about to open data connection.
250 Requested file action OK, completed.
ftp: 327240 bytes sent in 0,02Seconds 19249,41Kbytes/sec.
ftp>
The record format (variable or fixed) does not need to be specified when using IPv6/VSE.
Linux Fast Path
With LFP, you will most likely use the Virtual z/VSE FTP Server. In Example 6-8 we started the Virtual z/VSE FTP Daemon on our local workstation, so we connect to 127.0.0.1 (the localhost). The FTP server is configured to connect to the same VSE system that is used in the other examples.
Example 6-8 Uploading a vtape using LFP
D:>ftp 127.0.0.1
Connected to 127.0.0.1.
220 IBM Virtual z/VSE FTP Server on BR9WG7D4 (version 1.1) ready to serve.
User (127.0.0.1:(none)): jsch
331 Password required for jsch.
Password:
230 User jsch logged in. Idle timeout is 15 minutes.
ftp> cd vsam
250 CWD command successful, current directory is "/VSAM".
ftp> cd vsesp.user.catalog
250 CWD command successful, current directory is "/VSAM/VSESP.USER.CATALOG".
ftp> bin
200 Type set to I.
ftp> put VSE520OP4_20140225.RAWS vse.vtape.file
200 PORT command successful.
150 Binary data connection for /VSAM/VSESP.USER.CATALOG/VSE.VTAPE.FILE (127.0.0.
1,57428).
ftp: 39138734 bytes sent in 1,74Seconds 22545,35Kbytes/sec.
ftp>
The Virtual z/VSE FTP Server allows you to specify transfer mode S (stream, which is the default) or B (block). When using stream mode, the target file is filled record by record according to the VSAM cluster definition. It is not needed to specify a specific record length or format.
 
Note: This support requires updates in the VSE Connector Server and Virtual z/VSE FTP Server from September 2014 or later.
6.2.4 AutoFTP
AutoFTP means that an FTP client is started automatically when a predefined event occurs. Only one type of an event is supported by all stacks: the appearance of a new entry on the VSE/POWER LST or PUN queue in a specified class.
TCP/IP for VSE/ESA
Automatic FTP is configured with the DEFINE EVENT command. When you run this command, you must complete the following tasks:
Specify class to monitor
Use autoFTP scripts to control an FTP client session
Example 6-9 shows an example of an autoFTP script that contains variables for the VSE/POWER job name, number, and form number.
Example 6-9 Sample autoFTP script that contains variables
LOPEN 10.215.4.14
LUSER CMS15
LPASS CMS15
LCD POWER.LST.0
OPEN 10.215.100.12
USER archive
PASS mypasswd
SETVAR &LFN = &PWRNAME + "." + &PWRNUMB
SETVAR &ONAME = &PWRNAME + "." + &PWRNUMB + "." + &PWRFORM + "." + "1"
SETVAR &NNAME = &PWRNAME + "." + &PWRNUMB + "." + &PWRFORM
cd /arsload/Prod1
LSITE CRLF ON
ASCII
PUT &LFN &ONAME
RENAME &ONAME &NNAME
CLOSE
This allows sending many differently named reports out of one class no matter what the job name is.
IPv6/VSE
IPv6/VSE provides a sample REXX program BSTTECSI.PROC that can be used to monitor a VSE/POWER class. This program performs the following tasks:
Creates appropriate JCL that is submitted to run in another partition.
Reproduces the reading of the autoftp script and generates the proper FTP commands.
Another REXX sample, BSTTAFTP.PROC, shows how to autoFTP VSE/POWER queue entries. The BSTTAFTP.PROC scans the POWER LST queue looking for member to automatically FTP. By default it looks for members in class X. When a member appears, the class is changed to Y and a BSTTFTPC job is submitted to process the member. The BSTTAFTP.PROC REXX EXEC handles jobnames, numbers, classes, and so on.
If you want to use extensive symbolic variable support you should look at using the BSIREXXC.PROC to invoke the BSTTFTPC, BSTTMTPC, BSTTREXC, and BSTTLPRC utilities. The BSIREXXC.PROC supports many symbolic variables.
See the IPv6/VSE Migration Guide for more information about the BSIREXXC.PROC.
6.2.5 TN3270
In this topic, we describe an example of supporting multiple CICS partitions.
TCP/IP for VSE/ESA
With TCP/IP for VSE/ESA, you can use multiple port numbers to control target CICS partitions by using the terminal ID prefix, as shown in the following example:
DEFINE TELNETD,ID=H0,COUNT=10,PORT=23,TARGET=PRODCICS
DEFINE TELNETD,ID=H5,COUNT=10,PORT=5000,TARGET=PRODICCF
DEFINE TELNETD,ID=FS,COUNT=10,PORT=6000,TARGET=PRODCICS
Port number was specified in the client TN3270 definition.
IPv6/VSE
With IPv6/VSE, the following options are available:
One TN3270 partition for each port, which might result in the use many partitions.
One TN3270 partition (such as T2) at port 23 with multiple pools defined, which are provided the IP stack for TN3270 runs in T1.
Example 6-10 shows how to use TN3270E LU/Resource names to specify the proper pool.
Example 6-10 The use of terminal pools
// EXEC BSTTVNET,SIZE=BSTTVNET,DSPACE=3M
ID 01
OPEN 10.28.209.28 23
APPLID PRODICCF VSE1 ICCF
APPLID PRODCICS VSE1 CICS
TERMINAL H001 GENERIC PRODCICS DEDICATE POOL H0CICS
TERMINAL H002 GENERIC PRODCICS DEDICATE POOL H0CICS
TERMINAL H501 GENERIC PRODICCF DEDICATE POOL H5ICCF
TERMINAL H502 GENERIC PRODICCF DEDICATE POOL H5ICCF
TERMINAL FS01 GENERIC PRODCICS DEDICATE POOL FSCICS
TERMINAL FS02 GENERIC PRODCICS DEDICATE POOL FSCICS
ATTACH TN3270E
/*
6.2.6 Printing
There are several options available for setting up printing in TCP/IP for VSE/ESA and IPv6/VSE.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides the following alternatives for printing:
LPR (Batch/Auto)
LPD (LPR data to POWER)
GPS (LPR)
The Generalized Print Server (GPS) is an optional feature that takes 3270 a data stream, converts EBCDIC to ASCII, and uses LPR to send print data to a network printer. The GPS daemon is defined in the TCP/IP partition with the DEFINE GPSD command, as shown in the following example:
DEFINE GPSD,ID=HSP1,STORAGE='PRD2.TEMP', -
    IPADDR=HS139,TERMNAME=HSP1,PRINTER=DEFLJ3, -
    INSESS=YES,TARGET=PRODCICS,INSERTS=L681
IPv6/VSE
IPv6/VSE provides the following alternatives for printing:
LPR (batch/auto)
FTP (instead of LPD)
TN3270E with a client for SNA or non-SNA printer emulation
TN3270E without a client (DIRECT, LPR, FTP)
VSE2PDF
TN3270 Printing is included in the base product. Printers are defined in the TN3270 partition with commands that are similar to the following example:
* lu applid ip addr port inserts queue
DIRECT HSP1 V1ACICS1 HS139 515 L681 DEFLJ3
6.2.7 AutoLPR
AutoLPR provides functionality for printing z/VSE data on printers that are connected to remote TCP/IP hosts.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides the DEFINE EVENT command for establishing actions that are triggered when specified events occur on your VSE system. Consider the following points:
It allows you to specify the class to monitor.
It uses AUTOLPR scripts to control printing.
The script name is specified in the USER parameter of the * $$ LST card.
IPv6/VSE
IPv6/VSE provides a sample REXX program, BSTTALPR.PROC, for monitoring a VSE/POWER LST class. Consider the following points:
It creates appropriate JCL that is submitted in another partition to print LST a queue entry.
It can read an AUTOLPR script and generate related IPv6/VSE LPR commands.
The LST card in the original job must specify the INSERTS name on the UCS parameter.
6.2.8 Inserts coding
INSERTS coding is used for further controlling the print output. By using this coding, you can include printer control data before the file, after the file, and after each form feed.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA uses an INSERTS phase that contains printer control commands. The commands are specified in the Printer Command Language (PCL) that was originally created by Hewlett-Packard.
The TCP/IP for VSE 1.5F User’s Guide provides the example that is shown in Example 6-11.
Example 6-11 INSERTS phase for TCP/IP for VSE
* $$ JOB JNM=INSCOP2,CLASS=4,DISP=D
// JOB INSCOP2
// LIBDEF *,SEARCH=(PRD2.TCPIPC)
// LIBDEF PHASE,CATALOG=PRD2.TCPIPC
// OPTION CATAL,LIST
// EXEC ASMA90
*********************************************************************
*                                                                   *
* This inserts phase causes two copies of the output to be printed. *
* *                                                                  
* 1B45 = Printer Reset                                              *
* 1B266C3258 = Two Copies of Output (1B266C is the category )       *
* (32 is Ascii for 2 copies )                                       *
* (58 is the command code )                                         *
*                                                                   *
*                                                                   *
* A trailer of 1B45 resets the printer.                             *
*                                                                   *
*********************************************************************
INSCOPY2 INSERTS DEFINE,                                            X
               HEADER=1B451B266C3258,                               X
               TRAILER=1B45
         END
/*
// EXEC LNKEDT
/&
* $$ EOJ
All command codes must be specified in hexadecimal.
IPv6/VSE
For IPv6/VSE, an INSERTS member contains printer control commands in decimal. Example 6-12 shows various printer control commands.
Example 6-12 INSERTS member for IPv6/VSE
CATALOG L681.I REPLACE=YES
* L681
* RESET to printer defaults
HEADER 027 069
* 13 CPI 13 = ASCII X'3133' = 049 051
HEADER 027 040 115 049 051 072
* LANDSCAPE
HEADER 027 038 108 049 079
* 68 LINES PER PAGE 68 = ASCII X'3638' = 054 056
HEADER 027 038 108 054 056 080
* 8 LINES PER INCH 8 = ASCII X'38' = 056
HEADER 027 038 108 056 068
* TOP MARGIN 4 LINES 4 = ASCII X'34' = 052
HEADER 027 038 108 052 069
* LEFT MARGIN 3 COLUMNS 3 = ASCII X'33' = 051
HEADER 027 038 097 051 076
* RESET to printer defaults
TRAILER 027 069
/+
6.2.9 Email
Sending emails (and optionally attaching files) is supported by TCP/IP for VSE/ESA and IPv6/VSE. However, there are differences in how file attachments are defined. In this topic, we describe these differences in an example that sends the subcapacity measurement report to IBM. When you run the IBM SCRTTOOL, the output goes into a VSAM ESDS file.
TCP/IP for VSE/ESA
Example 6-13 shows the JCL for sending the subcapacity measurement report to IBM. The VSAM DLBL name (REPORT) is changed to a PC file name (report.csv) when the report is attached to the email.
Example 6-13 Sending the CRT report to IBM by using TCP/IP for VSE
* $$ JOB JNM=EMAIL,CLASS=Y,DISP=D
// JOB EMAIL
// DLBL REPORT,'DBGREP',,VSAM,CAT=DATACAT
// EXEC EMAIL,SIZE=EMAIL,PARM='ID=00'
SET HOST=d06av01.portsmouth.uk.ibm.com
SET RPORT=12345
SET Subject=SCRT Sample Report <HOLD>
TEXT
Please find attached my SCRT sample report generated on SCRTTEST.
/+
SEND REPORT AS REPORT.CSV
QUIT
/*
/&
* $$ EOJ
IPv6/VSE
Example 6-14 shows how to send the subcapacity measurement report to IBM by using IPv6/VSE. By using the BSTTMTPC program, you can send an email from a z/VSE batch partition and optionally attach any type of file.
Example 6-14 Sending the CRT report to IBM by using IPv6/VSE
// DLBL REPORT,'file.name',,VSAM,CAT=.......
// LIBDEF PHASE,SEARCH=ipv6lib.slib
// LIBDEF SOURCE,SEARCH=(PRD2.CONFIG,ipv6lib.slib)
// EXEC BSTTMTPC,SIZE=BSTTMTPC
ID 00
OPEN 10.150.10.65 25
HELO name.com
MAIL FROM: ...
SUBJ SUBJECT: <AUTO>
ORGA ORGANIZATION: your_id
*
DATA
*
INPUT VSAM REPORT
TYPE A
DISP ATTACH
INCLUDE SUBCAP.CSV
*
QUIT
/* EOF for BSTTMTPC commands
/* EOF for email text read by DATA command
6.2.10 Creating PDF documents
CSI and BSI provide a means for converting z/VSE data into PDF documents.
TCP/IP for VSE/ESA
The PDF Conversion Facility is part of TCP/IP for VSE/ESA and can generate a PDF from Power, LIBR, VSAM, or CICS, if you have the CICS Access Facility (CAF) add-on component. The PDF Conversion Facility can be started from the FTPD, the mail client, and the HTTPd web server.
For more information about configuring and the use of the PDF Conversion Facility, see the TCP/IP for VSE User’s Guide, SC33-6763.
IPv6/VSE
Any licensee of IPv6/VSE also is granted a license available at no extra cost to run VSE2PDF/Lite, which can be used to convert basic reports to simple PDF files. Output from the conversion process can be emailed to users.
VSE2PDF/Lite is equivalent to the CSI PDF Conversion Facility; the full VSE2PDF product is a complete PDF report distribution facility.
When VSE2PDF/Lite is started, it appears to VSE/POWER as a printer. When output appears in the VSE/POWER LST queue of the correct class and destination, VSE/POWER prints the LST queue member to VSE2PDF/Lite. As VSE/POWER output is received, VSE2PDF/Lite converts it into a PDF document and emails the PDF document to a single user. Optionally, the PDF document can be transferred to an FTP server.
Because VSE2PDF/Lite uses the VSE/POWER device driver interface, no scanning of VSE/POWER queues is required. System resources are used only while output is received from VSE/POWER and sends the PDF output to the wanted destination.
For more information about VSE2PDF/Lite, see IPv6/VSE User’s Guide, SC34-2618.
6.2.11 Remote EXEC client
By using a Remote Execution Protocol (REXEC) client, you can issue a command to a separate TCP/IP system that is running an REXEC daemon.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides an interactive REXEC client that can be started from a CICS terminal and a batch client. TCP/IP for VSE 1.5F User’s Guide, SC33-6763 provides the example that is shown in Example 6-15 for a batch client.
Example 6-15 TCP/IP for VSE batch REXEC client
* $$ JOB JNM=REXEC,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB REXEC
// EXEC CLIENT,PARM=‘APPL=REXEC,ID=nn,QUIET=YES'
REXEC command 1
REXEC command 2
REXEC command n
/*
/&
* $$ EOJ
The ID parameter specifies the system ID of the TCP/IP partition to which you want to connect.
IPv6/VSE
IPv6/VSE provides a REXEC client through the BSTTREXC utility. BSTTREXC runs a single command or shell script. Example 6-16 shows the JCL and a tip for the use of a command continuation line. In BSTTREXC, the EXE2 command can be used to continue an EXEC statement. EXE2 must precede the EXEC command.
Example 6-16 IPv6/VSE batch REXEC client
// EXEC BSTTREXC,SIZE=BSTTREXC
ID 00
*
OPEN ...
*
USER ...
PASS ...
CODE *
EXE2 continued-text-goes-here
EXEC gzip -v
/ftphome/cabs/bhn/emi/arc/long-file-name-here-that-i-need-to-continue
QUIT
/*
In the EXEC line, the text must go out to column 80. This text is then continued on the EXE2 line. You can have one EXE2 command only. If this is not enough, use a script and run the script.
6.3 Performance
In this section, we compare TCP/IP for VSE/ESA to LFP in a z/VM environment, as shown in Table 6-1.
Table 6-1 Performance overview
Workload
TCP/IP for VSE/ESA
Linux Fast Path
Difference
FTP (BSI FTP server)
VSE ? Linux (1 GB)
(NULL file, no I/O)
 
 
Linux ? VSE (1 GB)
(NULL file, no I/O)
 
19 MBps
29% CPU (5% App + 24% TCP/IP)
 
21 MBps
55% CPU (11% App + 44% TCP/IP)
 
72 MBps
20% CPU (App)
 
 
70 MBps
20% CPU (App)
 
3.7 times faster
9% less CPU
 
 
3.3 times faster
35% less CPU
Socket Application (running 3 times)
VSE ? Linux (100 MB)
 
Linux ? VSE (100 MB)
 
4.6 MBps (*3 = 13.8 MBps)
 
9.7 MBps (*3 = 29.1 MBps)
26% CPU (3*1% App + 23% TCP/IP)
 
14.6 MBps (*3 = 43.8 MBps)
 
16.2 MBps (*3 = 48.6 MBps)
9 % CPU (3*3% App)
 
3.2 times faster
 
 
1.7 times faster
 
17% less CPU
The environment that was used is IBM System z10 EC (2097-722). The TCP/IP connection is through a shared OSA adapter.
The results show significant benefits in transfer rate and CPU usage, which results in reduced subcapacity Cost.
 
Note: For more information about IPv6/VSE throughput rates, see this website:
6.4 SSL
Because TCP/IP for VSE/ESA and IPv6/VSE are using different SSL implementations, there are significant differences in using SSL.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides an SSL implementation as part of the CSI stack. The SSL API is described in TCP/IP for VSE Programmer’s Guide, SC33-6766, and is compatible with the z/OS SSL API.
Most applications are SSL-enabled. However, the following SSL modes are provided:
SSL in native mode
SSL traffic goes directly to the SSL enabled daemon on VSE. Native mode is supported by the FTP daemons, TELNETD, and HTTPd. In addition to one of these daemons, you must define a TLSD daemon on the same port. This daemon then gets all SSL-related settings from the related TLSD daemon.
SSL in pass-through mode
This mode must be used for secure Telnet, but also can be used for HTTP. Also, here we must define a TLSD daemon. The difference from native mode is that we use the PASSPORT parameter to route SSL traffic from an unsecured daemon to the SSL daemon.
The preferred method to use is native mode.
IPv6/VSE
IPv6/VSE provides SSL support by using two proxy servers that translate encrypted traffic into clear traffic and vice versa. This means that applications are not natively SSL enabled and you must configure and start one or more SSL proxy servers.
The following server options are available:
BSTTPRXY is a simple proxy server to proxy one application. To proxy multiple connections, you must run multiple BSTTPRXY partitions. BSTTPRXY performs IPv4-to-IPv6 or IPv6-to-IPv4 translations.
BSTTATLS (Automatic Transport Layer Security) is a facility that is similar to the z/OS AT-TLS Security facility. It allows many ATTLS definitions and monitors incoming and outgoing connections. It also intercepts and converts sockets from clear text to SSL or vice versa, as necessary. However, BSTTATLS does not perform IPv4-to-IPv6 or IPv6-to-IPv4 translations.
IPv6/VSE uses phase IJBSSL (OpenSSL) that is provided with z/VSE for SSL support. OpenSSL on z/VSE provides an SSL API that is compatible to the z/OS SSL API. For more information, see “z/OS SSL API” on page 221.
LFP
LFP does not provide an SSL implementation. Instead, SSL from TCP/IP for VSE/ESA can be used (which implies a licensing issue). SSL traffic then goes from any remote platform to Linux on System z, which forwards the encrypted traffic by using IUCV or HiperSockets Completion Queue (HSCQ) to z/VSE that is running under z/VM or in an LPAR. For more information, see 4.7, “Using secure connections with SSL” on page 146.
6.5 Comparison of APIs
This section provides an overview of the different APIs in terms of protocols (IPv4, IPv6), stacks (TCP/IP for VSE, IPv6/VSE, LFP), programming languages (Assembler, C), and SSL (TCP/IP for VSE/ESA, OpenSSL).
For more information about an API reference, see Appendix A, “API reference” on page 219.
6.5.1 Socket APIs
This topic gives an overview of the APIs that are provided by the different IP stacks. A common Assembler socket API (EZASOKET) is part of the z/VSE base. EZASOKET is described in z/VSE V5R1 TCP/IP Support, SC34-2640.
TCP/IP for VSE/ESA
TCP/IP for VSE/ESA provides an LE/C socket API through phase $EDCTCPV. The API functions are described in z/VSE V5R1 TCP/IP Support, SC34-2640.
IPv6/VSE
IPv6/VSE provides a socket API for IPv4 (phase BSTTTCPV) and IPv4 and IPv6 (phase BSTTTCP6).
LFP
LFP provides a socket API with phase IJBLFPLE.
6.5.2 SSL APIs
All SSL APIs that are available on z/VSE are derived from the z/OS SSL API that is described in Chapter 9 of z/OS Cryptographic Services, SSL Programming, SC24-5901. Although this API is outdated on z/OS, it is supported for old applications. On z/VSE, this is still the standard SSL API.
TCP/IP for VSE/ESA
The SSL API that is provided by TCP/IP for VSE/ESA is identical to the former z/OS SSL API. The API with its CSI-specific characteristics is described in TCP/IP for VSE Programmer’s Guide, SC33-6766. A good source for return and reason codes is the sslvse.a macro that is part of TCP/IP for VSE/ESA. It is in the TCP/IP for VSE/ESA installation sublibrary.
IPv6/VSE
IPv6/VSE does not provide its own SSL API. It uses the GSK-API provided by OpenSSL.
Linux Fast Path
No SSL API is provided by LFP. Instead, LFP uses the CSI SSL implementation.
6.5.3 Crypto APIs
In this section, we describe the key components of z/VSE networking and their support of cryptography.
TCP/IP for VSE/ESA
As of this writing, TCP/IP for VSE/ESA is the only product that provides an API for encryption, decryption, signing, and message authentication. For more information about this API (CryptoVSE API), see TCP/IP for VSE Programmer’s Guide, SC33-6766.
Another API unique to the CSI stack is the Common Encryption Cipher Interface (CECI). It was developed to meet specific auditing requirements of the VISA CISP standard. It can be called from Assembler, COBOL, or other high-level languages that use standard call/save linkage conventions. The CECI interface is also described in the TCP/IP for VSE Programmer’s Guide, SC33-6766.
IPv6/VSE
As of this writing, IPv6/VSE does not provide any cryptographic APIs.
Linux Fast Path
As of this writing, Linux Fast Path does not provide any cryptographic APIs.
OpenSSL
There are several native OpenSSL API functions for encryption and decryption that can be used from IJBSLVSE.OBJ. This requires the caller to be a C program with an LE-C runtime environment. For a list of provided API functions, see “OpenSSL API” on page 222.
6.6 Considerations for DB2 Server for VSE interfaces
By using the DB2 Server for VSE and the DB2 Client Edition for VSE, you can choose the following API for IBM DRDA® communication socket interfaces:
For the DB2 Application Server component, you can choose between the LE/C and EZASMI socket interfaces.
For the DB2 Batch and online Application Requestor, you can choose between the LE/C, EZASMI, and CSI Assembler socket interfaces.
For DB2, always use the EZASMI socket interface for best compatibility with the different TCP/IP stacks.
For more information, see Chapter 3 of z/VSE Using DB2 on Linux for System z, SG24-7690, which is available at this website:
Depending on which socket interface that is used, you must specify the following TCP/IP stack-specific interface phases:
LE/C: Configure the LE/C multiplexer.
EZASMI: Specify the sockets phase in JCL.
CSI Assembler: No further configuration is needed.
6.7 Considerations for IBM applications
In this section, we describe how the different IP stacks influence the behavior of IBM applications.
6.7.1 VSE Connector Server
When the VSE Connector Server is used with IPv6/VSE, you must add the following statement to the server JCL:
// SETPARM SENDALL='YES'
This statement is needed because the implementation of a non-blocking socket send() is different in TCP/IP for VSE/ESA and IPv6/VSE. The SENDALL parameter enforces the same behavior for IPv6/VSE as it is implemented in TCP/IP for VSE/ESA.
Also, ensure that you have set up the LE/C multiplexer phase for your IP stack (skeleton EDCTCPMC in ICCF library 59).
6.7.2 Virtual tape
When z/VSE vtape is used, ensure that the LE/C multiplexer phase is correctly set up for your IP stack (skeleton EDCTCPMC in ICCF library 59). For IPv6/VSE, we suggest the setup that is shown in Example 6-17.
Example 6-17 Setup of VTAPE server for IPv6/VSE
* $$ JOB JNM=TAPESRVR,CLASS=S,DISP=L
* $$ LST CLASS=O,PURGE=0
// JOB TAPESRVR START UP VSE TAPE SERVER
// ID USER=VCSRV,PWD=VCSRV
// OPTION PARTDUMP,NOSYSDUMP
// OPTION SYSPARM='00'
// SETPARM IPTRACE='NNNNNNNN'
// SETPARM SVABUF=YES
// SETPARM SENDALL=YES
// SETPARM LRGBUF=YES
// LIBDEF *,SEARCH=(PRD2.TCPIPB,PRD2.CONFIG,PRD1.BASE,PRD2.SCEEBASE)
// EXEC $VTMAIN
/*
/&
The following points concerning JCL should be considered:
Adjust the CLASS=S on the * $$ LST card, if needed.
PURGE=0 automatically deletes any LST queue output if RC=0.
// SETPARM IPTRACE='NNNNNNNN' disables any tracing.
// SETPARM SVABUF=YES. This is needed by IPv6/VSE because the VSE vtape support uses SVA socket buffers.
// SETPARM SENDALL=YES. This is needed by IPv6/VSE.
// SETPARM LRGBUF=YES. This uses scaled TCP Windows.
IPv6/VSE lib.slib must be first in // LIBDEF PHASE,SEARCH chain.
 
Note: If you enable tracing by changing the IPTRACE values, you must also enter DEBUG ON on the console to get SYSLST output.
6.7.3 CICS Web Support
When a TCP/IP service is defined for CICS Web Support (CWS), the TCP/IP host name must be made known to CICS.
TCP/IP for VSE/ESA
When TCP/IP for VSE/ESA is used, you define the TCP/IP host name in the IPINIT member, as shown in the following example:
DEFINE NAME,NAME=MYVSE,IPADDR=9.152.131.189
For more information about configuring CWS by using TCP/IP for VSE/ESA, see Security on IBM z/VSE, SG24-7691.
IPv6/VSE
When IPv6/VSE is used, you use a HOST command in the BSTTINET or BSTT6NET startup JCL, as shown in the following example:
HOST MYVSE 9.152.131.189
In addition to specifying the host name in the stack startup JCL, you must modify your CICS startup JCL to support CWS, as shown in the following example:
// JOB CICSBSI CICS/ICCF STARTUP
// OPTION SYSPARM='nn'          <-- SYSID of BSI Stack
// SETPARM LOCALGT=YES
...
// LIBDEF *,SEARCH=(PRD2.CONFIG,PRD1.BASED,PRD2.TCPIPB,PRD1.BASE, ...
For more information, see IPv6/VSE Migration Guide, SC34-2624.
The LOCALGT parameter is only used for performance. For more information, see IPv6/VSE Programming Guide, SC34-2617.
LFP
When LFP is used, the TCP/IP host name is the host name of the Linux system that is running the LFP daemon.
6.7.4 Encryption Facility for z/VSE
Encryption Facility for z/VSE is an optionally priced feature of z/VSE V4 and later. It provides encryption of VSE data sets and tapes and includes the following main functions:
Password-based encryption (PBE). When PBE is used, the encryption key is derived from a user-specified secret passphrase.
Public-key encryption (PKE). When PKE is used, the encryption key is created by using a random number generator and then protected by an RSA public key. Only the possessor of the corresponding private key can decrypt the encrypted data.
 
Note: As of this writing, PKE is supported by TCP/IP for VSE/ESA only. Encryption Facility uses z/VSE services for accessing RSA keys and only the CSI format (PRVK and CERT) is supported. Supporting IPv6/VSE requires enhancing the z/VSE crypto services to support PEM keystores.
For more information about Encryption Facility for z/VSE, see z/VSE Administration, SC34-2627.
6.7.5 Basic Security Manager
The z/VSE Basic Security Manager (BSM) provides security exit BSSTISX for accessing security-related information, such as user passwords.
TCP/IP for VSE/ESA
To enable TCP/IP for access to BSM, use the following commands:
DEFINE SECURITY,DRIVER=BSSTISX
SET SECURITY = ON
You can display the current security-related settings by using the Q SECURITY command, as shown in the following example:
F7-0101 IPN300A Enter TCP/IP Command
101 q security
F7 0097 IPN253I << TCP/IP Security Settings >>
F7 0097 IPN750I Security Processing: Enabled
F7 0097 IPN750I ARP Checking: Disabled
F7 0097 IPN750I IP Address Checking: Disabled
F7 0097 IPN751I Exit data: Undefined
F7 0097 IPN750I Automatic Security: Disabled
F7 0097 IPN750I Security Exit: Enabled - BSSTISX
F7 0097 IPN750I Batch Security: Disabled
F7 0097 IPN752I Security Mode: Fail Log: Fail Dump: Fail
IPv6/VSE
The BSI FTP server security exit routine BSTTFTS1.PHASE calls the BSSTISX security exit to verify user ID and password. All other security is controlled by using the standard BSTTSCTY.T member.
 
Note: The default FTP server security member (BSTTSCTY.T) provides open access to the FTP server, so any user ID and password are accepted.
To enable the BSTTFTS1.PHASE security exit, complete the following tasks:
Copy the BSTTFTS1.PHASE to a configuration lib.slib as BSTTFTSX.PHASE.
Use a LIBDEF statement to reference this configuration lib.sublib in the BSTTFTPS PHASE,SEARCH chain.
Add the following BSSTISX command to your BSTTFTPS startup commands:
BSSTISX <data>
<data> is [anonym_uid][,[anonym_pwd][,[preproc][,[postproc][,[mode]]]]]
IPv6/VSE does not provide any command to display the settings in the BSTTSCTY.T member. Use LIBR to display its contents.
For more information about configuring security for IPv6/VSE, see the following resources:
IPv6/VSE IPv4 User’s Guide, which is available at this website:
IPv6/VSE Migration Guide, SC34-2624
LFP
As of this writing, only one IBM application is provided specially for the LFP stack: The z/VSE Virtual FTP Server. This server uses the security mechanism of the VSE Connector Server, which, in turn, accesses the BSM by using RACROUTE requests. Therefore, BSSTISX is not relevant for LFP.
6.7.6 Uploading PTF files to IJSYSPF
This section shows how to upload PTF files to the PTF service file IJSYSPF for further application from disk. You should never apply multiple PTFs by just submitting the PTF jobs to the RDR queue. In this case, MSHP would not be able to apply the PTFs in their correct order, considering all prerequisites and corequisites. In addition to that, some PTFs contain VSE/POWER JCL for generating child jobs to be placed in the RDR queue. This can only be handled correctly using the Interactive Interface apply PTF dialogs and having all PTFs available on disk.
 
Note: In z/VSE 5.2, the logical record length for IJSYSPF is 10320. In previous versions of z/VSE, it was 80. Be sure to use the correct LRECL value. You might redefine the PTF file by using the skeleton SKPTFILE in ICCF library 59.
TCP/IP for VSE/ESA
Uploading PTFs to IJSYSPF by using TCP/IP for VSE/ESA is described in System Upgrade and Service, SC34-2639. It is also described on the VSE home page in the Service & Support section. Example 6-18 shows the FTP commands used to transfer the binary PTF file with correct record length.
Example 6-18 Upload PTF file to IJSYSPF using TCP/IP for VSE/ESA
C:Temp>ftp 9.164.170.30                <-- IP address or hostname of VSE system
Connected to 9.164.170.30
220-TCP/IP for VSE -- Version 01.04.00 -- FTP Daemon
Copyright (c) 1995,2001 Connectivity Systems Incorporated
220 Service ready for new user.
User (9.164.155.2:(none)): SYSA         <-- enter your user id here
331 User name okay, need password.
Password: <-- enter your password here
230 User logged in, proceed.
ftp> binary                             <-- switch to binary mode
200 Command okay.
ftp> quote site lrecl 10320             <-- record size of your file
200 Command okay.
ftp> quote site recfm f                 <-- record format of your file
200 Command okay.
ftp> put ptffile.bin PTF.FILE <-- enter your filenames
IPv6/VSE
Example 6-19 shows the FTP commands for uploading a PTF file to the IJSYSPF file using IPv6/VSE.
Example 6-19 Upload PTF file to IJSYSPF using IPv6/VSE
// EXEC BSTTFTPC,SIZE=BSTTFTPC
ID ..
USER ..
PASS ..
CWD ... if necessary ...
*
TYPE I
OUTPUT ESDS IJSYSPF RECSZ 80
RETR eptfxxxx.bin
QUIT
/*
The IPv6/VSE FTP server does not allow specifying a block size, so ensure that IJSYSPF is defined with the correct block size depending on your z/VSE release.
Linux Fast Path
When using LFP, you will probably use the Virtual z/VSE FTP Daemon. Example 6-20 shows how to upload a binary PTF file for this scenario.
Example 6-20 Upload PTF file to IJSYSPF using the Virtual z/VSE FTP Daemon
D:ftp 127.0.0.1
Connected to 127.0.0.1.
220 IBM Virtual z/VSE FTP Server on BR9WG7D4 (version 1.1) ready to serve.
User (127.0.0.1:(none)): jsch
331 Password required for jsch.
Password:
230 User jsch logged in. Idle timeout is 15 minutes.
ftp> bin
200 Type set to I.
ftp> cd vsam
250 CWD command successful, current directory is "/VSAM".
ftp> cd VSESP.USER.CATALOG
250 CWD command successful, current directory is "/VSAM/VSESP.USER.CATALOG".
ftp> put UD54054.bin ptf.file
The Virtual z/VSE FTP Server allows you to specify transfer mode S (stream, which is the default) or B (block). When using stream mode, the target file is filled record by record according to the VSAM cluster definition. It is not needed to specify a specific record length or format.
 
Note: This support requires updates in the VSE Connector Server and Virtual z/VSE FTP Server from September 2014 or later.
6.8 Known problem: ftp.exe hangs on Windows 7
In our test setup, we found that ftp.exe hangs on Windows 7.
6.8.1 Symptom
When ftp.exe is used under Windows 7 Professional, file transfers and directory lists are not possible. Logon works fine, but there is a hang when we tried to upload or download files.
6.8.2 Solution
Complete the follow steps to correct the problem:
1. Open the Windows 7 Control Panel, then click Windows Firewall  Advanced Settings  Inbound Rules.
2. Scroll down until you see a rule that is called “File Transfer Program”. Complete the following steps:
a. Double-click the rule.
b. On the General tab, under Action, select Allow the connectionB.
c. Click OK.
3. If there is no such rule, click New rule... and complete the following steps in the wizard:
a. In the first window, select Program.
b. In the second window, browse to the ftp.exe, which is in the C:windowssystem32 directory.
c. In the third window, select Allow the connection.
d. Keep the defaults for the remaining windows.
e. Click OK.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset