Linux

tc:一個 qdisc 用於兩個類(多隊列)

  • October 7, 2020

我的伺服器上的預設tc配置是:

# tc class show dev ens5
class mq :1 root
class mq :2 root

# tc qdisc show dev ens5
qdisc mq 0: root
qdisc fq 0: parent :2 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 18030 initial_quantum 90150 low_rate_threshold 550Kbit refill_delay 40.0ms
qdisc fq 0: parent :1 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 18030 initial_quantum 90150 low_rate_threshold 550Kbit refill_delay 40.0ms

我正在嘗試複製這個確切的配置,但值已更改。

似乎我無法更改上面列出的那些,所以我嘗試了以下方法:

tc qdisc add dev ens5 root mq

這會將設備的類更改為以下內容:

# tc class show dev ens5
class mq 1:1 root
class mq 1:2 root

但是,我似乎無法創建兩個fq具有相同句柄的 qdisc(0:在上面的範例中)

我正在嘗試這個:

# tc qdisc add dev ens5 parent 1:1 handle 10: fq initial_quantum 48448 maxrate 200Mbit
# tc qdisc add dev ens5 parent 1:2 handle 10: fq initial_quantum 48448 maxrate 200Mbit
Error: Exclusivity flag on, cannot override.

有什麼方法可以讓qdisc兩個類都指向一個?

每個隊列規則都必須有唯一的句柄。此外,隊列規則和類的圖應該是非循環的:每個節點應該只有一個父節點。所以,沒有辦法實現你想要的。

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