This section provides communications setup examples for SNA (SNAX and ICE) and TCP.
This section provides:
Here is an example SCF configuration file:
==
== SCF configuration file for defining SNA LINE, PUs, and LUs to VTAM
== Line is called $SNA02 and SYSGEN'd into the Tandem system
==
ALLOW ALL
ASSUME LINE $SNA02
ABORT, SUB LU
ABORT, SUB PU
ABORT
DELETE, SUB LU
DELETE, SUB PU
DELETE
==
== ADD $SNA02 LINE DEFINITION
==
ADD LINE $SNA02, STATION SECONDARY, MAXPUS 5, MAXLUS 1024, RECSIZE 2048, &
CHARACTERSET ASCII, MAXLOCALLUS 256, &
PUIDBLK %H05D, PUIDNUM %H312FB
==
== ADD REMOTE PU OBJECT, LOCAL IS IMPLICITLY DEFINED AS #ZNT21
==
ADD PU #PU2, ADDRESS 1, MAXLUS 16, RECSIZE 2046, TYPE (13,21), &
TRRMTADDR 04400045121088, DYNAMIC ON, &
ASSOCIATESUBDEV $CHAMB.#p2, &
TRSSAP %H04, &
CPNAME IYAQCDRM, SNANETID GBIBMIYA
==
== ADD LOCAL LU OBJECT
==
ADD LU #ZNTLU1, TYPE (14,21), RECSIZE 1024, &
CHARACTERSET ASCII, PUNAME #ZNT21, SNANAME IYAHT080
==
== ADD PARTNER LU OBJECTS
==
== spinach (HP)
ADD LU #PU2LU1, TYPE(14,21), PUNAME #PU2, SNANAME IYABT0F0
== stingray (AIX)
ADD LU #PU2LU2, TYPE(14,21), PUNAME #PU2, SNANAME IYA3T995
== coop007 (OS/2)
ADD LU #PU2LU3, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT170
== MVS CICS
ADD LU #PU2LU4, TYPE(14,21), PUNAME #PU2, SNANAME IYCMVM03
== MVS Non-CICS
ADD LU #PU2LU5, TYPE(14,21), PUNAME #PU2, SNANAME IYCNVM03
== finnr100 (NT)
ADD LU #PU2LU6, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT080
== winas18 (AS400)
ADD LU #PU2LU7, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT110
== MQ-Portuguese (OS/2)
ADD LU #PU2LU8, TYPE(14,21), PUNAME #PU2, SNANAME IYAHT090
== VSE
ADD LU #PU2LU10, TYPE(14,21), PUNAME #PU2, SNANAME IYZMZSI2
== START UP TOKEN RING ASSOCIATE SUB DEVICE $CHAMB.#P2
== then start the line, pu's, and lu's
START LINE $CHAMB, SUB ALL
START
START, SUB PU
STATUS
STATUS, SUB PU
STATUS, SUB LU
The following are CONFTEXT file entries for a SYSGEN to support the SNA and token ring lines:
!**************************************************************************
! LAN MACRO
!**************************************************************************
! This macro is used for all 361x LAN controllers
! REQUIRES T9375 SOFTWARE PACKAGE
C3613^MLAM = MLAM
TYPE 56, SUBTYPE 0,
PROGRAM C9376P00,
INTERRUPT IOP^INTERRUPT^HANDLER,
MAXREQUESTSIZE 32000,
RSIZE 32000,
BURSTSIZE 16,
LINEBUFFERSIZE 32,
STARTDOWN #;
!**************************************************************************
! SNAX macro for Token ring lines
!**************************************************************************
TOKEN^RING^SNAX^MACRO = SNATS
TYPE 58,
SUBTYPE 4,
RSIZE 1024,
SUBTYPE 4,
FRAMESIZE 1036 # ;
!**************************************************************************
! SNAX MANAGER
!**************************************************************************
SSCP^MACRO = SNASVM
TYPE 13, SUBTYPE 5,
RSIZE 256 #;
!**************************************************************************
! LAN CONTROLLER
!**************************************************************************
LAN1 3616 0,1 %130 ;
!*********** Service manager
SNAX 6999 0,1 %370 ;
!*********** SNAX/Token Ring Pseudocontroller
RING 6997 0,1 %360 ;
!*********** Token Ring Line
$CHAMB LAN1.0, LAN1.1 C3613^MLAM, NAME #LAN1;
!*********** Configure the SSCP
$SSCP SNAX.0, SNAX.1 SSCP^MACRO;
!*********** Sna lines for Dummy Controller over Token Ring
$SNA01 RING.0, RING.1 TOKEN^RING^SNAX^MACRO;
$SNA02 RING.2, RING.3 TOKEN^RING^SNAX^MACRO;
The following definitions configure the example APC process (process name $BP01) via SCF for the SNA line.
==
== SCF Configuration file for SNAX/APC Lus
==
ALLOW ERRORS
ASSUME PROCESS $BP01
ABORT SESSION *
ABORT TPN *
ABORT PTNR-MODE *
ABORT PTNR-LU *
ABORT LU *
DELETE TPN *
DELETE PTNR-MODE *
DELETE PTNR-LU *
DELETE LU *
==
== ADD LOCAL LU
==
ADD LU IYAHT080, SNANAME GBIBMIYA.IYAHT080, SNAXFILENAME $SNA02.#ZNTLU1, &
MAXSESSION 256, AUTOSTART YES
== TPnames for MQSeries
ADD TPN IYAHT080.INTCRS6A
ADD TPN IYAHT080.DUMMY, GENERALTPREADY yes, SESSIONCONTROL yes, &
REMOTEATTACHTIMER -1, REMOTEATTACH queue
=== Spinach (HP) Partner LU
ADD PTNR-LU IYAHT080.IYABT0F0, SNANAME GBIBMIYA.IYABT0F0, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYABT0F0.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.MH01SDRCSDR
ADD TPN IYAHT080.MH01RQSDSDR
ADD TPN IYAHT080.MH01RQSVSVR
ADD TPN IYAHT080.MH01SDRCRCVR
ADD TPN IYAHT080.MH01RQSVRQSTR
ADD TPN IYAHT080.MH01RQSDRQSTR
==
== Winas18 (AS400) Partner LU
==
ADD PTNR-LU IYAHT080.IYAFT110, SNANAME GBIBMIYA.IYAFT110, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYAFT110.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.M401SDRCSDR
ADD TPN IYAHT080.M401RQSDSDR
ADD TPN IYAHT080.M401RQSVSVR
ADD TPN IYAHT080.M401SDRCRCVR
ADD TPN IYAHT080.M401RQSVRQSTR
ADD TPN IYAHT080.M401RQSDRQSTR
==
== Stingray (AIX) Partner LU
==
ADD PTNR-LU IYAHT080.IYA3T995, SNANAME GBIBMIYA.IYA3T995, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYA3T995.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.MA02SDRCSDR
ADD TPN IYAHT080.MA02RQSDSDR
ADD TPN IYAHT080.MA02RQSVSVR
ADD TPN IYAHT080.MA02SDRCRCVR
ADD TPN IYAHT080.MA02RQSVRQSTR
ADD TPN IYAHT080.MA02RQSDRQSTR
==
== coop007 (OS/2) Partner LU
==
ADD PTNR-LU IYAHT080.IYAFT170, SNANAME GBIBMIYA.IYAFT170, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYAFT170.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.MO02SDRCSDR
ADD TPN IYAHT080.MO02RQSDSDR
ADD TPN IYAHT080.MO02RQSVSVR
ADD TPN IYAHT080.MO02SDRCRCVR
ADD TPN IYAHT080.MO02RQSVRQSTR
ADD TPN IYAHT080.MO02RQSDRQSTR
==
== MQ-Portuguese (OS/2) Partner LU
==
ADD PTNR-LU IYAHT080.IYAHT090, SNANAME GBIBMIYA.IYAHT090, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYAHT090.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
==
== finnr100 (NT) Partner LU
==
ADD PTNR-LU IYAHT080.IYAFT080, SNANAME GBIBMIYA.IYAFT080, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYAFT080.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.MW01SDRCSDR
ADD TPN IYAHT080.MW01RQSDSDR
ADD TPN IYAHT080.MW01RQSVSVR
ADD TPN IYAHT080.MW01SDRCRCVR
ADD TPN IYAHT080.MW01RQSVRQSTR
ADD TPN IYAHT080.MW01RQSDRQSTR
==
== MVS CICS Partner LU
==
ADD PTNR-LU IYAHT080.IYCMVM03, SNANAME GBIBMIYA.IYCMVM03, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYCMVM03.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.VM03SDRCSDR
ADD TPN IYAHT080.VM03RQSDSDR
ADD TPN IYAHT080.VM03RQSVSVR
ADD TPN IYAHT080.VM03SDRCRCVR
ADD TPN IYAHT080.VM03RQSVRQSTR
ADD TPN IYAHT080.VM03RQSDRQSTR
==
== z/OS Non CICS Partner LU
==
ADD PTNR-LU IYAHT080.IYCNVM03, SNANAME GBIBMIYA.IYCNVM03, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYCNVM03.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
ADD TPN IYAHT080.VM03NCMSDRCSDR
ADD TPN IYAHT080.VM03NCMRQSDSDR
ADD TPN IYAHT080.VM03NCMRQSVSVR
ADD TPN IYAHT080.VM03NCMSDRCRCVR
ADD TPN IYAHT080.VM03NCMRQSVRQSTR
ADD TPN IYAHT080.VM03NCMRQSDRQSTR
==
== VSE Partner LU
==
ADD PTNR-LU IYAHT080.IYZMZSI2, SNANAME GBIBMIYA.IYZMZSI2, &
PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
ADD PTNR-MODE IYAHT080.IYZMZSI2.LU62PS, MODENAME LU62PS, &
DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
SENDWINDOW 4
==
== Start the LUs
==
START LU IYAHT080, SUB ALL
START TPN *
Here are some example WebSphere MQ channel definitions that support the SNAX configuration:
DEFINE CHANNEL(MT01.VM03.SDRC.0002) CHLTYPE(SDR) + TRPTYPE(LU62) + SEQWRAP(9999999) MAXMSGL(2048) + XMITQ('VM03NCM.TQ.SDRC.0001') + CONNAME('$BP01.IYAHT080.IYCNVM03') + MODENAME('LU62PS') TPNAME(DUMMY)
DEFINE CHANNEL(VM03.MT01.SDRC.0002) CHLTYPE(RCVR) + TRPTYPE(LU62) REPLACE DESCR('Receiver channel from VM03NCM') + SEQWRAP(9999999) + MAXMSGL(2048) AUTOSTART(ENABLED) + CONNAME('$BP01.IYAHT080') TPNAME(VM03NCMSDRCRCVR)
DEFINE CHANNEL(MT01.VM03.RQSV.0002) CHLTYPE(SVR) + TRPTYPE(LU62) + SEQWRAP(9999999) MAXMSGL(2048) + XMITQ('VM03NCM.TQ.RQSV.0001') + CONNAME('$BP01.IYAHT080.IYCNVM03') + MODENAME('LU62PS') TPNAME(VM03NCMRQSVSVR.DUMMY) + AUTOSTART(ENABLED)
where DUMMY is the TPNAME the z/OS queue manager is listening on.
There are two stages in configuring ICE for WebSphere MQ:
Here is an example ICE process configuration. This configuration is located by default in a file called GOICE:
?tacl macro
clear all
param backupcpu 1
param cinittimer 120
param collector $0
param config icectl
param idblk 05d
param idnum 312FF
param cpname IYAHR00C
param datapages 64
param dynamicrlu yes
param genesis $gen
param maxrcv 4096
param loglevel info
param netname GBIBMIYA
param password xxxxxxxxxxxxxxxxxxxx
param retrys1 5
param secuserid super.super
param startup %1%
param timer1 20
param timer2 300
param usstable default
run $system.ice.ice/name $ICE,nowait,cpu 0,pri 180,highpin off/
Once the ICE process has been started with this configuration, the following information is input to the ICE process using the Node Operator Facility (NOF**). This example defines a line called $ICE01 running on the token ring port $CHAMB.#ICE:
==
== ICE definitions for PU IYAHR00C.
== Local LU for this PU is IYAHT0C0.
==
ALLOW ERRORS
OPEN $ICE
ABORT LINE $ICE01, SUB ALL
DELETE LINE $ICE01, SUB ALL
==
== ADD TOKEN RING LINE
==
ADD LINE $ICE01, TNDM $CHAMB.#ICE, &
IDBLK %H05D, &
PROTOCOL TOKENRING, WRITEBUFFERSIZE 8192
==
== ADD PU OBJECT
==
ADD PU IYAHR00C, LINE $ICE01, MULTIROUTE YES, &
DMAC 400045121088, DSAP %H04, &
NETNAME GBIBMIYA, IDNUM %H312FF, IDBLK %H05D, &
RCPNAME GBIBMIYA.IYAQCDRM, SSAP %H08
==
== Add Local APPL Object
==
DELETE APPL IYAHT0C0
ADD APPL IYAHT0C0, ALIAS IYAHT0C0, LLU IYAHT0C0, PROTOCOL CPIC, &
OPENNAME #IYAHT0C
==
== Add Mode LU62PS
==
DELETE MODE LU62PS
ADD MODE LU62PS, MAXSESS 8, MINCONWIN 4, MINCONLOS 3
==
== Add Partner LU Objects
==
== spinach (HP)
ABORT RLU IYABT0F0
DELETE RLU IYABT0F0
ADD RLU IYABT0F0, MODE LU62PS, PARSESS YES
== stingray (AIX)
ABORT RLU IYA3T995
DELETE RLU IYA3T995
ADD RLU IYA3T995, MODE LU62PS, PARSESS YES
== coop007 (OS/2)
ABORT RLU IYAFT170
DELETE RLU IYAFT170
ADD RLU IYAFT170, MODE LU62PS, PARSESS YES
== MVS CICS
ABORT RLU IYCMVM03
DELETE RLU IYCMVM03
ADD RLU IYCMVM03, MODE LU62PS, PARSESS YES
== MVS Non-CICS
ABORT RLU IYCNVM03
DELETE RLU IYCNVM03
ADD RLU IYCNVM03, MODE LU62PS, PARSESS YES
== finnr100 (NT)
ABORT RLU IYAFT080
DELETE RLU IYAFT080
ADD RLU IYAFT080, MODE LU62PS, PARSESS YES
== winas18 (AS400)
ABORT RLU IYAFT110
DELETE RLU IYAFT110
ADD RLU IYAFT110, MODE LU62PS, PARSESS YES
ABORT RLU IYAHT080
DELETE RLU IYAHT080
ADD RLU IYAHT080, MODE LU62PS, PARSESS YES
==
== START UP ICE LINE $ICE01 AND SUB DEVICE
==
START LINE $ICE01, SUB ALL
add port $chamb.#ice, type tr8025, address %H08 start port $chamb.#icewhere $chamb is a token-ring controller, and the SAP of the port is %08.
Here are some WebSphere MQ channel definitions that would support this ICE configuration:
DEFINE CHANNEL(MT01.VM03.SDRC.ICE) CHLTYPE(SDR) + TRPTYPE(LU62) + SEQWRAP(9999999) MAXMSGL(2048) + XMITQ('VM03NCM.TQ.SDRC.ICE') + CONNAME('$ICE.#IYAHT0C.IYAHT0C0.IYCNVM03') + MODENAME('LU62PS') TPNAME(DUMMY)
DEFINE CHANNEL(VM03.MT01.SDRC.ICE) CHLTYPE(RCVR) + TRPTYPE(LU62) REPLACE DESCR('Receiver channel from VM03NCM') + SEQWRAP(9999999) + MAXMSGL(2048) AUTOSTART(ENABLED) + CONNAME('$ICE.#IYAHT0C.IYAHT0C0') TPNAME(VM03NCMSDRCRCVR)
DEFINE CHANNEL(MT01.VM03.RQSV.ICE) CHLTYPE(SVR) + TRPTYPE(LU62) + SEQWRAP(9999999) MAXMSGL(2048) + XMITQ('VM03NCM.TQ.RQSV.ICE') + CONNAME('$ICE.#IYAHT0C.IYAHT0C0.IYCNVM03') + MODENAME('LU62PS') TPNAME(VM03NCMRQSVSVR.DUMMY) + AUTOSTART(ENABLED)
where DUMMY is the TPNAME the MVS queue manager is listening on.
This example shows how to establish communications with a remote WebSphere MQ system over TCP/IP.
The QMINI file must contain an appropriate TCPConfig stanza. For example:
TCPConfig: TCPPort=1414 TCPNumListenerPorts=1 TCPListenerPort=1996 TCPKeepAlive=1
The TCPPort value is the default outbound port for channels without a port value in the CONNAME field. TCPListenerPort identifies the port on which the TCP listener will listen.
A queue manager can have multiple TCP/IP listeners. If this is the case, the QMINI file must have a TCPListenerPort entry for each listener, and TCPNumListenerPort must be updated to match. For example, the TCPConfig stanza above would be changed as follows:
TCPConfig: TCPPort=1414 TCPNumListenerPorts=2 TCPListenerPort=1997 TCPKeepAlive=1
A TCP sender channel must be defined. In this example, the queue manager is MH01 on a host called SPINACH:
DEFINE CHANNEL(MT01_MH01_SDRC_0001) CHLTYPE(SDR) + TRPTYPE(TCP) + SEQWRAP(9999999) MAXMSGL(4194304) + XMITQ('MH01_TQ_SDRC_0001') + CONNAME('SPINACH.HURSLEY.IBM.COM(2000)')
This channel would try to attach to a TCP/IP port number 2000 on the host SPINACH.
The following example shows a TCP/IP sender channel definition for a queue manager MH01 on the host SPINACH using the default outbound TCP/IP port:
DEFINE CHANNEL(MT01_MH01_SDRC_0001) CHLTYPE(SDR) + TRPTYPE(TCP) + SEQWRAP(9999999) MAXMSGL(4194304) + XMITQ('MH01_TQ_SDRC_0001') + CONNAME('SPINACH.HURSLEY.IBM.COM')
No port number is specified in the CONNAME. Therefore, the value specified on the TCPPort entry in the QMINI file (1414) is used.
An example TCP receiver channel:
DEFINE CHANNEL(MH01_MT01_SDRC_0001) CHLTYPE(RCVR) + TRPTYPE(TCP)
A TCP receiver channel requires no CONNAME value, but a TCP listener must be running. There are two ways of starting a TCP listener. Either:
start server mqs-tcplis00
or
runmqlsr -m QMgrName
A TCP/IP listener, which will listen on the port defined in the QMINI file (in this example, 1996), is started.
The sender channel definition on the remote system to connect to this receiver channel could look like:
DEFINE CHANNEL(MH01_MT01_SDRC_0001) CHLTYPE(SDR) + TRPTYPE(TCP) + XMITQ('MT01_TQ_SDRC_0001') + CONNAME('TANDEM.ISC.UK.IBM.COM(1996)')