Installing the IUCV Line Driver in a z/VSE Environment

This section describes the installation procedure for the Entire Net-Work SVC and the IUCV support module. For compatibility reasons, the Entire Net-Work SVC is installed in all z/VSE systems whether they support IUCV communications or not; the IUCV support module is installed only where necessary.


IUCV Support Module

The IUCV support module is necessary to intercept IUCV external interruptions in environments where they are not recognized by the operating system, i.e., 370 or ESA paging environments.

In order to maintain a queue of pending IUCV requests, the IUCV support module allocates an area of page-fixed SVA GETVIS storage. The size of this SVA GETVIS area can be calculated using the following formula:

INTQ=QSIZE*LNIQ

where:

QSIZE is the value of the QSIZE parameter specified on the z/VSE EXEC statement for NETSIP. If no QSIZE parameter is specified, this value defaults to the value of the MAXCONN parameter of the OPTION statement in the CP directory times the MSGLIMIT parameter value of the IUCV statement in the CP directory. If MAXCONN and MSGLIMIT have not been specified, their values default to 4 and 10, respectively.
LNIQ has the constant value of 48.

Round the value for INTQ up to the next page boundary. The total page-fixed SVA requirement is then:

sva=ROUND(INTQ)+12288

Note:
If NETSVCD is linked with AMODE(31), then this storage is acquired above the 16-MB line.

Once installed, the IUCV support module remains anchored in the system. It remains dormant when Entire Net-Work is not active.

Using NETSIP to Install Under z/VSE

The NETSIP program is used to install the Entire Net-Work SVC and the IUCV support module. It can be used to install

  • during the IPL procedure; or

  • dynamically, without the need for an IPL.

NETSIP requires the use of a B transient, $$BNETV5, which must be in a library in the library search chain.

The following (or equivalent) JCS should be inserted in the ASI BG JCS procedure immediately before the START of the POWER partition so that the Entire Net-Work SVC and the IUCV support module are installed during the IPL procedure.

Note:
To install the Entire Net-Work SVC and IUCV support module dynamically without having to do an IPL, execute the following JCS in BG instead.

// DLBL SAGLIB,'NETWORK.Vvrs.LIBRARY'
// EXTENT SYS010,vvvvvv
// ASSGN SYS010,DISK,VOL=vvvvvv,SHR
// LIBDEF PHASE,SEARCH=SAGLIB.WCPvrs
SET SDL
NETSVCD,SVA
/*
// OPTION SYSPARM='svc'
// UPSI 00000010
// EXEC NETSIP,PARM='QSIZE=nnnnn,RESID=xxxxxxxx'

where:

Substitution Description
vvvvvv Specifies volume for the Entire Net-Work 5 library
vrs Entire Net-Work version level
svc SVC number to be used as the Entire Net-Work SVC

At execution time, the NETSIP program determines whether a printer is assigned to system logical unit SYSLST. If no printer is assigned, messages are written to SYSLOG instead of SYSLST.

More information about the NETSIP program is provided in the following paragraphs.

Choosing the Entire Net-Work SVC Number

Entire Net-Work requires an entry in the z/VSE SVC Table. The number you choose for the Entire Net-Work SVC must be currently unused.

To ensure that the number you choose is unused, run the program NETSIP with the UPSI byte option "S".

This produces a list of the used and unused SVCs in the z/VSE SVCTAB. See the section z/VSE UPSI Byte Options.

Alternatively, you may use the following procedure to find an unused SVC:

  1. Obtain a listing of the supervisor being used.

  2. Use the assembler cross-reference to locate the label SVCTAB.

    This is the beginning of the z/VSE SVC Table. The table contains a four-byte entry for each SVC, starting with SVC 0.

  3. Locate an entry higher than 31 that has a value of "ERR21".

    This value indicates an unused SVC Table entry.

  4. Use the entry number as input to NETSIP.

z/VSE UPSI Byte Options

The z/VSE UPSI byte options are used to select NETSIP options. The UPSI byte format is:

// UPSI dsxxxxxc

where:

d If 1, NETSIP uses PDUMP to dump the Entire Net-Work SVC and data areas. This option should be used only after the SVC is installed. The dump option is for debugging purposes only; do not use it unless instructed to do so by your Software AG technical support representative.
s If 1, NETSIP lists the z/VSE SVC Table and indicates whether each SVC is used or unused. No SVC number is required when using this function. This feature is used to determine which SVCs can be used for Adabas and Entire Net-Work.
c If 1, NETSIP will not check whether the Entire Net-Work SVC number specified by SYSPARM is valid.

NETSIP Execution Parameters

The NETSIP execution statement has the following syntax:

// EXEC NETSIP,PARM='QSIZE=qsize,RESID=resid'

where:

Substitution Description
qsize The number of the interrupt queue elements to be allocated in SVA GETVIS storage. The default value is the setting of the MAXCONN parameter of the OPTION in the CP directory times the MSGLIMIT parameter value of the IUCV statement in the CP directory. This parameter is optional.
resid The IUCV resource ID for the Entire Net-Work IUCV line driver. The resource ID is a logical name for an IUCV service. The standard resource ID for Entire Net-Work is SAGNETWK. This parameter should be issued only when it is necessary to run two separate versions of Entire Net-Work with IUCV line drivers concurrently. An example for this could be a test and a production network. This parameter is optional; if specified, RESID should be the same on all nodes

Note:
If neither QSIZE nor RESID is specified, the PARM option on the z/VSE EXEC statement must not be coded.

z/VSE 31-Bit Support

The information in this section applies only to users of z/VSE 1.3 or above running in ESA mode.

When the NETSIP program recognizes a system running z/VSE Version 1.3 or above, it attempts to place the interrupt queue and path table in the SVA above the 16-megabyte line if such storage is available for 370 or ESA paging environments.