<div> </div><div>10.02.2023, 16:18, "Pavel Vazharov" <freakpv@gmail.com>:</div><blockquote><div><div><div><div>Hi,</div><div><br />I'm almost sure 82599ES doesn't support RSS with the L4 protocols (TCP, UDP, etc). As far as I remember I hit this issue about a year ago.</div></div>What is the value of `dev_info.flow_type_rss_offloads` obtained like:<br /><br />rte_eth_dev_info dev_info;<br />rte_eth_dev_info_get(nic_port_id, &dev_info);<br /><br /> </div>The `flow_type_rss_offloads` contains the supported RSS flags by the device.</div> <div><div>On Fri, Feb 10, 2023 at 3:10 PM Ruslan R. Laishev <<a href="mailto:zator@yandex.ru" rel="noopener noreferrer">zator@yandex.ru</a>> wrote:</div><blockquote style="border-left-color:rgb( 204 , 204 , 204 );border-left-style:solid;border-left-width:1px;margin:0px 0px 0px 0.8ex;padding-left:1ex"><div><span style="font-family:'georgia' , serif">Hello!</span></div><div> </div><div><span style="font-family:'georgia' , serif">I have tried to use RSS, I do the same piece of code on NXP ls2160 and on Intel with the 82599ES, on NXP I see that incoming traffic is distributed across queues.</span></div><div><span style="font-family:'georgia' , serif">On Intel I see that all incoming packet still in the queue #0. </span></div><div><span style="font-family:'georgia' , serif">So, what I'm need to check additionally (at initialization/setup time)   ?</span></div><div> </div><div><span style="font-family:'georgia' , serif">Thanks-in-advance.</span></div><div> </div><div> </div><div> </div><div><div><span style="font-family:'courier new' , monospace">10-02-2023 15:17:24.718 128431 [CGWPROC\tootoo2_cgw_start:1373] %TTR2CGW-I:  3---TTR3 [Device:0000:02:00.1, _PEA03:, WAN] --- modified RSS hash function based on hardware support,requested:0x3bffc configured:0x38d34</span></div><div> </div><div><span style="font-family:'courier new' , monospace">Translated bits for readability:</span></div><div><span style="font-family:'courier new' , monospace">10-02-2023 15:17:24.718 128431 [CGWPROC\tootoo2_cgw_start:1383]         RSS Offloads: RTE_ETH_RSS_IPV4|RTE_ETH_RSS_NONFRAG_IPV4_TCP|RTE_ETH_RSS_NONFRAG_IPV4_UDP|RTE_ETH_RSS_IPV6|RTE_ETH_RSS_NONFRAG_IPV6_TCP|RTE_ETH_RSS_NONFRAG_IPV6_UDP|RTE_ETH_RSS_IPV6_EX|RTE_ETH_RSS_IPV6_TCP_EX|RTE_ETH_RSS_IPV6_UDP_EX</span></div><div> </div><div><span style="font-family:'courier new' , monospace">Test IP traffic is generated by IPERF3 (TCP). Counters from <em style="color:#45c6d6;white-space:pre-line">struct</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace;white-space:pre-line"> </span><span style="color:#ff8080;font-family:'courier new' , monospace;white-space:pre-line">rte_eth_stats follows:</span></div><div> </div><div><span style="font-family:'courier new' , monospace">at NXP lx216010-02-2023; 15:19:18; dpni.2; _PEA01:; 1---PUZZLE; LAN; 272194; 8086631; 18122106; 12242301932; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">q0[33929; 1446431; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q1[46998; 1328423; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q2[28776; 1623997; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q3[41012; 1195463; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q4[23007; 427604; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q5[35160; 1150040; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q6[16089; 760039; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q7[47240; 154326; 0; 0; 0];</span></div><div> </div><div><span style="font-family:'courier new' , monospace">on Intel with 82599ES/520-2</span></div><div><span style="font-family:'courier new' , monospace">10-02-2023; 15:19:44; 0000:02:00.0; _PEA02:; 4---PUZZLE; LAN; 8122102; 442634; 12296494642; 29295238; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">q0[8122102; 442635; 12296494642; 29295286; 0];</span></div><div><span style="font-family:'courier new' , monospace">q1[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q2[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q3[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q4[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q5[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q6[0; 0; 0; 0; 0];</span></div><div><span style="font-family:'courier new' , monospace">q7[0; 0; 0; 0; 0];</span></div><div> </div></div></blockquote></div></blockquote><div><div> </div><div><span style="font-family:'georgia' , serif">Hello, Pavel!</span></div><div><br /><span style="font-family:'georgia' , serif">I added my own counters for an every worker (worker eq queue) for I/O operations, so I can see now that in really RSS is working.</span></div><div><span style="font-family:'georgia' , serif">The struct rte_eth_stats is not maintained accurately.</span><br /> </div><div>Thanks for the answer.</div><div> </div><div><div><span style="font-family:'courier new' , monospace">requested:0x3bffc configured:0x38d34 :</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_IPV4</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_NONFRAG_IPV4_TCP</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_NONFRAG_IPV4_UDP</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_IPV6</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_NONFRAG_IPV6_TCP</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_NONFRAG_IPV6_UDP</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_IPV6_EX</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_IPV6_TCP_EX</span></div><div><span style="font-family:'courier new' , monospace">RTE_ETH_RSS_IPV6_UDP_EX</span></div></div><div> </div><div> </div></div>