我是 Linux TC 的初学者。我无法弄清楚为什么我添加到接口根目录的某个qdisc不能通过指定其句柄来删除。
是的,我知道root
如果它附加到接口的根目录,我可以使用说明符删除它,但我也应该能够通过handle删除它。
root@pc:/home/pc# tc qdisc add dev enp0s3 root netem
root@pc:/home/pc# tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2
qdisc netem 8005: dev enp0s3 root refcnt 2 limit 1000
root@pc:/home/pc# tc qdisc delete dev enp0s3 handle 8005
RTNETLINK answers: Invalid argument
root@pc:/home/pc# tc qdisc delete dev enp0s3 root
root@pc:/home/pc#
在上面的示例中,添加了一个netem
qdisc,它的句柄显示为 8005。我尝试通过指定该句柄来删除它。这行不通。但显然,指定root
为句柄是有效的。
为什么?