FTP, NFS, and general network issues with CHARON-AXP and CHARON-VAX on Linux

Problems

  • Network slow and/or unstable
  • FTP file transfers do not succeed or could eventually induce guest (emulated VAX or AXP) crash due to huge packet received
  • File transfers succeed with small files and hang with larger files

Solution

Switch off all offloading features on the host Ethernet adapters used by the guest. This can be done manually or on recent CHARON-AXP and CHARON-VAX versions (≥ V4.6), using the 'ncu' utility

Using the 'ncu' utility

'ncu' is a menu driven utility that will help you to dedicate the adapter to the host or to CHARON. When dedicated to CHARON, all the tcp offloading features will be automatically disabled

Access:

# ncu

(info) Please refer to the documentation related to your product and version, chapter "CHARON-AXP (or VAX) for Linux utilities"

Manual configuration

(info) Manual configuration has to be used if the 'ncu' utility is not available.

To configure the host for CHARON networking do the following:

  • List all the available network interfaces:

    # ifconfig

  • Example - Displaying "eth" interfaces with "ifconfig" command

    # ifconfig | grep eth
    eth0 Link encap:Ethernet HWaddr 00:60:52:0A:A9:1E
    eth1 Link encap:Ethernet HWaddr 00:C0:26:60:FB:15
    eth2 Link encap:Ethernet HWaddr 00:1A:92:E1:3F:7F

  • Choose some interface to be used by CHARON, for example "eth1"
  • Open up the file "/etc/sysconfig/network-scripts/ifcfg-ethN" (where N is number of the interface to be used for CHARON, in our case is "1") and make sure that all the IP-setup related parameters are removed.
    • Basically the file must look like the following example:

      DEVICE="eth1"
      HWADDR="00:06:2B:00:6A:87"
      NM_CONTROLLED="no"
      ONBOOT="no"
  • Switch off the offload parameters for chosen network interface using "ethtool" utility.
    • A first step is to find what additional paramaters are currently set to "on" on the host network adapter to be used by CHARON. To do that issue:

      # ethtool -k <device>

      ethtool will return the offload parameters and their values

    • Example:

      # ethtool -k eth1
      Offload parameters for eth1:
      rx-checksumming: on
      tx-checksumming: on
      scatter-gather: on
      tcp-segmentation-offload: off
      udp-fragmentation-offload: off
      generic-segmentation-offload: on
      generic-receive-offload: off
      large-receive-offload: off

    • Then use ethtool to switch off all the offload parameters:

      # ethtool -K <device> <parameter> off

    • Example:

      # ethtool -K eth1 rx off
      # ethtool -K eth1 tx off
      # ethtool -K eth1 sg off
      # ethtool -K eth1 gso off

    • For the example above let's create a temporary file containing the commands to be run on system startup, since the offload parameters must be switched off on each reboot
      • Let's suppose that the name of the file is "offload_off_eth1.txt". In this case running it on system startup can be done in the following ways:
        • On Red Hat Linux:

          # cat offload_off_eth1.txt >> /etc/rc.d/rc.local

        • On Fedora Core:

          # echo '#!/usr/bin/bash' > /etc/rc.d/rc.local
          # cat offload_off_eth1.txt >> /etc/rc.d/rc.local
          # chmod 755 /etc/rc.d/rc.local
          # ln -s /usr/lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
          # systemctl daemon-reload

    • Reboot the host system to apply the offload parameters switching off

Important note

Warning

If virtual machines are running, they will have to be restarted as well as Charon in order to take the parameters into account

Related articles



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.