[Linux] TC(traffic control)流量控制實作筆記(2)

上篇提到的問題,主要是在於流量值的設定



此圖可看出,葉節點1:100和1:200的流量各設64k,
本來以為tc-tree會自動調節流量,不會讓葉節點的流量總和超過父節點。



但實際測試時,兩個葉節點同時跑的時候,都可以達到64k,
64k(葉節點)+64k(葉節點) > 64k(父節點)
已經超過設定的值了。

所以在設定流量值的時候要特別小心,
不能讓葉節點的值(或總和)超過父節點,否則設定就會失效了。

所以我們修改設定
tc class add dev eth1 parent 1:30 classid 1:100 htb rate 32768bps ceil 65536bps prio 2
tc class add dev eth1 parent 1:30 classid 1:200 htb rate 32768bps ceil 65536bps prio 2

rate我們可以設定成原本的1/2,變成32k(或是更小,但原則就是不要超過父節點的rate值)
但ceil不變,還是設定成64k。
(這邊的ceil指的是流量的最大值,設定上不能超過父節點的ceil值)

如此一來,tc-tree就會正確分配流量給子節點了。
較新的 較舊