Page MenuHomeVyOS Platform

QoS: 'ether protocol X' match crashes commit
Closed, ResolvedPublicBUG

Description

A shaper class matching ether protocol (arp, ip, ipx - anything other than the default all) fails to commit

vyos@MK2707-2# compare commands

set qos interface eth2 egress 'TEST'
set qos policy shaper TEST bandwidth '100mbit'
set qos policy shaper TEST class 10 bandwidth '50mbit'
set qos policy shaper TEST class 10 match RULE-1 ip source address '10.10.0.0/24'
set qos policy shaper TEST class 10 set-dscp 'AF21'
set qos policy shaper TEST class 20 bandwidth '10mbit'
set qos policy shaper TEST class 20 match RULE-2 ether protocol 'arp'
set qos policy shaper TEST class 20 set-dscp 'AF21'
set qos policy shaper TEST default bandwidth '50mbit'

[edit]
vyos@MK2707-2# commit
[ qos ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/services/vyos-configd", line 109, in run_script
    config_manager.apply(script_name, c)
  File "/usr/lib/python3/dist-packages/vyos/configmanager.py", line 136, in apply
    mod.apply(config_dict)
  File "/usr/libexec/vyos/conf_mode/qos.py", line 391, in apply
    apply_interface(qos, ifname)
  File "/usr/libexec/vyos/conf_mode/qos.py", line 373, in apply_interface
    shaper_type(ifname).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 399, in update
    self._cmdl(filter_cmd)
  File "/usr/lib/python3/dist-packages/vyos/qos/base.py", line 78, in _cmdl
    return cmdl(command)
           ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/utils/process.py", line 217, in cmdl
    raise OSError(code, feedback)
FileNotFoundError: [Errno 2] failed to run command: tc filter add dev eth2 parent 1: protocol arp prio 1 u32 match u32 0 0 action police rate 10000000 burst 15k flowid 1:14
returned:
exit code: 2

[[qos]] failed
Commit failed

Details

Version
VyOS 2026.07.24-0032-rolling; 1.5.0; 1.4.4
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

natali-rs1985 changed the task status from Open to In progress.Jul 29 2026, 11:04 AM
natali-rs1985 triaged this task as Normal priority.
natali-rs1985 changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.