|
|
|
|
|
by ncmncm
2437 days ago
|
|
That can work, but if you want maximum performance, you need to use the ef_vi library, in openonload, that needs (a fair bit of) custom code. Exalink has libexanic, Napatech has their thing. libexanic is surprisingly elegant, and you can do a lot of the work (e.g. extracting a timestamp) while the rest of a packet arrives. Netronome has an eBPF way to allow you to run packet-handling code right in the NIC, maybe even freeing up a core. 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.