F.6.2.4. Working With the IUCV Device Driver
The Inter-User Communication Vehicle (IUCV) is a VM communication facility that enables a program running in one VM guest to communicate with another VM guest, with a control program, or even with itself. The Linux for zSeries and S/390 IUCV device driver is a network device driver that uses IUCV to connect Linux guests running on different VM user IDs, or to connect a Linux guest to another VM guest such as a TCP/IP service machine.
The IUCV driver assigns a base interface name like the following:
iucv<n>
The value <n> is an integer that uniquely identifies the device. <n> is 0 for the first device of that type, 1 for the second, and so on.
Load the device driver:
# modprobe netiucv
Create the IUCV device:
# echo <peer_id> > /sys/bus/iucv/drivers/netiucv/connection
The value of <peer_id> is the guest ID of the VM guest you want to connect to. The IUCV device driver interprets the ID as uppercase. This is usually TCPIP.
This creates a sysfs structure like the following:
cat /sys/bus/iucv/drivers/netiucv/netiucv<n>
The value <n> is an integer that uniquely identifies the device. <n> is 0 for the first device of that type, 1 for the second, and so on.
Configure the device.
Set the maximum buffer size if needed:
# echo <value> > /sys/bus/iucv/drivers/netiucv/netiucv<n>/buffer
The <value> is the number of bytes you want to set. If you specify a value outside the valid range, the command is ignored.
The permissible range of values for the maximum buffer size depends on the MTU settings. It must be in the range <minimum MTU + header size> to <maximum MTU + header size>. The header space is typically 4 bytes. The default for the maximum buffer size is 32768 bytes (32 KB).
For more information on configuration of the IUCV driver, refer to the following:
http://oss.software.ibm.com/developerworks/opensource/linux390/docu/lx26apr04dd01.pdf (Linux for zSeries and S/390 Device Drivers, Features, and Commands)
Define the alias.
Based on the type interface being added, add a line to /etc/modprobe.conf that is like the following:
iucv<n> alias netiucv
Create a configuration script.
Create a file in /etc/sysconfig/network-scripts/ with a name like the following:
ifcfg-iucv<n>
The file should look like this:
/etc/sysconfig/network-scripts/ifcfg-iucv0#IBM IUCVDEVICE=iucv0 BOOTPROTO=static IPADDR=192.168.70.136 GATEWAY=172.16.70.136 NETMASK=255.255.255.255 ONBOOT=yes NETTYPE=iucv PEERID=TCPIP TYPE=IUCV
Activate the device.
Based on the type interface being added, issue an ifup command like the following:
# ifup iucv<n>