summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2023-06-17 14:52:29 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2023-06-17 14:52:29 +0000
commit7b8ef5d6a24fcdb67c8d138eacbc8d17e5324226 (patch)
tree006ae8879f5dc3e6cf7eb1a9aaaee05d0ddd02c8
parent20eec3e8a4341b866d570837dcbd93d15b3feb26 (diff)
downloadvyos-1x-7b8ef5d6a24fcdb67c8d138eacbc8d17e5324226.tar.gz
vyos-1x-7b8ef5d6a24fcdb67c8d138eacbc8d17e5324226.zip
T5256: Fix QoS protocol expects protocol number but not name
tc filter exepcts protocol number for match instead of protocol name
-rw-r--r--python/vyos/qos/base.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/python/vyos/qos/base.py b/python/vyos/qos/base.py
index bd1676107..353eb91b3 100644
--- a/python/vyos/qos/base.py
+++ b/python/vyos/qos/base.py
@@ -20,6 +20,9 @@ from vyos.util import cmd
from vyos.util import dict_search
from vyos.util import read_file
+from vyos.utils.network import get_protocol_by_name
+
+
class QoSBase:
_debug = False
_direction = ['egress']
@@ -197,7 +200,9 @@ class QoSBase:
if tmp: filter_cmd += f' match {tc_af} dport {tmp} 0xffff'
tmp = dict_search(f'{af}.protocol', match_config)
- if tmp: filter_cmd += f' match {tc_af} protocol {tmp} 0xff'
+ if tmp:
+ tmp = get_protocol_by_name(tmp)
+ filter_cmd += f' match {tc_af} protocol {tmp} 0xff'
# Will match against total length of an IPv4 packet and
# payload length of an IPv6 packet.