[PATCH 0/8] nodedev: add support for ccwgroup based qeth devices

Boris Fiuczynski posted 8 patches 10 months, 2 weeks ago
Failed in applying to current master (apply log)
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
[PATCH 0/8] nodedev: add support for ccwgroup based qeth devices
Posted by Boris Fiuczynski 10 months, 2 weeks ago
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
Re: [PATCH 0/8] nodedev: add support for ccwgroup based qeth devices
Posted by Michal Prívozník 10 months, 2 weeks ago
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@redhat.com>

Michal
Re: [PATCH 0/8] nodedev: add support for ccwgroup based qeth devices
Posted by Boris Fiuczynski 10 months, 2 weeks ago
On 2/5/25 18:01, Michal Prívozník wrote:
> 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@redhat.com>
> 
> Michal

Michal,
sorry for the nits and thanks for fixing them.


-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Wolfgang Wendt
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294