<div dir="ltr"><div dir="ltr"><div>Good afternoon,</div><div><br></div><div>I am working on learning DPDK in an attempt to write a DPDK based application and I have a few questions. </div><div><span style="background-color:rgb(255,255,255)"><br></span></div><div><p style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;font-size:15px;vertical-align:baseline;box-sizing:inherit;clear:both"><span style="background-color:rgb(255,255,255)"><font color="#000000">My setup:</font></span></p><ul style="margin-top:0px;margin-right:0px;margin-left:30px;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;font-size:15px;vertical-align:baseline;list-style-position:initial;box-sizing:inherit"><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">2 x Intel Xeon Gold 6348 CPU @ 2.6 Ghz</font></span><ul style="margin-right:0px;margin-bottom:0px;margin-left:30px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;list-style:disc;box-sizing:inherit"><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">28 cores per socket</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Max 3.5 Ghz</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Hyperthreading disabled</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Ubuntu 22.04.1 LTS</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Kernel 5.15.0-53-generic</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Cores set to performance governor</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">4 x Sabrent 2TB Rocket 4 Plus in RAID0 Config</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">128 GB DDR4 Memory</font></span></li><li style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">10 1GB HugePages (Can change to what is required)</font></span></li></ul></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">1 x Mellanox ConnectX-5 100gbe NIC</font></span><ul style="margin-right:0px;margin-bottom:0px;margin-left:30px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;list-style:disc;box-sizing:inherit"><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><code style="margin:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;box-sizing:inherit;white-space:pre-wrap;background-color:rgb(255,255,255)"><font color="#000000">31:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]</font></code></li><li style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">Firmware-version: 16.35.1012</font></span></li></ul></li><li style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">UDP Source:</font></span></li><ul style="margin-right:0px;margin-bottom:0px;margin-left:30px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;list-style:disc;box-sizing:inherit"><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">100 gbe NIC</font></span></li><li style="margin-top:0px;margin-right:0px;margin-left:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">9000 MTU Packets</font></span></li><li style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline;box-sizing:inherit"><span style="background-color:rgb(255,255,255)"><font color="#000000">ipv4-udp packets</font></span></li></ul></ul><div><br></div></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px">The UDP source provides packets with 4 different destination ports. I want to direct each port to a queue and have writer threads pull data from the queue and write the payloads to one file per queue. </span></font></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px"><br></span></font></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px">My questions are:</span></font></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px">1. How can I direct the data to different queues depending on port destination? RSS or rte_flow? If so how do I direct it to do so?</span></font></div><div><br></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px">2. Can you have one lcore per queue or does it have to be one lcore per port? </span></font></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px"><br></span></font></div><div><font color="#000000" face="-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif"><span style="font-size:15px">3. How can I get to the payload in the packets? Any code examples of this? </span></font></div><div><br></div><div>Thanks,</div><div>DB</div></div></div>