<div dir="ltr">Thanks Stephen.<div><br></div><div>We reconfigure the RSS key via rte_eth_dev_rss_hash_update(). We just set it to the same default key value which is below just in case it changes in the future.</div><div><br></div><div> 0x2c, 0xc6, 0x81, 0xd1, 0x5b, 0xdb, 0xf4, 0xf7,<br> 0xfc, 0xa2, 0x83, 0x19, 0xdb, 0x1a, 0x3e, 0x94,<br> 0x6b, 0x9e, 0x38, 0xd9, 0x2c, 0x9c, 0x03, 0xd1,<br> 0xad, 0x99, 0x44, 0xa7, 0xd9, 0x56, 0x3d, 0x59,<br> 0x06, 0x3c, 0x25, 0xf3, 0xfc, 0x1f, 0xdc, 0x2a,<br></div><div><br></div><div>Yes, we use accelerated network and our DPDK build includes mlx.</div><div><br></div><div>It happens on the first packet. However we don't know if subsequent packets will work as our application stops if the first is delivered incorrectly.</div><div><br></div><div>We don't use layered encapsulation. Our packets are standard UDP packets.</div><div><br></div><div>No, we use the standard <span style="background-color:rgba(29,28,29,0.04);color:rgb(224,30,90);font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;font-variant-ligatures:none;white-space:pre-wrap">ETH_RSS_NONFRAG_IPV4_UDP.</span></div><div><br></div><div>Yes, we print the rss field in rte_mbuf. It's not byte swapped from what I can tell.</div><div><br></div><div>21.08 has a feature we wanted at the time. We haven't had time to switch to a LTS version.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 4, 2022 at 3:18 PM Stephen Hemminger <<a href="mailto:stephen@networkplumber.org" target="_blank">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 Fri, 4 Nov 2022 10:15:36 -0700<br>
Yang Luan <<a href="mailto:luan.penny@gmail.com" target="_blank">luan.penny@gmail.com</a>> wrote:<br>
<br>
> We use netvsc PMD (drivers/net/netvsc/).<br>
> We don't explicitly configure the RETA table. We configure the device with<br>
> 40 rx queues (rte_eth_dev_configure) and use rte_eth_dev_rss_reta_query()<br>
> to query the RETA table (result posted earlier).<br>
<br>
More questions to help someone (not me I don't have free Azure access now);<br>
get a reproduction.<br>
<br>
Did you reconfigure the RSS key?<br>
The default for the netvsc PMD should be the same default as Mellanox.<br>
<br>
<br>
Have you enabled accelerated networking (ie VF). If so then does your DPDK<br>
build support Mellanox. Probably yes to both.<br>
<br>
Is this the first packet, or later packets in the flow?<br>
Are you using any layered encapsulation (like GRE or VXLAN), and/or IP options.<br>
<br>
Are you changing RSS options so that is different than default L3/L4?<br>
<br>
Are you printing the RSS key in the mbuf? It might be byte swapped.<br>
<br>
Why 21.08? it is not a long term supported version, and therefore does not<br>
receive bugfixes like:<br>
<br>
$ git log --oneline v21.08..v20.11.6 -- drivers/net/netvsc/ <br>
9d474a9565a5 net/netvsc: fix vmbus device reference in multi-process<br>
a61bd9df25dc net/netvsc: fix calculation of checksums based on mbuf flag<br>
0b5a6c7b32c8 fix spelling in comments and strings<br>
e97bb2a91151 net/netvsc: ignore unsupported packet on sync command<br>
</blockquote></div>