diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2024-02-01 18:02:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-01 18:02:44 +0200 |
commit | b026961edd6b732f4c57ff0c68099930bf6162e3 (patch) | |
tree | d04669dd6ee6aa78fe1f54e9e9972b18262dd0c4 /python | |
parent | 53f65eee68192addf07c146dc9d2ea3a30a66643 (diff) | |
parent | 6ddfe6328e1cbdde1b70763b39e3a87f8374755a (diff) | |
download | vyos-1x-b026961edd6b732f4c57ff0c68099930bf6162e3.tar.gz vyos-1x-b026961edd6b732f4c57ff0c68099930bf6162e3.zip |
Merge pull request #2883 from sever-sever/T5974
T5974: Fix QoS shape bandwidth and ceil calculation for default
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/qos/trafficshaper.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/python/vyos/qos/trafficshaper.py b/python/vyos/qos/trafficshaper.py index 1f3b03680..d6705cc77 100644 --- a/python/vyos/qos/trafficshaper.py +++ b/python/vyos/qos/trafficshaper.py @@ -99,7 +99,11 @@ class TrafficShaper(QoSBase): self._cmd(tmp) if 'default' in config: - rate = self._rate_convert(config['default']['bandwidth']) + if config['default']['bandwidth'].endswith('%'): + percent = config['default']['bandwidth'].rstrip('%') + rate = self._rate_convert(config['bandwidth']) * int(percent) // 100 + else: + rate = self._rate_convert(config['default']['bandwidth']) burst = config['default']['burst'] quantum = config['default']['codel_quantum'] tmp = f'tc class replace dev {self._interface} parent {self._parent:x}:1 classid {self._parent:x}:{default_minor_id:x} htb rate {rate} burst {burst} quantum {quantum}' @@ -107,7 +111,11 @@ class TrafficShaper(QoSBase): priority = config['default']['priority'] tmp += f' prio {priority}' if 'ceiling' in config['default']: - f_ceil = self._rate_convert(config['default']['ceiling']) + if config['default']['ceiling'].endswith('%'): + percent = config['default']['ceiling'].rstrip('%') + f_ceil = self._rate_convert(config['bandwidth']) * int(percent) // 100 + else: + f_ceil = self._rate_convert(config['default']['ceiling']) tmp += f' ceil {f_ceil}' self._cmd(tmp) |