title: Using multi-queue NICs in Linux
body: <p>I've read a lot about Receive Side Scaling (RSS), Receive Packet Steering (RPS) and similar technologies, but I'm at a loss about how I can actually use those in my programs, that is to partition incoming packets between different threads/processes.</p>
  
  <p>I do know about PF_RING, but I suppose there must be some base support in the Linux kernel itself. After all, Interl for example boasts about its RSS technology in its website and claims Linux support. Also, RPS is outside the scope of PF_RING. Another reason I'm reluctant about using PF_RING is that they have patched network drivers, and some of those patched drivers seem to be out of date.</p>
  
  <p>I've extensively googled the topic, but the best I've found is about enabling RSS or RPS support, and not how I can programatically use them.</p>