Page MenuHomeVyOS Platform

QoS policy shaper-hfsc class does not have a `bandwidth` node but requires one in the check
Closed, ResolvedPublicBUG

Description

QoS policy shaper-hfsc class does not have a bandwidth node but requires one in the check.

set qos policy shaper-hfsc SHAPE-10mbit bandwidth '10mbit'
set qos policy shaper-hfsc SHAPE-10mbit class 10 match MARK mark '10'
set qos policy shaper-hfsc SHAPE-10mbit class 10 upperlimit m1 '10mbit'
set qos interface eth0 egress SHAPE-10mbit

Commit:

vyos@r4# commit

Bandwidth must be defined for policy "SHAPE-10mbit" class "10"!

[[qos]] failed
Commit failed
[edit]
vyos@r4# 


vyos@r4# set qos policy shaper-hfsc SHAPE-10mbit class 10 
Possible completions:
   description          Description
 > linkshare            Linkshare class settings
+> match                Class matching rule name
 > realtime             Realtime class settings
 > upperlimit           Upperlimit class settings

      
[edit]
vyos@r4#

Details

Difficulty level
Normal (likely a few hours)
Version
VyOS 1.5-rolling-202401090834, VyOS 1.4.0-rc1
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav created this task.

It causes the issue with no qos config after update (from 1.3.5)
Before migration

set traffic-policy shaper-hfsc SHAPE-10mbit bandwidth '400mbit'
set traffic-policy shaper-hfsc SHAPE-10mbit class 10 linkshare m2 '200mbit'
set traffic-policy shaper-hfsc SHAPE-10mbit class 10 match MARK mark '10'
set traffic-policy shaper-hfsc SHAPE-10mbit default linkshare m2 '200mbit'

set interfaces ethernet eth1 traffic-policy out 'SHAPE-10mbit'

After update

/opt/vyatta/etc/config-migrate/migrate/qos/1-to-2
- op: delete path: ['interfaces', 'ethernet', 'eth1', 'traffic-policy']
- op: set path: ['qos'] value: None replace: True
- op: copy old_path: ['traffic-policy'] new_path: ['qos', 'policy']
- op: delete path: ['traffic-policy']
- op: set path: ['qos', 'interface'] value: None replace: True
- op: set path: ['qos', 'interface', 'eth1'] value: None replace: True
- op: set path: ['qos', 'interface', 'eth1', 'egress'] value: SHAPE-10mbit replace: True
- op: set path: ['qos', 'policy', 'shaper-hfsc', 'SHAPE-10mbit', 'bandwidth'] value: 400mbit replace: True

Load:

vyos@r1# load 
Loading configuration from 'config.boot'
Load complete. Use 'commit' to make changes effective.
[edit]
vyos@r1# compare 
+ qos {
+     interface eth1 {
+         egress "SHAPE-10mbit"
+     }
+     policy {
+         shaper-hfsc SHAPE-10mbit {
+             bandwidth "400mbit"
+             class 10 {
+                 linkshare {
+                     m2 "200mbit"
+                 }
+                 match MARK {
+                     mark "10"
+                 }
+             }
+             default {
+                 linkshare {
+                     m2 "200mbit"
+                 }
+             }
+         }
+     }
+ }

[edit]
vyos@r1# commit

Bandwidth must be defined for policy "SHAPE-10mbit" class "10"!

[[qos]] failed
Commit failed
[edit]
vyos@r1#
Viacheslav changed the task status from Open to In progress.Jan 18 2024, 9:56 AM
Viacheslav claimed this task.
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.5 Circinus board.
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.