QoS policy limiter broken,
To reproduce (class 20 is empty):
set qos policy limiter my-policy class 10 bandwidth '20mbit' set qos policy limiter my-policy class 10 match LOCAL-NET ip destination address '192.0.2.0/24' set qos policy limiter my-policy class 20 bandwidth '10mbit' set qos policy limiter my-policy default bandwidth '30mbit' set qos interface eth1 ingress my-policy commit
commit:
vyos@r4# commit [ qos ] Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. Error: Cannot find specified qdisc on specified device. Error: Cannot delete qdisc with handle of zero. VyOS had an issue completing a command. Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/qos.py", line 240, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/qos.py", line 231, in apply tmp.update(shaper_config, direction) File "/usr/lib/python3/dist-packages/vyos/qos/limiter.py", line 27, in update super().update(config, direction) File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 328, in update self._cmd(filter_cmd) File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 74, in _cmd return cmd(command) ^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 155, in cmd raise OSError(code, feedback) PermissionError: [Errno 1] failed to run command: tc filter add dev eth1 parent ffff: prio 20 protocol all u32 match ip dst 192.0.2.0/24 flowid ffff:a action police conform-exceed drop/ok rate 20000000 burst 15k flowid ffff:a basic flowid ffff:14 returned: exit code: 1 noteworthy: cmd 'tc filter add dev eth1 parent ffff: prio 20 protocol all u32 match ip dst 192.0.2.0/24 flowid ffff:a action police conform-exceed drop/ok rate 20000000 burst 15k flowid ffff:a basic flowid ffff:14' returned (out): returned (err): What is "basic"? Usage: ... u32 [ match SELECTOR ... ] [ link HTID ] [ classid CLASSID ] [ action ACTION_SPEC ] [ offset OFFSET_SPEC ] [ ht HTID ] [ hashkey HASHKEY_SPEC ] [ sample SAMPLE ] [skip_hw | skip_sw] or u32 divisor DIVISOR Where: SELECTOR := SAMPLE SAMPLE ... SAMPLE := { ip | ip6 | udp | tcp | icmp | u{32|16|8} | mark } SAMPLE_ARGS [ divisor DIVISOR ] FILTERID := X:Y:Z NOTE: CLASSID is parsed at hexadecimal input. [[qos]] failed Commit failed [edit] vyos@r4#