Ethernet Configuration Notes
Contents
- 1 General Information
- 2 Considerations for Cloud Environments
- 3 Basic Configuration Components
- 4 Adding Additional Emulated Network Cards
- 5 Supplemental Information: Virtual Bridge and TAP Interfaces
- 6 Supplemental Information: MACVTAP Interfaces
- 6.1 Basic (non-persistent) Configuration of a MACVTAP Interface on the Linux Host System
- 6.2 Basic (persistent) Configuration of a MACVTAP Interface on the Linux Host System Using nmcli Commands
- 6.3 Sample Configuration Script Included in Emulator Kit Starting with Version 3.0.18
- 6.4 Basic Emulator Configuration Using a MACVTAP Interface
General Information
This section provides information on basic aspects of configuring an Ethernet interface for the emulator. For details on the configuration parameters used and for additional parameters, please refer to the Configuration File Reference.
Considerations for Cloud Environments
Every cloud environment has specific characteristics that could conflict with the interface configurations made for Charon-PAR. Please refer to the documentation provided by the cloud provider to understand the networking behavior of your cloud instance before you change any interface settings.
Important points that apply to most cloud environments:
If the Charon host is configured with more than one active IP interface, asymmetric routing can cause connectivity problems. In such cases, policy-based routing (per interface routing tables with associated IP rules) is required.
Only IP unicast traffic is supported. Non-IP traffic or multicast/broadcast traffic is not supported and requires traffic tunneling.
Promiscuous interface mode is not supported.
Only traffic with the MAC address assigned by the cloud provider is allowed across an interface.
Routing requires special configuration steps (source/destination check disabling) on the cloud instances. Enabling IP forwarding on the Linux host is not enough.
Cloud specific security rules must allow the relevant traffic. Configuring the Linux firewall correctly is not enough.
If a host NIC is dedicated to a guest system, the MAC address and IP address assigned to the interface by the cloud provider must be used by the guest.
Basic Configuration Components
Ethernet Interface Names
Names on 64-bit systems:
The name of the Ethernet interface in the emulator configuration file has the format EWXN with the following definitions:
X - an uppercase letter starting with A for the first interface and then continues with B, C, etc. for additional interfaces. The possible number of network cards depends on the features of the original physical system. The absolute maximum number is 16.
N - the device number of the card starting with 0 for each value of x.
Names on 32-bit systems:
The currently supported 32-bit systems have one built-in Ethernet card:
Model 720: system.lan0.card
Model B132L: gsc.lasi.lan.card
PCI-based cards:
Starting with version 3.0.19, model B132L supports PCI expansion slots for loading two additional Tulip Ethernet cards.
Starting with version 3.0.20, the PCI configuration syntax has been adapted to be the same as for the 64-bit models. The B132L now has 4 PCI expansion slots.
The additional cards use the same name as the 64-bit systems starting with EWB.
Minimal Configuration Parameters
The configuration of each network interface must at least have two basic components as shown below:
64-bit system (example shows the first Ethernet card EWA0) and 32-bit-system with additional NIC in expansion slot (for B132L starting with version 3.0.19; device names starting with EWB):
Interface definition (
EWA0.iface)Interface initialization command (EWA0.initialize_command)
32-bit system built-in network interfaces:
Interface definition (system.lan0.card
.ifaceor gsc.lasi.lan.card.iface)Interface initialization command (system.lan0.card.initialize_command or gsc.lasi.lan.card.initialize_command)
The default configuration assumes that a physical network interface will be used.
Please refer to the Configuration File Reference and the configuration file template of your model for more information.
Basic Configuration Example
Example of a basic network card configuration using a physical interface (RAW mode) on a 64-bit emulated system:
EWA0.iface="enp0s20f0u3u4"
EWA0.initialize_command="ethtool -K $IFACE rx off ; ethtool -K $IFACE tx off ; ethtool -K $IFACE sg off ; ethtool -K $IFACE gso off ; ethtool -K $IFACE gro off ; ethtool -K $IFACE txvlan off ; ethtool -K $IFACE rxvlan off"The variable IFACE is set automatically by the emulator upon start. The initialize_command parameter is used to turn off all relevant offloading parameters on the interface used by the emulator.
Adding Additional Emulated Network Cards
Please note: if additional Ethernet controllers can be loaded - and how many - depends on the emulated model.
This section will show an example. Please refer to the section I/O Slot Configuration in the Configuration File Reference chapter and the Emulated Model Hardware Configuration Details chapter for details.
To add an additional Ethernet controller to your emulator configuration, you must perform the following steps:
Identify a free PCI slot (model configuration template or Emulated Model Hardware Configuration Details).
Add a load command to the configuration to load an Ethernet module into the identified emulator slot (see the Configuration File Reference chapter for details).
Add the network card configuration to your configuration file.
Start the emulator and configure the interface in the guest system.
Step 1: identify a free PCI slot for your emulated model. The available slots depend on your model and the existing configuration.
Example: model "rp7400-1-650" has a PCI I/O expansion slot 4 (device path 0/8/0)
Step 2: Add the load command for the Ethernet module to the configuration file.
Sample configuration command for an additional Tulip card slot 4: load ETH tulip PCI 4
Sample configuration command for an E1000 gigabit card in slot 4: load ETH E1000 PCI 4
Step 3: Add the network card configuration to your configuration file selecting the correct host interface name (example: eth2). Note that the name of the second emulated interface is EWB0. RAW mode is not supported for E1000 controllers. they only support the TAP, MACVTAP, and DUMMY modes.
Example for a physical interface connected to an emulated Tulip controller. Important: the initialization command must be in one continuous line. Examples for TAP and MACVTAP interfaces are shown further below in this chapter.
EWBO.mapping_mode="RAW"EWB0.iface="eth2" EWB0.initialize_command="ethtool -K $IFACE rx off; ethtool -K $IFACE tx off; ethtool -K $IFACE sg off; ethtool -K $IFACE gso off; ethtool -K $IFACE gro off; ethtool -K $IFACE txvlan off; ethtool -K $IFACE rxvlan off"
Step 4: Start the emulator, boot the guest system, if required install the device driver, and configure the second interface.
On PA3, use the
ISL > ODE > RUN MAPPER2command (access from console via: Interaction with IPL) to verify the existence of the new interface and the correct device path.The above command also works on PA9, but on HP-UX you can also use the
lanscancommand to verify the existence of the new interface (on HP-UX it is normally lan1).Install the HP-UX device driver for the E1000 Gigabit Ethernet if required. Use the SAM Software Management function or the
swinstallcommand. Without parameters, it will open the SAM Software Management section. If you have the depot file with a driver update, useswinstall -s /<absolute-path-to-depot-file> <package-name>.Configure the interface.
The easiest way on HP-UX is the following:
HP-UX before 11.31: use SAM > Network and Communication > Network Interface Cards (Actions > Configure).
HP-UX 11.31: use SMH > Networking and Communications-> Network Interfaces Configuration > Network Interface Cards. Please note that at the time of writing SMH only worked with the emulator when being used over the network (not on the serial console). Alternatively, you can use the
set_parms ip_addresscommand.
On MPE/iX, the interface must be added via NMMGR (for interactive use, xhpterm can be used to access this tool), and the interface must be started using the NETCONTROL command. Please refer to the documentation of your operating system for further information.