On Tue, 13 Dec 2016, Hannes Frederic Sowa wrote: > > Interesting. So you even imagine sockets registering memory regions > > with the NIC. If we had a proper NIC HW filter API across the drivers, > > to register the steering rule (like ibv_create_flow), this would be > > doable, but we don't (DPDK actually have an interesting proposal[1]) > > On a side note, this is what windows does with RIO ("registered I/O"). > Maybe you want to look at the API to get some ideas: allocating and > pinning down memory in user space and registering that with sockets to > get zero-copy IO.
Yup that is also what I think. Regarding the memory registration and flow steering for user space RX/TX ring please look at the qpair model implemented by the RDMA subsystem in the kernel. The memory semantics are clearly established there and have been in use for more than a decade.