The following patches provide support for XRCD and SRQ objects in pyverbs, including a documentation update, to demonstrate a basic usage, and a test using these objects. Preceding this support are a few fixes found on the way: wrong assignments fixes and cleanup of redundant enum entries. Maxim Chicherin (12): pyverbs: Fix WC creation process pyverbs: Fix CQ and PD assignment in QPAttr pyverbs: Remove TM enums pyverbs: Introducing XRCD class pyverbs: Introducing SRQ class pyverbs: Support XRC QPs when modifying QP states pyverbs: Add XRC to ODPCaps Documentation: Document creation of XRCD and SRQ tests: Add missing constant in UDResources tests: Fixes to to_rts() in RCResources tests: Add XRCResources class tests: Add XRC ODP test case Documentation/pyverbs.md | 51 ++++++++++ pyverbs/CMakeLists.txt | 2 + pyverbs/cq.pxd | 2 + pyverbs/cq.pyx | 47 +++++++--- pyverbs/device.pxd | 5 + pyverbs/device.pyx | 49 +++++++++- pyverbs/libibverbs.pxd | 52 ++++++++++- pyverbs/libibverbs_enums.pxd | 30 +----- pyverbs/pd.pxd | 1 + pyverbs/pd.pyx | 6 +- pyverbs/qp.pxd | 4 + pyverbs/qp.pyx | 91 ++++++++++++++---- pyverbs/srq.pxd | 24 +++++ pyverbs/srq.pyx | 176 +++++++++++++++++++++++++++++++++++ pyverbs/xrcd.pxd | 17 ++++ pyverbs/xrcd.pyx | 91 ++++++++++++++++++ tests/base.py | 160 ++++++++++++++++++++++++++----- tests/test_cq.py | 2 - tests/test_odp.py | 32 +++++-- tests/utils.py | 48 +++++++++- 20 files changed, 791 insertions(+), 99 deletions(-) mode change 100644 => 100755 Documentation/pyverbs.md mode change 100644 => 100755 pyverbs/CMakeLists.txt mode change 100644 => 100755 pyverbs/cq.pyx mode change 100644 => 100755 pyverbs/device.pxd mode change 100644 => 100755 pyverbs/device.pyx mode change 100644 => 100755 pyverbs/libibverbs.pxd mode change 100644 => 100755 pyverbs/libibverbs_enums.pxd mode change 100644 => 100755 pyverbs/qp.pyx create mode 100755 pyverbs/srq.pxd create mode 100755 pyverbs/srq.pyx create mode 100755 pyverbs/xrcd.pxd create mode 100755 pyverbs/xrcd.pyx mode change 100644 => 100755 tests/base.py mode change 100644 => 100755 tests/test_odp.py mode change 100644 => 100755 tests/utils.py -- 2.21.0