Skip to content

Adding RDMA proxy for /dev/uverbsX devices to gVisor#13731

Draft
TheCoolDinosuar wants to merge 6 commits into
google:masterfrom
TheCoolDinosuar:enable-rdma
Draft

Adding RDMA proxy for /dev/uverbsX devices to gVisor#13731
TheCoolDinosuar wants to merge 6 commits into
google:masterfrom
TheCoolDinosuar:enable-rdma

Conversation

@TheCoolDinosuar

@TheCoolDinosuar TheCoolDinosuar commented Jul 16, 2026

Copy link
Copy Markdown

Based on #13297, this PR adds the --rdmaproxy flag which allows for RDMA commands to work inside gVisor sandboxes through a mostly blind passthrough proxy. This allows for ibv_devinfo, ibv_devices, ibv_rc_pingpong, and ib_write_bw to work on containers with RDMA devices mounted. It takes a lot from tpuproxy's implementation for rdmaDevice and rdmaFD to allow access to /dev/uverbsX devices. For device discovery in RDMA, it implements a new netlink protocol. Next, MR registration is also implemented in the sentry to make page pinning work. For iRDMA, reimplementing CQ/QPs is actually not necessary to get ibv_rc_pingpong and ib_write_bw to work due to CQ/QP buffers being registered as MRs. But this will need to be done for other providers.

Implements the legacy write API.
Assisted by Claude.

@ayushr2

ayushr2 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

@TheCoolDinosuar I'm already doing this work. I will send my patches upstream shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants