Running CHARON on VMware - Network configuration

Description

When using CHARON on VMware, additional configuration steps are required to setup networking.

There are settings to be done on 3 levels:

Step-by-step guide

CHARON configuration

In most cases Promiscuous mode is required to be set on VM virtual adapter level. This way networking would allow modern traffic control.

‘Legacy’ packet port mode is an exception, which is kept for compatibility, and was mandatory for configuration with one old version of VMware.However, if Promiscuous mode is not enabled, legacy_mode switch can be used.It is not recommended to use it.

CHARON-VAX

Examples:

set XQA0 legacy_mode=true

set XQB0 legacy_mode=true
...
set EZA0 legacy_mode=true


CHARON-AXP

Examples:

set EWA0 legacy_mode=true
set EWB0 legacy_mode=true
...

VMware ESXi host level

  • Version 8 and up virtual appliance with E1000 network adapters only should be used for Charon up to version 4.9 included ( (warning) not E1000E adapters ). Versions 4.10 and above support E1000, E1000E and VMXNETx adapters.

  • A dedicated Port Group has to be created on all ESXi servers where a CHARON VM can be located.
    • Promiscuous mode should be enabled on just this port group.
  • Run vSphere client
    • Select the ESXi system hosting CHARON appliance (root)
      • Select the "Configuration" tab
        • Select "Networking" in the "Hardware" left pane
          • Click on "Properties" on the vSwitch used for CHARON appliance
            • Select Port Group, click "Edit" button
              • Select the "Security" tab
                • Set "Promiscuous mode", "MAC address changes" and "Forged transmits" to "Accept"

                   Example - Click here to expand...

              • Select the "Traffic Shaping" tab
                • Disable traffic shaping

                   Example - Click here to expand...

Emulator host level (in the VM appliance)

Windows


Operating systemNotesCharon versionConfiguration steps

Windows Server 2019

TCP Chimney offload is disabled by default (deprecated technology)
  • Charon-AXP/PDP/VAX V4.11 Build 204-03 and above
None

Windows Server 2008 R2

Windows Server 2012 R2

Windows Server 2016

Windows 7

Windows 8 & 8.1

Windows 10

TCP Chimney offload must be disabled.

Note:

  • TCP Chimney Offload is a networking technology that helps transfer the workload from the CPU to a network adapter during network data transfer.
  • The commands to enable and disable TCP Chimney Offload for specific applications and ports require that the Windows Firewall service and Base Filtering Engine (BFE) services are running. Before using these commands or the Network Control Center Utility, ensure that the Windows Firewall service and BFE service are running.

(warning) Running guests will have to be powered off/on for the new settings to be taken into account.


(lightbulb) To check TCP Chimney offload is disabled, use the following commands:

C:\Windows\system32>netsh int tcp show global
Querying active state... 

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled

...

(grey lightbulb) To revert back to the original settings manually, use the following command:

C:\Windows\system32>netsh int tcp set global chimney=automatic
  • CHARON-VAX V4.7 and CHARON-AXP V4.7 Build 171-10 and above (patched)
  • Charon-AXP/PDP/VAX V4.8 Build 183-02 and above (patched)
Configuration type 1

Older versions of Charon-AXP/PDP/VAX


(warning) Do not use the network control center utility to disable TCP chimney offload. Please use only the manual settings described in this chapter

Configuration type 2
Older versions of Windows

(warning) Running guests will have to be powered off/on for the new settings to be taken into account

Charon-AXP/PDP/VAX versions supported on these old versions of WindowsConfiguration type 3


Configuration type 1
  • Charon-AXP/VAX V4.7:
    • open the Start menu, select "All Programs" then "CHARON", select your Charon product version, "Utilities" then "Network Controler Center version x.xx".
  • Charon-AXP/PDP/VAX V4.8:
    • Double click the "CHARON Virtual Machine Manager" icon on desktop or select this utility in the tray menu; select "Host Information and Utilities" section and press "Network Control Center" button.

      .

  • From the "Network Control Center" utility main page, select the "Disable TCP chimney offload for CHARON" option:


  • Click on the "Next" button.

    .

  • The TCP Chimney offloading will be disabled:


  • Click on the "Finish" button to exit.
Configuration type 2
  • Open a command line windows with Admin rights
  • Issue the following command:

    C:\> netsh int tcp set global chimney=disabled
  • Delete all occurrences of Charon executables in the following table if any as described below:

    C:\> netsh interface tcp show chimney
    ...
    C:\> netsh interface tcp delete chimneyapplication ^
    More? application="C:\Program Files\CHARON\Build_16400\x64\as1000.exe"

Configuration type 3

Intelligent packet processing should be switched off for the network adapters dedicated to CHARON-AXP (naming of the parameters depends on the network adapter driver):

  • Adaptive interframe spacing

  • Flow control

  • Interrupt moderation

  • Interrupt moderation rate

  • Ipv4 checksum offload

  • Jumbo packet

  • Large send offload

  • Disable Priority and VLAN

  • TCP checksum offload

  • UDP checksum offload

To do so, open the "Control Panel", select "Network and Internet" and "Network Connections". Right click on the adapter you dedicated to CHARON, select "Properties" and click on the "Configure" button. Select the "Advanced" tab and disable the properties mentioned in the list above.

Once all parameters have been turned off, click on the "OK" button.

Example:


Linux

Switch off the offload parameters for chosen network interface using "ethtool" utility.

  • A first step is to find what additional parameters 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

  • Example1: command lines

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

  • Example2: One command line

    # for F in rx tx sg tso ufo gso gro lro rxvlan txvlan; do  ethtool -K eth1 $F off; done

    or alternatively:

    # ethtool -K eth1 rx off tx off sg off tso off ufo off gso off gro off lro off rxvlan off txvlan off

    (info) Error messages can be ignored
    .

  • 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 after each reboot
    • Let's suppose that the name of the file is "offload_off_eth1.sh". In this case running it on system startup can be done in the following ways:
      • On Red Hat Linux:

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

      • On Fedora Core:

        # echo '#!/usr/bin/bash' > /etc/rc.d/rc.local               (warning) Do not use double quotes, use single ones
        # cat offload_off_eth1.sh >> /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

Warning

Running guests will have to be powered off/on for the new settings to be taken into account



© 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.