3 ms·
The idea is to run most of the networking stack in user space. This means that context switches aren't required on a per-packet basis anymore. The idea is not
by iofj 11y ago
The idea is to run most of the networking stack in user space. This means that context switches aren't required on a per-packet basis anymore.
The idea is not that you do your own packet processing in every app (although big gains can be had that way, fucking with TCP can pay off big, and avoids firewall issues with UDP protocols). But there are standard libraries for doing standard TCP and UDP over this. There are even libraries for doing non-standard (multipath) TCP with the netmap framework.
Also there is network interface hardware that effectively implements the netmap framework.
Plus think of the other advantages of this : userspace firewalls/deep packet inspection/proxys/... (that therefore can't ever crash the kernel, run with minimal privileges and when blown up can just be restarted)