Maintaining the network map file

The network map file is created when you install IBM® Connect:Direct®. If necessary, use a text editor to add or modify remote node records in the network map file. You can modify the network map file dynamically while the server is running. For local node connection record (local.node record) updates to be effective immediately, the Connect:Direct server must be recycled.

Contents of the network map file

The network map contains connectivity information that describes the local node and the remote nodes in the network. One remote node information record is created for each node with which the local node communicates.

The network map file resides in d_dir/ndm/cfg/cd_node/netmap.cfg where d_dir is the location where IBM Connect:Direct is installed and cd_node is the node name.

If you are using TCP/IP, the local node can communicate with a remote node without a remote node information record. Specify the required connection information in the submit command or the Process statement.

Sample remote node records in a network map

The following sample shows network map remote node entries for a TCP/IP connection to remote nodes. To insert comments about fields in the network map, be sure to place a # in the first column. If the # is not in the first column, the comment is not ignored and the field is read.

# Sample Network Map remote node entry for a TCP/IP connection
remote.customer.node:\
:conn.retry.stwait=00.00.30:\
:conn.retry.stattempts=3:\
:conn.retry.ltwait=00.10.00:\
:conn.retry.ltattempts=6:\
:tcp.max.time.to.wait=180:\
:runstep.max.time.to.wait=0:\
:contact.name=\ 
:contact.phone=\ 
:descrip=\ 
:sess.total=255:\ 
:sess.pnode.max=255:\ 
:sess.snode.max=255:\ 
:sess.default=1:\ 
:comm.info=10.20.246.49;9974:\ 
:comm.transport=tcp:\ 
:comm.bufsize=65536:\ 
:pacing.send.delay=0:\ 
:pacing.send.count=0:

Local node connection record

The local.node record serves two separate purposes:

  • Configures settings for the local node
  • Provides default configuration values that can be overridden in the remote node entries.

Two sets of connection retry parameters are created:

  • Short-term parameters define retry attempts in the event of a short-term connection failure.
  • Long-term parameters are used after exhausting short-term attempts. Long-term attempts are set for less frequent retries, because long-term attempts assume that the connection problem cannot be fixed quickly.

Following are the local.node parameters. The parameters in bold are required.

Parameter Description Value
api.max.connects The maximum number of concurrent API connections permitted for the local node.

The value of api.max.connects and sess.total  cannot exceed the number of file descriptors available. This value is system dependent.

A Command Manager (CMGR) is created for every API connection that is successfully established. The number of Command Managers that a PMGR can create is system-dependent and limited by the number of file descriptors available for each UNIX Process. The number of file descriptors set up by the UNIX operating system may affect Connect:Direct operation.

1–256

The default is 16.

comm.bufsize The buffer size for transmitting data to and from a remote node for TCP/IP connections. The value for TCP/IP has no limit (up to 2,147,483,623).

The default is 65536 bytes.

conn.retry.stwait The time to wait between retries immediately after a connection failure occurs. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. The maximum value is limited to the highest value in the clock format, 23.59.59. The default is 00.00.30, which is 30 seconds.
conn.retry.stattempts The number of times to attempt connection after a connection failure occurs. 0–9999

The default is 6.

conn.retry.ltwait The time to wait between long-term retry attempts after all short-term retry attempts are used. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. 00.00.00–23.59.59

The default is 00.10.00, or 10 minutes.

conn.retry.ltattempts The number of times to attempt a connection after all short-term retry attempts are used. 0–9999

The default is 6.

conn.retry.exhaust.
action
Action to take after the specified short and long-term retries have been used. hold | delete

hold—Places processes in the hold queue in “Held in Error” status, after all retry attempts are used. This is the default value.

delete—Causes the Processes to be deleted from the TCQ.

conn.securityfail.action Action to take after a process fails to start due to a security issue, such as SSL handshake failure or remote node rejection of snodeid credentials.

hold | delete

hold—Places Processes in the Hold queue in Held in Error status. This is the default value.

delete—Causes the Processes to be deleted from the TCQ

contact.name The name of the Connect:Direct administrator or operator. Name
contact.phone The phone number of the Connect:Direct administrator or operator. Phone number
descrip Comments to include as part of the record. An unlimited text string
netmap.check Enhanced security testing performed on the SNODE. For TCP/IP connections, the remote IP address of the incoming socket connection is compared to the comm.info record of the netmap.cfg file. These values must match for an Connect:Direct session to be established. The comm.info record can be the official network name, an alias name listed in the appropriate file (for example, /etc/hosts, if the system is not running NIS or DNS), or the IP address. For all connections, the remote node name must be in the netmap.cfg. y | n

y—Specifies that the security checks are made to verify that the remote node name is in the netmap.cfg file. Also, checks the network map for all nodes that Connect:Direct will communicate with to validate the node name and the IP address.

l—Checks the network map only for nodes that the local Connect:Direct will initiate sessions with.

r—Checks the network map only for remote nodes that will communicate with this node.

n—Will not validate any session establishment requests in the network map.

The default value is n.

outgoing.address If running in a high availability environment, this parameter enables you to specify the virtual IP address for the remote node to use for network map checking and prevents the Process from failing when initiated from within a high availability environment. Specify the IP address for this value and network map checking verifies the address instead of the value set in comm.info in the SNODE network map record. nnn.nnn.nnn.nnn (IPv4) or nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn (IPv6)

For more information on specifying IP addresses and host names, see IP Addresses, Host Names, and Ports.

pacing.send.delay The time to wait between send operations to the remote node. The decimal number is the number of milliseconds between the end of one packet and the beginning of the next packet. Time-based pacing does not contribute to network traffic. The format is nnn.

No limit exists for the size of this value.

The default is 0, which indicates no pacing of this type.

pacing.send.count The number of send operations to perform before automatically waiting for a pacing response from the remote node. No limit exists for the size of this value.

The default is 0, which indicates no pacing of this type.

proxy.attempt Enables the ID subparameter of snodeid to contain a proxy, or dummy user ID to be used for translation to a local user ID on the remote system. Using a dummy user ID improves security because neither the local system nor the remote system requires a valid user ID from the other side. y | n

y—Specifies that the remote users can specify a dummy user ID in snodeid parameter.

n—Specifies that the remote users cannot specify dummy user ID in snodeid parameter.

The default is n.

  The following code illustrates the logic used to perform a security check for the user ID:  
 
if (snodeid is coded with ID and PSWD)
        attempt OS validation
        if (OS validation succeeds)
                security OK
        else if (proxy.attempt=yes)
                if (ID@PNODE proxy found)
                        security OK
                else
                        security check fails
        else
                security check fails
else if (snodeid is coded with ID only)
        if (proxy.attempt=yes)
                if (ID@PNODE proxy found)
                        security OK
                else
                        security check fails
        else
                security check fails
else if (snodeid is not coded)
        if (submitter&;PNODE proxy found)
                security OK
        else
                security check fails
runstep.max.time.to.
wait
The maximum time to wait for remote run steps to complete. Remote run steps include remote run task, run job, or submit statements. This wait time is different from the wait time specified by the tcp.max.time.to.wait parameter. Using runstep.max.time.to.wait prevents a Process from failing when a remote step takes longer to complete than specified in tcp.max.time.to.wait. 0–10000

The value is in seconds.

The default value is 0.

sess.total The maximum number of concurrent connections between all nodes and the local node.

The sum of api.max.connects and sess.total cannot exceed the number of file descriptors available. This value is system dependent.

You must define enough file descriptors to handle the number of concurrent Connect:Direct sessions allowed, which can be as many as 999.

0–999

A 1–3 digit number.

The default is 255.

sess.pnode.max The maximum concurrent connections, where the local node is the initiator of the session. Number of PNODE sessions cannot exceed the total number of sessions.

If sess.pnode.max is larger than sess.total, the value of sess.pnode.max is silently rounded down to the value of sess.total.

0–999

The default is 255.

sess.snode.max The maximum concurrent connections, where the local node is the secondary node in a session.

Number of SNODE sessions cannot exceed the total number of sessions. If sess.snode.max is larger than sess.total, then it is silently changed to the value of sess.total.

0–999

The default is 255.

sess.default The default session class for starting session managers. A Process executes on the specified class or any higher session class. 1–50

The default is 1.

tcp.api.bufsize The buffer size for transmitting data to and from an Connect:Direct CLI/API. This value has no limit. The default is 32768 bytes.
tcp.api The information needed to monitor connection requests from the CLI or API using TCP/IP. The host is the host name or IP address where Connect:Direct is running. The port identifies the communications port for Connect:Direct. Multiple host name/IP addresses and port combinations can be specified when they are separated by a comma. This parameter is required. host name/IP address;nnnn

host name—is the name of the Connect:Direct host computer.

IP address—is the IP address of a machine running Connect:Direct:

nnn.nnn.nnn.nnn (IPv4) or nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn (IPv6)

port—identifies the communications port for Connect:Direct. The format is nnnn, where nnnn is a decimal number. A semi-colon separates the host name/IP address from the port:

msdallas-dt;1363

You can specify multiple address/host name and port combinations (separated with a comma):

10.23.107.5;1363, fe00:0:0:2014::7;1363, msdallas-dt;1363

For more information on specifying IP addresses and host names, see IP Addresses, Host Names, and Ports.

tcp.api.inactivity.
timeout
This is the maximum time a CMGR waits before exiting when it has not received a command from a client program. 0–86399 (23 hours, 59 minutes, and 59 seconds)

The value is in seconds. The default is 0, which indicates no timeout occurs.

tcp.max.time.to.wait The maximum time the local node waits for a message from the remote node when using TCP/IP. When the time expires, an appropriate communication error is logged. If the time expires during a session start attempt, the process is moved to the Timer queue and Sterling Connect:Direct attempts to re-establish a session with the remote node. When set to 0, wait time is unlimited. 0–10000

The value is in seconds. The default value is 180.

TCP/IP Default Record

The tcp.ip.default record defines default information to use when the remote node is specified by IP address. The tcp.ip.default record parameters are described in the following table:

Parameter Description Value
conn.retry.stwait The time to wait between retries immediately after a connection failure occurs. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. The maximum value is limited to the highest value in the clock format, 23.59.59.

The default is 00.00.30, which is 30 seconds.

conn.retry.stattempts The number of times to attempt connection after a connection failure occurs. 0–9999

The default is 6.

conn.retry.ltwait The time to wait between long-term retry attempts after all short-term retry attempts are used. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. 0–23.59.59

The default is 00.10.00, or 10 minutes.

conn.retry.ltattempts The number of times to attempt a connection after all short-term retry attempts are used. 0–9999

The default is 6.

comm.bufsize The buffer size for transmitting data to and from a remote node. The value for TCP/IP has no limit (up to 2,147,483,623).

The default is 65536 bytes.

conn.retry.exhaust.
       action
Action to take after the specified short and long-term retries have been used. hold | delete

hold—Places Processes in the Hold queue in Held in Error status, after all retry attempts are used. This is the default value.

delete—Causes the Processes to be deleted from the TCQ.

tcp.max.time.to.wait The maximum time the local node waits for a message from the remote node when using TCP/IP. When the time expires, an appropriate communication error is logged. If the time expires during a session start attempt, the process is moved to the Timer queue and Sterling Connect:Direct attempts to re-establish a session with the remote node. When set to 0, wait time is unlimited. 0–10,000

The value in seconds.

The default value is 180.

When set to 0, wait time is unlimited unless limited by the operating system.

runstep.max.time.to.
        wait
The maximum time to wait for remote run steps to complete. Remote run steps include remote run task, run job, or submit statements. This wait time is different from the wait time specified by the tcp.max.time.to.wait parameter. Using runstep.max.time.to.wait prevents a Process from failing when a remote step takes longer to complete than specified in tcp.max.time.to.wait. 0–10000

The value in seconds. The default value is 0.

contact.name The name of the administrator or operator. Name
contact.phone The phone number of the IBM Connect:Direct administrator or operator. Phone number
descrip Comments to include as part of the record. An unlimited string
sess.total The maximum number of concurrent connections between all nodes and the local node.

The sum of api.max.connects and sess.total cannot exceed the number of file descriptors available. This value is system dependent.

0–999

A 1–3 digit number. The default is 255.

sess.pnode.max The maximum concurrent connections, where the local node is the initiator of the session. 0–999

The default is 255.

sess.snode.max The maximum concurrent connections, where the local node is the secondary node in a session. 0–999

The default is 255.

sess.default The default session class for starting session managers. A Process executes on the specified class or any higher session class. The value for this parameter overrides the equivalent value in the local.node record. 1–50

The default is 1.

pacing.send.delay How long to wait between send operations to the remote node. The decimal number is the number of milliseconds between the end of one packet and the beginning of the next packet. Time-based pacing does not contribute to network traffic. nnn

The size of this number has no limit. The default is 0, which indicates no pacing of this type.

pacing.send.count The number of send operations to perform before automatically waiting for a pacing response from the remote node. No limit exists for the size of this value.

The default is 0, which indicates no pacing of this type.

Remote Node Connection Record

The remote node connection record contains information you can use to define default values for a generic remote node connection or customize to for a particular new remote node. Following are the remote node connection parameters.

Parameter Description Value
alternate.comminfo Provides support for establishing netmap-checked sessions with systems with multiple IP addresses, such as IBM Connect:Direct/Plex z/OS. Use this parameter to list all IP addresses or host names that are part of the multiple IP address environment.

For IBM Connect:Direct/Plex, this list should include the address of each IBM Connect:Direct/Server with a different IP address from the IBM Connect:Direct/Plex Manager.If the IP address of the initiating node does not match the IP address specified on the comm.info parameter, the alternate.comminfo parameter is checked for other valid IP addresses.

For more information on specifying IP addresses and host names, see IP Addresses, Host Names, and Ports.

host name/IP address or *

host name—Host name associated with the IP address, for example:

:alternate.comminfo=hops (where hops is a machine on the local domain)

:alternate.comminfo=hops.csg.stercomm.com (fully-qualified host name)

IP address——the IP address of a machine running IBM Connect:Direct in IPv4 or IPv6 format:

nnn.nnn.nnn.nnn (IPv4) or nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn (IPv6)

For example:

:alternate.comminfo=10.23.107.5

:alternate.comminfo=fe00:0:0:2014::7

Specify multiple addresses/host names by separating them with a comma (,). A space can be added after the comma for readability. For example:

10.23.107.5, fe00:0:0:2014::7, msdallas-dt

*—Accepts any IP address. This turns off IP address validation.

Note: Partial pattern matches are not supported, such as: *.mydomain.com, myplex??.mydomain.com.
alt.comm.outbound Alternate communication address (communication path) used for outbound Processes. This parameter provides the alternate addresses for a remote node that has multiple NIC cards. When the local node is the PNODE, the alternate addresses are tried if an initial attempt to the primary address (specified in the comm.info parameter) fails. After a connection has been established, if the connection is subsequently lost, attempts to reestablish the connection through the retry mechanism use the same address as the initial connection.

When the local node is the SNODE, the alternate addresses are used in the Netmap check.

Fully-qualified host name/IP address;nnnn

The host name/IP address and port are separated by a semi-colon (;). A comma separates the list of alternate communication paths, and the list is processed from the top down. For example:

salmon;9400, 10.20.40.65;9500

For more information on specifying IP addresses and host names, see IP Addresses, Host Names, and Ports.

comm.bufsize The buffer size for transmitting data to and from a remote node on TCP/IP connections. The value for TCP/IP has no limit (up to 2,147,483,623).

The default is 65536 bytes.

comm.info The information needed to initiate connection requests to remote nodes using TCP/IP. This information refers to the network card that the local IBM Connect:Direct node uses to initiate outbound requests. This value is required.
  • For TCP/IP connections, specify the host name or the IP address and port number. If specifying IP address and port, separate parameters with a semicolon (;).
For TCP/IP connections, specify the host name or the IP address and port number.

The default port is 1364.

For more information on specifying IP addresses and host names, see IP Addresses, Host Names, and Ports.

comm.transport The transport protocol for the remote node. tcp

tcp—TCP/IP connections

conn.retry.stwait Time to wait between retries immediately after a connection failure occurs. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. The maximum value is limited to the highest value in the clock format, 23.59.59.

The default is 00.00.30, which is 30 seconds.

conn.retry.stattempts Number of times to attempt connection after a connection failure occurs. 0–9999

The default is 3.

conn.retry.ltwait Time to wait between long-term retry attempts after all short-term retry attempts are used. The format is hh.mm.ss, where hh specifies hours, mm specifies minutes, and ss specifies seconds. 0–23.59.59

The default is 00.10.00, or 10 minutes.

conn.retry.ltattempts Number of times to attempt a connection after all short-term retry attempts are used. 0–9999

The default is 6.

conn.retry.exhaust.action
Action to take after the specified short and long-term retries have been used. hold | delete

hold—Places Processes in the Hold queue in Held in Error status, after all retry attempts are used. This is the default value.

delete—Causes the Processes to be deleted from the TCQ.

conn.securityfail.action Action to take after a process fails to start due to a security issue, such as SSL handshake failure or remote node rejection of snodeid credentials.

hold | delete

hold—Places Processes in the Hold queue in Held in Error status. This is the default value.

delete—Causes the Processes to be deleted from the TCQ

contact.name The name of the IBM Connect:Direct administrator or operator. Name
contact.phone The phone number of the IBM Connect:Direct administrator or operator. Phone number
descrip Comments to include as part of the record. An unlimited string
pacing.send.count The number of send operations to perform before automatically waiting for a pacing response from the remote node. No limit exists for the size of this value.

The default is 0, which indicates no pacing of this type.

pacing.send.delay The time to wait between send operations to the remote node. The decimal number is the number of milliseconds between the end of one packet and the beginning of the next packet. Time-based pacing does not contribute to network traffic. nnn

The size of this number has no limit. The default is 0, which indicates no pacing of this type.

runstep.max.time.to.
                            wait
The maximum time to wait for remote run steps to complete. Remote run steps include remote run task, run job, or submit statements. This wait time is different from the wait time specified by the tcp.max.time.to.wait parameter. Using runstep.max.time.to.wait prevents a Process from failing when a remote step takes longer to complete than specified in tcp.max.time.to.wait. The value is in seconds. 0–10000

The default value is 0.

sess.total The maximum number of concurrent connections between all nodes and the local node.

The sum of api.max.connects and sess.total cannot exceed the number of file descriptors available. This value is system dependent.

0–999

A 1–3 digit number.

The default is 255.

sess.pnode.max The maximum concurrent connections, where the local node is the initiator of the session. Number of PNODE sessions cannot exceed the total number of sessions.

If sess.pnode.max is larger than sess.total, the value of sess.pnode.max is silently rounded down to the value of sess.total.

0–999

The default is 255.

sess.snode.max The maximum concurrent connections, where the local node is the secondary node in a session.

Number of SNODE sessions cannot exceed the total number of sessions. If sess.snode.max is larger than sess.total, then it is silently changed to the value of sess.total.

0–999

The default is 255.

tcp.crc Turn on or off the CRC function for TCP/IP Processes on the remote node. y | n

The default is n.

tcp.max.time.to.wait The maximum time the local node waits for a message from the remote node when using TCP/IP. When the time expires, an appropriate communication error is logged. If the time expires during a session start attempt, the process is moved to the Timer queue and Sterling Connect:Direct attempts to re-establish a session with the remote node. When set to 0, wait time is unlimited. 0–10000

The value is in seconds. The default value is 180.