Working with qeth devices

SUSE Linux Enterprise Server 15 SP5 LPAR mode z/VM guest

Typical tasks that you need to perform when working with qeth devices include creating group devices, finding out the type of a network adapter, and setting a device online or offline.

About this task

Attention: Use sysfs attributes for dynamic testing of configuration settings. For persistent configuration in a production system, use one of the following options:
  • YaST
  • yast2
  • The qeth_configure command. For more details about the qeth_configure command, see the man page.
  • The chzdev command.

YaST creates a udev configuration file called /etc/udev/rules.d/xx-qeth-0.0.xxxx.rules. Additionally, cross-platform network configuration parameters are defined in /etc/sysconfig/network/ifcfg-<if_name>

The chzdev command with the -p option creates udev rules of the same form as YaST. yast2 and qeth_configure use the chzdev mechanism and produce the same udev rules.

Table 1 and Table 3 serve as both a task overview and a summary of the attributes and the possible values you can write to them. Underlined values are defaults.

Not all attributes are applicable to each device. Some attributes apply only to HiperSockets or only to OSA-Express CHPIDs in QDIO mode, other attributes are applicable to IPv4 interfaces only. See the task descriptions for the applicability of each attribute.

Table 1. qeth tasks and attributes common to layer2 and layer3
Task Corresponding attributes Possible attribute values
Enabling a qeth device group n/a
Setting the layer2 attribute layer2 0 or 1, see Layer 2 and layer 3¹
Using priority queueing priority_queueing prio_queueing_vlan
prio_queueing_skb
prio_queueing_prec
prio_queueing_tos
no_prio_queueing
no_prio_queueing:0
no_prio_queueing:1
no_prio_queueing:2
no_prio_queueing:3
Specifying the number of inbound buffers buffer_count integer in the range 8 -128. The default is 64 for OSA devices and 128 for HiperSockets devices
Specifying the relative port number portno integer, either 0 or 1, the default is 0
Finding out the type of your network adapter card_type n/a, read-only
Setting a device online or offline online 0 or 1
Finding out the interface name of a qeth group device if_name n/a, read-only
Finding out the bus ID of a qeth interface none n/a
Activating an interface none n/a
Deactivating an interface none n/a
Recovering a device recover 1
Configuring the receive checksum offload feature none n/a
Configuring the transmit checksum offload feature none n/a
Isolating data connections isolation none, drop, forward
Displaying and resetting QETH performance statistics performance_stats 0 or 1
Capturing a hardware trace hw_trap
arm
disarm
Enabling and disabling TCP segmentation offload none n/a
¹A value of -1 means that the layer has not been set and that the default layer setting is used when the device is set online.
Table 2. qeth functions and attributes in layer 2 mode
Function Corresponding attributes Possible attribute values
Configuring a network device as a member of a Linux bridge bridge_role
bridge_state
bridge_hostnotify
primary, secondary, none
active, standby, inactive
0 or 1
Advanced packet-handling configuration vnicc/bridge_invisible
vnicc/flooding
vnicc/learning
vnicc/mcast_flooding
vnicc/rx_bcast
vnicc/takeover_learning
vnicc/takeover_setvmac
vnicc/learning_timeout
0 or 1
0 or 1
0 or 1
0 or 1
0 or 1
0 or 1
0 or 1
integer in the range
60 - 86400
the default is 600
Table 3. qeth tasks and attributes in layer 3 mode
Task Corresponding attributes Possible attribute values
Setting up a Linux router route4
route6
primary_router
secondary_router
primary_connector
secondary_connector
multicast_router
no_router
Faking broadcast capability fake_broadcast ¹ 0 or 1
Taking over IP addresses ipa_takeover/enable 0 or 1 or toggle
ipa_takeover/add4 ipa_takeover/add6 ipa_takeover/del4 ipa_takeover/del6 IPv4 or IPv6 IP address and mask bits
ipa_takeover/invert4 ipa_takeover/invert6 0 or 1 or toggle
Configuring a device for proxy ARP rxip/add4
rxip/del4
IPv4 IP address
Configuring a device for NDP proxy rxip/add6
rxip/del6
IPv6 IP address
Configuring a device for virtual IP address (VIPA) vipa/add4
vipa/add6
vipa/del4
vipa/del6
IPv4 or IPv6 IP address
Configuring a HiperSockets device for AF_IUCV addressing hsuid 1 to 8 characters
Setting up a HiperSockets network traffic analyzer sniffer 0 or 1
¹ not valid for HiperSockets
Tip: Use the qethconf command instead of using the attributes for IPA, proxy ARP, and VIPA directly (see qethconf - Configure qeth devices). In YaST, you can use "IPA Takeover".
sysfs provides multiple paths through which you can access the qeth group device attributes. For example, if a device with bus ID 0.0.a100 corresponds to interface eth0:
/sys/bus/ccwgroup/drivers/qeth/0.0.a100
/sys/bus/ccwgroup/devices/0.0.a100
/sys/devices/qeth/0.0.a100
/sys/class/net/eth0/device
all lead to the attributes for the same device. For example, the following commands are all equivalent and return the same value:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.a100/if_name
eth0
# cat /sys/bus/ccwgroup/devices/0.0.a100/if_name
eth0
# cat /sys/devices/qeth/0.0.a100/if_name
eth0
# cat /sys/class/net/eth0/device/if_name
eth0

The path through /sys/class/net becomes available when the device is first set online and the interface is created. The path persists until the device is ungrouped. Furthermore, it might lead to a different device if the assignment of interface names changes after rebooting or when devices are ungrouped and new group devices created.

Tips:
  • Work through one of the paths that are based on the device bus-ID.
  • Using SUSE Linux Enterprise Server 15 SP5, you set qeth attributes in YaST. YaST, in turn, creates a udev configuration file called /etc/udev/rules.d/xx-qeth-0.0.xxxx.rules. Additionally, cross-platform network configuration parameters are defined in /etc/sysconfig/network/ifcfg-<if_name>.

The following sections describe the tasks in detail.