我试图了解 Multiqueue tuntap 接口是如何工作的。按照https://www.kernel.org/doc/Documentation/networking/tuntap.txt提供的说明, 我能够创建多个队列。但是,我不知道如何检查队列状态以及它们的创建位置。我试过了:
$ tc -s class show dev tap0
(其中 tap0 是我的点击界面),我看到大约 255 个队列,即使对于带有 IFF_MULTI_QUEUE 标志的单个 ioctl 调用也是如此。所以可能我看错地方了。以下是上述命令的输出片段:
class mq :1 root
Sent 4741 bytes 37 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
class mq :2 root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
.
.
.
class mq :ff root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
class mq :100 root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
其次,我不确定如何使用 TC 或任何其他工具基于某些过滤器或分类器将数据包引导到这些队列。如果有人能对此有所了解,我将不胜感激。
PS:我不确定哪个是提出此类问题的最佳论坛,如果有人能指出我正确的论坛,我将不胜感激。我试过了: https ://unix.stackexchange.com/questions/496043/multiqueue-tun-tap-interface 但还没有任何令人信服的答案。谢谢!