Examples of definitions generated by dynamic XCF

This topic contains examples of definitions generated by dynamic XCF in both IPv4 and IPv6 environments. The notes following the examples pertain to both environments.

  • IPv4 example 1:
    This configuration consists of two MVS™ systems (MVS1,MVS2) that are members of the same sysplex. Each MVS host has one TCP/IP stack (TCPIP1 and TCPIP2, respectively). From the syntax descriptions, the following information is needed to generate the dynamic definitions:
    • MVS sysclone value
    • VTAM® CPName
    • Status of XCF in VTAM
    • The values specified on the IPCONFIG DYNAMICXCF keyword
    Using the following user definitions:
     MVS1: 
     Sysclone = A1 
     VTAM Cpname = VTAM1 
     VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
     TCPIP1: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.1 255.255.255.248 3 
    
     MVS2: 
     Sysclone = B2 VTAM 
     Cpname = VTAM2 
     VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
     TCPIP2: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.2 255.255.255.248 2 

    After both TCPIP1 and TCPIP2 have been started, the following definitions will be generated.

    TCPIP1 will generate the equivalent of these definitions:.
    DEVICE VTAM2 MPCPTP AUTORESTART 
    LINK EZAXCFB2 MPCPTP VTAM2 
    HOME 9.1.1.1 EZAXCFB2 
    BSDROUTINGPARMS EZAXCFB2 55296 3 255.255.255.248 0 
    START VTAM2 
    TCPIP2 will generate:
    DEVICE VTAM1 MPCPTP AUTORESTART 
    LINK EZAXCFA1 MPCPTP VTAM1 
    HOME 9.1.1.2 EZAXCFA1 
    BSDROUTINGPARMS EZAXCFA1 55296 2 255.255.255.248 0 
    START VTAM1 

    When an XCF link becomes active, each TCPIP will generate a route to the other TCPIP over the XCF link. In this example, when the XCF link becomes active, TCPIP1 will generate a route to TCPIP2 over the XCF link and vice versa.

  • IPv4 example 2:

    The configuration is the same as Example 1 except a second TCP/IP stack (TCPIP1A) was added to MVS1.

    Using the following user definitions:
    MVS1: 
    Sysclone = A1 
    VTAM Cpname = VTAM1 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP1: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.1 255.255.255.248 3 
    TCPIP1A: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.3 255.255.255.248 0 
    
    MVS2: 
    Sysclone = B2 
    VTAM Cpname = VTAM2 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP2: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.2 255.255.255.248 2 

    After both TCPIP1 and TCPIP2 have been started, the following definitions will be generated, as in Example 1.

    TCPIP1 will generate the equivalent of these definitions:
    DEVICE VTAM2 MPCPTP AUTORESTART 
    LINK EZAXCFB2 MPCPTP VTAM2 
    HOME 9.1.1.1 EZAXCFB2 
    BSDROUTINGPARMS EZAXCFB2 55296 3 255.255.255.248 0 
    START VTAM2 
    TCPIP2 will generate:
    DEVICE VTAM1 MPCPTP AUTORESTART 
    LINK EZAXCFA1 MPCPTP VTAM1 
    HOME 9.1.1.2 EZAXCFA1 
    BSDROUTINGPARMS EZAXCFA1 55296 2 255.255.255.248 0 
    START VTAM1 

    Now, TCPIP1A is started. TCPIP1 and TCPIP2 recognize that TCPIP1A has started. TCPIP1A will generate definitions for both TCPIP1 and TCPIP2. TCPIP1 will generate IUTSAMEH definitions for TCPIP1A. However, TCPIP2 does not need to generate and will not generate any new definitions except for routing information for TCPIP1A. New definitions do not need to be created because the DEVICE and LINK definitions are based on the discovery of a new VTAM node in the sysplex. (The DEVICE name is the VTAM CPName.)

    TCPIP1 will generate the equivalent of these definitions:
    DEVICE IUTSAMEH MPCPTP AUTORESTART 
    LINK EZASAMEMVS MPCPTP IUTSAMEH 
    HOME 9.1.1.1 EZASAMEMVS 
    BSDROUTINGPARMS EZASAMEMVS 65535 3 255.255.255.248 0 
    START IUTSAMEH 
    When the IUTSAMEH connection becomes active, each TCPIP will generate a route to the other TCPIP over the IUTSAMEH connection.

    TCPIP2 does not generate anything.

    TCPIP1A will generate:
    DEVICE IUTSAMEH MPCPTP AUTORESTART 
    LINK EZASAMEMVS MPCPTP IUTSAMEH 
    DEVICE VTAM2 MPCPTP AUTORESTART 
    LINK EZAXCFB2 MPCPTP VTAM2 
    HOME 9.1.1.3 EZAXCFB2 
    HOME 9.1.1.3 EZASAMEMVS 
    BSDROUTINGPARMS EZAXCFB2 55296 0 255.255.255.248 0 
    BSDROUTINGPARMS EZASAMEMVS 65535 0 255.255.255.248 0 
    START IUTSAMEH 
    START VTAM2 
    When the IUTSAMEH connection becomes active, each TCPIP will generate a route to the other TCPIP over the IUTSAMEH connection.
  • IPv4 example 3:
    To continue Example 2, add another MVS host (MVS3) with a VTAM node (VTAM3) with one TCP/IP stack (TCPIP3).
    MVS3: 
    Sysclone = C3 
    VTAM Cpname = VTAM3 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP3: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.3 255.255.255.248 0 

    In this example, the previously active TCP/IP stacks will generate definitions for TCPIP3 because a new VTAM stack has become active in the sysplex. TCPIP3 will generate definitions for definitions for TCPIP1/TCPIP1A and TCPIP2.

    TCPIP1 will generate the equivalent of these definitions:
    DEVICE VTAM3 MPCPTP AUTORESTART 
    LINK EZAXCFC3 MPCPTP VTAM3 
    HOME 9.1.1.1 EZAXCFC3 
    BSDROUTINGPARMS EZAXCFC3 55296 3 255.255.255.248 0 
    START VTAM3 
    TCPIP2 will generate:
    DEVICE VTAM3 MPCPTP AUTORESTART 
    LINK EZAXCFC3 MPCPTP VTAM3 
    HOME 9.1.1.2 EZAXCFC3 
    BSDROUTINGPARMS EZAXCFC3 55296 2 255.255.255.248 0 
    START VTAM3 
    TCPIP1A will generate:
    DEVICE VTAM3 MPCPTP AUTORESTART 
    LINK EZAXCFC3 MPCPTP VTAM3 
    HOME 9.1.1.3 EZAXCFC3 
    BSDROUTINGPARMS EZAXCFC3 55296 0 255.255.255.248 0 
    START VTAM3 
    TCPIP3 will generate:
    DEVICE VTAM1 MPCPTP AUTORESTART 
    LINK EZAXCFA1 MPCPTP VTAM1 
    DEVICE VTAM2 MPCPTP AUTORESTART 
    LINK EZAXCFB2 MPCPTP VTAM2 
    HOME 9.1.1.3 EZAXCFA1
    HOME 9.1.1.3 EZAXCFB2 
    BSDROUTINGPARMS EZAXCFA1 55296 0 255.255.255.248 0 
    BSDROUTINGPARMS EZAXCFB2 55296 0 255.255.255.248 0 
    START VTAM1 
    START VTAM2 
  • IPv4 example 4:
    This example illustrates how dynamic XCF can generate IUTSAMEH definitions without VTAM having its XCF enabled.
    MVS1: 
    Sysclone = A1  (not used in this example) 
    VTAM Cpname = VTAM1  (not used in this example) 
    VTAM has XCFINIT=NO specified and has not activated the major node ISTLSXCF. 
    TCPIP1: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.1 255.255.255.248 3 
    TCPIP1A: PROFILE.TCPIP contains IPCONFIG DYNAMICXCF 9.1.1.3 255.255.255.248 0 
    TCPIP1 will generate the equivalent of these definitions:
    DEVICE IUTSAMEH MPCPTP AUTORESTART 
    LINK EZASAMEMVS MPCPTP IUTSAMEH 
    HOME 9.1.1.1 EZASAMEMVS 
    BSDROUTINGPARMS EZASAMEMVS 65535 3 255.255.255.248 0 
    START IUTSAMEH 
    TCPIP1A will generate:
    DEVICE IUTSAMEH MPCPTP AUTORESTART 
    LINK EZASAMEMVS MPCPTP IUTSAMEH 
    HOME 9.1.1.3 EZASAMEMVS 
    BSDROUTINGPARMS EZASAMEMVS 65535 0 255.255.255.248 0 
    START IUTSAMEH 
  • IPv6 example 1:
    This configuration consists of two MVS systems (MVS1,MVS2) that are members of the same sysplex. Each MVS host has one TCP/IP stack (TCPIP1 and TCPIP2, respectively). From the syntax descriptions, the following information is needed to generate the dynamic definitions:
    • MVS sysclone value
    • VTAM CPName
    • Status of XCF in VTAM
    • The values specified on the IPCONFIG6 DYNAMICXCF keyword
    Using the following user definitions:
     MVS1: 
     Sysclone = A1 
     VTAM Cpname = VTAM1 
     VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
     TCPIP1: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::111:f001 
     MVS2: 
     Sysclone = B2 
     Cpname = VTAM2
     VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
     TCPIP2: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::222:f001 

    After both TCPIP1 and TCPIP2 are started, the following definitions are generated.

    TCPIP1 generates the equivalent of these definitions:
    INTERFACE  EZ6XCFB2 DEFINE MPCPTP6 TRLENAME VTAM2 IPADDR 2001:0DB8::111:f001
    START EZ6XCFB2
    TCPIP2 generates:
     INTERFACE  EZ6XCFA1 DEFINE MPCPTP6 TRLENAME VTAM1 IPADDR 2001:0DB8::222:f001
     START EZ6XCFA1

    The INTERFACE statement combines the definitions of DEVICE, LINK, and HOME into a single statement for IPv6. When an XCF interface becomes active, each TCP/IP generates a route to the other TCP/IP over the XCF interface. In this example, when the XCF interface becomes active, TCPIP1 generates a route to TCPIP2 over the XCF interface, and TCPIP2 generates a route to TCPIP1 over the XCF interface.

  • IPv6 example 2:

    The configuration is the same as Example 1 except a second TCP/IP stack (TCPIP1A) is added to MVS1.

    Using the following user definitions:
    MVS1: 
    Sysclone = A1 
    VTAM Cpname = VTAM1 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP1: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::111:f001 
    TCPIP1A: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::111:f002 
    MVS2: 
    Sysclone = B2 
    VTAM Cpname = VTAM2 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP2: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::222:f001 

    After both TCPIP1 and TCPIP2 are started, the following definitions are generated, as in Example 1.

    TCPIP1 generates the equivalent of these definitions:
    INTERFACE  EZ6XCFB2 DEFINE MPCPTP6 TRLENAME VTAM2 IPADDR 2001:0DB8::111:f001
    START EZ6XCFB2
    TCPIP2 generates:
    INTERFACE  EZ6XCFA1 DEFINE MPCPTP6 TRLENAME  VTAM1 IPADDR 2001:0DB8::222:f001
    START EZ6XCFA1

    Now, TCPIP1A is started. TCPIP1 and TCPIP2 recognize that TCPIP1A has started. TCPIP1A generates definitions for both TCPIP1 and TCPIP2. TCPIP1 generates IUTSAMEH definitions for TCPIP1A. However, TCPIP2 does not need to generate and does not generate any new definitions, except for routing information, for TCPIP1A. New definitions do not need to be created because the INTERFACE definition is based on the discovery of a new VTAM node in the sysplex. (The TRLENAME is the VTAM CPName.)

    TCPIP1 generates the equivalent of these definitions:
    INTERFACE  EZ6SAMEMVS DEFINE MPCPTP6 TRLENAME  IUTSAMEH IPADDR 2001:0DB8::111:f001
    START EZ6SAMEMVS
    When the IUTSAMEH connection becomes active, each TCP/IP generates a route to the other TCP/IP over the IUTSAMEH connection.

    TCPIP2 does not generate anything.

    TCPIP1A generates:
    INTERFACE EZ6XCFB2 DEFINE MPCPTP6 TRLENAME VTAM2 IPADDR 2001:0DB8::111:f002
    START EZ6XCFB2
    INTERFACE EZ6SAMEMVS DEFINE MPCPTP6 TRLENAME IUTSAMEH IPADDR 2001:0DB8::111:f002
    START EZ6SAMEMVS
    When an XCF interface becomes active, each TCP/IP generates a route to the other TCP/IP over the XCF interface. In this example, when the XCF interface becomes active, TCPIP1A generates a route to TCPIP2 over the XCF interface, and TCPIP2 generates a route to TCPIP1A over the XCF interface. When the IUTSAMEH connection becomes active, each TCP/IP generates a route to the other TCP/IP over the IUTSAMEH connection.
  • IPv6 example 3:
    To continue Example 2, add another MVS host (MVS3) with a VTAM node (VTAM3) with one TCP/IP stack (TCPIP3).
    MVS3: 
    Sysclone = C3 
    VTAM Cpname = VTAM3 
    VTAM has either specified XCFINIT=YES, XCFINIT=DEFINE, or the major node ISTLSXCF is active
    TCPIP3: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::333:f001 

    In this example, the previously active TCP/IP stacks generate definitions for TCPIP3 because a new VTAM stack has become active in the sysplex. TCPIP3 generates definitions for TCPIP1, TCPIP1A, and TCPIP2.

    TCPIP1 generates the equivalent of these definitions:
    INTERFACE  EZ6XCFC3 DEFINE MPCPTP6 TRLENAME VTAM3 IPADDR 2001:0DB8::111:f001
    START EZ6XCFC3
    TCPIP2 generates:
     INTERFACE  EZ6XCFC3 DEFINE MPCPTP6 TRLENAME VTAM3 IPADDR 2001:0DB8::222:f001
     START EZ6XCFC3
    TCPIP1A generates:
    INTERFACE  EZ6XCFC3 DEFINE MPCPTP6 TRLENAME VTAM3 IPADDR 2001:0DB8::111:f002
    START EZ6XCFC3
    TCPIP3 generates:
    INTERFACE EZ6XCFA1 DEFINE MPCPTP6 TRLENAME VTAM1 IPADDR 2001:0DB8::333:f001
    START EZ6XCFA1
    INTERFACE EZ6XCFB2 DEFINE MPCPTP6 TRLENAME VTAM2 IPADDR 2001:0DB8::333:f001
    START EZ6XCFB2
  • IPv6 example 4:
    This example illustrates how dynamic XCF can generate IUTSAMEH definitions without VTAM having its XCF enabled.
    MVS1: 
    Sysclone = A1  (not used in this example) 
    VTAM Cpname = VTAM1  (not used in this example) 
    VTAM has XCFINIT=NO specified and has not activated the major node ISTLSXCF. 
    TCPIP1: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::111:f001 
    TCPIP1A: PROFILE.TCPIP contains IPCONFIG6 DYNAMICXCF 2001:0DB8::111:f002
    TCPIP1 generates the equivalent of these definitions:
    INTERFACE EZ6SAMEMVS DEFINE MPCPTP6 TRLENAME IUTSAMEH IPADDR 2001:0DB8::111:f001
    START EZ6SAMEMVS
    TCPIP1A generates:
     INTERFACE EZ6SAMEMVS DEFINE MPCPTP6 TRLENAME IUTSAMEH IPADDR 2001:0DB8::111:f002
     START EZ6SAMEMVS
Notes:
  1. Because the interfaces generated by dynamic XCF use a single IP address, the output of the SIOCGIFCONF ioctl() contains multiple entries with the same IP address. If an application is using the SIOCGIFCONF output to issue bind() to all the entries returned, the application could receive EADDRINUSE on a bind() if there are multiple XCF devices defined by dynamic XCF in the list.
  2. If you want to define a static route to a link which is generated by dynamic XCF, you must wait until the dynamic devices are started and then use the VARY TCPIP,,OBEYFILE command. The BEGINROUTES statement that refers to a dynamically defined link name or interface name must be in a separate data set from the data set that is used to define the dynamic devices (either the initial profile data set or the data set referenced by a VARY TCPIP,,OBEYFILE command).
  3. Even though the HOME, BSDROUTINGPARMS and BEGINROUTES definitions are full replacement statements, the definitions generated by dynamic XCF will not replace any existing definitions. Likewise, user-defined HOME, BSDROUTINGPARMS and BEGINROUTES definitions will not affect existing or future definitions generated by dynamic XCF.
  4. A mix of static and dynamic IPv4 and IPv6 definitions for a device is not allowed. For example, if a static IUTSAMEH IPv4 device and link is defined, an IPv6 dynamic definition for IUTSAMEH will not be created. If a static IUTSAMEH IPv6 interface is defined, an IPv4 dynamic definition for IUTSAMEH will not be created. The same logic also applies for XCF links; a mix of static and dynamic IPv4 and IPv6 definitions is not allowed for an XCF link.
  5. The address specified on the IPCONFIG6 DYNAMICXCF statement cannot be an existing, statically defined, interface address. If a profile contains an IPv6 interface statement for an address that is also used in the IPCONFIG6 DYNAMICXCF statement, the IPCONFIG6 DYNAMICXCF statement is ignored.