I am trying to understand how Multiqueue tuntap interface works. Following the instructions provided at: https://www.kernel.org/doc/Documentation/networking/tuntap.txt I was able to create multiple queues. However, I don't know how to check the queus status and where they are created. I tried:
$ tc -s class show dev tap0
(where tap0 is my tap interface), I see around 255 queues, even for a single ioctl call with IFF_MULTI_QUEUE flag. So probably I am looking at the wrong place. Here is the snippet of the output of the above command:
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
Secondly, I am not sure how to steer packets to these queues based on some filter or classifier using TC or any other tool. I'll really appreciate if someone can shed some light on it.
PS: I'm not sure which is the best forum to ask such questions and will appreciate if someone can point me to the right one. I have tried: https://unix.stackexchange.com/questions/496043/multiqueue-tun-tap-interface but haven't got any convincing answer yet. Thanks!