Linux on IBM Z with channel bonding

The IBM® Z network controller Open System Adaptor (OSA) provides high standards for networking throughput and availability. Typically when setting up channel bonding interfaces on Linux® on Z, the slave devices are configured with OSA devices. The OSA slave interfaces should always be in layer 2 mode.

Figure 1 shows a Linux on Z example of a channel bonding interface consisting of two slave devices: eth1 and eth2, each representing an OSA device. In layer 2 mode, a local MAC address is assigned to each slave device and registered in the OSA address table. The master device (in this example, bond0) inherits the MAC address from a slave device and carries an IP address for the whole bonding interface. For the purpose of network redundancy, the OSA devices are connected to different switches, in order to avoid single link failure on a switch.

Figure 1. Typical bonding setup on Linux on Z
Typical bonding setup on Linux on Z

In an industrial environment, OSA-Express® devices are often shared between systems. It is also possible to build up a network topology as shown in Figure 2.

Figure 2. Example of a bonding setup with shared OSA
Example of a bonding setup with shared OSA

This figure shows that on each Linux system, one or more bonding interfaces can be defined with slaves representing OSA devices, which are shared between LPARs. Depending on the bonding mode, a bonding interface may define one of the slaves as primary slave and the other one as backup, or it may optimize the traffic load on both.

The setup of a bonding interface is the same on either a native LPAR or on a virtual machine (for example, IBM z®/VM), since control is driven by the bonding driver, which is loaded in the Linux kernel.