Well solarflare/openonload allow you to bypass the kernel and change literally none of your code via LD preload.
Solarflare has ruled the roost, but Xilinx bought them out, and the future of their NICs is cloudy. Mellanox used to be a big deal; now they are part of NVIDIA. Mellanox and Solarflare (like Napatech) have spent a great deal of effort to make kernel bypass work for clients running in VMs.
The thing with onload is the sheer simplicity which makes it an easy sell. Also handy to tweak socket options with env vars. They also have a direct tcp lib if you need a some extra nanos. Templates sends too.
Not heard of netronome and never used libexanic.
These approaches mean you have to invest more in external passive monitoring tools as is stats are of little help.
Excerpt:
"Researchers have long predicted the demise of the operating system [21, 26, 41]. As datacenter servers increasingly incorporate I/O devices that let applications bypass the OS kernel (e.g., RDMA [12] and DPDK [15] network devices or SPDK storage devices), this prediction may finally come true. While kernel-bypass devices do eliminate the OS kernel from the I/O path, they do not handle the kernel’s most important job: offering higher-level abstractions. This paper argues for a new high-level, device-agnostic I/O abstraction for kernel-bypass devices. We propose the Demikernel, a new library OS architecture for kernel-bypass devices."
That's the WHY of the Demikernel...