Also my patchfor --with support to cbuild was accepted. Might be worth enabling pyverbs in cbuild for RHEL/SUSE. See: 123ad71a6376 (buildlib: build static packages in RPM based distro test) Nicolas On 11/13/18 2:31 PM, Leon Romanovsky wrote: > On Tue, Nov 13, 2018 at 05:31:29AM +0200, Leon Romanovsky wrote: >> From: Leon Romanovsky <leonro@xxxxxxxxxxxx> >> >> Changelog: >> RFC->v0: >> * SuSE fixes from Nicolas >> * Debian fixes from Benjamin >> * Fixed different spelling errors >> * Uncommented section of device class >> >> PR was updated: >> https://github.com/linux-rdma/rdma-core/pull/415 > PR was updated with the following changes: > * Fix spelling error pointed by Gal > * Removed "Uncommented section of device class" from device.pxd as not needed > > Thanks > >> -------------------------------------------------------------------- >> >> In this patch set we introduce python bindings (pyverbs) for >> rdma-core in its initial form. It will cover libibverbs and will be >> expanded to support librdmacm in the future. >> >> Prior to developing of pyverbs, the existing python-rdma package [1] >> was evaluated, but a new package was built using newer cython and >> python versions, in order to provide a more comfortable user experience. >> >> The main goal of pyverbs is to provide to the user a simple API >> that makes working with verbs easier. Among other things, it allows >> setting up RDMA resources quickly. >> >> In the future, it will also suggest default configuration (e.g. >> default values for QP attributes, which the user can override) and >> further bring up shortcuts will be provided (e.g. QPs can change >> state internally, without user intervention). >> >> The above means a significant cut in tests development time, >> which will allow developers to send a feature with a test included, >> increasing rdma-core's robustness. >> >> The above means a significant cut in tests development time, >> which will allow developers to send a feature with a test included, >> increasing rdma-core's robustness. >> >> A short example based on the preliminary abilities of this PR: >> >> >>>import pyverbs.device as d >> >>>ctx = d.Context(name='mlx5_0') >> >>>attr = ctx.query_device() >> print(attr) >> FW version : 16.24.0185 >> Node guid : 9803:9b03:0000:e4c6 >> Sys image GUID : 9803:9b03:0000:e4c6 >> Max MR size : 0xffffffffffffffff >> [...] >> >> Known limitations: >> Travis fails on the cython vs. python compatibility check. We tried >> hard to ensure that those two packages are aligned and we compile >> and install right version of pyverbs. Unfortunately, in Travis, >> python and cython have different versions. >> >> Future plan: >> * Extend pyverbs' coverage over rdma-core (further RDMA objects such as >> PD, MR etc.). >> * Enrich examles section. >> * Provide tests for existing and new features. >> >> [1] https://github.com/jgunthorpe/python-rdma >> >> Thanks, >> Noa and Leon >> >> Maxim Chicherin (2): >> pyverbs: Introduce device class >> pyverbs/examples: Introduce ib_devices >> >> Noa Osherovich (8): >> pyverbs: Introducing pyverbs and its context class >> pyverbs: GID class >> pyverbs: Documetn pyverbs usage and examples >> pyverbs: Update cmake to include pyverbs package >> redhat: Add pyverbs to RedHat specification >> suse: Add pyverbs to SUSE specification >> debian: Add pyverbs to Debian package >> pyverbs: Unittest framework >> >> .travis.yml | 4 + >> CMakeLists.txt | 45 +++- >> Documentation/pyverbs.md | 98 +++++++++ >> buildlib/Findcython.cmake | 29 +++ >> buildlib/cbuild | 13 +- >> buildlib/pyverbs_functions.cmake | 45 ++++ >> debian/control | 10 +- >> debian/python3-pyverbs.install | 1 + >> debian/rules | 4 +- >> pyverbs/CMakeLists.txt | 20 ++ >> pyverbs/__init__.pxd | 0 >> pyverbs/__init__.py | 0 >> pyverbs/addr.pxd | 9 + >> pyverbs/addr.pyx | 53 +++++ >> pyverbs/base.pxd | 5 + >> pyverbs/base.pyx | 24 +++ >> pyverbs/device.pxd | 20 ++ >> pyverbs/device.pyx | 358 +++++++++++++++++++++++++++++++ >> pyverbs/enums.pyx | 1 + >> pyverbs/examples/ib_devices.py | 20 ++ >> pyverbs/libibverbs.pxd | 74 +++++++ >> pyverbs/libibverbs_enums.pxd | 344 +++++++++++++++++++++++++++++ >> pyverbs/pyverbs_error.py | 40 ++++ >> pyverbs/run_tests.py | 22 ++ >> pyverbs/tests/__init__.py | 0 >> pyverbs/tests/device.py | 41 ++++ >> redhat/rdma-core.spec | 23 ++ >> suse/rdma-core.spec | 26 ++- >> 28 files changed, 1318 insertions(+), 11 deletions(-) >> create mode 100644 Documentation/pyverbs.md >> create mode 100644 buildlib/Findcython.cmake >> create mode 100644 buildlib/pyverbs_functions.cmake >> create mode 100644 debian/python3-pyverbs.install >> create mode 100644 pyverbs/CMakeLists.txt >> create mode 100644 pyverbs/__init__.pxd >> create mode 100644 pyverbs/__init__.py >> create mode 100644 pyverbs/addr.pxd >> create mode 100644 pyverbs/addr.pyx >> create mode 100644 pyverbs/base.pxd >> create mode 100644 pyverbs/base.pyx >> create mode 100644 pyverbs/device.pxd >> create mode 100644 pyverbs/device.pyx >> create mode 120000 pyverbs/enums.pyx >> create mode 100755 pyverbs/examples/ib_devices.py >> create mode 100644 pyverbs/libibverbs.pxd >> create mode 100644 pyverbs/libibverbs_enums.pxd >> create mode 100644 pyverbs/pyverbs_error.py >> create mode 100644 pyverbs/run_tests.py >> create mode 100644 pyverbs/tests/__init__.py >> create mode 100644 pyverbs/tests/device.py >> >> -- >> 2.19.1 >>
Attachment:
signature.asc
Description: OpenPGP digital signature