BBC – High Speed Networking: Open Sourcing Our Kernel Bypass Work
Whilst Netmap helps us to reduce the number of copy operations required, we can further enhance performance by interacting directly with the network interface card (NIC) hardware, allowing multiple packets to be passed to the NIC at one time. This could be achieved by interacting directly with any vendor’s NIC driver from our applications, but given a desire to prototype with a range of network cards we didn’t want to have to write code to interact with each vendor’s driver directly. Thankfully, Netmap provides an abstraction layer to enable this.
The Netmap codebase includes patches for several vendors’ drivers which allow an application to interact with Netmap’s API, but under the hood directly pass data to and from the NIC hardware.