This might be useful for ultra-low latency and/or high-performance services, for which absolute performance is more important than CPU cycles (with DPDK we'd have threads spinning at 100% CPU on the DPDK queues even when there's no packets to process);
The core changes might be the same needed also in #4, as both with UDP and DPDK we loose reliability and streaming of TCP.
This might be useful for ultra-low latency and/or high-performance services, for which absolute performance is more important than CPU cycles (with DPDK we'd have threads spinning at 100% CPU on the DPDK queues even when there's no packets to process); The core changes might be the same needed also in #4, as both with UDP and DPDK we loose reliability and streaming of TCP.