<div dir="ltr">Hi list,<div><br></div><div>I'm curious how DPDK programs the NIC to receive/transmit packets when there are multiple queues on a single port.</div><div><br></div><div>As for RX, the answer might be clear. </div><div>The NIC can only receive a packet once at a time, since the cable only outputs one signal (0 or 1) at a time (correct me if I'm wrong).</div><div>Therefore the NIC can receive a packet, check it's information, and finally put in into the right queue via some policies, e.g. RSS, all sequentially.</div><div><br></div><div>However, it confuses me when it comes to TX.</div><div>As there are multiple TX queues on the same port, the NIC must decide which queue to get packets from when it's idle.</div><div>This is where scheduling lies. How does the NIC select the queue? Round-Robin? Does it have to enforce fairness among the queues? </div><div><br></div><div>I'm wondering where I can find some documentation on this issue. Thank you!</div><div><br></div><div><br></div><div>Best Regards,</div><div>Fengkai</div></div>