如何手动将数据包放入 TX 队列的头部?

How can I manually put a packet to the Head of TX queue?

据我所知,为了发送数据包,网络驱动程序将修改 TDT(传输描述符尾部)以指向该数据包,NIC 将从 TDH(传输描述符头)读取,发送数据包并修改这个TDH。

我想要的是将一个数据包放到TX队列的头部。它可以实现吗?如果可以,我该怎么做?

提前致谢。

我认为,您必须大量修补 NIC 的驱动程序才能执行此操作。

但是在 linux (tc qdisc add dev eth0 root handle 1: prio) 中可以使用 prio qdisc 轻松实现优先级排序。只需使用适当的 TOS/DSCP 标记标记您的 high-priority 数据包,然后使用 tc filter.

将它们放入 flowid 1:1