title: Get network packets directly from network driver
body: <p>So, when a packet reaches a machine it is processed by the driver, then passed to the kernel yadda yadda until it reaches a program. I know all the perfectly sound reasons why this happens, but this obviously causes a time overhead.</p>
  
  <p>For a pure performance system, is it possible to have a program read the driver directly, and get packets directly from it instead of getting them from the kernel?</p>