Hello,
Our application uses the net_netvsc driver in DPDK 21.08 on Azure. We found an issue where RSS doesn’t deliver packets to the correct rx queue. The instance type we use is Standard_L80s_v3 with MT27800 Family [ConnectX-5 Virtual Function] NICs. The NIC is configured with 40 rx queues and the RETA table is configured (confirmed by rte_eth_dev_rss_reta_query()) as below.
0: 0 1 2 3 4 5 6 7
8: 8 9 10 11 12 13 14 15
16: 16 17 18 19 20 21 22 23
24: 24 25 26 27 28 29 30 31
32: 32 33 34 35 36 37 38 39
40: 0 1 2 3 4 5 6 7
48: 8 9 10 11 12 13 14 15
56: 16 17 18 19 20 21 22 23
64: 24 25 26 27 28 29 30 31
72: 32 33 34 35 36 37 38 39
80: 0 1 2 3 4 5 6 7
88: 8 9 10 11 12 13 14 15
96: 16 17 18 19 20 21 22 23
104: 24 25 26 27 28 29 30 31
112: 32 33 34 35 36 37 38 39
120: 0 1 2 3 4 5 6 7
One example is a packet received with rss key 0xEDE25D84 was incorrectly delivered to rx queue 12. We expect it to be queue 4 as 0xEDE25D84 & 0x7F = 4 assuming seven of the least significant bits (LSBs) are used for indexing into the RETA table. Is it a bug or we made a wrong assumption on how the RETA table is accessed with that device?
Thank you.
Yang