私は 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
ハンドルとして指定すると機能します。
なんで?