tcviz
tcviz copied to clipboard
Does not work as expected (only prints single node)
Thanks for such a cool idea! It's a bit oldie and want to give it a try:
$ tc qdisc show > qdisc
$ tc class show > class
$ tc filter show > filter
$ ./tcviz.py qdisc class filter | dot -Tpng > tc.png
And the resulting the following below:
-
class
andfilter
seems empty, butqdisc
returns:
$ tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2
qdisc mq 0: dev ens3 root
qdisc fq_codel 0: dev ens3 parent :10 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :f limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :e limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :d limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :c limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :b limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :a limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :9 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :8 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :7 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :6 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :5 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :4 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :3 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :2 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: dev ens3 parent :1 limit 10240p flows 1024 quantum 9014 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc noqueue 0: dev kube-ipvs0 root refcnt 2
qdisc noqueue 0: dev flannel.1 root refcnt 2
qdisc noqueue 0: dev cni0 root refcnt 2
qdisc noqueue 0: dev vethf7dd3448 root refcnt 2
qdisc noqueue 0: dev veth7e81bce4 root refcnt 2
qdisc noqueue 0: dev veth93010202 root refcnt 2
qdisc noqueue 0: dev veth313cfc93 root refcnt 2
qdisc noqueue 0: dev veth8f2a3e4a root refcnt 2
qdisc noqueue 0: dev vethb2d0400b root refcnt 2
qdisc noqueue 0: dev vethf55eca95 root refcnt 2
qdisc noqueue 0: dev veth13a7e0e6 root refcnt 2
qdisc noqueue 0: dev vethccaf14a3 root refcnt 2
qdisc noqueue 0: dev vethfaff95a0 root refcnt 2
qdisc noqueue 0: dev veth4618f549 root refcnt 2
qdisc noqueue 0: dev vethacd30a32 root refcnt 2
qdisc noqueue 0: dev veth26f440f0 root refcnt 2
qdisc noqueue 0: dev veth652e9f86 root refcnt 2
qdisc noqueue 0: dev veth4274d4d2 root refcnt 2
qdisc noqueue 0: dev vethba4657b7 root refcnt 2
Any ideas on this? @ze-phyr-us
Hi @Dentrax. Sorry for the late response. I don't maintain this script anymore, but I had a quick look now. The script doesn't expect more than one qdisc with the same ID (0:
in this case). I'm not familiar with TC anymore, but it seems the output format has changed somewhat. The script certainly doesn't expect the dev ens3
part that comes after the ID (0:
) – see here: https://github.com/ze-phyr-us/tcviz/blob/master/Node.py#L24
I am sorry that I cannot help you further. The script is, sadly, very dated and unmaintained, and I haven't used TC in ages 🙈