htb 带有内部 gred,如何设置过滤器以达到 DP

htb 带有内部 gred,如何设置过滤器以达到 DP

我想创建一个 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?

相关内容