|
|
This chapter describes migration scenarios for TN3270 Server. Each scenario describes the purpose of the new configuration, considerations for implementing the new configuration, and the configuration steps involved. This chapter contains the following scenarios:
The definitions of PUs and LUs have not changed from the SNA 3270 definition mechanism. A VTAM XCA node definition is used for channel connectivity and then single or multiple switched major nodes are used to define the PU and LU. If you are migrating from an existing network that already uses switched major nodes, no change is required in the PU and LU definitions.
The common configuration parameters for defining the XCA major node are shown in the following example. This configuration is standard and does not change throughout the scenarios.
CBXCA38 VBUILD TYPE=XCA
CBPRT38 PORT ADAPNO=0,CUADDR=3800,SAPADDR=04,MEDIUM=RING,TIMER=60
CBGRP38 GROUP ANSWER=ON,
AUTOGEN=(10,L,P),
CALL=INOUT,
DIAL=YES,
ISTATUS=ACTIVE
As explained in Chapter 2, TN3270 Server Implementation, some devices (such as TN3270E clients) can request a specific LU by name. For those devices that do not request an LU by name, VTAM allocates LUs from a pool. You must define an LUGROUP that instructs VTAM how to allocate the LUs.
Look at the definitions for the LUGROUP and see how they are defined. Figure 4-1 shows the common configuration parameters for defining the LUGROUP. This configuration is standard and does not change throughout the scenarios.
CBDDDLU VBUILD TYPE=LUGROUP
***********************************************************************
* LUGROUP MAJOR NODE FOR TN3270S TESTING *
***********************************************************************
* MM/DD/YY - WHO - WHAT *
***********************************************************************
DDDMVSLU LUGROUP
327@@2 LU DLOGMOD=D4A32782,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@3 LU DLOGMOD=D4A32783,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@4 LU DLOGMOD=D4A32784,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@5 LU DLOGMOD=D4A32785,
MMODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@2E LU DLOGMOD=SNX32702,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@3E LU DLOGMOD=SNX32703,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@4E LU DLOGMOD=SNX32704,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@5E LU DLOGMOD=SNX32705,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
@ LU DLOGMOD=BADMOD,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
At the top of the file is the name of this major node, CBDDDLU. The name of an LUGROUP is DDDMVSLU. This is the name that the LUGROUP parameter in the PU definition maps to.
Below the LU group name is a list of mapping instructions for VTAM. In the left column are terms like 3@7@@2, which correspond with terminal types. The @ sign is used as a wildcard.
The fifth character in the model string that TN3270 Server sends indicates whether a client is TN3270 or TN3270E. You can use a 0 for standard TN3270 clients and an S for TN3270E (SCS) clients.
To accommodate both types of clients, you would need LU model entries like the following:
327802 LU MODETAB=..,
DLOGMOD=..,
SSCPFM=USS3270,
USSTAB=(label of USSTAB with a USS10 in 3270DS)
3278S2 LU MODETAB=..,
DLOGMOD=..,
SSCPFM=USSSCS,
USSTAB=(label of USSTAB with a USS10 in SCS)
Alternatively, you can do as we have in our example and make all clients work with SCS (using the translation feature in the TN3270 Server) by using a wildcard in the fifth position of the character model string as shown below:
3278@2 LU MODETAB=..,
DLOGMOD=..,
SSCPFM=USSSCS,
USSTAB=(label of USSTAB with a USS10 in SCS)
If the client is using a 3270 data stream and the mainframe is expecting an SCS data stream, the TN3270 Server translates the 3270 data stream from the client into an SCS data stream for the mainframe and then translates the response into a 3270 data stream. The TN3270 Server cannot translate an SCS data stream from the client into a 3270 data stream for the mainframe. You can specify an SSCPFM of USSSCS for all clients regardless of the type of client.
In the following situations, you might prefer to specify an SSCPFM of USS3270:
If you use SCS for TN3270E clients and 3270DS for non-E clients, create separate LU group entries as follows:
The lines following the terminal types define the characteristics of the client to VTAM, including screen size. These lines instruct VTAM how to format the character stream that is sent to the client and identify what to expect from the client. If this mapping is incorrect, the data displayed at the client could be corrupted or the connection might fail to work. In addition, these lines tell VTAM what functions are supported. The parameters in this file are as follows:
When a client establishes a connection, it tells the server its device type. VTAM matches the device type to one of the entries in the LUGROUP and assigns the parameters.
VTAM also allows default mapping for clients when they specify a device type that is not mapped. This situation is covered by the @ LU entry. Anything that does not map to a specific device type in the list is treated as if it has the characteristics mapped to the @ entry. This wildcard entry is used to accept all other clients. It can also be used to reject all other clients and isolate all non-standard terminals.
In this scenario, we are starting with a legacy SNA network that contains 3174 controllers connected to 3278 type terminals. It is a pure SNA network. We are implementing IP in the network and so we have replaced all our 3278 type terminals with PCs. The network restrictions require the clients to use the same LU names that were defined in the SNA network, so we are going to use static LUs. Static LUs are predefined LUs in the switched PU VTAM definition. Static LUs must be used if extended clients are going to request specific LU names. This configuration is useful for printers, for applications that have terminal-based security, or other situations where the network administrator must control which LU a user is assigned.
We can use the existing switched major node and PU and LU definitions. Because we are using static LUs, either the client software must support TN3270E capabilities or the client nailing parameter must be configured on the TN3270 Server. We have chosen the first option because it reduces the maintenance of the TN3270 Server definitions.
When implementing static LUs with the TN3270 Server, keep in mind the following guidelines:
To implement IP in our network, we installed a CIP/CPA in our Cisco 7000 series router with Cisco IOS Release 11.3. We configured CSNA and are ready to implement our TN3270 Server. In this scenario, we need to:
It is a good idea to use separate adapters for the TN3270 Server and the CSNA. If the same adapter is used and the External Communications Adapter (XCA) goes down, the adapter will still answer logical link control (LLC) test polls, which will mislead SNA clients that the host connection is still up.
To initiate the TN3270 Server on the router, issue the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, issue the following commands:
router(cfg-tn3270)#pu puxcpa 0CBCB001 172.26.20.33 tok 31 10 rmac 4000.4000.0001 router(tn3270-pu)#pu puxcpb 0CBCB002 172.26.20.33 tok 31 12 rmac 4000.4000.0001
To verify the configuration, use the Cisco IOS show commands. You can view the general TN3270 Server configuration as well as configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router#show run Building configuration... < information deleted > interface Channel1/2 ip address 172.26.20.34 255.255.255.240 no keepalive lan TokenRing 0 adapter 31 4000.4000.4444 TN3270-server unbind-action keep PU PUXCPA01 0CBCB001 172.26.20.33 token-adapter 31 10 rmac 4000.4000.0001 PU PUXCPB01 0CBCB002 172.26.20.33 token-adapter 31 12 rmac 4000.4000.0001
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router#show extended channel 1/2 TN3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.20.33:23 20 0 0 0 0 0 0
total 20 0
configured max_LU 2100
idle-time 0 keepalive 0 unbind-action keep
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUXCPA01(9) 172.26.20.33:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10
PUXCPB01(10) 172.26.20.33:23 0CBCB002 ACTIVE tok 31 4000.4000.0001 04 12
To display the PU configuration parameters, statistics, and all the LUs currently attached to the PU, enter the following command:
router#show extended channel 1/2 TN3270-server PU puxcpa01 name(index) ip:tcp xid state link destination r-lsap PUXCPA01(9) 172.26.20.33:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10 idle-time 0 keepalive 0 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 250 in, 141 out; frames 10 in, 11 out; NegRsp 0 in, 0 out actLUs 10, dactLUs 0, binds 0 Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 2 PUXCPA02 171.68.124.168:1196 N P-BIND 3278S4E 4 3 0:1:12 3 PUXCPA03 never connected N ACT/NA 1 1 0:4:16 4 PUXCPA04 never connected N ACT/NA 1 1 0:4:16 5 PUXCPA05 never connected N ACT/NA 1 1 0:4:16 6 PUXCPA06 never connected N ACT/NA 1 1 0:4:16 7 PUXCPA07 never connected N ACT/NA 1 1 0:4:16 8 PUXCPA08 never connected N ACT/NA 1 1 0:4:16 9 PUXCPA09 never connected N ACT/NA 1 1 0:4:16 10 PUXCPA0A never connected N ACT/NA 1 1 0:4:16 11 PUXCPA0B never connected N ACT/NA 1 1 0:4:16
To display the status of an LU, enter the following command:
router#show extended channel 1/2 TN3270-server PU puxcpa01 LU 02 LU name client-ip:tcp nail state model frames in out idle for 2 PUXCPA02 171.68.124.168:1196 N P-BIND 3278S4E 4 3 0:1:12 PU is PUXCPA01, LU is STATIC unbound, negotiated TN3270E bytes 155 in, 1531 out; RuSize 256 in, 256 out; NegRsp 0 in, 0 out pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out
To display the trace history of an LU, enter the following command:
router#show extended channel 1/2 TN3270-server PU puxcpa01 LU 02 history
LU name client-ip:tcp nail state model frames in out idle for
2 PUXCPA02 171.68.124.168:1196 N P-BIND 3278S4E 4 3 0:1:20
PU is PUXCPA01, LU is STATIC unbound, negotiated TN3270E
bytes 155 in, 1531 out; RuSize 256 in, 256 out; NegRsp 0 in, 0 out
pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out
traces:
actLU req
Client connect req
Reply PSID neg rsp
notify resp
OUT len=12 2Dxxxxxxxx426B80000D0201
IN len=25 xxxxxxxxxx42EB80000D0201000000
IN len=101 xxxxxxxxxx110B820041038D000000
OUT len=16 2Cxxxxxxxx118F92001003000041
IN len=20 xxxxxxxxxx010B80008106200C0603
OUT len=12 2Cxxxxxxxx018B8000810620
OUT len=1507 2Cxxxxxxxx01038000C3C9E2C3D6
IN len=9 2C0000020001838000
The router configuration does not specify whether a TN3270 Server PU uses static LUs, dynamic LUs, or both. This type of LU is specified only in the VTAM switched major node. All LUs that are predefined in the switched major node are static.
Figure 4-3 shows the configuration of the switched major node for this scenario.
***********************************************************************
* SWITCHED MAJOR NODE *
***********************************************************************
CBSWN1 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
PUXCPA01 PU ADDR=01,
PUTYPE=2,ANS=CONT,
IDBLK=0CB,IDNUM=CB001,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCPA02 LU LOCADDR=2
LUXCPA03 LU LOCADDR=3
LUXCPA04 LU LOCADDR=4
LUXCPA05 LU LOCADDR=5
LUXCPA06 LU LOCADDR=6
LUXCPA07 LU LOCADDR=7
LUXCPA08 LU LOCADDR=8
LUXCPA09 LU LOCADDR=9
LUXCPA10 LU LOCADDR=10
LUXCPA11 LU LOCADDR=11
*
PUXCPB01 PU ADDR=01,
PUTYPE=2,ANS=CONT,
IDBLK=0CB,IDNUM=CB002,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCPB02 LU LOCADDR=2
LUXCPB03 LU LOCADDR=3
LUXCPB04 LU LOCADDR=4
LUXCPB05 LU LOCADDR=5
LUXCPB06 LU LOCADDR=6
LUXCPB07 LU LOCADDR=7
LUXCPB08 LU LOCADDR=8
LUXCPB09 LU LOCADDR=9
LUXCPB10 LU LOCADDR=10
LUXCPB11 LU LOCADDR=11
In this scenario, we started with our legacy SNA network and have introduced IP and replaced our 3278 type terminals with PCs. This time the design requirement is to minimize the number of LU definitions in VTAM. Using the DDDLU feature of VTAM, we can define several switched PUs, which use dynamic LUs. As clients request a 3270 connection, the channel-attached router requests an LU and VTAM dynamically provides one. Each client receives an LU based on the model and type that it specifies. This process reduces the setup and maintenance cycle for VTAM LUs.
This process also provides greater flexibility to service client requirements without providing an individual LU for every client. For example, this is useful if you have 10,000 clients but only 5,000 log on at the same time. Using static LUs, you must define 10,000 LUs and assign each client a unique LU name. Using DDDLU, however, you can define a pool of 5,000 LUs without creating the static definitions. Each client is assigned an LU name from the pool when they request a connection. With DDDLU, the TN3270 Server can support standard TN3270 clients as well as TN3270E clients.
When implementing dynamic LUs with the TN3270 Server, keep in mind the following guidelines:
The router configuration in this scenario is the similar to the configuration in Scenario 1. To implement IP in our network, we installed a CIP/CPA in our Cisco 7000 series router with Cisco IOS Release 11.3. We configured CSNA and are ready to implement our TN3270 Server. In this scenario, we need to:
To initiate the TN3270 Server on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, enter the following commands:
router(cfg-tn3270)#pu puxcpa 05d00001 172.26.20.33 tok 31 10 rmac 4000.4000.0001 router(tn3270-pu)#pu puxcpb 05d00002 172.26.20.34 tok 31 12 rmac 4000.4000.0001 lu-seed pub## router(tn3270-pu)#pu puxcpc 05d00003 172.26.20.35 tok 31 14 rmac 4000.4000.0001 lu-seed pu3###
To verify the configuration, use the Cisco IOS show commands. You can view the general TN3270 Server configuration as well as configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router#show run Building configuration... <deleted information> interface Channel1/2 ip address 172.26.20.33 255.255.255.240 no keepalive lan TokenRing 0 adapter 0 4000.4000.0001 adapter 31 4000.4000.4444 TN3270-server unbind-action keep PU PUXCPA01 0CBCB001 172.26.20.34 token-adapter 31 10 rmac 4000.4000.0001 PU PUXCPB01 0CBCB002 172.26.20.34 token-adapter 31 12 rmac 4000.4000.0001 LU-seed PUB## PU PUXCPC01 0CBCB003 172.26.20.35 token-adapter 31 14 rmac 4000.4000.0001 LU-seed PU3###
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router#show extended channel 1/2 TN3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.20.34:23 510 1 2 1 0 0 0
172.26.20.35:23 255 1 1 0 0 0 0
total 765 2
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action keep
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUXCPA01(15) 172.26.20.34:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10
PUXCPB01(16) 172.26.20.34:23 0CBCB002 ACTIVE tok 31 4000.4000.0001 04 12
PUXCPC01(14) 172.26.20.35:23 0CBCB003 ACTIVE tok 31 4000.4000.0001 04 14
To display the PU configuration parameters, statistics, and all the LUs currently attached to each PU, enter the following commands:
router#show extended channel 1/2 TN3270-server PU puxcpa01 name(index) ip:tcp xid state link destination r-lsap PUXCPA01(15) 172.26.20.34:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10 idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 0 in, 21 out; frames 0 in, 1 out; NegRsp 0 in, 0 out actLUs 0, dactLUs 0, binds 0 LU name client-ip:tcp nail state model frames in out idle for
To view the PU with static LUs, enter the following command:
router#show extended channel 1/2 TN3270-server PU puxcpb01 name(index) ip:tcp xid state link destination r-lsap PUXCPB01(16) 172.26.20.34:23 0CBCB002 ACTIVE tok 31 4000.4000.0001 04 12 LU-seed PUB## idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 582 in, 2281 out; frames 26 in, 27 out; NegRsp 0 in, 0 out actLUs 2, dactLUs 0, binds 1 LU name client-ip:tcp nail state model frames in out idle for 1 PUB01 171.68.124.165:1065 N ACT/NA VT400 5 3 0:8:2 2 PUB02 171.68.124.168:1215 N ACT/SESS 327904E 21 20 0:3:33
router#show extended channel 1/2 TN3270-server PU puxcpc01 name(index) ip:tcp xid state link destination r-lsap PUXCPC01(14) 172.26.20.35:23 0CBCB003 ACTIVE tok 31 4000.4000.0001 04 14 LU-seed PU3### idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 1420 in, 4141 out; frames 21 in, 22 out; NegRsp 0 in, 0 out actLUs 2, dactLUs 0, binds 1 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 2 PU3002 never connected N ACT/NA 1 1 0:10:54 3 PU3003 171.68.124.168:1213 N ACT/SESS 3278S4E 20 19 0:3:31
To display the status of the LUs, enter the following commands for each LU:
router#show extended channel 1/2 TN3270-server PU puxcpb01 LU 02 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 2 PUB02 171.68.124.168:1215 N ACT/SESS 327904E 21 20 0:4:4 PU is PUXCPB01, LU is DYNAMIC type 2, negotiated TN3270 bytes 326 in, 689 out; RuSize 1024 in, 3840 out; NegRsp 0 in, 6 out pacing window 0 in, 1 out; credits 0 in, queue-size 0 in, 0 out
router#show extended channel 1/2 TN3270-server PU puxcpc01 LU 03 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 3 PU3003 171.68.124.168:1213 N ACT/SESS 3278S4E 20 19 0:4:16 PU is PUXCPC01, LU is STATIC type 2, negotiated TN3270E bytes 1395 in, 4096 out; RuSize 1024 in, 3840 out; NegRsp 0 in, 5 out pacing window 0 in, 1 out; credits 0 in, queue-size 0 in, 0 out
In the examples above, we see that LU 02 is a dynamic LU and LU 03 is static.
To display information about LUs defined under an IP address, enter the following command:
router#sh ext ch 1/2 tn client-ip-address 171.68.124.168 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 3 PU3003 171.68.124.168:1213 N ACT/SESS 3278S4E 20 19 0:4:47 PU is PUXCPC01, LU is STATIC type 2, negotiated TN3270E bytes 1395 in, 4096 out; RuSize 1024 in, 3840 out; NegRsp 0 in, 5 out pacing window 0 in, 1 out; credits 0 in, queue-size 0 in, 0 out Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 2 PUB02 171.68.124.168:1215 N ACT/SESS 327904E 21 20 0:4:55 PU is PUXCPB01, LU is DYNAMIC type 2, negotiated TN3270 bytes 326 in, 689 out; RuSize 1024 in, 3840 out; NegRsp 0 in, 6 out pacing window 0 in, 1 out; credits 0 in, queue-size 0 in, 0 out Total 2 clients found using 171.68.124.168
The router configuration does not specify whether a TN3270 server PU uses static LUs, dynamic LUs, or both. The type of LU is specified only in the VTAM switched major node. Any LOCADDRs not defined in the switched major node (potential LOCADDRs are between 1 and 255) are used as dynamic LUs.
Figure 4-5 shows the configuration of the switched major node for this scenario.
***********************************************************************
* SWITCHED MAJOR NODE *
***********************************************************************
CBSWN1 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
PUXCPA01 PU ADDR=01,
PUTYPE=2,ANS=CONT,
LUGROUP=DDDMVSLU,
IDBLK=0CB,IDNUM=CB001,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
*
PUXCPB01 PU ADDR=01,
PUTYPE=2,INCLUD0E=YES,ANS=CONT,
LUGROUP=DDDMVSLU,LUSEED=PUB##,
IDBLK=0CB,IDNUM=CB002,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
*
PUXCPC01 PU ADDR=01,
PUTYPE=2,INCLUD0E=YES,ANS=CONT,
LUGROUP=DDDMVSLU,LUSEED=PU3###,
IDBLK=0CB,IDNUM=CB003,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCPC01 LU LOCADDR=1
LUXCPC02 LU LOCADDR=2
To display the status of the switched major node, enter the following command:
D NET,ID=CBSWN1,E IST097I DISPLAY ACCEPTED IST075I NAME = CBSWN2, TYPE = SW SNA MAJ NODE 572 IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST1656I VTAMTOPO = REPORT, NODE REPORTED - YES IST084I NETWORK RESOURCES: IST089I PUXCPA01 TYPE = PU_T2.1 , ACTIV IST089I PUXCPB01 TYPE = PU_T2.1 , ACTIV IST089I PUB02 TYPE = LOGICAL UNIT , ACTIV---X- IST089I PUB01 TYPE = LOGICAL UNIT , ACTIV---X- IST089I PUXCPC01 TYPE = PU_T2.1 , ACTIV IST089I PU3001 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LUXCPC01 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPC02 TYPE = LOGICAL UNIT , ACTIV IST314I END
To display the status of a VTAM PU, enter the following command:
D NET,ID=PUXCPC01,E IST097I DISPLAY ACCEPTED IST075I NAME = PUXCPC01, TYPE = PU_T2.1 597 IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST1058I MODEL LU GROUP = DDDMVSLU, LUSEED = PU3### IST1043I CP NAME = PUXCPC01, CP NETID = NETA, DYNAMIC LU = YES IST1589I XNETALS = YES IST1105I RESOURCE STATUS TGN CP-CP TG CHARACTERISTICS IST1106I PUXCPC01 AC/R 0 YES 90750000000000000000014C00808080 IST1482I HPR = RTP - OVERRIDE = N/A - CONNECTION = NO IST136I SWITCHED SNA MAJOR NODE = CBSWN2 IST081I LINE NAME = L3800000, LINE GROUP = CBGRP38, MAJNOD = CBXCA38 IST654I I/O TRACE = OFF, BUFFER TRACE = OFF IST1500I STATE TRACE = OFF IST1656I VTAMTOPO = REPORT, NODE REPORTED - YES IST1657I MAJOR NODE VTAMTOPO = REPORT IST355I LOGICAL UNITS: IST080I PU3001 ACTIV---X- LUXCPC01 ACTIV LUXCPC02 ACTIV IST314I END
In this scenario, we are going to use LU nailing to control the LU that is assigned to a particular IP address. In an SNA environment, there are often requirements to control the LUs that are assigned to particular clients, such as printers. This control is important for printers that need a predefined name and applications that use terminal-based security, such as IMS applications. There are two methods to address this requirement; the first option is to have the client use TN3270E and specify the LU name; the second option is to control the LU names allocated using LU nailing. Using LU nailing allows you to centrally control which clients can connect to certain LUs. It also allows standard TN3270 clients to access a specific LU or pool of LUs.
When implementing LU nailing with the TN3270 Server, keep in mind that new client statements are added to the end of the list for that particular PU (similar to configuring access lists).
The router configuration in this scenario is the similar to Scenario 2. In this scenario, we need to:
To initiate the TN3270 Server on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, enter the following commands:
router(cfg-tn3270)#pu puxcpa 0CBCB001 172.26.20.34 tok 31 10 rmac 4000.4000.0001 LU-seed LU1###
To specify the LUs that are to be assigned to specific clients, enter the following commands:
router(cfg-tn3270)#pu puxcpa router(tn3270-pu)#client ip 171.68.124.168 LU 1 router(tn3270-pu)#client ip 171.68.124.0 255.255.255.0 LU 3 50 router(tn3270-pu)#client ip 171.68.110.40 LU 51 router(tn3270-pu)#client ip 171.68.110.0 255.255.255.0 LU 52 100
To limit the number of TN3270 sessions that can be established by a particular client, enter the following command:
router(cfg-tn3270)#client 172.1.1.1 LU maximum 2
In this case 172.1.1.1 is never allocated more than two LOCADDRs and can establish only up to two TN3270 sessions. This action is called LU capping.
To verify the configuration, use the Cisco IOS show commands. The show commands allow you to view the general TN3270 Server configuration and configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router#show run Building configuration... <deleted information> interface Channel1/2 ip address 172.26.20.33 255.255.255.240 no keepalive lan TokenRing 0 adapter 0 4000.4000.0001 adapter 31 4000.4000.4444 TN3270-server unbind-action keep PU PUXCPA01 0CBCB001 172.26.20.34 token-adapter 31 10 rmac 4000.4000.0001 LU-seed LU1### client ip 171.68.124.168 LU 1 client ip 171.68.124.0 255.255.255.0 LU 3 50 client ip 171.68.110.40 LU 51 client ip 171.68.110.0 255.255.255.0 LU 52 100
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router#show extended channel 1/2 TN3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.20.34:23 255 3 10 7 0 0 0
total 255 3
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action keep
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUXCPA01(18) 172.26.20.34:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10
To display the PU configuration parameters, statistics, and all the LUs currently attached to each PU, enter the following command:
router#show extended channel 1/2 TN3270-server PU puxcpa01 name(index) ip:tcp xid state link destination r-lsap PUXCPA01(18) 172.26.20.34:23 0CBCB001 ACTIVE tok 31 4000.4000.0001 04 10 LU-seed LU1### idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 2032 in, 6176 out; frames 40 in, 43 out; NegRsp 0 in, 0 out actLUs 7, dactLUs 0, binds 0 Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LU1001 171.68.124.168:1448 Y P-BIND 327904 3 2 0:19:59 3 LU1003 171.68.124.168:1444 Y ACT/NA 327904 10 6 0:20:7 4 LU1004 171.68.124.165:2035 Y ACT/NA VT400 5 3 0:11:1 5 LU1005 171.68.124.165:2075 Y ACT/NA VT400 5 3 0:11:13 6 LU1006 171.68.124.165:2080 Y ACT/NA VT400 5 3 0:10:48 51 LU1051 171.68.110.40:36186 Y P-BIND 327904E 8 5 0:8:12 52 LU1052 171.68.110.40:36187 Y P-BIND 327904E 3 2 0:7:55 client ip mask nail-type LU first LU last 171.68.124.168 screen 1 171.68.124.0 255.255.255.0 screen 3 50 171.68.110.40 screen 51 171.68.110.0 255.255.255.0 screen 52 100
To display the status of the LUs, enter the following command for each LU:
router#show extended channel 1/2 tn3270-server PU puxcpa01 LU 01 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LU1001 171.68.124.168:1448 Y P-BIND 327904 3 2 0:20:20 PU is PUXCPA01, LU is DYNAMIC unbound, negotiated TN3270 bytes 135 in, 213 out; RuSize 256 in, 256 out; NegRsp 0 in, 0 out pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out
To display mappings between a nailed client IP address and nailed LUs, enter the following command:
router#show extended channel 1/2 tn3270-server nailed-ip 171.68.124.168 171.68.124.168 LU PUXCPA01 LU 1 171.68.124.0 255.255.255.0 LU PUXCPA01 LU 3 50 171.68.110.40 LU PUXCPA01 LU 51 171.68.110.0 255.255.255.0 LU PUXCPA01 LU 52 100
To display information about LUs defined under an IP address, enter the following command:
router#show extended channel 1/2 tn3270-server client-ip-address 171.68.124.168 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 3 LU1003 171.68.124.168:1444 Y ACT/NA 327904 10 6 0:24:0 PU is PUXCPA01, LU is DYNAMIC unbound, negotiated TN3270 bytes 507 in, 450 out; RuSize 0 in, 0 out; NegRsp 0 in, 0 out pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LU1001 171.68.124.168:1448 Y P-BIND 327904 3 2 0:23:52 PU is PUXCPA01, LU is DYNAMIC unbound, negotiated TN3270 bytes 135 in, 213 out; RuSize 256 in, 256 out; NegRsp 0 in, 0 out pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out Total 2 clients found using 171.68.124.168
Figure 4-7 shows the configuration of the switched major node for this scenario.
***********************************************************************
* SWITCHED MAJOR NODE *
***********************************************************************
CBSWN5 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
PUXCPA01 PU ADDR=01, X
PUTYPE=2,ANS=CONT, X
LUGROUP=DDDMVSLU,LUSEED=LU1###, X
IDBLK=0CB,IDNUM=CB001, X
To display the status of the switched major node, enter the following command:
D NET,ID=CBSWN5,E IST097I DISPLAY ACCEPTED IST075I NAME = CBSWN5, TYPE = SW SNA MAJ NODE 537 IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST1656I VTAMTOPO = REPORT, NODE REPORTED - YES IST084I NETWORK RESOURCES: IST089I PUXCPA01 TYPE = PU_T2.1 , ACTIV IST089I LU1052 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1051 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1006 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1005 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1004 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1001 TYPE = LOGICAL UNIT , ACTIV---X- IST089I LU1003 TYPE = LOGICAL UNIT , ACTIV---X- IST314I END
The ACTIV---X- indicates that these LUs were dynamically created.
In this scenario, we address the situation in which you have a group of statically defined LUs that are not available for use by a pool of LUs. The only clients that can request and use these static LUs must be TN3270E-capable clients. The Cisco solution for this is to configure the PU with client nailing to allow all IP addresses to request the group of static LUs. Configuring this parameter creates a pool of LUs, even though the LUs are static, and allow clients that are not TN3270E clients to access the static LUs.
We have configured CSNA and are now ready to implement our TN3270 Server. In this scenario, we need to:
To initiate the TN3270 Server on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the LU-seed used by the router, enter the following command:
router(cfg-tn3270)#pu puxcpa06 0CBCBA06 172.26.20.34 tok 31 10 rmac 4000.4000.0001 LU-seed LUXCPA##
To specify the LUs that are assigned to specific clients, enter the following commands:
router(cfg-tn3270)#pu puxcpa06 router(tn3270-pu)#client ip 171.68.124.165 LU 1 2 router(tn3270-pu)#client ip 171.68.124.0 255.255.255.0 LU 3 5 router(tn3270-pu)#client ip 171.68.110.0 255.255.255.0 LU 6 10 router(tn3270-pu)#client ip 171.68.120.0 255.255.255.0 LU 11 15 router(tn3270-pu)#client ip 171.68.130.0 255.255.255.0 LU 16 20
To limit the number of TN3270 sessions that can be established by a particular client, enter the following command:
router(cfg-tn3270)#client 172.1.1.1 LU maximum 2
In this case 172.1.1.1 will never be allocated more than two LOCADDRs and can, therefore, only establish up to two TN3270 sessions. This is called LU capping.
To verify the configuration, use the Cisco IOS show commands. The show commands allow you to view the general TN3270 Server configuration and configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router#show run Building configuration... <deleted information> interface Channel1/2 ip address 172.26.20.33 255.255.255.240 no keepalive lan TokenRing 0 adapter 0 4000.4000.0001 adapter 31 4000.4000.4444 TN3270-server unbind-action keep PU PUXCPA06 0CBCBA06 172.26.20.34 token-adapter 31 10 rmac 4000.4000.0001 LU-seed LUXCPA## client ip 171.68.124.165 LU 1 2 client ip 171.68.124.0 255.255.255.0 LU 3 5 client ip 171.68.110.0 255.255.255.0 LU 6 10 client ip 171.68.120.0 255.255.255.0 LU 11 15 client ip 171.68.130.0 255.255.255.0 LU 16 20
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router#show extended channel 1/2 tn3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.20.34:23 20 6 6 0 0 0 0
total 20 6
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action keep
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUXCPA06(22) 172.26.20.34:23 0CBCBA06 ACTIVE tok 31 4000.4000.0001 04 10
To display the PU configuration parameters, statistics, and all the LUs currently attached to each PU, enter the following command:
router#show extended channel 1/2 tn3270-server PU puxcpa06 name(index) ip:tcp xid state link destination r-lsap PUXCPA06(22) 172.26.20.34:23 0CBCBA06 ACTIVE tok 31 4000.4000.0001 04 10 LU-seed LUXCPA## idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 1280 in, 9471 out; frames 38 in, 39 out; NegRsp 0 in, 0 out actLUs 20, dactLUs 0, binds 0 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LUXCPA01 171.68.124.165:1364 Y P-BIND 327802 4 3 0:1:27 2 LUXCPA02 171.68.124.165:1365 Y P-BIND 327802 4 3 0:1:22 3 LUXCPA03 171.68.124.168:1617 Y P-BIND 327904 4 3 0:1:29 4 LUXCPA04 171.68.124.165:1366 Y P-BIND 327902E 4 3 0:1:16 5 LUXCPA05 never connected Y ACT/NA 1 1 0:1:57 6 LUXCPA06 171.68.110.40:36202 Y P-BIND 327904E 4 3 0:0:57 7 LUXCPA07 171.68.110.40:36203 Y P-BIND 327904E 4 3 0:0:48 8 LUXCPA08 never connected Y ACT/NA 1 1 0:1:57 9 LUXCPA09 never connected Y ACT/NA 1 1 0:1:57 10 LUXCPA0A never connected Y ACT/NA 1 1 0:1:57 11 LUXCPA0B never connected Y ACT/NA 1 1 0:1:57 12 LUXCPA0C never connected Y ACT/NA 1 1 0:1:57 13 LUXCPA0D never connected Y ACT/NA 1 1 0:1:57 14 LUXCPA0E never connected Y ACT/NA 1 1 0:1:58 15 LUXCPA0F never connected Y ACT/NA 1 1 0:1:58 16 LUXCPA10 never connected Y ACT/NA 1 1 0:1:58 17 LUXCPA11 never connected Y ACT/NA 1 1 0:1:58 18 LUXCPA12 never connected Y ACT/NA 1 1 0:1:58 19 LUXCPA13 never connected Y ACT/NA 1 1 0:1:58 20 LUXCPA14 never connected Y ACT/NA 1 1 0:1:58 client ip mask nail-type LU first LU last 171.68.124.165 screen 1 2 171.68.124.0 255.255.255.0 screen 3 5 171.68.110.0 255.255.255.0 screen 6 10 171.68.120.0 255.255.255.0 screen 11 15
To display mappings between a nailed client IP address and nailed LUs, enter the following command:
router#show extended channel 1/2 tn nailed-ip 171.68.124.168 171.68.124.165 PU PUXCPA06 LU 1 2 171.68.124.0 255.255.255.0 PU PUXCPA06 LU 3 5 171.68.110.0 255.255.255.0 PU PUXCPA06 LU 6 10 171.68.120.0 255.255.255.0 PU PUXCPA06 LU 11 15 171.68.130.0 255.255.255.0 PU PUXCPA06 LU 16 20
To display the status of the LUs, enter the following command for each LU:
router#show extended channel 1/2 tn3270-server PU puxcpa06 LU 06 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 6 LUXCPA06 171.68.110.40:36202 Y P-BIND 327904E 4 3 0:3:10 PU is PUXCPA06, LU is STATIC unbound, negotiated TN3270 bytes 155 in, 1531 out; RuSize 256 in, 256 out; NegRsp 0 in, 0 out pacing window 0 in, 0 out; credits 0 in, queue-size 0 in, 0 out
Although the client is a TN3270 non-E client, the LU assigned is a static LU.
Figure 4-9 shows the configuration of the switched major node for this scenario. The LUs are configured as static LUs.
***********************************************************************
* SWITCHED MAJOR NODE *
***********************************************************************
CBSWN6 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
PUXCPA06 PU ADDR=01,
PUTYPE=2,ANS=CONT,
IDBLK=0CB,IDNUM=CBA06,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCPA01 LU LOCADDR=1
LUXCPA02 LU LOCADDR=2
LUXCPA03 LU LOCADDR=3
LUXCPA04 LU LOCADDR=4
LUXCPA05 LU LOCADDR=5
LUXCPA06 LU LOCADDR=6
LUXCPA07 LU LOCADDR=7
LUXCPA08 LU LOCADDR=8
LUXCPA09 LU LOCADDR=9
LUXCPA0A LU LOCADDR=10
LUXCPA0B LU LOCADDR=11
LUXCPA0C LU LOCADDR=12
LUXCPA0D LU LOCADDR=13
LUXCPA0E LU LOCADDR=14
LUXCPA0F LU LOCADDR=15
LUXCPA10 LU LOCADDR=16
LUXCPA11 LU LOCADDR=17
LUXCPA12 LU LOCADDR=18
LUXCPA13 LU LOCADDR=19
LUXCPA14 LU LOCADDR=20
LUXCPA15 LU LOCADDR=21
To display the status of the switched major node, enter the following command:
D NET,ID=CBSWN6,E IST097I DISPLAY ACCEPTED IST075I NAME = CBSWN6, TYPE = SW SNA MAJ NODE 223 IST486I STATUS= ACTIV, DESIRED STATE= ACTIV IST1656I VTAMTOPO = REPORT, NODE REPORTED - YES IST084I NETWORK RESOURCES: IST089I PUXCPA06 TYPE = PU_T2.1 , ACTIV IST089I LUXCPA01 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA02 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA03 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA04 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA05 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA06 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA07 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA08 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA09 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0A TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0B TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0C TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0D TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0E TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA0F TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA10 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA11 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA12 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA13 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA14 TYPE = LOGICAL UNIT , ACTIV IST089I LUXCPA15 TYPE = LOGICAL UNIT , ACTIV
In this scenario, we are using LU nailing to control the LU names associated with printers sessions. In many environments, it is important for printer sessions to be controlled so that only a particular print server can access the output being sent to an given LU.
With TN3270E clients, it is possible to request printer sessions from a workstation to the mainframe. For example, if you want to establish a TN3270E printer session to an NT server that is associated with one of the LAN printers designated for 3270 printing, you can create a logical connection between a VTAM 3287 printer definition and the LAN or local printer (RFC 2355, LU 1 or LU 3).
However, if you used your TN3270 client to established a session with Customer Information Control System (CICS) and then you want to print from CICS to your local PC printer, you must open another TN3270 client session with the channel-attached router and establish a connection as a printer LU. To do this, the print client must request a static printer LU name, which must be defined in the switched major node as an LU 1 or LU 3. Alternatively, you can use LU nailing to associate a specific printer LU with a print client in the channel-attached router configuration. This method is called passthrough printing and keeps the client from requesting an incorrect LU name.
When implementing LU nailing for printer sessions, keep in mind the following guidelines:
We have configured CSNA and are ready to implement our TN3270 Server. In this scenario, we need to:
To initiate the TN3270 Server on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, enter the following command:
router(cfg-tn3270)#pu puxcpa07 0CBCB007 172.26.30.34 token-adapter 31 08 rmac 4000.2222.0000 LU-seed LUXCP7##
To specify the LUs that are assigned to specific clients, enter the following commands:
router(cfg-tn3270)#pu puxcpa07 router(tn3270-pu)#client ip 171.68.124.166 LU 1 2 router(tn3270-pu)#client printer ip 171.68.124.166 LU 7
Based on the configuration commands above, the client's terminal sessions will be nailed to LUXCP701 and LUXCP702. If the client requests a printer session, the TN3270 Server will assign the LU at LOCADDR 7.
To verify the configuration, use the Cisco IOS show commands. The show commands allow you to view the general TN3270 Server configuration and configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router#show run Current configuration: <deleted information> interface Channel1/2 ip address 172.26.30.33 255.255.255.240 no keepalive lan TokenRing 0 adapter 0 4000.2222.0000 adapter 31 4000.2222.1111 TN3270-server PU PUXCPA07 0CBCB007 172.26.30.34 token-adapter 31 08 rmac 4000.2222.0000 LU-seed LUXCP7## client ip 171.68.124.166 LU 1 2 client printer ip 171.68.124.166 LU 7
To display the PU configuration parameters, statistics, and all the LUs currently attached to each PU, enter the following command:
router#show extended channel 1/2 tn3270-server PU puxcpa07 name(index) ip:tcp xid state link destination r-lsap PUXCPA07(2) 172.26.30.34:23 0CBCB007 ACTIVE tok 31 4000.2222.0000 04 08 LU-seed LUXCP7## idle-time 0 keepalive 1800 unbind-act discon generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 3947 in, 19272 out; frames 97 in, 101 out; NegRsp 0 in, 0 out actLUs 39, dactLUs 0, binds 0 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LUXCP701 never connected Y ACT/NA 1 1 0:17:32 2 LUXCP702 never connected Y ACT/NA 1 1 0:17:32 3 LUXCP703 never connected N ACT/NA 1 1 0:17:32 4 LUXCP704 never connected N ACT/NA 1 1 0:17:32 5 LUXCP705 never connected N ACT/NA 1 1 0:17:32 6 LUXCP706 never connected N ACT/NA 1 1 0:17:32 7 LUXCP707 171.68.124.166:1133 Y P-BIND 3287S1 6 4 0:16:33 8 LUXCP708 never connected N ACT/NA 1 1 0:17:32 9 LUXCP709 never connected N ACT/NA 1 1 0:17:32 10 LUXCP70A never connected N ACT/NA 1 1 0:17:32 client ip mask nail-type LU first LU last 171.68.124.166 screen 1 2 171.68.124.166 printer 7
Figure 4-11 shows the configuration of the switched major node for this scenario.
* SWITCHED MAJOR NODE
CBSWN7 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
PUXCPA07 PU ADDR=01,
PUTYPE=2,ANS=CONT,
IDBLK=0CB,IDNUM=CB007,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCP701 LU LOCADDR=1
LUXCP702 LU LOCADDR=2
LUXCP703 LU LOCADDR=3
LUXCP704 LU LOCADDR=4
LUXCP705 LU LOCADDR=5
LUXCP706 LU LOCADDR=6,DLOGMOD=SCS,MODETAB=ISTINCLM
LUXCP707 LU LOCADDR=7,DLOGMOD=SCS,MODETAB=ISTINCLM
LUXCP708 LU LOCADDR=8,DLOGMOD=DSC4K,MODETAB=ISTINCLM
LUXCP709 LU LOCADDR=9,DLOGMOD=DSC4K,MODETAB=ISTINCLM
LUXCP70A LU LOCADDR=10,DLOGMOD=DSC4K,MODETAB=ISTINCLM
Sometimes it is necessary to run a TN3270 Server in a remote location with no channel attachment to the mainframe. In this case it is possible to bridge the resulting SNA traffic from the TN3270 Server to a channel gateway via RSRB, DLSw+, SRB, or SR/TLB. In this scenario, we describe how to configure a remote TN3270 Server using a channel-attached Cisco 7500 series router as a channel gateway. You can also use an IBM 3745 or any other device that offers the necessary functionality.
When implementing a remote TN3270 Server, keep in mind the following guidelines:
There are two routers in this scenario. Router 1 provides the channel connection to the mainframe. It does not contain a TN3270 Server. It is using DLSw to transport the traffic from the remote router with the TN3270 Server (Router 2) to the mainframe. Router 2 contains the TN3270 Server and is connected to Router 1. In this scenario, we need to:
This section discusses the steps required to configure Router 1.
To configure the source-route bridge and DLSw on Router 1, enter the following commands:
router1 (config)#source-bridge ring-group 1000 router1 (config)#dlsw local-peer peer-id 172.26.30.65 router1 (config)#dlsw remote-peer 0 tcp 172.26.30.81
This section discusses the steps required to configure Router 2.
To configure the source-route bridge and DLSw on Router 2, enter the following commands:
router2 (config)#source-bridge ring-group 1000 router2 (config)#dlsw local-peer peer-id 172.26.30.81 router2 (config)#dlsw remote-peer 0 tcp 172.26.30.65
To initiate the TN3270 Server on Router 2, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, enter the following command:
router2(cfg-tn3270)#pu puxcpa07 0CBCB007 172.26.30.50 token-adapter 31 12 rmac 4000.2222.0000 lu-seed LUXCP7##
To configure the Token Ring virtual interface of the channel-attached router to participate in the source-bridge group, enter the following commands:
router2 (config)#int channel 1/2 router2(config-if)#lan tokenring 0 router2(config-if)#source-bridge 999 1 1000
To verify the configuration, use the Cisco IOS show commands. You need to verify the configuration on both routers. In the following command examples, the TN3270 Server on the virtual channel port of Router 1 is up and running. The real channel, however, is in shutdown state. The TN3270 Server PUs from Router 1 reach their destination XCA adapter via DLSW.
To display the current configuration of Router 1, enter the following command:
router1#show run Current configuration: <deleted information> source-bridge ring-group 1000 dlsw local-peer peer-id 172.26.30.65 dlsw remote-peer 0 tcp 172.26.30.81 ! interface Loopback0 ip address 172.26.30.65 255.255.255.255 ! interface Ethernet0/0 ip address 172.26.14.116 255.255.254.0 ! interface Channel1/0 no ip address no keepalive shutdown ! interface Channel1/1 no ip address no keepalive csna 0120 00 ! interface Channel1/2 no ip address no keepalive lan TokenRing 0 source-bridge 999 1 1000 adapter 0 4000.2222.0000
To display the current configuration of Router 2, enter the following command:
router1#show run Current configuration: <deleted information> source-bridge ring-group 1000 dlsw local-peer peer-id 172.26.30.81 dlsw remote-peer 0 tcp 172.26.30.65 ! interface Loopback0 ip address 172.26.30.81 255.255.255.255 ! interface Ethernet0/0 ip address 172.26.14.114 255.255.254.0 ! interface Channel1/0 no ip address no keepalive shutdown ! interface Channel1/2 ip address 172.26.30.49 255.255.255.240 no keepalive lan TokenRing 0 source-bridge 998 1 1000 adapter 31 4000.4444.4444 TN3270-server PU PUXCPA07 0CBCB007 172.26.30.50 token-adapter 31 12 rmac 4000.2222.0000 lu-seed LUXCP7##
To display DLSw+ reachability information, enter the following command:
router2#show dlsw reachability DLSw Local MAC address reachability cache list Mac Addr status Loc. port rif 4000.4444.4444 FOUND LOCAL Channel1/2 06B0.3E61.3E80 DLSw Remote MAC address reachability cache list Mac Addr status Loc. peer 4000.2222.0000 FOUND REMOTE 172.26.30.65(2065) max-lf(4472)
To display the current status of the channel interface, enter the following command:
router2#show interface channel1/0 Channel1/0 is administratively down, line protocol is down Hardware is cyBus Channel Interface MTU 4096 bytes, BW 98304 Kbit, DLY 100 usec, rely 255/255, load 1/255 Encapsulation CHANNEL, loopback not set ECA adapter card
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router2#show extended channel1/2 tn3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.30.50:23 255 0 1 1 0 0 0
total 255 0
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action disconnect
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUXCPA07(1) 172.26.30.50:23 0CBCB007 ACTIVE tok 31 4000.2222.0000 04 12
Figure 4-13 shows the configuration of the switched major node for this scenario.
* SWITCHED MAJOR NODE
CBSWN7 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
PUXCPA07 PU ADDR=01,
PUTYPE=2,ANS=CONT,
IDBLK=0CB,IDNUM=CB007,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUXCP701 LU LOCADDR=1
LUXCP702 LU LOCADDR=2
LUXCP703 LU LOCADDR=3
LUXCP704 LU LOCADDR=4
LUXCP705 LU LOCADDR=5
LUXCP706 LU LOCADDR=6,DLOGMOD=SCS,MODETAB=ISTINCLM
LUXCP707 LU LOCADDR=7,DLOGMOD=SCS,MODETAB=ISTINCLM
LUXCP708 LU LOCADDR=8,DLOGMOD=DSC4K,MODETAB=ISTINCLM
LUXCP709 LU LOCADDR=9,DLOGMOD=DSC4K,MODETAB=ISTINCLM
LUXCP70A LU LOCADDR=10,DLOGMOD=DSC4K,MODETAB=ISTINCLM
One of the basic elements to any SNA network is network reliability through redundancy. Redundancy is also important when you implement a TN3270 Server. One way to get redundancy is to install a second TN3270 Server, but this does not solve the issue because the client still has to point to a single IP address. The solution is to provide a method of using multiple servers (for backup and load balancing) while providing the client a single IP address.
LocalDirector is used to achieve redundancy. LocalDirector is a device that dynamically load balances traffic between multiple servers to ensure timely access and response to requests. With LocalDirector, all traffic to the TN3270 Server passes through the LocalDirectors, which look like two PIX firewall machines connected with a failover cable. LocalDirector acts like a bridge, passing all packets from the client to the server after the connection is established. In this scenario, we describe how to implement a TN3270 Server with LocalDirector.
When implementing LocalDirector with a TN3270 Server, keep in mind the following guidelines:
After you have installed the LocalDirector, you must configure it for use with the TN3270 Servers.
To assign the LocalDirector IP address and subnet mask, enter the following command:
LocalDirector1 (config)#ip address 172.26.24.3 255.255.255.0
To define virtual servers and specify whether they are in or out of service, enter the following command:
LocalDirector1(config)#virtual 172.26.24.10:0:0 is LocalDirector1(config)#virtual 172.26.24.5:0:0 is
This command specifies the virtual IP addresses of your TN3270 Servers. Normally, you will have only one, but to show a more complicated sample, we have defined two virtual server addresses in our scenario. Behind each of these virtual addresses is a cluster of several TN3270 Servers. The LocalDirector load balances the sessions between these servers and, if one TN3270 Server fails, the sessions can be reestablished at another server.
To set the type of load balancing for each virtual server, use the following command:
predictor virtual_id {fastest|roundrobin|leastconns|weighted} [roundrobin|none]
To define the route to the default gateway for the LocalDirector, enter the following command:
LocalDirector1(config)#route 0.0.0.0 0.0.0.0 172.26.24.35 1
The route command should point to the HSRP address of the gateway routers.
To identify the second, or backup, LocalDirector, enter the following commands:
LocalDirector1(config)#failover active LocalDirector1(config)#failover ip address 172.26.24.4
To define the addresses of the real TN3270 Servers and specify whether they are in or out of service, enter the following commands:
LocalDirector1(config)#real 172.26.25.1:0 is LocalDirector1(config)#real 172.26.25.2:0 is LocalDirector1(config)#real 172.26.23.7:0 is LocalDirector1(config)#real 172.26.23.6:0 is
To associate each virtual server to real servers, enter the following commands:
LocalDirector1(config)#bind 172.26.24.10:0:0 172.26.23.7:0 LocalDirector1(config)#bind 172.26.24.10:0:0 172.26.25.1:0 LocalDirector1(config)#bind 172.26.24.5:0:0 172.26.25.2:0 LocalDirector1(config)#bind 172.26.24.5:0:0 172.26.23.6:0
The clients use the virtual server IP address to establish a TN3270 session.
To verify the configuration of the LocalDirector, enter the following command:
LocalDirector #show run Building configuration... : Saved : LocalDirector 415 Version 2.1.0.127 syslog output 20.7 no syslog console enable password dfeaf10390e560aea745ccba53e044 encrypted hostname adelaide interface ethernet 0 100full interface ethernet 0 interface ethernet 1 100full interface ethernet 1 mtu 0 1500 mtu 1 1500 no secure 0 no secure 1 ping-allow 0 ping-allow 1 ip address 172.26.24.3 255.255.255.0 route 0.0.0.0 0.0.0.0 172.26.24.35 1 no rip passive failover failover ip address 172.26.24.4 password cisco telnet 172.26.0.0 255.255.0.0 no snmp-server contact no snmp-server location virtual 172.26.24.10:0:0 is virtual 172.26.24.5:0:0 is real 172.26.25.1:0 is real 172.26.25.2:0 is real 172.26.23.7:0 is real 172.26.23.6:0 is name 172.26.25.1 router232701 name 172.26.25.2 router232702 name 172.26.25.3 router232703 name 172.26.25.4 router232704 name 172.26.23.9 router132704 name 172.26.23.8 router132703 name 172.26.23.7 router132702 name 172.26.23.6 router132701 bind 172.26.24.10:0:0 172.26.23.7:0 bind 172.26.24.10:0:0 172.26.25.1:0 bind 172.26.24.5:0:0 172.26.25.2:0 bind 172.26.24.5:0:0 172.26.23.6:0 threshold 172.26.25.1:0 0 threshold 172.26.25.2:0 0 threshold 172.26.23.7:0 0 threshold 172.26.23.6:0 0 : end
To display information about all the real servers defined, enter the following command:
LocalDirector1#show real
Real Machines:
No Answer TCP Reset DataIn
Machine Connect State Thresh Reassigns Reassigns Conns
router232701:0 0 IS 0 0 0 0
router232702:0 3 IS 0 0 0 0
router132702:0 0 IS 0 0 0 0
router132701:0 2 IS 0 0 0 0
To display information about all the virtual servers defined, enter the following command:
LocalDirector1#show virtual
Virtual Machines:
Machine State Connect Sticky Predictor Slowstart
172.26.24.10:0:0 IS 0 0 leastconns roundrobin*
172.26.24.5:0:0 IS 5 0 leastconns* roundrobin
To display information about all the bindings defined, enter the following command:
adelaide 3#show bind
Virtual Real
172.26.24.10:0:0(IS)
maroubra32702:0(IS)
sydney32701\x7f :0(IS)
172.26.24.5:0:0(IS)
sydney32702:0(IS)
maroubra32701:0(IS)
There are two routers in this scenario. Each provides a TN3270 Server. Both are channel attached to the mainframe and both have an Ethernet connection to the 172.26.24.0 network that contains the LocalDirectors. In this scenario, we need to:
This section discusses the steps required to configure Router 1.
To initiate the TN3270 Server, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the LUs on Router 1, enter the following commands:
router1(cfg-tn3270)#pu puccc 12345674 172.26.23.6 token-adapter 2 04 rmac 4000.7505.0006 lu-seed LUCCC## router1(cfg-tn3270)#pu puddd 12345675 172.26.23.7 token-adapter 2 08 rmac 4000.7505.0006 lu-seed LUDDD##
This section discusses the steps required to configure Router 2.
To initiate the TN3270 Server, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 2 router(config)#int channel 2/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the LUs on Router 2, enter the following commands:
router1(cfg-tn3270)#pu puaaa 12345678 172.26.25.1 token-adapter 2 04 rmac 4000.7505.0001 lu-seed LUAAA## router1(cfg-tn3270)#pu pubbb 12345677 172.26.25.2 token-adapter 2 08 rmac 4000.7505.0001 lu-seed LUBBB##
To verify the configuration, use the Cisco IOS show commands. Verify the configuration on both routers. In the following command examples, each router is running a TN3270 Server, both have channel connections to the mainframe, and both have Ethernet connections to the 176.26.24.0 network.
To display the current configuration of Router 1, enter the following command:
router1#show run Current configuration: <deleted information> microcode CIP flash slot0:CIP25-7.exe microcode reload ! interface FastEthernet0/1/0 ip address 172.26.24.2 255.255.255.0 no ip redirects no keepalive ! interface Channel1/0 no ip address no keepalive csna 0110 00 ! interface Channel1/1 no ip address no keepalive shutdown ! interface Channel1/2 ip address 172.26.23.11 255.255.255.0 no keepalive lan TokenRing 0 adapter 1 4000.7505.0006 adapter 2 4000.7505.9999 TN3270-server PU PUCCC 12345674 172.26.23.6 token-adapter 2 04 rmac 4000.7505.0006 lu-seed LUCCC## PU PUDDD 12345675 172.26.23.7 token-adapter 2 08 rmac 4000.7505.0006 lu-seed LUDDD##
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router1#show extended channel1/2 tn3370-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.23.6:23 255 3 943 940 0 0 0
172.26.23.7:23 255 2 2 0 0 0 0
total 510 5
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action disconnect
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUCCC(9) 172.26.23.6:23 12345674 ACTIVE tok 2 4000.7505.0006 04 04
PUDDD(11) 172.26.23.7:23 12345675 ACTIVE tok 2 4000.7505.0006 04 08
To display the PU configuration parameters, PU statistics, and all the LUs currently attached to each PU, enter the following command:
router1#show extended channel1/2 tn3270-server PU puccc name(index) ip:tcp xid state link destination r-lsap PUCCC(9) 172.26.23.6:23 12345674 ACTIVE tok 2 4000.7505.0006 04 04 LU-seed LUCCC## idle-time 0 keepalive 1800 unbind-act discon generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 656 in, 937 out; frames 14 in, 15 out; NegRsp 0 in, 0 out actLUs 3, dactLUs 0, binds 0 Note: If state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LUCCC01 172.26.2.202:1163 N P-BIND 327802E 3 2 1:16:18 2 LUCCC02 172.26.2.204:1301 N P-BIND 327802 8 5 0:4:56 3 LUCCC03 172.26.2.203:1674 N P-BIND 327902E 3 2 0:6:32
To display the current configuration of Router 2, enter the following command:
router2#show run Current configuration: <deleted information> microcode CIP flash slot1:CIP25-7 microcode reload ! interface Channel2/0 no ip address no keepalive csna 0110 00 ! interface Channel2/1 no ip address no keepalive ! interface Channel2/2 ip address 172.26.25.10 255.255.255.0 no keepalive lan TokenRing 0 adapter 0 4000.7505.0001 adapter 2 4000.7505.8888 TN3270-server PU PUAAA 12345678 172.26.25.1 token-adapter 2 04 rmac 4000.7505.0001 lu-seed LUAAA## PU PUBBB 12345677 172.26.25.2 token-adapter 2 08 rmac 4000.7505.0001 lu-seed LUBBB## ! interface FastEthernet3/1/0 ip address 172.26.24.1 255.255.255.0 no ip redirects
To display the current server configuration parameters and the status of the PUs defined in the server, enter the following command:
router2#show extended channel2/2 tn3270-server
<current stats < connection stats <response time(ms)
server-ip:tcp LU in-use connect disconn fail host tcp
172.26.25.1:23 255 8 1371 1363 0 0 0
172.26.25.2:23 255 3 168 165 0 0 0
total 510 11
configured max_LU 2100
idle-time 0 keepalive 1800 unbind-action disconnect
ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0
tcp-port 23 generic-pool permit no timing-mark
name(index) ip:tcp xid state link destination r-lsap
PUAAA(9) 172.26.25.1:23 12345678 ACTIVE tok 2 4000.7505.0001 04 04
PUBBB(11) 172.26.25.2:23 12345677 ACTIVE tok 2 4000.7505.0001 04 08
To display the PU configuration parameters, PU statistics, and all the LUs currently attached to each PU, enter the following command:
router2#show extended channel2/2 tn3270-server PU puaaa name(index) ip:tcp xid state link destination r-lsap PUAAA(9) 172.26.25.1:23 12345678 ACTIVE tok 2 4000.7505.0001 04 04 LU-seed LUAAA## idle-time 0 keepalive 1800 unbind-act discon generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 9173 in, 40475 out; frames 222 in, 209 out; NegRsp 0 in, 0 out actLUs 11, dactLUs 0, binds 4 Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LUAAA01 172.26.2.202:1160 N P-BIND 327802E 14 11 1:15:2 2 LUAAA02 172.26.2.202:1232 N P-BIND 327802E 14 11 0:39:8 3 LUAAA03 172.26.2.202:1133 N ACT/NA 327802E 11 9 1:19:21 4 LUAAA04 172.26.2.202:1169 N ACT/NA 327802E 44 30 0:39:17 5 LUAAA05 172.26.24.50:1036 N ACT/NA 327802E 5 3 1:26:31 6 LUAAA06 172.26.2.202:1166 N P-BIND 327802E 8 5 1:14:52 7 LUAAA07 172.26.24.50:1081 N P-BIND 327802E 28 17 0:3:29 8 LUAAA08 172.26.24.50:1086 N P-BIND 327802E 23 14 0:3:26 9 LUAAA09 172.26.24.50:1087 N P-BIND 3278S2E 44 29 0:3:23 10 LUAAA0A 172.26.24.50:1084 N P-BIND 3278S2E 23 14 0:3:28 11 LUAAA0B 172.26.2.204:1303 N P-BIND 327802 8 5 0:2:53
Figure 4-15 shows the configuration of the switched major node for this scenario.
LLBSMNA VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
PUAAA PU ADDR=01, X
PUTYPE=2,IDBLK=123,IDNUM=45678,ANS=CONT, X
LUSEED=LUAAA##,LUGROUP=LLBDDD1
PUBBB PU ADDR=02, X
PUTYPE=2,IDBLK=123,IDNUM=45677,ANS=CONT, X
LUSEED=LUBBB##,LUGROUP=LLBDDD1
PUCCC PU ADDR=03, X
PUTYPE=2,IDBLK=123,IDNUM=45674,ANS=CONT, X
LUSEED=LUCCC##,LUGROUP=LLBDDD1
PUDDD PU ADDR=04, X
PUTYPE=2,IDBLK=123,IDNUM=45675,ANS=CONT, X
LUSEED=LUDDD##,LUGROUP=LLBDDD1
As discussed in the previous scenario, the issue of redundancy is a high priority in the data center. There are several methods of load balancing the TN3270 Servers. The DistributedDirector is one of these methods.
The Cisco DistributedDirector is a device that efficiently distributes Internet services among topologically dispersed servers on the Internet or an intranet. It provides scalable, transparent, and network-intelligent traffic load distribution. Using the DRP, a simple User Datagram Protocol (UDP)-based application developed by Cisco, the DistributedDirector queries properly configured Cisco routers in the field for Exterior Gateway Protocol (EGP) and Internal Gateway Protocol (IGP) topological "distance" metrics. With this information and other configuration metrics, the DistributedDirector assigns an optimal distributed server to each client. As a result, users are transparently and automatically assigned a distributed server anywhere on the Internet.
DistributedDirector requires a DNS server in the network. The DistributedDirector can be configured to act as a DNS. When you use DistributedDirector, you should configure your clients with a primary DNS IP address and a backup DNS IP address. The DistributedDirectors are known to the DNS. The primary DNS receives the request from the client and passes the request on to a DistributedDirector, which resolves the name to one of the servers. The method used to select the server depends on the configuration of the DistributedDirector. You can configure the DistributedDirector to use one of the following methods:
The DistributedDirector determines whether a TN3270 Server is active by periodically checking it with Telnet. You configure the Telnet port and the timers that specify how often the DistributedDirector should Telnet to the server (or retry upon failure). If the TN3270 Server goes down, the DistributedDirector will discover this in one timer interval. In our scenario, we set this timer to 10 seconds. If the DistributedDirector is unable to reach the server, the DistributedDirector stops passing this server's IP address to clients and continues to attempt to Telnet to the server to determine if the server recovers. Upon recovery, the DistributedDirector starts passing the server's address to clients again.
In this scenario, we describe how to implement a TN3270 Server with DistributedDirector
When configuring the DistributedDirector and TN3270 Server, keep in mind the following guidelines:
Once you install and set up the DistributedDirector devices, you must configure the devices to receive DNS queries and to correlate them with the IP address of the desired server.
To configure the IP address of the primary DNS, enter the following command:
DistributedDirector1#ip name-server 172.26.24.100
To define the virtual host name to be used for the set of TN3270 Servers, enter the following command:
DistributedDirector1#ip director host TN3270.xyz.com
To identify the IP addresses of the TN3270 Servers associated with the virtual host name, enter the following command:
DistributedDirector1#ip host TN3270.xyz.com 172.26.25.1 172.26.23.6 172.26.30.51
Up to 8 IP addresses per name can be specified.
DistributedDirector is designed to avoid returning the address of an inactive server by periodically checking whether a Telnet connection can be opened to each of them. To define the parameters for the connectivity check on the TN3270 Servers, enter the following command:
DistributedDirector1#ip director host TN3270.xyz connect 23 interval 10
This command indicates that the DistributedDirector should attempt to establish a connection using port 23 (Telnet) every 2 minutes. For the connection interval, a value of 1 or 2 is recommended. If you specify a larger value, there may be a delay between the time that a server goes down and the time that the DistributedDirector becomes aware of its status. As a result, users could be directed to a server that is not available.
There are three methods of determining which IP address will be sent in response to the DNS request for the TN3270 server. In our scenario, we are configuring the DistributedDirector to select the IP address randomly. To set the default weights to use the random metric for sorting, so that a server IP address is randomly selected from among the servers that are considered active, enter the following command:
DistributedDirector1#ip director default-weights ran 1
To configure the DistributedDirector as the primary DNS server for the new subdomain, enter the following command:
DistributedDirector1#ip dns primary TN3270.xyz.com soa distributeddirector1.xyz.com sysadmin.xyz.com 60 10 10 10
This command tells the DistributedDirector1 that it is the primary DNS server authoritative for the domain. It indicates that the DNS host name of the DistributedDirector is distributeddirecto1.xyz.com, and defines the administrative contact.
If several client queries come from a single IP address, such as when the client software is used from terminals run on one machine, then you should disable DistributedDirector caching. To turn off caching, issue the following command:
DistributedDirector #no ip dir cache
If you do not enter this command, there is a timeout of 60 seconds in which the same server IP address is returned to requests from the same client IP address.
If the DistributedDirector is to be used to service queries for other names, then you should restrict sorting to the name or names designating TN3270 Servers. This example permits the sorting of names that start with "TN3270" and denies all other requests:
DistributedDirector1#ip director access-group 1 DistributedDirector1#ip director access-list 1 permit ^TN3270.* DistributedDirector1#ip director access-list 1 deny .*
To give authority for the TN3270 Server subdomain to the DistributedDirector DNS, you must modify the configuration of the DNS server. This modification is done by inserting the following lines in the DNS database:
TN3270.xyz.com. IN NS distributeddirector1.xyz.com distributeddirector.xyz.com. IN A 172.26.24.100
If a backup DistributedDirector is used (to provide redundancy), you would add additional lines to the DNS configuration to allow for the backup DD.
Configure the TN3270 client to use the domain name "TN3270" to look up the IP address before connecting to TN3270 server.
The DNS used by the resolver on the client machine may be either the DistributedDirector DNS or the DNS for "xyz.com." It would typically be xyz.com if there were other applications running on the machine that needed to use other domain names. If the client resolver uses a default domain other than xyz.com, then specify the full domain name (in other words, TN3270.xyz.com) when configuring the TN3270 client.
To verify the configuration, use the Cisco IOS show commands. Verify the configuration on both DistributedDirectors.
To display the current configuration of DistributedDirector 1, enter the following command:
DistributedDirector1#show run Building configuration... Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname distributeddirector1 ! boot system flash c4500-w3-mz_11-19_IA.bin enable password cisco ! ! interface Ethernet0 ip address 172.26.24.100 255.255.255.0 media-type 10BaseT ! router eigrp 777 network 172.26.0.0 ! ip default-gateway 172.26.24.100 ip host TN3270.xyz.com 172.26.25.1 172.26.23.6 172.26.30.51 ip name-server 172.26.24.100 no ip classless ip dns primary TN3270.xyz.com soa distributeddirector1.xyz.com sysadmin.xyz.com 60 10 10 10 no ip director cache ip director server 172.26.25.1 23 portion 2 ip director server 172.26.23.6 23 portion 1 ip director server 172.26.30.51 23 portion 2 ip director hosts TN3270.xyz.com priority drp-s 1 ip director hosts TN3270.xyz.com connect 23 interval 10 ip director hosts TN3270.xyz.com port-service 23 logging buffered snmp-server community public RO snmp-server community private RW snmp-server packetsize 4096 end
To display the current configuration of DistributedDirector 2, enter the following command:
DistributedDirector2#show run Building configuration... Current configuration: ! version 11.1 service udp-small-servers service tcp-small-servers ! hostname distributeddirector2 ! boot system flash c4500-w3-mz_11-19_IA.bin enable password cisco ! interface Ethernet0 ip address 172.26.24.200 255.255.255.0 no ip mroute-cache no ip route-cache media-type 10BaseT ! router eigrp 777 network 172.26.0.0 ! ip default-gateway 172.26.24.200 ip host TN3270.xyz.com 172.26.25.1 172.26.23.6 ip domain-name xyz.com ip name-server 172.26.24.200 no ip classless ip dns primary TN3270.xyz.com soa distributeddirector1.xyz.com sysadmin.xyz.com 60 10 10 10 no ip director cache ip director server 172.26.25.1 23 portion 2 ip director server 172.26.23.6 23 portion 1 ip director hosts TN3270.xyz.com priority por 1 ip director hosts TN3270.xyz.com connect 23 interval 10 ip director hosts TN3270.xyz.com port-service 23 logging buffered ! end
For the DistributedDirector system to work well with TN3270 Servers at times when most or all of the clients are active, and for redundancy when servers go down, there must be extra LUs available on each of the servers.
The DistributedDirector random metric is used to distribute the load among the servers. Although this randomness tends to distribute the sessions evenly over time, it also means that there are times when one server is advertised to clients more than others.
When the number of active clients approaches 100 percent of the total number of clients, some servers must cope with more than total-no-of-client/no-of-servers LUs. When the limit is reached on one server, clients retry the DNS name until they are sent to a server that is not full. The number of extra LUs you define here must be balanced against the likelihood of close to 100 percent client activation occurring in the particular network and the client dissatisfaction with the retry option.
For redundancy, extra LUs must configured on each server to allow the system to cope if one or more of the TN3270 Servers go down. The best case is to have each server capable of handling the full total-no-of-clients load.
To provide redundancy each channel-attached router needs maximum-LUs (the maximum number of simultaneously connected clients) configured for the worst case situation.
Figure 4-17 shows the switched major node for this scenario.
LLBSMNA VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
PUAAA PU ADDR=01, X
PUTYPE=2,IDBLK=123,IDNUM=45678,ANS=CONT, X
LUSEED=LUAAA##,LUGROUP=LLBDDD1
PUBBB PU ADDR=02, X
PUTYPE=2,IDBLK=123,IDNUM=45677,ANS=CONT, X
LUSEED=LUBBB##,LUGROUP=LLBDDD1
PUCCC PU ADDR=03, X
PUTYPE=2,IDBLK=123,IDNUM=45674,ANS=CONT, X
LUSEED=LUCCC##,LUGROUP=LLBDDD1
PUDDD PU ADDR=04, X
PUTYPE=2,IDBLK=123,IDNUM=45675,ANS=CONT, X
LUSEED=LUDDD##,LUGROUP=LLBDDD1
With direct PUs, there is a potential problem because the LU names in VTAM and LU names on the channel-attached router can be different. This happens for both static and dynamic LUs. When migrating to a network that uses both SNA and IP, some administrators may find that they are using an LU naming convention that results in names that the LU-seed parameter cannot generate. To solve this problem, use direct PUs and the INCLUD0E parameter. By coding INCLUD0E on the VTAM switched PU, VTAM sends each LU name in a 0E control vector of the ACTLU to the channel-attached router. The channel-attached router uses this name as the LU name rather than using the name produced by the LU-seed.
When using direct PUs and the INCLUD0E parameter with the TN3270 Server, keep in mind the following guidelines:
We have configured CSNA and are now ready to implement our TN3270 Server. In this scenario, we need to:
To initiate the TN3270 Server on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 0 router(cfg-lan-Token 0)#adapter 0 4000.4000.0001 router(config-if)#lan token 31 router(cfg-lan-Token 0)#adapter 31 4000.4000.4444 ! set server-wide defaults for PU parameters router(cfg-tn3270)#unbind-action keep router(cfg-tn3270)#generic-pool permit
To define the static LUs, enter the following command:
router(cfg-tn3270)#pu pui0e 12345678 172.26.20.34 token-adapter 31 10 rmac 4000.4000.1111 lu-seed LUI0E##
To verify the configuration, use the Cisco IOS show commands. The IOS show commands allow you to view the general TN3270 Server configuration as well as configuration information about the specific PUs and LUs.
To display the current router configuration, enter the following command:
router1 #show run Building configuration... <deleted information> microcode CIP flash slot0:CIP25-7 microcode reload source-bridge ring-group 400 ! interface Ethernet0/0 ip address 172.26.14.112 255.255.254.0 shutdown ! interface Ethernet0/1 ip address 172.26.20.97 255.255.255.240 ! interface Channel1/0 ip address 172.26.20.18 255.255.255.240 no keepalive csna 0110 01 csna 0120 02 ! interface Channel1/2 ip address 172.26.20.33 255.255.255.240 no keepalive lan TokenRing 0 source-bridge 401 1 400 adapter 1 4000.4000.1111 adapter 2 4000.4000.2222 adapter 31 4000.4000.4444 TN3270-server unbind-action keep PU PUI0E 12345678 172.26.20.34 token-adapter 31 10 rmac 4000.4000.1111 lu-seed LUI0E## timing-mark ! interface TokenRing10/3 ip address 10.100.100.1 255.255.255.0 shutdown ring-speed 16 source-bridge 500 1 400 source-bridge spanning
Notice the LU-seed of LUI0E.
To display the PU configuration parameters, PU statistics, and all the LUs currently attached to each PU, enter the following command:
router#show extended channel1/2 tn3270-server PU pui0e name(index) ip:tcp xid state link destination r-lsap PUI0E(2) 172.26.20.34:23 12345678 ACTIVE tok 31 4000.4000.1111 04 10 LU-seed LUI0E## idle-time 0 keepalive 1800 unbind-act keep generic-pool perm ip-preced-screen 0 ip-preced-printer 0 ip-tos-screen 0 ip-tos-printer 0 bytes 2264 in, 2764 out; frames 47 in, 54 out; NegRsp 0 in, 0 out actLUs 14, dactLUs 9, binds 0 Note: if state is ACT/NA then the client is disconnected LU name client-ip:tcp nail state model frames in out idle for 1 LUNAME1 never connected N ACT/NA 1 1 0:9:2 2 LU2NAM1 never connected N ACT/NA 1 1 0:9:2 3 SOMENAM never connected N ACT/NA 1 1 0:9:2 4 LUEEE04 172.26.2.199:1902 N ACT/NA 327802E 5 3 0:6:39 5 LUEEE05 172.26.2.197:1741 N P-BIND 327802 3 2 0:2:15
Figure 4-19 shows the switched major node for this scenario.
LLBSMNB VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
PUI0E PU ADDR=01,
PUTYPE=2,IDBLK=123,IDNUM=45678,ANS=CONT,
LUSEED=LUEEE##,LUGROUP=DDDMVSLU,
INCLUD0E=YES,
USSTAB=USSSNA,DLOGMOD=SX32702S,MODETAB=ALAMODE
LUNAME1 LU LOCADDR=1
LU2NAM1 LU LOCADDR=2
SOMENAM LU LOCADDR=3
In a typical SNA environment, all sessions flow from the client to the owning VTAM and then across to the application. This flow means that every packet traverses the VTAM host even though the application is on another host. The way to avoid this problem is to implement session switching. Session switching routes the user directly to the application host and bypasses the VTAM host. In this scenario, we discuss how to implement session switching for a TN3270 Server.
When using session switching with the TN3270 Server, keep in mind the following guidelines:
In this scenario, we have installed Cisco IOS Release 11.3 on the router and need to:
To configure CSNA to provide the XCA connection, enter the following commands:
router1 (config)#interface Channel3/0 router1 (config-if)#csna 0110 00 router1 (config-if)#csna 0120 08
To initiate the TN3270 Server and configure DLUR on the router, enter the following commands:
! enter interface configuration mode for the virtual interface in slot 1 router(config)#int channel 1/2 ! create TN3270 Server entity router(config-if)#tn3270-server router(config-if)#lan token 1 router(cfg-lan-Token 0)#adapter 1 4000.cbcb.0001 router(config-if)#lan token 2 router(cfg-lan-Token 0)#adapter 2 4000.cbcb.0002 router(cfg-tn3270)#dlur NETA.COLORADO NETA.HDSMVS3 router(cfg-tn3270)#dlus-backup NETA.HDSMVS4 router(tn3270-dlur)#lsap token-adapter 1 router(tn3270-dlur-lsap)#link HDS1 router(tn3270-dlur)#lsap token-adapter 2 router(tn3270-dlur-lsap)#link HDS2 router(tn3270-dlur)#pu cbpu1 0cbcb001 172.26.56.2
To display the current router configuration, enter the following command:
router1 #show run
Building configuration...
<deleted information>
interface Channel3/2
ip address 172.26.56.1 255.255.255.240
load-interval 30
no keepalive
lan TokenRing 1
adapter 1 4000.cbcb.0001
lan TokenRing 2
adapter 2 4000.cbcb.0002
TN3270-server
dlur NETA.COLORADO NETA.HDSMVS3
dlus-backup NETA.HDSMVS4
lsap token-adapter 1
link HDS1
lsap token-adapter 2
link HDS2
PU CBPU1 0CBCB001 172.26.56.2
On the host, we must configure LPAR1 and LPAR2.
For LPAR1, we must configure an XCA major node for each channel connection, a switched major node for the TN3270 Server, and an LUGROUP.
The XCA major node definition is used to connect the channel device to the channel-attached router. Dynamic PU (DYNPU) and dynamic PU prefix (DYNPUPFX) are required for the path link. The path link is used for the adjacent CP between HDS1 and HDS2. Figure 4-21 shows the XCA major node for LPAR1.
CBXCA41 VBUILD TYPE=XCA
CBPRT41 PORT ADAPNO=1,CUADDR=4100,SAPADDR=04,MEDIUM=RING,TIMER=31
CBGRP41 GROUP ANSWER=ON, X
AUTOGEN=(100,L,P), X
CALL=INOUT, X
DIAL=YES, X
DYNPU=YES,DYNPUPFX=CB, X
ISTATUS=ACTIVE
The switched major node defines the PUs for the TN3270 Server. Although not mandatory, it is recommended that the PU name in the switched major node match the PU name as defined in the TN3270 Server. This provides easier problem tracking and maintenance. Figure 4-22 shows the switched major node.
CBSWN1 VBUILD TYPE=SWNET,MAXGRP=10,MAXNO=10
*
CBPU1 PU ADDR=01, X
PUTYPE=2,ANS=CONT, X
LUGROUP=DDDCB,LUSEED=CBPU1###, X
IDBLK=0CB,IDNUM=CB001,ANS=CONT
The LU group member is a VTAM member that is required when LUSEED is used. Figure 4-23 shows part of the LUGROUP.
CBDDDLU VBUILD TYPE=LUGROUP
***********************************************************************
* LUGROUP MAJOR NODE FOR TN3270S TESTING *
***********************************************************************
* MM/DD/YY - WHO - WHAT *
***********************************************************************
DDDMVSLU LUGROUP
327@@2 LU DLOGMOD=D4A32782,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@3 LU DLOGMOD=D4A32783,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@4 LU DLOGMOD=D4A32784,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@5 LU DLOGMOD=D4A32785,
MMODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@2E LU DLOGMOD=SNX32702,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@3E LU DLOGMOD=SNX32703,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@4E LU DLOGMOD=SNX32704,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
327@@5E LU DLOGMOD=SNX32705,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
@ LU DLOGMOD=BADMOD,
MODETAB=ISTINCLM,
USSTAB=USSSNA,
SSCPFM=USSSCS
The PU definition is required to allow the link statement on the router to connect to VTAM. The CP name defined in the PU must match the CP name defined in the DLUR statement. Figure 4-24 shows the switched major node for the DLUR links.
CBLINK1 PU ADDR=01,PUTYPE=2,ANS=CONT, X
CPCP=YES,NETID=NETA, X
CONNTYPE=APPN,CPNAME=COLORADO, X
ISTATUS=ACTIVE
CBLINK2 PU ADDR=01,PUTYPE=2,ANS=CONT, X
CPCP=YES,NETID=NETA, X
CONNTYPE=APPN,CPNAME=COLORADO, X
ISTATUS=ACTIVE
To display the VTAMLST parameters, enter the following command:
D NET,VTAMOPTS,FUNCTION=APPNCHAR IST097I DISPLAY ACCEPTED IST1188I ACF/VTAM V4R4 STARTED AT 21:12:45 ON 03/08/98 810 IST1349I COMPONENT ID IS 5695-11701-401 IST1348I VTAM STARTED AS INTERCHANGE NODE IST1189I APPNCOS = NONE BN = YES IST1189I BNDYN = FULL BNORD = PRIORITY IST1189I CDSERVR = YES CDSREFER = ***NA*** IST1189I CONNTYPE = APPN CPCP = YES IST1189I DIRSIZE = 0 DIRTIME = 691200S IST1189I DYNADJCP = YES HPR = (RTP,RTP) IST1189I HPRNCPBF = NO HPRPST = LOW 480S IST1189I HPRPST = MEDIUM 240S HPRPST = HIGH 120S IST1189I HPRPST = NETWRK 60S INITDB = NONE IST1189I IOPURGE = 300S MAXLOCAT = 5000 IST1189I NODETYPE = NN NUMTREES = 200 IST1189I PSRETRY = LOW 0S PSRETRY = MEDIUM 0S IST1189I PSRETRY = HIGH 0S PSRETRY = NETWRK 0S IST1189I RESUSAGE = 100 ROUTERES = 128 IST1189I SECLVLCP = ***NA*** SNVC = 15 IST1189I SORDER = APPN SRCHRED = OFF IST1189I SRCOUNT = 10 SRTIMER = 30S IST1189I SSEARCH = CACHE VERIFYCP = NONE IST1189I VFYRED = YES VFYREDTI = OFF IST1189I VRTG = NO VRTGCPCP = YES IST1189I XCFINIT = ***NA*** IST314I END
For LPAR2, we must configure an XCA major node for each channel connection and a switched major node for the VTAM-to-VTAM CP-to-CP session.
Figure 4-25 shows the XCA major node for LPAR2.
CBXCA418 VBUILD TYPE=XCA
CBPRT418 PORT ADAPNO=2,CUADDR=4108,SAPADDR=04,MEDIUM=RING,TIMER=31
CBGRP418 GROUP ANSWER=ON, X
AUTOGEN=(100,L,P), X
CALL=INOUT, X
DIAL=YES, X
ISTATUS=ACTIVE
Figure 4-26 shows the switched major node for the VTAM-to-VTAM CP-to-CP Session.
CBLINK3 PU ADDR=01,PUTYPE=2,MAXPATH=1,ANS=CONT, X
CPCP=YES,NETID=NETA,DWACT=YES, X
CONNTYPE=APPN,CPNAME=HDSMVS3, X
ISTATUS=ACTIVE
*
CBPATH1 PATH DIALNO=1A044000CBCB0001, X
GRPNM=CBGRP418
To display the VTAMLST parameters, enter the following command:
D NET,VTAMOPTS,FUNCTION=APPNCHAR IST097I DISPLAY ACCEPTED IST1188I ACF/VTAM V4R4 STARTED AT 21:08:06 ON 03/08/98 719 IST1349I COMPONENT ID IS 5695-11701-401 IST1348I VTAM STARTED AS INTERCHANGE NODE IST1189I APPNCOS = NONE BN = YES IST1189I BNDYN = FULL BNORD = PRIORITY IST1189I CDSERVR = YES CDSREFER = ***NA*** IST1189I CONNTYPE = APPN CPCP = YES IST1189I DIRSIZE = 0 DIRTIME = 691200S IST1189I DYNADJCP = YES HPR = (RTP,RTP) IST1189I HPRNCPBF = NO HPRPST = LOW 480S IST1189I HPRPST = MEDIUM 240S HPRPST = HIGH 120S IST1189I HPRPST = NETWRK 60S INITDB = NONE IST1189I IOPURGE = 300S MAXLOCAT = 5000 IST1189I NODETYPE = NN NUMTREES = 200 IST1189I PSRETRY = LOW 0S PSRETRY = MEDIUM 0S IST1189I PSRETRY = HIGH 0S PSRETRY = NETWRK 0S IST1189I RESUSAGE = 100 ROUTERES = 128 IST1189I SECLVLCP = ***NA*** SNVC = 15 IST1189I SORDER = APPN SRCHRED = OFF IST1189I SRCOUNT = 10 SRTIMER = 30S IST1189I SSEARCH = CACHE VERIFYCP = NONE IST1189I VFYRED = YES VFYREDTI = OFF IST1189I VRTG = NO VRTGCPCP = YES IST1189I XCFINIT = ***NA*** IST314I END
|
|