【問題】如何透過Linux command 實現 strict priority ?



贊助商連結


joy.yw.chang
2008-09-26, 06:17 PM
各位大大,
小弟想用 Linux的 TC command 實現 Strict priority.
我有看到有人用 PRIO這各演算法實現, 但是我試過 好像無法達到真正strict priority queue的效果. 理論上應該是高優先權的一類傳送完之後 才會傳送下一優先權的封包. 但是我的測試結果好像兩種traffic都會同時輸出.
我的環境是 Fedora 7.0
我的script是:

iptables -I PREROUTING -t mangle -i ! eth0 -p tcp -m mark --mark 0 -j MARK --set-mark 1
iptables -I PREROUTING -t mangle -i ! eth0 -p udp -m mark --mark 0 -j MARK --set-mark 2

tc qdisc add dev eth0 root handle 1: prio bands 4
tc qdisc add dev eth0 parent 1:1 handle 10: pfifo limit 100
tc qdisc add dev eth0 parent 1:2 handle 20: pfifo limit 100
tc qdisc add dev eth0 parent 1:3 handle 30: pfifo limit 100
tc qdisc add dev eth0 parent 1:4 handle 40: pfifo limit 100
tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw classid 1:1
tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw classid 1:2

是否我的語法有錯誤,或是我的觀念不對, 煩請大大不吝指教.
謝謝.