我和室友各有一个 Raspberry Pi 路由器。带宽分配如下:
1:0(htb)
|
1:1(16mbit/s)
/ \
1:2(8mbit/s) 1:ffff(8mbit/s)
如果我添加过滤器,其父(tc filter add dev wlan0 parent 1:0 protocol ip prio 1 handle 0x0002 fw flowid 1:2)
级为 1:0 ,它工作得很好。但是,如果我添加过滤器,其类为 1:1 ,该命令不会报告任何错误,但命令没有输出tc filter show dev wlan0
。
问题:
1. 为什么我将过滤器设置为 1:1 时不起作用?
2. 我可以将过滤器设置为 1:1 之类的子类吗?
答案1
过滤器附加到入口队列规则的根,而不是类。因此,在您的案例中,所有过滤器都应使用
parent 1:0
选项创建。要通过类别传递流量,您应该为每个类别创建一个带有
flowid ...
或classid ...
选项的过滤器。因此,在您的情况下,过滤器应该看起来像(如果我理解正确的话):
tc filter add dev wlan0 parent 1:0 protocol ip prio 1 handle 0x0002 fw flowid 1:2
tc filter add dev wlan0 parent 1:0 protocol ip prio 2 handle 0xffff fw flowid 1:ffff