summaryrefslogtreecommitdiff
path: root/python/vyos/qos
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2023-07-02 15:24:51 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2023-07-02 15:24:51 +0000
commit332f0178e7fa330b5f6a9f7a40066075e3835320 (patch)
tree33d7d7ff79f04032e5fb49273b1566f7af8f8d6f /python/vyos/qos
parent9c4c2f43b79bbc8447f34ec3bcbb37b9aec606bd (diff)
downloadvyos-1x-332f0178e7fa330b5f6a9f7a40066075e3835320.tar.gz
vyos-1x-332f0178e7fa330b5f6a9f7a40066075e3835320.zip
T5048: QoS index priority should be used only for shaper
QoS index priority should be used only for qostype 'shaper' otherwise we set priority 2 times, that is incorrect. OSError: [Errno 255] failed to run command: tc filter add dev eth2 parent 1: prio 5 protocol all prio 1 u32 match ip src 10.1.1.0/24 flowid 1:1e exit code: 255 Fix it
Diffstat (limited to 'python/vyos/qos')
-rw-r--r--python/vyos/qos/base.py3
-rw-r--r--python/vyos/qos/trafficshaper.py1
2 files changed, 3 insertions, 1 deletions
diff --git a/python/vyos/qos/base.py b/python/vyos/qos/base.py
index b992fe904..afeaaee0b 100644
--- a/python/vyos/qos/base.py
+++ b/python/vyos/qos/base.py
@@ -217,7 +217,8 @@ class QoSBase:
if 'match' in cls_config:
for index, (match, match_config) in enumerate(cls_config['match'].items(), start=1):
filter_cmd = filter_cmd_base
- filter_cmd += f' prio {index}'
+ if self.qostype == 'shaper':
+ filter_cmd += f' prio {index}'
if 'mark' in match_config:
mark = match_config['mark']
filter_cmd += f' handle {mark} fw'
diff --git a/python/vyos/qos/trafficshaper.py b/python/vyos/qos/trafficshaper.py
index 573283833..c63c7cf39 100644
--- a/python/vyos/qos/trafficshaper.py
+++ b/python/vyos/qos/trafficshaper.py
@@ -22,6 +22,7 @@ MINQUANTUM = 1000
class TrafficShaper(QoSBase):
_parent = 1
+ qostype = 'shaper'
# https://man7.org/linux/man-pages/man8/tc-htb.8.html
def update(self, config, direction):