Linux:HTB+;PRIO qdisc:有时为空的PRIO 1队列
我现在面临一种无法解释自己的行为 下面是我试图做的:限制通过接口(enp0s8)的发送速率并应用PRIO qdisc。数据包在其DSCP字段之后被发送到PRIO qdisc的适当频带 为此,我应用了HTB(塑造交通)和PRIO qdisc 出于测试目的,我使用iperf发送trafic 以下是HTB和PRIO配置:Linux:HTB+;PRIO qdisc:有时为空的PRIO 1队列,linux,qos,Linux,Qos,我现在面临一种无法解释自己的行为 下面是我试图做的:限制通过接口(enp0s8)的发送速率并应用PRIO qdisc。数据包在其DSCP字段之后被发送到PRIO qdisc的适当频带 为此,我应用了HTB(塑造交通)和PRIO qdisc 出于测试目的,我使用iperf发送trafic 以下是HTB和PRIO配置: #HTB qdisc tc qdisc add dev enp0s8 root handle 1: htb default 1 tc class add dev enp0s8 par
#HTB qdisc
tc qdisc add dev enp0s8 root handle 1: htb default 1
tc class add dev enp0s8 parent 1: classid 1:1 htb rate 2000kbit ceil
2000kbit burst 2000kbit
# PRIO qdisc
tc qdisc add dev enp0s8 parent 1:1 handle 2: prio bands 4
tc qdisc add dev enp0s8 parent 2:1 pfifo
tc qdisc add dev enp0s8 parent 2:2 pfifo
tc qdisc add dev enp0s8 parent 2:3 pfifo
tc qdisc add dev enp0s8 parent 2:4 pfifo
# PRIO filters
tc filter add dev enp0s8 parent 2:0 prio 1 protocol ip u32 match ip tos 0x28 0xff flowid 2:1
tc filter add dev enp0s8 parent 2:0 prio 2 protocol ip u32 match ip tos 0x38 0xff flowid 2:2
tc filter add dev enp0s8 parent 2:0 prio 3 protocol ip u32 match ip tos 0x48 0xff flowid 2:3
tc filter add dev enp0s8 parent 2:0 prio 4 protocol ip u32 match ip tos 0x58 0xff flowid 2:4
以下是我的iperf脚本,用于测试目的:
killall iperf
iperf -c 192.168.56.1 -u -b 2.4m -l 1458B -S 0x58 -t 1024 &
sleep 20
iperf -c 192.168.56.1 -u -b 2.4m -l 1458B -S 0x38 -t 1024 &
sleep 20
iperf -c 192.168.56.1 -u -b 2.4m -l 1458B -S 0x28 -t 1024 &
通过该测试,预计会出现以下行为: