为什么 TC 规则树中的父类不起作用

为什么 TC 规则树中的父类不起作用

我的 TC 规则脚本中的父类无法正常工作!有人能告诉我我的脚本出了什么问题吗?以下是有关我的问题的一些详细信息:

摘自章节“9.5.4.4. 示例配置”Linux 高级路由和流量控制指南,我们看到,我们可以通过指定父类来限制子类的总速率,即使子类的速率总和大于父类的速率总和。

但是我在我的机器上试了一下,发现效果并不理想。下面是我的脚本,22端口是SecureCRT占用的。父类限制80和22端口的总速率为100KB,子类分别限制为60KB和80KB。

    # tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 10Mbit         \
         avpkt 1000 cell 8
    # tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 10Mbit  \
         rate 800kbit weight 80kbit prio 8 allot 1514 cell 8 maxburst 20      \
         avpkt 1000 bounded

    # tc class add dev eth0 parent 1:1 classid 1:3 cbq bandwidth 10Mbit  \
         rate 480kbit weight 48kbit prio 5 allot 1514 cell 8 maxburst 20      \
         avpkt 1000                       
    # tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 10Mbit  \
         rate 640kbit weight 64kbit prio 5 allot 1514 cell 8 maxburst 20      \
         avpkt 1000

    # tc qdisc add dev eth0 parent 1:3 handle 30: sfq 
    # tc qdisc add dev eth0 parent 1:4 handle 40: sfq

    # tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip \
         sport 80 0xffff flowid 1:3
    # tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip \
         sport 22 0xffff flowid 1:4

相关内容