diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-06-17 14:52:29 +0000 |
---|---|---|
committer | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-06-17 14:52:29 +0000 |
commit | 7b8ef5d6a24fcdb67c8d138eacbc8d17e5324226 (patch) | |
tree | 006ae8879f5dc3e6cf7eb1a9aaaee05d0ddd02c8 /python/vyos/qos | |
parent | 20eec3e8a4341b866d570837dcbd93d15b3feb26 (diff) | |
download | vyos-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
Diffstat (limited to 'python/vyos/qos')
-rw-r--r-- | python/vyos/qos/base.py | 7 |
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. |