Previous Page Contents Page Next Page

3.37 DEFINE_NODE

An application issues this verb in order to define a new node, or to modify the parameters of an inactive node.

This verb must be issued to a server where the node is not running. It cannot be issued to a running node.

3.37.1 VCB Structure

typedef struct define_node
{
  AP_UINT16         opcode;             /* verb operation code               */
  unsigned char     reserv2;            /* reserved                          */
  unsigned char     format;             /* reserved                          */
  AP_UINT16         primary_rc;         /* primary return code               */
  AP_UINT32         secondary_rc;       /* secondary return code             */
  unsigned char     node_name[64];      /* name of Node                      */
  AP_UINT32         target_handle;      /* handle for subsequent verbs       */
  CP_CREATE_PARMS   cp_create_parms;    /* CP create parameters              */
} DEFINE_NODE;

typedef struct cp_create_parms
{
  AP_UINT16       crt_parms_len;        /* length of CP_CREATE_PARMS         */
  unsigned char   description[32];      /* resource description              */
  unsigned char   reserv1[2];           /* reserved                          */
  unsigned char   ms_support;           /* MS API level                      */
  unsigned char   queue_nmvts;          /* queue/reject NMVTs                */
  unsigned char   ms_support;           /* reserved                          */
  unsigned char   queue_nmvts;          /* reserved                          */
  unsigned char   reserv3[12];          /* reserved                          */
  unsigned char   node_type;            /* node type                         */
  unsigned char   fqcp_name[17];        /* fully qualified CP name           */
  unsigned char   cp_alias[8];          /* CP alias                          */
  unsigned char   mode_to_cos_map_supp; /* mode to COS mapping support       */
  unsigned char   mds_supported;        /* MDS and MS capabilities           */
  unsigned char   node_id[4];           /* node ID                           */
  AP_UINT16       max_locates;          /* maximum locates node can process  */
  AP_UINT16       dir_cache_size;       /* directory cache size (reserved    */
                                        /*  is not NN)                       */
  AP_UINT16       max_dir_entries;      /* maximum directory entries (zero   */
                                        /*  means unlimited)                 */
  AP_UINT16       locate_timeout;       /* locate timeout in seconds         */
  unsigned char   reg_with_nn;          /* register resources with NNS       */
  unsigned char   reg_with_cds;         /* register resources with CDS       */
  AP_UINT16       mds_send_alert_q_size;/* size of MDS send alert queue      */
  AP_UINT16       cos_cache_size;       /* number of cos definitions         */
  AP_UINT16       tree_cache_size;      /* Topology Database routing tree    */
                                        /*  cache size                       */
  AP_UINT16       tree_cache_use_limit; /* number of times a tree can be used*/
  AP_UINT16       max_tdm_nodes;        /* max number of nodes that can be   */
                                        /*  stored in Topology Database      */
  AP_UINT16       max_tdm_tgs;          /* max number of TGs that can be     */
                                        /*  stored in Topology Database      */
  AP_UINT32       max_isr_sessions;     /* maximum ISR sessions              */
  AP_UINT32       isr_sessions_upper_threshold;  /* upper threshold for ISR  */
                                                 /*  sessions                */
  AP_UINT32       isr_sessions_lower_threshold;  /* lower threshold for ISR  */
                                                 /*  sessions                */
  AP_UINT16       isr_max_ru_size;      /* max RU size for ISR               */
  AP_UINT16       isr_rcv_pac_window;   /* ISR receive pacing window size    */
  unsigned char   store_endpt_rscvs;    /* endpoint RSCV storage             */
  unsigned char   store_isr_rscvs;      /* ISR RSCV storage                  */
  unsigned char   store_dlur_rscvs;     /* DLUR RSCV storage                 */
  unsigned char   dlur_support;         /* is DLUR supported?                */
  unsigned char   pu_conc_support;      /* is PU conc supported?             */
  unsigned char   nn_rar;               /* Route additional resistance       */
  unsigned char   hpr_support;          /* Level of hpr support              */
  unsigned char   mobile;                  /* reserved                       */
  unsigned char   discovery_support;       /* reserved                       */
  unsigned char   discovery_group_name[8]; /* reserved                       */
  unsigned char   implicit_lu_0_to_3;      /* reserved                       */
  unsigned char   default_preference;      /* reserved                       */
  unsigned char   anynet_supported;        /* reserved                       */
  AP_UINT16       max_ls_exception_events; /* Max # exception entries        */
  unsigned char   comp_in_series;          /* reserved                       */
  unsigned char   max_compress_lvl;        /* reserved                       */
  unsigned char   node_spec_data_len;      /* reserved                       */
  unsigned char   ptf[64];                 /* program temporary fix array    */
  unsigned char   cos_table_version;       /* version of COS tables to use   */
  unsigned char   send_term_self;          /* default PLU-SLU session term   */
  unsigned char   disable_branch_awareness; /* disable BrNN awareness        */
  unsigned char   cplu_syncpt_support;     /* syncpoint support on CP LU?    */
  unsigned char   cplu_attributes;         /* attributes for CP LU           */
  unsigned char   reserved[95];            /* reserved                       */
} CP_CREATE_PARMS;

3.37.2 Supplied Parameters

opcode

AP_DEFINE_NODE

node_name

Name of SNAP-IX node that the application wishes to define.

cp_create_parms.crt_parms_len

Length of create parameters structure.

cp_create_parms.description

A text string (0-31 characters followed by a null character) describing the node. This string is for information only; it is stored in the node's configuration file and returned on the QUERY_NODE verb, but SNAP-IX does not make any other use of it.

cp_create_parms.node_type

One of the following node types:

AP_NETWORK_NODE

AP_BRANCH_NETWORK_NODE

AP_END_NODE

AP_LEN_NODE

cp_create_parms.fqcp_name

Node's fully qualified CP name. The name is a 17-byte EBCDIC string, right-padded with EBCDIC spaces. It consists of a network ID of up to 8 A-string characters, an EBCDIC dot (period) character, and a network name of up to 8 A-string characters.

cp_create_parms.cp_alias

Locally used CP alias. This alias can be used by APPC applications to access the CP LU. This is an 8-byte ASCII string. All 8 bytes are significant and must be set.

cp_create_parms.mode_to_cos_map_supp

Specifies whether the node provides mode-to-COS mapping. This parameter is ignored for a network node; mode-to-COS mapping is always supported. For a LEN node, mode-to-COS mapping is not supported. Possible values are:

AP_YES

Mode-to-COS mapping is supported. A mode defined for this node must include an associated COS name, which specifies either an SNA-defined COS or one defined using DEFINE_COS.

AP_NO

Mode-to-COS mapping is not supported. Default COS names will be used.

cp_create_parms.mds_supported

Specifies whether Management Services supports Multiple Domain Support and MS Capabilities. Possible values are:

AP_YES

MDS is supported.

AP_NO

MDS is not supported.

cp_create_parms.node_id

Node identifier used in XID exchange. This is a 4-byte hexadecimal string, consisting of a block number (3 hexadecimal digits) and a node number (5 hexadecimal digits).

cp_create_parms.max_locates

Maximum number of locate requests that the node can process simultaneously. When the number of outstanding locate requests (requests for which a response has not yet been received) reaches this limit, any further locate requests are rejected. The minimum is 8.

cp_create_parms.dir_cache_size

Network node only: Size of the directory cache. The minimum value is 3. You can use the information returned on QUERY_DIRECTORY_STATS to help determine the appropriate size.

cp_create_parms.max_dir_entries

Maximum number of directory entries. Specify zero for no limit.

cp_create_parms.locate_timeout

Specifies the time in seconds before a network search will timeout. Specify zero for no timeout.

cp_create_parms.reg_with_nn

Specifies whether to register the node's resources with the network node server when the node is started. Note that the valid values for this parameter are different depending on whether the node is an End Node or a Branch Network Node.If the local node is a Network Node or a LEN Node, this parameter is reserved.

Possible values for End Node:

AP_YES

Register resources with the NN. The end node's network node server will only forward directed locates to it.

AP_NO

Do not register resources. The network node server will forward all broadcast searches to the end node.

Possible values for Branch Network Node:

AP_REGISTER_NONE

The local node does not register any LUs with the NN Server. The NN Server will forward all broadcast searches to the branch network node.

AP_REGISTER_ALL

The local node registers all domain independent LUs with the NN Server; it also registers all local dependent LUs if the NN Server supports option set 1116. The NN Server will only forward directed locates to it (unless it owns dependent LUs that could not be registered).

AP_REGISTER_LOCAL_ONLY

The local node registers all local independent LUs with the NN Server; it also registers all local dependent LUs if the NN Server supports option set 1116. The NN Server will forward all broadcast searches to the branch network node.

cp_create_parms.reg_with_cds

End node: Specifies whether the network node server is allowed to register end node resources with a Central Directory server. This field is ignored if reg_with_nn is set to AP_NO.

Network node: Specifies whether local or domain resources can be optionally registered with Central Directory server.

Possible values are:

AP_YES

Register resources with the CDS.

AP_NO

Do not register resources.

Branch network node: Specifies whether BrNN resources (local to the Branch Network Node or from its domain) can be registered with Central Directory Server by the Network Server. This field is ignored if reg_with_nn is set to AP_REGISTER_NONE.

Possible values are:

AP_YES

Register resources with the CDS.

AP_NO

Do not register resources.

cp_create_parms.mds_send_alert_q_size

Size of the MDS send alert queue. If the number of queued alerts reaches this limit, SNAP-IX deletes the oldest alert on the queue. SNAP-IX uses the value 2 unless you specify a larger number.

cp_create_parms.cos_cache_size

Size of the COS Database weights cache. This value should be set to the maximum number of COS definitions required. SNAP-IX uses the value 8 unless you specify a larger number.

cp_create_parms.tree_cache_size

Network node: Size of the Topology Database routing tree cache size. The minimum is 8. For an end node or LEN node, this parameter is reserved.

cp_create_parms.tree_cache_use_limit

Network node: Maximum number of uses of a cached tree. Once this number is exceeded, the tree is discarded and recomputed. This allows the node to balance sessions among equal weight routes. A low value provides better load balancing at the expense of increased activation latency. The minimum is 1. For an end node or LEN node, this parameter is reserved.

cp_create_parms.max_tdm_nodes

Network node: Maximum number of nodes that can be stored in Topology Database (zero means unlimited). For an end node or LEN node, this parameter is reserved.

cp_create_parms.max_tdm_tgs

Network node: Maximum number of TGs that can be stored in Topology Database (zero means unlimited). For an end node or LEN node, this parameter is reserved.

cp_create_parms.max_isr_sessions

Network node: Maximum number of ISR sessions the node can participate in at once. SNAP-IX uses the value 100 unless you specify a larger number. For an end node or LEN node, this parameter is reserved.

cp_create_parms.isr_sessions_upper_threshold, cp_create_parms.isr_sessions_lower_threshold

Network node: These thresholds control the node's congestion status, which is reported to other nodes in the network for use in route calculations. The node state changes from uncongested to congested if the number of ISR sessions exceeds the upper threshold. The node state changes back to uncongested once the number of ISR sessions dips below the lower threshold. The lower threshold must be less than the upper threshold, and the upper threshold must be lower than max_isr_sessions. For an end node or LEN node, this parameter is reserved.

cp_create_parms.isr_max_ru_size

Network node: Maximum RU size supported for intermediate sessions. If the supplied value is not a valid RU size (as described in SNA Formats), SNAP-IX will round it up to the next valid value. For an end node or LEN node, this parameter is reserved.

cp_create_parms.isr_rcv_pac_window

Network node: Suggested receive pacing window size for intermediate sessions, in the range 1-63. This value is only used on the secondary hop of intermediate sessions if the adjacent node does not support adaptive pacing. For an end node or LEN node, this parameter is reserved.

cp_create_parms.store_endpt_rscvs

Specifies whether RSCVs should be stored for diagnostic purposes (AP_YES or AP_NO ). If this field is set to AP_YES , then an RSCV will be returned on the QUERY_SESSION verb. (Setting this value to AP_YES means an RSCV will be stored for each endpoint session. This extra storage can be up to 256 bytes per session.)

cp_create_parms.store_isr_rscvs

Network node: Specifies whether RSCVs should be stored for diagnostic purposes (AP_YES or AP_NO). If this field is set to AP_YES, then an RSCV will be returned on the QUERY_ISR_SESSION verb. (Setting this value to AP_YES means an RSCV will be stored for each ISR session. This extra storage can be up to 256 bytes per session.) For an end node or LEN node, this parameter is reserved.

cp_create_parms.store_dlur_rscvs

Specifies whether RSCVs should be stored for diagnostic purposes (AP_YES or AP_NO ). If this field is set to AP_YES , then an RSCV will be returned on the QUERY_DLUR_LU verb. (Setting this value to AP_YES means an RSCV will be stored for each PLU-SLU session using DLUR. This extra storage can be up to 256 bytes per session.)

cp_create_parms.dlur_support

Specifies whether DLUR is supported. For a LEN node, this parameter is reserved. Possible values are:

AP_YES

DLUR is supported.

AP_LIMITED_DLUR_MULTI_SUBNET | AP_YES

End Node or Branch Network Node: DLUR is supported, but will not be used to connect to a DLUS in another subnet. If multi-subnet operation is not required, you should use this value instead of AP_YES, to reduce network traffic and congestion at the network node.

This value is not supported for a Network Node.

AP_NO

DLUR is not supported.

cp_create_parms.pu_conc_support

Specifies whether PU concentration is supported ( AP_YES or AP_NO).

cp_create_parms.nn_rar

The network node's route additional resistance, in the range 0-255.

cp_create_parms.hpr_support

Specifies the level of HPR (High Performance Routing) support provided by the node. Possible values are:

AP_NONE

No support for HPR.

AP_BASE

This node can perform automatic network routing (ANR) but cannot act as an RTP (Rapid Transport Protocol) end point for HPR sessions.

AP_RTP

This node can perform automatic network routing (ANR) and can act as an RTP (Rapid Transport Protocol) end point for HPR sessions.

AP_CONTROL_FLOWS

This node can perform all HPR functions including control flows.

If the local node is a LEN node, this parameter should be set to AP_NONE . Otherwise the recommended setting is AP_CONTROL_FLOWS.

If you are using Enterprise Extender (HPR/IP) links on this node, this parameter must be set to AP_CONTROL_FLOWS.

cp_create_parms.max_ls_exception_events

The maximum number of LS exception events to be recorded by the node.

cp_create_parms.ptf

Array for configuring and controlling future program temporary fix (ptf) operation, as follows:

cp_create_parms.ptf[0]

REQDISCONT support and Mandatory Search Status support.

SNAP-IX normally uses REQDISCONT to deactivate limited resource host links that are no longer required by session traffic. This byte can be used to suppress use of REQDISCONT, or to modify the settings used on REQDISCONT requests sent by SNAP-IX. Set this byte to one of the following values:

AP_NONE

Use the normal REQDISCONT support.

AP_SUPPRESS_REQDISCONT

Do not use REQDISCONT.

AP_OVERRIDE_REQDISCONT

Use a modified version of REQDISCONT support. If REQDISCONT is specified, it must be combined with one or both of the following values, using a logical OR operation:

AP_REQDISCONT_TYPE

Use type immediate on REQDISCONT; if this value is not specified, SNAP-IX uses type normal.

AP_REQDISCONT_RECONTACT

Use type immediate recontact on REQDISCONT; if this value is not specified, SNAP-IX uses type no immediate recontact.

AP_ALLOW_BB_RQE

SNAP-IX normally rejects, with sense code 2003, any begin bracket (BB) exception (RQE) request from a host unless the host follows the SNA protocol that the request must also indicate change direction (CD). Setting this flag enables SNAP-IX to continue sessions with hosts that do not follow this protocol.

When SNAP-IX is running as an End Node or as a Branch Network Node, it may choose whether or not to invite network searches from its Network Node Server (NNS). Requesting network searches slows broadcast search processing for the network as a whole, so is undesirable. However, if the local node cannot register all its resources (LUs) with its NNS, requesting searches is the only way to make these resources visible to the network.

Normally, SNAP-IX determines whether all LUs can be registered, then intelligently requests network searches from its NNS. If this node makes LUs accessible to the network in an unusual manner (for example, if it is acting as a gateway for other nodes), combine the value above with the following value to override the standard operation:

AP_SET_SEARCH_STATUS

Unconditionally request network searches from the NNS.

cp_create_parms.ptf[1]

ERP support. SNAP-IX normally processes an ACTPU(ERP) as an ERP; this resets the PU-SSCP session, but does not implicitly deactivate the subservient LU-SSCP and PLU-SLU sessions. SNA implementations may legally process ACTPU(ERP) as if it were ACTPU(cold), implicitly deactivating the subservient LU-SSCP and PLU-SLU sessions. Set this byte to one of the following values:

AP_NONE

Use the normal processing.

AP_OVERRIDE_ERP

Process all ACTPU requests as ACTPU(cold).

cp_create_parms.ptf[2]

BIS support. SNAP-IX normally uses the BIS protocol prior to deactivating a limited resource LU 6.2 session. Set this byte to one of the following values:

AP_NONE

Use the normal processing.

AP_SUPPRESS_BIS

Do not use the BIS protocol. Limited resource LU 6.2 sessions are deactivated immediately using UNBIND(cleanup).

cp_create_parms.ptf[3]

APINGD support. SNAP-IX normally includes a partner program for the APING connectivity tester. This byte allows you to disable the APING Daemon within the node, so that requests by an APING program arriving at the node will not be processed automatically. Set this byte to one of the following values:

AP_NONE

Include APINGD support within the node (the normal processing).

AP_EXTERNAL_APINGD

Disable APINGD within the node.

cp_create_parms.ptf[4]

LU 0-3 RU checks. This byte is used to provide workarounds for host systems that send non-standard SNA data; it should be set to AP_NONE unless you have encountered the specific problem described below.

To use SNAP-IX's normal checking on LU 0-3 RUs, set this parameter to AP_NONE.

To relax specific checks on LU 0-3 RUs, specify the following value:

AP_ALLOW_BB_RQE

The SNA protocols state that BB !EB RUs on LU 0-3 PLU-SLU sessions must be RQD. Several hosts send RQE BB !EB CD - a protocol violation which SNAP-IX always tolerates. If this value is set, SNAP-IX will tolerate RQE BB !EB !CD EC RUs as well.

cp_create_parms.ptf[5]

Security checking for received Attaches.

If a local invokable TP is defined not to require conversation security, or is not defined and therefore defaults to not requiring conversation security, the invoking TP need not send a user ID and password to access it. If the invoking TP supplies these parameters and they are included in the Attach message that SNAP-IX receives, SNAP-IX normally checks the parameters (and rejects the Attach if they are not valid) even though the invokable TP does not require conversation security. This parameter allows you to disable the checking. Set this byte to one of the following values:

AP_NONE

Always check security parameters if they are included on a received Attach, regardless of the security requirements of the invokable TP (the normal processing).

AP_LIMIT_TP_SECURITY

Do not check security parameters on a received Attach if the invokable TP does not require it.

cp_create_parms.ptf[6]

RTP options for HPR.

To use SNAP-IX's normal RTP processing, set this parameter to AP_NONE.

To customize RTP operation, specify the following value:

AP_FORCE_STANDARD_ARB

SNAP-IX normally advertises support on RTP connections for both the standard ARB algorithm and the ARB responsive mode algorithm. If this value is set, SNAP-IX will only advertise support for the standard ARB algorithm.

cp_create_parms.ptf[7]

DLUR unbind on DACTLU. SNAP-IX does not normally end the PLU-SLU session when it receives a DACTLU from the host for a session using DLUR. Set this byte to one of the following values:

AP_NONE

Use the normal processing.

AP_DLUR_UNBIND_ON_DACTLU

When DACTLU is received on a session using DLUR, end the PLU-SLU session.

cp_create_parms.cos_table_version

Specifies the version of the COS tables used by the node. Set this byte to one of the following values:

AP_VERSION_0_COS_TABLES

Use the COS tables originally defined in the APPN Architecture Reference.

AP_VERSION_1_COS_TABLES

Use the COS tables originally defined for HPR over ATM.

cp_create_parms.send_term_self

Specifies the default method for ending a PLU-SLU session to a host. The value you specify is used for all type 0-3 LUs on the node, unless you override it by specifying a different value in the LU definition. Specify one of the following values:

AP_YES

Send a TERM_SELF on receipt of a CLOSE_PLU_SLU_SEC_RQ.

AP_NO

Send an UNBIND on receipt of a CLOSE_PLU_SLU_SEC_RQ.

cp_create_parms.disable_branch_awareness

This parameter applies only if node_type is AP_NETWORK_NODE; it is reserved for other node types.

Specify whether the local node supports branch awareness, APPN Option Set 1120, using one of the following values:

AP_YES

The local node does not support branch awareness. TGs between this node and served Branch Network Nodes do not appear in the network topology, and the local node does not report itself as being branch aware.

AP_NO

The local node supports branch awareness.

cp_create_parms.cplu_syncpt_support

Specifies whether the node's Control Point LU supports Syncpoint functions. This parameter is equivalent to the syncpt_support parameter on DEFINE_LOCAL_LU, but applies only to the node's Control Point LU (which does not have an explicit LU definition).

Set this parameter to AP_YES only if you have a Sync Point Manager (SPM) and Conversation Protected Resource Manager (C-PRM) in addition to the standard SNAP-IX product. Possible values are:

AP_YES

Syncpoint is supported.

AP_NO

Syncpoint is not supported.

cp_create_parms.cplu_attributes

Identifies additional information about the node's Control Point LU. This parameter is equivalent to the lu_attributes parameter on DEFINE_LOCAL_LU, but applies only to the node's Control Point LU (which does not have an explicit LU definition).

Possible values are:

AP_NONE

No additional information identified.

AP_DISABLE_PWSUB

Disable password substitution support for the control point LU. Password substitution means that passwords are encrypted before transmission between the local and remote LUs, rather than being sent as clear text. SNAP-IX normally uses password substitution if the remote system supports it.

This value is provided as a work-around for communications with some remote systems that do not implement password substitution correctly. If you use this option, you should be aware that this involves sending and receiving passwords in clear text (which may represent a security risk). Do not set it unless there are problems with the remote system's implementation of password substitution.

3.37.3 Returned Parameters: Successful Execution

If the verb executes successfully, SNAP-IX returns the following parameters:

primary_rc

AP_OK

target_handle

Returned value for use on subsequent verbs.

3.37.4 Returned Parameters: Parameter Check

If the verb does not execute because of a parameter error, SNAP-IX returns the following parameters:

primary_rc

AP_PARAMETER_CHECK

secondary_rc

Possible values are:

AP_INVALID_ISR_THRESHOLDS

The ISR threshold parameters were not valid (lower threshold above upper, or upper threshold above max_isr_sessions).

AP_INVALID_NODE_NAME

The node_name parameter contained a character that was not valid.

AP_INVALID_CP_NAME

The cp_alias or fqcp_name parameter contained a character that was not valid.

AP_INVALID_NODE_TYPE

The node_type parameter was not set to a valid value.

AP_PU_CONC_NOT_SUPPORTED

This version of SNAP-IX does not support the PU concentration feature.

AP_DLUR_NOT_SUPPORTED

This version of SNAP-IX does not support the DLUR feature.

AP_INVALID_REG_WITH_NN

The reg_with_nn parameter was not set to a valid value.

AP_INVALID_COS_TABLE_VERSION

The cos_table_version parameter was not set to a valid value.

AP_INVALID_SEND_TERM_SELF

The send_term_self parameter was not set to a valid value.

AP_INVALID_DISABLE_BRANCH_AWRN

The disable_branch_awareness parameter was not set to a valid value.

AP_INVALID_DLUR_SUPPORT

The dlur_support parameter was not set to a valid value.

AP_INVALID_HPR_SUPPORT

The hpr_support parameter was not set to a valid value.

Common Return Codes lists further secondary return codes associated with AP_PARAMETER_CHECK, which are common to all NOF verbs.

3.37.5 Returned Parameters: State Check

If the verb does not execute because of a state error, SNAP-IX returns the following parameters.

primary_rc

AP_STATE_CHECK

secondary_rc

AP_NODE_ALREADY_STARTED

The target node is active, so you cannot use this verb to modify its configuration. DEFINE_NODE can be issued only to an inactive node.

Common Return Codes lists further secondary return codes associated with AP_STATE_CHECK, which are common to all NOF verbs.

3.37.6 Returned Parameters: Other Conditions

Common Return Codes lists further combinations of primary and secondary return codes that are common to all NOF verbs.

Previous Page Contents Page Top of Page Next page