TCP/IP LINK Statement

The LINK statement and its parameters are used to define the characteristics of the remote node. Normally, there is more than one LINK statement defined in the network startup parameters, that is, one link per node.

This document covers the following topics:


LINK Statement Format

The TCP/IP LINK statement has the following format:

graphics/tcpilink.png

For more information about syntax conventions and rules used in this section, read Conventions.

Modifying the LINK Statement Parameters

The LINK statement parameters are read from a sequential file during system startup, and can be modified after startup using the ALTER operator command. Some parameters can be modified when the link is open or closed. Others can be modified only when the link is closed. See ALTER and CLOSE in the section TCP/IP Operator Commands. The open/closed requirement for each parameter is included in the following descriptions.

LINK Statement Parameters

This section describes all of the parameters that can be used for the TCPI LINK statement.

For more information about syntax conventions and rules used in this section, read Conventions.

linkname Parameter

linkname

The required linkname parameter specifies the name by which this link is to be known. It is positional and must be specified immediately after the LINK keyword and immediately before the driver name (TCPI). The link name must be unique on the node. All operator commands affecting the link must specify this name.

If the link name begins with the characters "MODEL", the link is defined as a model link. See the section Model Links.

TCPI Parameter

TCPI

TCPI is required and specifies the protocol name that defines the driver associated with this link. It must be the same as the value specified for the DRVNAME parameter in the TCPI DRIVER statement. In most cases, this value is "TCPI". If DRVNAME is changed to a value other than "TCPI", this parameter must also be changed.

ACQUIRE Parameter

ACQUIRE={N | Y}

This optional parameter specifies whether or not a connection with the remote node should be attempted when the driver is opened for the first time (during system initialization). If N is specified, the link is connected manually using operator commands from the client or server node. The ACQUIRE parameter can be modified only when the link is closed. The default value is N.

ADJHOST Parameter

ADJHOST=Internet-host-name

This optional parameter specifies the Internet host name of a node with which a connection is to be established. The name can be resolved to either an IPv4 or IPv6 address. Its value can be 1 - 255 characters. The ADJHOST parameter can be modified only when the link is closed.

The ADJHOST parameter uses Domain Name Services (DNS), as follows:

  • The GetHostByName function is used to determine the IP address of a host name specified with ADJHOST. IP address is used both for connecting to another node and for locating the link for an incoming connection.

  • The GetHostByAddr function is used to determine the host name of a node that is trying to connect to this node. This is necessary when the IP address of a host name specified with ADJHOST changes after the link has been opened.

Software AG recommends the use of the ADJHOST parameter for sites that assign IP addresses via the DHCP protocol. Entire Net-Work will use the GetHostByName function for every outgoing connection on nodes that have ADJHOST specified as long as INETADDR is not specified.

The following table lists the APIs that support Domain Name Services:

API GetHostByName GetHostByAddr
BS2 Yes Yes
CNS Yes No
EZA Yes Yes
HPS Yes Yes
OES Yes Yes

For performance reasons, Software AG recommends that all LINK statements containing an ADJHOST value be defined after the LINK statements containing an INETADDR or V6IPADDR specification. If none of these parameters is specified, the link is not usable. If both the INETADDR and ADJHOST parameters are specified, the INETADDR parameter takes precedence. Likewise, if both the V6IPADDR and ADJHOST parameters are specified, the V6IPADDR parameter takes precedence. The INETADDR and V6IPADDR parameters are mutually exclusive; only one of them can be specified in the same link.

ADJNODE Parameter

ADJNODE=remote-node-name

This optional parameter specifies a node name to be assigned to this link. It is required only in cases where there is more than one link to the same IP address on systems that do not pass their node name. Such systems include older versions of UNIX and Entire Net-Work for the workstation. The name specified can be 1 to 8 alphanumeric characters and must be unique. Special characters should not be used; some systems do not accept node names with special characters. The ADJNODE parameter can be modified only when the link is closed.

COE Parameter

COE={N | Y}

This parameter can be used to force a node ID of 0 (zero) for all unsolicited connections via this link. It is similar to the NIDO parameter on the NODE statement, but allows you to set the COE value at the link level. The COE link parameter applies to the TCP/IP driver only.

A node ID of 0 means that the node is to be treated as a Client Only Element. A Client Only Element is a node that has no databases active and has no other Entire Net-Work nodes connected to it. Only non-mainframe nodes can be Client Only Elements; a COE setting for a mainframe link is ignored.

If COE=N (the default value), Entire Net-Work will respect the connecting node's client mode setting and will determine the COE status for the link based on that setting.

If COE=Y, Entire Net-Work will force the node ID to zero and set the link's COE flag to on.

The connection to a COE node is not broadcast to other nodes; only this node will include it in a response to a DISPLAY TARGETS command. When displayed by a DISPLAY TARGETS command, it is denoted as a communicator node, but with a lower-case 'c' (see message NET0124 in the section Entire Net-Work Control Module Messages).

When specified on a model link within this driver, any unsolicited connections handled by this driver will be treated as COE nodes.

EXIT Parameter

EXIT={name | none}

This parameter specifies the name of a user exit. For more information, read User Exit Interface.

If a value for EXIT is specified but the load module cannot be loaded, execution continues as if no exit were specified. The EXIT parameter can be modified only when the link is closed.

INETADDR Parameter

INETADDR=(n1.n2.n3.n4)

This optional parameter specifies the IPv4 address of the remote host associated with this link. The INETADDR parameter can be modified only when the link is closed.

IP address is used both for connecting to another node and for locating the link for an incoming connection. It is provided to Entire Net-Work in the form of INETADDR=(n1,n2,n3,n4) or INETADDR=(n1.n2.n3.n4) where each value represents 8 bits of the 32-bit IP address. Acceptable values are between 0 and 255 and may be separated by commas or periods. For example:

INETADDR=(157,182,17,20) 

or

INETADDR=(157.182.17.20) 

On most UNIX-based machines, this address can be found in the /etc/hosts file. The following are examples of the information in the /etc/hosts file:

157.182.17.20 DALLAS dallas (VMS)

157.182.17.18 DENVER denver (UNIX)

Each host on the INTERNET is assigned a unique IP address which is used by the IP and higher level protocols to route packets through the network. The IP address is logically made up of two parts: the network number and the local address. This IP address is 32 bits in length and can take on different formats or classes. The class defines the length (number of bits) of each part. There are four classes (A, B, C, and D); the class is identified by the allocation of the initial bit.

For performance reasons, Software AG recommends that all LINK statements containing an INETADDR value be defined before the LINK statements containing an ADJHOST specification. If neither of these parameters or the V6IPADDR parameter are specified, the link is not usable. If both INETADDR and ADJHOST are specified, the INETADDR parameter takes precedence.

Note:
Do not specify both V6IPADDR and INETADDR in the same link statement; they are mutually exclusive parameters.

KEEPALIV Parameter

KEEPALIV={Y | N}

KEEPALIV=Y (Yes) or T (True) causes internal TCP messages to be sent periodically to the remote node, thus maintaining the connection when there is no other traffic with the node. The amount of time between messages is determined by an initialization parameter in the TCP stack. If no KEEPALIV value is specified for the link, it defaults to the KEEPALIV value on the DRIVER statement.

MULTSESS Parameter

MULTSESS={N | Y}

This optional parameter determines whether a connect request from a host that has an active connection will be treated as a new link (Y), or a reconnection of an existing link (N). The default value is the value specified for the MULTSESS parameter in the DRIVER statement (N or Y, with N as the default). The MULTSESS parameter can be modified when the link is open or closed.

NODELAY Parameter

graphics/tcpidnodelay.png

This optional parameter allows you to indicate whether the IBM socket option TCP_NODELAY is enabled or disabled for a link. TCP_NODELAY indicates whether data sent over the socket is subject to the Nagle algorithm (RFC 896). For more information, refer to your IBM documentation.

Valid values for this parameter are "Y" (the TCP_NODELAY option is enabled) or "N" (the TCP_NODELAY option is disabled). The default is "Y". When the NODELAY parameter on the DRIVER statement is specified, you do not need to specify the NODELAY parameter on the LINK statement. The value from the DRIVER statement is used. If the NODELAY parameter is not specified on either the DRIVER or LINK statements, a value of "Y" is assumed.

Note:
The setting of this parameter is only effective if the API parameter is also set to "OES" or "HPS."

PORT Parameter

PORT=(n1,n2)

This optional parameter specifies the port numbers used for this link. It is required only in cases where there is more than one link to the same IP address. The local port number (n1) is the port number used to bind to on the local stack. In most cases, no value for n1 should be specified so the default value (the value specified by SERVERID=) will be used, i.e., PORT=(,n2). The remote port number (n2) specifies the port number of the remote partner. It is used to uniquely identify this link on an incoming connect request when more than one remote Entire Net-Work node has the same IP address. The value of n2 must be set to the port number of the remote Entire Net-Work partner that this link represents. The PORT parameter can be modified only when the link is closed.

PSTATS Parameter

PSTATS={N | Y}

This optional parameter determines whether or not (Y or N) statistics are printed to DDPRINT when the statistics interval expires. The default value is PSTATS=Y. This parameter does not affect the STATS operator command. The PSTATS parameter can be modified when the link is open or closed.

RESTART Parameter

RESTART= (i,n)

This optional parameter specifies the retry interval in seconds (i) and the number of retries (n) that are made to start the connection to the remote node. If RESTART is not specified, or (i) is specified as zero, no retry is attempted. By specifying (n) as zero, an infinite number of retries can be requested.

The TIMER parameter on the NODE statement affects the RESTART parameter (see the section Entire Net-Work NODE Statement . The retry interval should not be less than the TIMER parameter, and should be a multiple of this value. If a retry interval other than zero is specified that is less than the value of the TIMER parameter, the TIMER value is used instead. The RESTART parameter can be modified when the link is open or closed.

RSTATS Parameter

RSTATS={N | Y}

This optional parameter determines whether or not (Y or N) statistics are automatically reset when the statistics interval expires. The default value is the value specified for the RSTATS parameter in the DRIVER statement. The RSTATS parameter can be modified when the link is open or closed.

SAF Parameter

SAF={Y | L | N}

If SAF=Y or SAF=L is specified, Entire Net-Work will call the SAF Interface for all incoming requests on this link; failure to load the Interface is considered a security violation and Entire Net-Work will shut down. If SAF=L, the calls are traced and the output directed to DDPRINT. An error code is transmitted to the user if access to SAF is denied. The SAF parameter can be modified when the link is open or closed. The default value is N (No).

SENDTIME Parameter

SENDTIME={n | 90}

This optional parameter specifies the time (in seconds) that the TCP/IP line driver allows for a send to complete. When this time is exceeded, the line driver writes a message to the operator console indicating a possible error condition on the remote node. The connection is considered severed and link disconnect processing is initiated. The default value is 90 seconds. The SENDTIME parameter can be modified when the link is open or closed.

SERVERID Parameter

SERVERID=port-number

This parameter specifies a well known port number associated with a remote partner. Entire Net-Work will attempt to use this port number when connecting to the remote partner. If this parameter is not specified, or is set to zero (0), the value specified for the SERVERID parameter on the DRIVER statement is used. The SERVERID parameter can be modified only when the link is closed.

STATINT Parameter

STATINT={statistics interval | 3600}

This optional parameter specifies the amount of time, in seconds, before statistics are automatically printed or reset. Acceptable values are 1 - 2147483647. Any value outside this range is in error. The default value is 3600. The STATINT parameter can be modified when the link is open or closed.

TRACESIZ Parameter

TRACESIZ=trace table size

This optional parameter specifies the size of the TCP/IP link specific trace table. Value can be 4096 - 4194304. A value less than 4096 is reset to 4096. A value greater than 4194304 is reset to 4194304. The default value is the value specified for the TRACESIZ parameter in the DRIVER statement. The TRACESIZ parameter can be modified only when the link is closed.

V6IPADDR Parameter

V6IPADDR=x:x:x:x:x:x:x:x

This optional parm specifies the IPv6 address of the remote host associated with this link. The V6IPADDR parameter can be modified only when the link is closed. Specify the address as x:x:x:x:x:x:x:x, where each x represents a hexadecimal value of the eight 16-bit pieces of the address.

Standard abbreviated forms are allowed:

  • Leading zeros in an individual value may be omitted;

  • Groups of zeros may be eliminated, specifying them as a double colon '::'. A double colon may be used only once in an address.

  • IPv4-compatible and IPv4-mapped IPv6 addresses can be specified.

The following are examples of valid IPv6 addresses:

2001:DB8:7654:3210:FEDC:BA98:7654:3210
2001:DB8:0:0:8:800:200C:417A 
2001:DB8::8:800:200C:417A 
::13.1.68.3 
::FFFF:129.144.52.38 

For performance reasons, Software AG recommends that all LINK statements containing a V6IPADDR value be defined before the LINK statements containing an ADJHOST specification. If neither of these parameters or the INETADDR parameter are specified, the link is not usable. If both V6IPADDR and ADJHOST are specified, the V6IPADDR parameter takes precedence.

Note:
Do not specify both V6IPADDR and INETADDR in the same link statement; they are mutually exclusive parameters.

WEIGHT Parameter

WEIGHT={n | 256}

This parameter specifies the weight of this link with respect to other links going to the same node. If a given target can be reached by more than one path (chain of connected links), the path with the lowest weight is used. Slow or expensive links should be given a higher value than fast or inexpensive links. Values range from 1 to 999999. The default value is 256. The WEIGHT parameter can be modified only when the link is closed.

ZEDC Parameter

ZEDC={ Y | N }

This parameter indicates whether zEnterprise Data Compression (zEDC) compression can occur for the link. Valid values are "Y" or "N"; "N" is the default. Determination of whether or not zEDC data compression occurs is based on a combination of the settings of this parameter and the ZEDCINIT parameter on the NODE statement, as described in the following table:

LINK ZEDC Parameter Setting NODE ZEDCINIT Parameter Setting Result
Y Y Outbound buffers for the link are compressed.
Y N Outbound buffers are not compressed.
N Y Outbound buffers for TCPI links are not compressed, but other outbound buffers might be (depending on the setting of their LINK statement ZEDC parameters).
N N Outbound buffers are not compressed.

Note:
If the node-to-node handshake indicates that the destination node does not support zEDC data compression, the outbound payload will not be compressed, regardless of any zEDC parameter settings on the NODE statement or any LINK statement.

zEnterprise Data Compression (zEDC) can occur only on z/OS operating systems. Consequently, ZEDC=Y can be specified only on z/OS systems that support zEDC. For complete information on z/OS requirements for zEDC support, refer to IBM documentation regarding zEnterprise Data Compression (zEDC).

When compression occurs it occurs on buffers with sizes greater than the value defined by the NODE statement's ZEDCSZ parameter.

ZEDCLOG Parameter

ZEDCLOG={ F | L | N }

This optional parameter indicates what level of trace data will be logged for zEDC compression processing. This trace data logging occurs independently of Entire Net-Work's global tracing parameter setting (LOG=YES or LOG=FULL parameter settings on the NODE statement). Valid values are described in the following table:

ZEDCLOG Setting Result
F Trace data is logged prior to and after compression and decompression processing. The amount of data logged is equivalent to the length of the data.
L Trace data is logged prior to and after compression and decompression processing. The amount of data logged is 100 (x'64') bytes.
N This is the default. No trace data is logged.

Note:
The F and L settings of ZEDCLOG should be used sparingly; these settings greatly increase the DDPRINT output size.

The ZEDCLOG parameter, can be modified when a link is open or closed.

Note:
If the node-to-node handshake indicates that the destination node does not support zEDC data compression, the outbound payload will not be compressed, regardless of any zEDC parameter settings on the NODE statement or any LINK statement.

zEnterprise Data Compression (zEDC) can occur only on z/OS operating systems. Consequently, the ZEDCSLOG parameter specification should be made only on z/OS systems that support zEDC. For complete information on z/OS requirements for zEDC support, refer to IBM documentation regarding zEnterprise Data Compression (zEDC).