Tc

如何更改classid的HTB費率?

  • January 7, 2020

我有 tc htb qdisc 設置,看起來像

    1:0
     |
    1:1
   /   \
1:10   1:11

# tc -s -d class show dev br0

以 1024kbit 速率和 ceil 顯示 1:10 類:

class htb 1:10 parent 1:1 prio quantum rate 1024Kbit ceil 1024Kbit linklayer ethernet burst 15Kb/1 mpu 0b cburst 1599b/1 mpu 0b level 0 
Sent 3271331 bytes 3482 pkt (dropped 0, overlimits 2132 requeues 0) 
backlog 0b 0p requeues 0
lended: 3482 borrowed: 0 giants: 0
tokens: 1866943 ctokens: 187255

我想更改為 1:10 級的 rate/ceil。我嘗試了什麼:

# tc class change dev br0 classid 1:10 rate 1kbit

# tc class change dev br0 parent 1:0 classid 1:10 rate 1kbit prio 1

我在網際網路上找不到任何使用 tc 的 change 命令的範例。我記得在 lartc 文件的某個地方有一個例子,但我再也找不到了。TC 手冊頁說它具有與 add 相同的命令語法,但我無法使其工作。錯誤說:

Error: Qdisc "rate" is classless.

也許你可以嘗試這樣的事情:

sudo tc class change dev br0 parent 1:1 classid 1:10 htb rate 1kbit ceil 5kbit burst 16b

我最終刪除了這個類並添加了一個具有相同類 ID 的新類定義

#tc class del dev br0 classid 1:10
#tc class add dev br0 parent 1:1 classid 1:10 rate 1kbit

引用自:https://serverfault.com/questions/904890