Working with qeth devices
![]()
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
Most of these tasks involve writing to and reading from attributes of qeth group devices in sysfs. This is useful on a running system where you want to make dynamic changes. If you want to make the changes persistent across IPLs, use the interface configuration files. Network configuration parameters are defined in /etc/sysconfig/network-scripts/ifcfg-<if_name>. An example of how to define a qeth device persistently is in the installation documentation on the Red Hat website. For a general discussion of network configuration files, see configuration documentation on the Red Hat documentation website:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux
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.
| Task | Corresponding attributes | Possible attribute values |
|---|---|---|
| Creating a qeth group device | group | n/a |
| Removing a qeth group device | ungroup | 0 or 1 |
| Setting the layer2 attribute | layer2 | 0 or 1, see Layer 2 and layer 3¹ |
| Using priority queueing | priority_queueing |
prio_queueing_vlan |
| 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 |
| Enabling and disabling TCP segmentation offload | none | n/a |
| 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 |
| ¹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. | ||
| Function | Corresponding attributes | Possible attribute values |
|---|---|---|
| Configuring a network device as a member of a Linux bridge |
bridge_role |
primary, secondary, none |
| Advanced packet-handling configuration |
vnicc/bridge_invisible |
0 or 1 |
| Task | Corresponding attributes | Possible attribute values |
|---|---|---|
| Setting up a Linux router in layer 3 |
route4 |
primary_router secondary_router primary_connector secondary_connector multicast_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 |
IPv4 IP address |
| Configuring a device for NDP proxy |
rxip/add6 |
IPv6 IP address |
| Configuring a device for virtual IP address (VIPA) |
vipa/add4 |
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 | ||
/sys/bus/ccwgroup/drivers/qeth/0.0.a100
/sys/bus/ccwgroup/devices/0.0.a100
/sys/devices/qeth/0.0.a100
/sys/class/net/enca100/deviceall 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 enca100 # cat /sys/bus/ccwgroup/devices/0.0.a100/if_name enca100 # cat /sys/devices/qeth/0.0.a100/if_name enca100 # cat /sys/class/net/enca100/device/if_name enca100
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. A change can occur after rebooting or when devices are ungrouped and new group devices created.
The following sections describe the tasks in detail.