CCW group devices are devices that use multiple subchannels on the mainframe's channel subsystem. A qeth group device maps to subchannels and their corresponding device numbers and device bus-IDs. The qeth device driver requires three I/O subchannels for each HiperSockets CHPID or OSA-Express CHPID in QDIO mode. One subchannel is for control reads, one for control writes, and the third is for data. The qeth device driver uses the QDIO protocol to communicate with the HiperSockets and OSA-Express adapter. As the node device driver is building a tree relationship between nodes the ccwgroup device is placed besides the subchannel nodes under computer and list the group members within a new ccwgroup capability. A new capability ccwgroup_member is added into capability ccw to represent a device membership to a ccwgroup. Filters are added to find ccwgroups as well as ccwgroup members. Boris Fiuczynski (8): nodedev: refactor CCW device address format nodedev: refactor CCW device address nodedev: remove virNodeDeviceCapCCWDefFormat nodedev: refactor CCW state format for use in ccwgroup nodedev: refactor udevCCWGetState nodedev: add ccwgroup node device support nodedev: add ccwgroup capability support to ccw devices nodedev: add qeth layer2 and layer3 device types docs/manpages/virsh.rst | 19 +- include/libvirt/libvirt-nodedev.h | 2 + src/conf/node_device_conf.c | 369 +++++++++++++++++- src/conf/node_device_conf.h | 43 +- src/conf/schemas/nodedev.rng | 59 +++ src/conf/virnodedeviceobj.c | 13 +- src/libvirt_private.syms | 3 + src/node_device/node_device_driver.c | 18 +- src/node_device/node_device_udev.c | 66 +++- src/util/virccw.c | 125 ++++++ src/util/virccw.h | 25 ++ tests/nodedevmdevctltest.c | 7 +- .../ccw_0_0_ff02_ccwgroup.xml | 13 + tests/nodedevschemadata/ccwgroup_0_0_bd00.xml | 20 + .../ccw_0_0_ff02_ccwgroup.xml | 1 + tests/nodedevxml2xmlout/ccwgroup_0_0_bd00.xml | 1 + tests/nodedevxml2xmltest.c | 2 + tools/virsh-nodedev.c | 6 + 18 files changed, 738 insertions(+), 54 deletions(-) create mode 100644 tests/nodedevschemadata/ccw_0_0_ff02_ccwgroup.xml create mode 100644 tests/nodedevschemadata/ccwgroup_0_0_bd00.xml create mode 120000 tests/nodedevxml2xmlout/ccw_0_0_ff02_ccwgroup.xml create mode 120000 tests/nodedevxml2xmlout/ccwgroup_0_0_bd00.xml -- 2.47.0