我想创建一个 qos htb 类,并且此类中有一个 gred 队列。
如何为 gred 队列中的每个红色队列添加一个工作过滤器?
我尝试的是:
DEV=lo
SOMEGREDETTINGS="limit 60KB min 15KB max 45KB burst 20 avpkt 1000 bandwidth 1Mbit probability 0.02"
tc qdisc del dev $DEV root > /dev/null
tc qdisc add dev $DEV root handle 1:0 htb
tc class add dev $DEV parent 1:0 classid 1:1 htb rate 1Mbit ceil 1Mbit
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 150Kbit ceil 1Mbit
tc qdisc add dev $DEV parent 1:10 handle 110: gred setup DPs 3 default 2 grio
tc qdisc change dev $DEV parent 1:10 handle 110:1 gred $SOMEGREDETTINGS DP 0 prio 1
tc qdisc change dev $DEV parent 1:10 handle 110:2 gred $SOMEGREDETTINGS DP 1 prio 2
tc qdisc change dev $DEV parent 1:10 handle 110:3 gred $SOMEGREDETTINGS DP 2 prio 3
tc filter add dev $DEV parent 1:0 protocol ip prio 1 u32 match ip dport 5000 0xffff classid 1:1
tc filter add dev $DEV parent 1:1 protocol ip prio 1 u32 match ip dport 5000 0xffff classid 1:10
tc filter add dev $DEV parent 1:10 protocol ip prio 1 u32 match ip dport 5000 0xffff flowid 110:3
我预计端口 5000 的流量将到达 DP 2 或 110:3,但实际上它到达的是 DP 0 或 110:1
我该如何以正确的方式设置过滤器以达到 DP 2?