<div dir="ltr">We use netvsc PMD (drivers/net/netvsc/).<div>We don't explicitly configure the RETA table. We configure the device with 40 rx queues (rte_eth_dev_configure) and use rte_eth_dev_rss_reta_query() to query the RETA table (result posted earlier).</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 4, 2022 at 9:52 AM Stephen Hemminger <<a href="mailto:stephen@networkplumber.org">stephen@networkplumber.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, 1 Nov 2022 17:25:24 -0700<br>
Yang Luan <<a href="mailto:luan.penny@gmail.com" target="_blank">luan.penny@gmail.com</a>> wrote:<br>
<br>
> Hello,<br>
> <br>
> <br>
> Our application uses the net_netvsc driver in DPDK 21.08 on Azure. We found<br>
> an issue where RSS doesn’t deliver packets to the correct rx queue. The<br>
> instance type we use is Standard_L80s_v3 with MT27800 Family [ConnectX-5<br>
> Virtual Function] NICs. The NIC is configured with 40 rx queues and the<br>
> RETA table is configured (confirmed by rte_eth_dev_rss_reta_query()) as<br>
> below.<br>
> <br>
> <br>
> <br>
> 0: 0 1 2 3 4 5 6 7<br>
> <br>
> 8: 8 9 10 11 12 13 14 15<br>
> <br>
> 16: 16 17 18 19 20 21 22 23<br>
> <br>
> 24: 24 25 26 27 28 29 30 31<br>
> <br>
> 32: 32 33 34 35 36 37 38 39<br>
> <br>
> 40: 0 1 2 3 4 5 6 7<br>
> <br>
> 48: 8 9 10 11 12 13 14 15<br>
> <br>
> 56: 16 17 18 19 20 21 22 23<br>
> <br>
> 64: 24 25 26 27 28 29 30 31<br>
> <br>
> 72: 32 33 34 35 36 37 38 39<br>
> <br>
> 80: 0 1 2 3 4 5 6 7<br>
> <br>
> 88: 8 9 10 11 12 13 14 15<br>
> <br>
> 96: 16 17 18 19 20 21 22 23<br>
> <br>
> 104: 24 25 26 27 28 29 30 31<br>
> <br>
> 112: 32 33 34 35 36 37 38 39<br>
> <br>
> 120: 0 1 2 3 4 5 6 7<br>
> <br>
> <br>
> <br>
> One example is a packet received with rss key 0xEDE25D84 was incorrectly<br>
> delivered to rx queue 12. We expect it to be queue 4 as 0xEDE25D84 & 0x7F =<br>
> 4 assuming seven of the least significant bits (LSBs) are used for indexing<br>
> into the RETA table. Is it a bug or we made a wrong assumption on how the<br>
> RETA table is accessed with that device?<br>
> <br>
> <br>
> Thank you.<br>
> <br>
> Yang<br>
<br>
Are you using failsafe PMD or the native netvsc PMD?<br>
Are you programming reta table via DPDK or through other API's?<br>
</blockquote></div>