Receive side scaling (RSS) is a technology that enables the distribution of received packets between multiple RX queues using a predefined hash function. It enabled multicore CPU to process packets from different queues on different cores.
Symmetric RSS promise is to populate two-way packets from the same TCP connection to the same RX queue. As a result statistics on the different connections could be stored in the per-queue data structures avoiding any need for locking.
The approach to configuring symmetric RSS in XL710 is different from the standard DPDK approach. Thus i40e driver offers specific API for this purpose.
DPDK 18.05.1 was used for testing.
To make symmetric RSS work a default hash key has to be replaced with a custom one.
To enable symmetric RSS i40e driver provides API to setup hardware registers.
- How to set up RSS hash function in XL710 to receive IPv4 flow type?
- Intel® Ethernet Controller XL710
- DPDK Design Tips (Part 1 – RSS)
- Introduction to Receive Side Scaling
- Symmetric RSS (Receive-Side scaling)
- [dpdk-dev] Symmetric RSS Hashing in DPDK
- [dpdk-dev] Symmetric RSS Hashing, Part 2