Page MenuHomeVyOS Platform

random-detect QoS policies cause commit failures due to a missing tc parameter (avpkt)
Closed, ResolvedPublicBUG

Description

To reproduce:

set qos policy shaper QOS bandwidth 100mbit
set qos policy shaper QOS default bandwidth 100%
set qos policy shaper QOS default burst 10
set qos policy shaper QOS default queue-type random-detect
set qos interface eth1 egress QOS

Commit

vyos@r4# commit
[ qos ]
DEBUG/QoS: tc qdisc replace dev eth1 root handle 1: htb r2q 63 default 1
DEBUG/QoS: tc class replace dev eth1 parent 1: classid 1:1 htb rate 100000000
DEBUG/QoS: tc class replace dev eth1 parent 1:1 classid 1:1 htb rate 100000000 burst 10 quantum 1514 prio 20
DEBUG/QoS: tc qdisc replace dev eth1 parent 1:1 sfq
{'bandwidth': '100mbit',
 'default': {'bandwidth': '100%',
             'burst': '10',
             'codel_quantum': '1514',
             'flows': '1024',
             'interval': '100',
             'priority': '20',
             'queue_type': 'random-detect',
             'target': '5'}}
DEBUG/QoS: tc qdisc replace dev eth1 parent 1:1 red
VyOS had an issue completing a command.


Report time:      2024-02-12 17:03:35
Image version:    VyOS 1.5-rolling-202402090022
Release train:    current

Built by:         [email protected]
Built on:         Fri 09 Feb 2024 02:19 UTC
Build UUID:       e317156e-22af-4e37-8c3a-6a2305c7b684
Build commit ID:  8332ae79cbb5b6

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (Q35 + ICH9, 2009)
Hardware S/N:     
Hardware UUID:    166cfd25-7d3a-4eca-9ef6-0b655c9acf0f

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/trafficshaper.py", line 127, in update
    super().update(config, direction)
  File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 373, in update
    self._build_base_qdisc(config['default'], default_cls_id)
  File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 150, in _build_base_qdisc
    self._cmd(default_tc)
  File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 75, 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 qdisc replace dev eth1 parent 1:1 red
returned: 
exit code: 1


returned (err):
RED: Required parameter (limit, avpkt) is missing

[[qos]] failed
Commit failed
[edit]

Details

Version
VyOS 1.5-rolling-202402090022
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav triaged this task as Normal priority.
HollyGurza changed the task status from Open to In progress.Apr 12 2024, 5:42 AM
Viacheslav edited projects, added: VyOS 1.4 Sagitta (1.4.0-epa3); removed: VyOS 1.4 Sagitta.
Viacheslav moved this task from Open to Finished on the VyOS 1.5 Circinus board.
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta (1.4.0-epa3) board.
dmbaturin renamed this task from QoS policy shaper queue-type random-detect requires limit avpkt to random-detect QoS policies cause commit failures due to a missing tc parameter (avpkt).May 11 2024, 6:47 PM
dmbaturin removed a project: VyOS 1.5 Circinus.
dmbaturin edited a custom field.
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.