IBM Support

Duplex support in CS Linux shows half-duplex when full-duplex was requested

Question & Answer


Question

The Communications Server for Linux (CS Linux) query_partner_lu command shows the connection to the mainframe as half-duplex: duplex_support = HALF_DUPLEX However, DATMODE=FULL is coded on the PU in the SWNET major node. Why does the query_partner_lu display show the connection as half duplex? Is there a VTAM command that would confirm that the connection is running half duplex? Is there a requirement to code a parameter for full duplex somewhere else?

Cause

The terms half-duplex and full-duplex apply to two different layers of the SNA stack.

For the physical layer (SDLC, Ethernet) this is typically a restriction of the hardware. As the z/OS Communications Server: SNA Resource Definition Reference points out, the DATMODE keyword on the SWNET major node specifies whether the physical unit communicates in full-duplex mode or half-duplex mode. In this case the Ethernet TCP/IP connection between CS Linux and VTAM might be full-duplex, but that information is only known to the Ethernet switch and the Ethernet adapters. Both Ethernet adapters and their respective switch must support full-duplex.


The other layer of the SNA stack to which the term full-duplex applies is LU6.2. Communications Server for Linux (CS Linux) has API support for full-duplex APPC. That is an APPC application program which can do asynchronous sends and receives concurrently. If you have not written any CS Linux applications, you are using CS Linux as a gateway, so this use of full-duplex would not apply. When you issue a query_partner_lu command, you are checking the ability of that partner to participate in a full-duplex APPC transaction. The section on the query_partner_lu command in Chapter 2 (Administration Commands) of IBM Communications Server for Linux V6.4 Administration Command Reference (SC31-6770-03) points out that duplex support in this context refers specifically to the data mode supported by LU 6.2 conversations:

    duplex_support

    Returns the conversation duplex support as negotiated on the BIND.
The common use of duplex in these two layers is not related. You can run full-duplex at the physical layer while running half and full duplex conversations at the APPC layer at the same time, or half-duplex at the physical layer while running half and full duplex conversations at the APPC layer at the same time.

Answer

On the Linux side, depending on the Ethernet device driver being used by Linux, you can use a command such as mii-tool to see if that end of the physical link is full-duplex. For example:

    # mii-tool
    eth0: negotiated 100baseTx-FD, link ok

Notice the FD which means full-duplex at the physical layer.

Another way to tell if the Linux Ethernet is running full-duplex is to use the ifconfig command. If ifconfig reports a data rate which is greater than the link speed, then you know it must be running full-duplex to send and receive at the same time. For example, if a 100Mbps Ethernet network interface is reported with a data rate of 100<x<200 then it is full-duplex. The converse is not true. For example, if the data rate is <2*link-speed you cannot be sure it is running half-duplex. The link might not be busy enough to show the up-to-2*link-speed rate.

[{"Product":{"code":"SSHQLW","label":"Communications Server for Linux"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"All","Platform":[{"code":"PF016","label":"Linux"}],"Version":"6.2.1;6.2.2;6.2.3;6.2.3.1;6.2.3.2;6.2.3.3;6.4;6.4.0.1;6.4.0.2;6.4.0.3;6.4.0.4;7.0.0.0","Edition":"All Editions","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Product":{"code":"SSDMF3","label":"Communications Server for Linux on zSeries"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":null,"Platform":[{"code":"","label":"Linux Red Hat - zSeries"},{"code":"","label":"Linux SUSE - zSeries"},{"code":"","label":"Linux zSeries"}],"Version":"6.2.1;6.2.2;6.2.3;6.2.3.1;6.4;6.2.3.2;6.4.0.1;6.4.0.2;6.4.0.3;6.4.0.4;7.0.0.0","Edition":"All Editions","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
02 August 2018

UID

swg21220994