diff options
author | khramshinr <khramshinr@gmail.com> | 2024-04-16 15:49:19 +0800 |
---|---|---|
committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2024-04-25 15:32:51 +0000 |
commit | 8c5c3bc48f76a5bb0c819c6f549d7fbcacf964de (patch) | |
tree | a82bc760d3a19454bcbab0a5d37a50a24c4d1f1a /python/vyos/qos/base.py | |
parent | 018b940f685b01a9765657ec25724853cff25188 (diff) | |
download | vyos-1x-8c5c3bc48f76a5bb0c819c6f549d7fbcacf964de.tar.gz vyos-1x-8c5c3bc48f76a5bb0c819c6f549d7fbcacf964de.zip |
qos: T4248: Allow to remove the only rule from the qos class
(cherry picked from commit da40bd2b2a826986de128354ea1bfc041ada0016)
Diffstat (limited to 'python/vyos/qos/base.py')
-rw-r--r-- | python/vyos/qos/base.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/python/vyos/qos/base.py b/python/vyos/qos/base.py index f9366c6b1..4173a1a43 100644 --- a/python/vyos/qos/base.py +++ b/python/vyos/qos/base.py @@ -246,6 +246,7 @@ class QoSBase: filter_cmd_base += ' protocol all' if 'match' in cls_config: + is_filtered = False for index, (match, match_config) in enumerate(cls_config['match'].items(), start=1): filter_cmd = filter_cmd_base if self.qostype == 'shaper' and 'prio ' not in filter_cmd: @@ -330,11 +331,13 @@ class QoSBase: cls = int(cls) filter_cmd += f' flowid {self._parent:x}:{cls:x}' self._cmd(filter_cmd) + is_filtered = True vlan_expression = "match.*.vif" match_vlan = jmespath.search(vlan_expression, cls_config) - if any(tmp in ['exceed', 'bandwidth', 'burst'] for tmp in cls_config): + if any(tmp in ['exceed', 'bandwidth', 'burst'] for tmp in cls_config) \ + and is_filtered: # For "vif" "basic match" is used instead of "action police" T5961 if not match_vlan: filter_cmd += f' action police' |