It would be very interesting to combine this with vmsplice/splice.
Good point. This kernel-centric approach is a very promising one, though not the design we are exploring in the Snabb Switch project.
Snabb Switch is instead very hardware-centric. That is: we see the world as CPU cores, DRAM banks, PCIe devices. We want to keep our inter-process communication as close to this model as possible, which is why Virtio is very appealing - it looks like a DMA-based interface between two pieces of hardware. In this sense the kernel is like a BIOS: something that got you up and running, and takes care of lots of ugly irrelevant details for you, but that you don't want to have the minimum possible interaction with.