Static VIPA definitions required for SUSE

Read this information to find static VIPA definitions required for SUSE.

To ensure that the dummy kernel module is loaded at boot time, one solution is to add a line similar to the following into /etc/sysconfig/kernel:
MODULES_LOADED_ON_BOOT="vmcp dummy"
For SLES 12 set the dummy0 interface definition:
BOOTPROTO="static"
UNIQUE=""
STARTMODE="onboot"
MTU="8992"
IPADDR="10.101.4.216"
NETMASK="255.255.255.255"
NETWORK="10.101.4.216"
BROADCAST="0.0.0.0"

The shown new dummy0 interface can be started using ifup, and it is automatically started at boot time.

For any local OSA interfaces, you need to add the following statement to their ifcfg-* file:
POST_UP_SCRIPT="setvipa"
This statement runs a script named setvipa when ifup processes the local interfaces ifcfg-* file.

Here is a SLES 12 example file ifcfg-qeth-bus-ccw-0.0.0600 for eth1:

BOOTPROTO="static"
UNIQUE=""
STARTMODE="onboot"
MTU="8992"
IPADDR="10.101.4.137"
NETMASK="255.255.255.192"
NETWORK="10.101.4.128"
BROADCAST="10.101.4.191"
_nm_name='eth1'
POST_UP_SCRIPT="compat:suse:setvipa"

The following setvipa script should be placed into /etc/sysconfig/network/scripts/ as setvipa:

#!/bin/bash
#
# This script is called via ifup when it
# processes an ifcfg--*  script that contains:
#     POST_UP_SCRIPT="setvipa"
#
# First obtain interface name
INT=$2
#
# Now read in the dummy0 VIPA details
. /etc/sysconfig/network/ifcfg-dummy0
#
# Copy the IP address for dummy0
VIPA=${IPADDR}
#
# Set the VIPA address into the OSA interface
/sbin/qethconf vipa add ${VIPA} ${INT}

Using the command ifup eth1 gives output similar to the following:

ifup eth1
     eth1
     eth1 configuration: qeth-bus-ccw-0.0.0600
qethconf: Added 10.101.4.216 to sysfs entry /sys/class/net/eth1/device/vipa/add4.
qethconf: For verification please use "qethconf vipa list"