I’m somewhat confused what you’re asking here. The two technologies that you mentioned do not provide the ability to share a PCIe device to my knowledge which is what I understand you wish to do. The first allows network cards to directly access host memory and perform data transfers without consulting the CPU while the other allows for the sharing of a PCIe root or bus, not allowing multiple systems to access the same hardware device at the same time.
I’ve heard of proprietary solutions, which makes sense because if you want to virtualize multiple instances of one physical hardware device I don’t see how you can do that efficiently without really intimate knowledge of device internals. You have to have separate state for these things, and I think that would be really challenging to do for an open source project.
Anyway, just thought I would open up the discussion because I didn’t see any other comments. I hope to learn something.
I’m in the early stages of becoming a billionaire. Now I just need approximately a smidge less than a billion dollars.