About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
VCTC Support in VM/ESA - Usage Notes
Virtual CTC Support in VM/ESA CP emulates the operation of the 3088 Channel-to-Channel Adapter (CTCA). A Virtual Channel-to-Channel device (VCTC) is normally used to connect two "virtual machines" running independent operating systems.
For example, VM user GDLMVS1 and VM user ENDMVS1 might represent two independent MVS guests on a single VM host. If these were "real" machines (GDLMVS1 and ENDMVS1) they might be connected by a real 3088 CTCA device. These two "virtual" machines running MVS can be connected by a virtual 3088 CTCA.
Connecting the two sides of a VCTC adapter
In VM, the "mechanical" part of the connection is accomplished in two steps:
- Each user must DEFINE a VCTC device:
(User GDLMVS1) "cp define ctca 502" (User GDLMVS2) "cp define ctca C44"
- At least one of these users must COUPLE the two devices:
(User GDLMVS1) "cp couple 502 to gdlmvs2 C44"
After a pair of VCTC devices are coupled to form a single logical unit, the application program in a virtual machine can interact with the VCTC as if it was a real CTCA. Refer to the appropriate hardware publication for details about the commands and protocols that are supported by the device.
In a production environment, the definition is often setup using a "SPECIAL" directory statement (Yes, I mean the statement starts with the word "SPECIAL"). Then the "define" is done automatically by CP every time you logon the user.
If you want to prevent an unauthorized user from connecting to a specific VCTC (a wise decision in a production environment) you can add the userid of the allowed partner to the DEFINE command (or the SPECIAL statement), and the COUPLE command will reject attempts by other users to COUPLE to that specific device.
If you need an ESCON device interface (instead of a 3088 CTCA), you must define and couple a valid combination of ESCON virtual devices:
GDLMVS1 | GDLMVS2 | GDLMVS1 | Results |
cp define sctc 522 | cp define cnc 644 | cp couple 522 to gdlmvs2 644 | ESCON Standard Mode |
cp define bctc 522 | cp define cnc 644 | cp couple 522 to gdlmvs2 644 | ESCON Basic Mode |
Note that it does not matter which user defines the controller (the SCTC or BCTC device) as long as you are connecting a controller to a non-control (CNC) device via the COUPLE command.
Disconnecting the two sides of a VCTC adapter
In VM, the "mechanical" connection is lost when:
- Either user logs off.
- Either user detaches the coupled VCTC (using the DETACH command).
- Either user couples the VCTC to another device (using the COUPLE command).
VM does not provide an "UNCOUPLE" command, but it is possible to disconnect from an existing partner without connecting to a new partner by using your adapter address as both the source and the target devices on the COUPLE command. For example, user VMTEST1 can "uncouple" the VCTC device 500 with either of the following commands:
(User VMTEST1) "cp couple 500 to vmtest1 500" or: (User VMTEST1) "cp couple 500 to * 500"