Parent domains extend protection domains with custom allocators callbacks given by the user and override the provider's allocation. This series adds support for parent domain in pyverbs, including a basic test and a documentation. In order to allow Python users to provide Python allocators, pyverbs is using the pd_context object and an internal wrapper that makes the Python functions to be called from the provider. Edward Srouji (4): pyverbs: Add memory allocation class pyverbs: Introduce ParentDomain class pyverbs: Document ParentDomain class and add a simple example tests: Add a test for parent domain Documentation/pyverbs.md | 27 +++++ pyverbs/base.pxd | 3 + pyverbs/base.pyx | 26 ++++ pyverbs/libibverbs.pxd | 11 ++ pyverbs/libibverbs_enums.pxd | 7 ++ pyverbs/pd.pxd | 17 +++ pyverbs/pd.pyx | 150 ++++++++++++++++++++++-- pyverbs/providers/mlx5/mlx5dv_enums.pxd | 11 ++ pyverbs/srq.pyx | 2 +- tests/CMakeLists.txt | 1 + tests/test_parent_domain.py | 86 ++++++++++++++ 11 files changed, 330 insertions(+), 11 deletions(-) create mode 100644 tests/test_parent_domain.py -- 2.21.0