Direct verbs (DV) provide fast data path execution. This series introduces the DV infrastructure to pyverbs: Allow providers to open contexts rather than use ibv_open_device. Add Mlx5Context and expose the mlx5dv_query_device. Noa Osherovich (4): pyverbs: Add support for providers' context pyverbs/mlx5: Add support for driver-specific context pyverbs: Add providers to cmake build pyverbs/mlx5: Add query device capability buildlib/pyverbs_functions.cmake | 11 +- pyverbs/CMakeLists.txt | 7 +- pyverbs/device.pxd | 1 + pyverbs/device.pyx | 17 +- pyverbs/providers/__init__.pxd | 0 pyverbs/providers/__init__.py | 0 pyverbs/providers/mlx5/CMakeLists.txt | 7 + pyverbs/providers/mlx5/__init__.pxd | 0 pyverbs/providers/mlx5/__init__.py | 0 pyverbs/providers/mlx5/libmlx5.pxd | 46 +++++ pyverbs/providers/mlx5/mlx5_enums.pyx | 1 + pyverbs/providers/mlx5/mlx5dv.pxd | 17 ++ pyverbs/providers/mlx5/mlx5dv.pyx | 253 ++++++++++++++++++++++++ pyverbs/providers/mlx5/mlx5dv_enums.pxd | 47 +++++ pyverbs/qp.pyx | 2 +- 15 files changed, 400 insertions(+), 9 deletions(-) create mode 100644 pyverbs/providers/__init__.pxd create mode 100644 pyverbs/providers/__init__.py create mode 100644 pyverbs/providers/mlx5/CMakeLists.txt create mode 100644 pyverbs/providers/mlx5/__init__.pxd create mode 100644 pyverbs/providers/mlx5/__init__.py create mode 100644 pyverbs/providers/mlx5/libmlx5.pxd create mode 120000 pyverbs/providers/mlx5/mlx5_enums.pyx create mode 100644 pyverbs/providers/mlx5/mlx5dv.pxd create mode 100644 pyverbs/providers/mlx5/mlx5dv.pyx create mode 100644 pyverbs/providers/mlx5/mlx5dv_enums.pxd -- 2.21.0