QoS shaper ceiling does not work.
VyOS configuration:
set qos interface eth0 egress 'test' set qos policy shaper test bandwidth '330mbit' set qos policy shaper test class 23 match 10 ip destination address '192.168.122.11' set qos policy shaper test default bandwidth '20mbit' set qos policy shaper test default ceiling '30mbit' set qos policy shaper test default queue-type 'fair-queue'
Debug
{'bandwidth': '330mbit', 'class': {'23': {'bandwidth': 'auto', 'burst': '15k', 'codel_quantum': '1514', 'flows': '1024', 'interval': '100', 'match': {'10': {'ip': {'destination': {'address': '192.168.122.11'}}}}, 'queue_type': 'fq-codel', 'target': '5'}}, 'default': {'bandwidth': '20mbit', 'burst': '15k', 'ceiling': '30mbit', 'codel_quantum': '1514', 'flows': '1024', 'interval': '100', 'priority': '20', 'queue_type': 'fair-queue', 'target': '5'}} DEBUG/QoS: tc qdisc replace dev eth0 root handle 1: htb r2q 206 default 18 DEBUG/QoS: tc class replace dev eth0 parent 1: classid 1:1 htb rate 330000000 DEBUG/QoS: tc class replace dev eth0 parent 1:1 classid 1:17 htb rate 330000000 burst 15k quantum 1514 DEBUG/QoS: tc qdisc replace dev eth0 parent 1:17 sfq DEBUG/QoS: tc class replace dev eth0 parent 1:1 classid 1:18 htb rate 20000000 burst 15k quantum 1514 prio 20 DEBUG/QoS: tc qdisc replace dev eth0 parent 1:18 sfq DEBUG/QoS: tc qdisc replace dev eth0 parent 1:17 fq_codel quantum 1514 flows 1024 interval 100 interval 100 target 5 noecn DEBUG/QoS: tc filter replace dev eth0 parent 1: protocol all u32 match ip dst 192.168.122.11 flowid 1:17
Expected rule:
sudo tc class add dev eth0 parent 1:1 classid 1:18 htb rate 20000000 ceil 30000000 burst 15k