We need to talk about NICs
Pravin Shinde, Antoine Kaufmann, Timothy Roscoe, Stefan Kaestle · 2013
Operating systems fail both to efficiently exploit, and to effectively manage, the considerable hardware resources of modern network interface controllers. We survey the kinds of hardware facilities available and their applica-bility, and then investigate (and critique) the reasons why OS designers eschew core support for such features. We then describe Dragonet, a new network stack de-sign based on explicit descriptions of NIC capabilities, aimed at making the best use of today’s and tomor-row’s networking hardware. Dragonet represents both the physical capabilities of the network hardware and the current protocol state of the machine as dataflow graphs. We then embed the former into the latter, instantiating the remainder in software. 1