<div><div><span style="font-family:'georgia' , serif">There is what i do at xmiter side, may be u will get a quantum to see a code of pupil:  https://pastebin.com/1WMyXtr5</span></div></div><div> </div><div><span style="font-family:'georgia' , serif">I spent some time with the testpmd, sorry but there is not an ability to get rate information on sending, may be i'll add it into the code ...</span></div><div><span style="font-family:'georgia' , serif">Some statistics (</span><span style="color:#ff8080;white-space:pre-line">rte_eth_stats)  </span><span style="font-family:'georgia' , serif">:</span></div><div> </div><div><div><span style="font-family:'courier new' , monospace">Date;Time;Device;Port;Name;Area;In pkts;Out pkts;In bytes;Out bytes;In missed;In errors;Out errors;No mbufs;</span></div><div><span style="font-family:'georgia' , serif">(payload is 0 octets)</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:14:10; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122753; 0; 1563085750; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:14:20; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122392; 0; 1563057008; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:14:30; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21121978; 0; 1563024500; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:14:40; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122012; 0; 1563028888; 0; 0; 0; 0</span></div><div> </div><div><div><span style="font-family:'georgia' , serif">(payload is 1024 octets)</span></div></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:15:20; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246799; 0; 4648659464; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:15:30; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246456; 0; 4648360016; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:15:40; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246168; 0; 4648108408; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:15:50; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246143; 0; 4648084478; 0; 0; 0; 0</span></div><div><span style="font-family:'courier new' , monospace">26-12-2022; 22:16:00; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246129; 0; 4648070294; 0; 0; 0; 0</span></div><div> </div><div>A piece of the DPDK-DEVBIND.SH</div></div><div><div><span style="font-family:'courier new' , monospace">0000:02:00.0 'I211 Gigabit Network Connection 1539' if=enp2s0 drv=igb unused=igb_uio,vfio-pci *Active*</span></div><div> </div></div><div>26.12.2022, 16:22, "Ruslan R. Laishev" <zator@yandex.ru>:</div><blockquote><div>Thanks for the answer.</div><div> </div><div>Oops, sorry, some details:</div><div>- one core run generator routine</div><div>- one core run routine to save/display statistic</div><div> </div><div>core run a generator routine like:</div><div> </div><div>while (1) {<!-- --></div><div>get buffer from pool</div><div><div>make eth+ip+udp header (it's static content)</div><div>generate payload like memset(packet.payload , 'A' + something, payload_size);</div><div>generate packet sequence and CRC32C  - and add it to the payload part</div><div>"send" packet to tx_buffer</div><div> </div><div>if (tx_buffer.size == tx_buffer.length)</div><div>do flush()</div></div><div>}</div><div> </div><div>"header; part of the packet : sizeof(eth+ip+udp) -</div><div>"payload" part - 20-1024 octets</div><div> </div><div>RSS - it's on received side, yes ?</div><div> </div><div>testpmd - have not tried, I'll.</div><div> </div><div> </div><div>26.12.2022, 16:07, "Dmitry Kozlyuk" <<a href="mailto:dmitry.kozliuk@gmail.com" rel="noopener noreferrer">dmitry.kozliuk@gmail.com</a>>:</div><blockquote><p>Hi,<br /><br />2022-12-26 15:20 (UTC+0300), Ruslan R. Laishev:</p><blockquote> I studying programming with DPDK SDK . So I write a small app to send/receive packets , now I testing it and see next situation:<br /> iperf3 show  9,4 - 9,7 Gbps on TCP<br />  <br /> my app can *send* only at 4+Gbps (I see counters in the rte_eth_stats) .  I have tried to speed-up my app by:<br /> -  using 1+ number of TX queues (device claim support 64)<br /> -  increase size of burst from 32 up to 128  <br /> - turn off any offloads related to checksumming<br />  <br /> No effect.</blockquote><p><br />Please tell more about what your app does and how (w.r.t. DPDK usage).<br />Are you sure that all cores are loaded? E.g. if you send identical packets,<br />RSS can steer them all to a single queue and thus a single core.<br /><br />What performance do you see using testpmd with txonly/rxonly forward mode,<br />if applicable?<br /><br />What is the packet performance, i.e. Mpps, not Gbps, and packet size?<br />Unless you do TCP payload processing (or compute large payload checksums),<br />packets per second usually matter rather than bits per second.</p></blockquote><div> </div><div> </div><div><span style="font-family:'georgia' , 'palatino'">--- </span></div><div><span style="font-family:'georgia' , 'palatino'">С уважением,<br />Ruslan R. Laishev</span></div><div><span style="font-family:'georgia' , 'palatino'">OpenVMS bigot, natural born system/network progger, C contractor.</span></div><div><span style="font-family:'georgia' , 'palatino'">+79013163222</span></div><div><span style="font-family:'georgia' , 'palatino'">+79910009922</span></div><div> </div></blockquote><div> </div><div> </div><div><span style="font-family:'georgia' , 'palatino'">--- </span></div><div><span style="font-family:'georgia' , 'palatino'">С уважением,<br />Ruslan R. Laishev</span></div><div><span style="font-family:'georgia' , 'palatino'">OpenVMS bigot, natural born system/network progger, C contractor.</span></div><div><span style="font-family:'georgia' , 'palatino'">+79013163222</span></div><div><span style="font-family:'georgia' , 'palatino'">+79910009922</span></div><div> </div>