Thanks Stephen.
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.
0x2c, 0xc6, 0x81, 0xd1, 0x5b, 0xdb, 0xf4, 0xf7,
0xfc, 0xa2, 0x83, 0x19, 0xdb, 0x1a, 0x3e, 0x94,
0x6b, 0x9e, 0x38, 0xd9, 0x2c, 0x9c, 0x03, 0xd1,
0xad, 0x99, 0x44, 0xa7, 0xd9, 0x56, 0x3d, 0x59,
0x06, 0x3c, 0x25, 0xf3, 0xfc, 0x1f, 0xdc, 0x2a,
Yes, we use accelerated network and our DPDK build includes mlx.
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.
We don't use layered encapsulation. Our packets are standard UDP packets.
No, we use the standard ETH_RSS_NONFRAG_IPV4_UDP.
Yes, we print the rss field in rte_mbuf. It's not byte swapped from what I can tell.
21.08 has a feature we wanted at the time. We haven't had time to switch to a LTS version.