- Get Started Years ago, Microsoft defined RSS (Receive-Side
Scaling) with the goal of improving packet processing by
enabling multiple cores to process packets concurrently. Today
RSS is implemented in modern 1-10 Gbit network adapters as a way
to distribute packets across RX queues. When incoming packets
are received, network adapters (in hardware) decode the packet
and hash the main packet header fields (e.g. IP address and
port). The hash result is used to identify into which ingress RX
queue the packet will be queued. In order to balance the traffic
evenly on the RX queues, RSS implements asymmetric hash. This
means that packets belonging to a TCP connection between host A
and B, will go to two different queues: A-to-B will go to queue
X, and B-to-A will go to queue Y, where X is different than Y.
This mechanism guarantees that the traffic is distributed as
much as possible on all available queues, but it has some
drawbacks as applications that need to analyze bi-directional
traffic (e.g. network monitor