On 2/4/25 18:11, Boris Fiuczynski wrote: > 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 > There are some nits (e.g. formatting, proper private symbol export), but I'll fix that before merging. Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal