summaryrefslogtreecommitdiffstats
path: root/test/vpp_qos.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/vpp_qos.py')
-rw-r--r--test/vpp_qos.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/vpp_qos.py b/test/vpp_qos.py
index 0577863ef8c..a7fa9e748aa 100644
--- a/test/vpp_qos.py
+++ b/test/vpp_qos.py
@@ -42,6 +42,44 @@ class VppQosRecord(VppObject):
return ("qos-record-%s-%d" % (self.intf, self.source))
+class VppQosStore(VppObject):
+ """ QoS Store(ing) configuration """
+
+ def __init__(self, test, intf, source, value):
+ self._test = test
+ self.intf = intf
+ self.source = source
+ self.value = value
+
+ def add_vpp_config(self):
+ self._test.vapi.qos_store_enable_disable(
+ enable=1,
+ store={'sw_if_index': self.intf.sw_if_index,
+ 'input_source': self.source,
+ 'value': self.value})
+ self._test.registry.register(self, self._test.logger)
+ return self
+
+ def remove_vpp_config(self):
+ self._test.vapi.qos_store_enable_disable(
+ enable=0,
+ store={'sw_if_index': self.intf.sw_if_index,
+ 'input_source': self.source})
+
+ def query_vpp_config(self):
+ rs = self._test.vapi.qos_store_dump()
+
+ for r in rs:
+ if self.intf.sw_if_index == r.store.sw_if_index and \
+ self.source == r.store.input_source and \
+ self.value == r.store.value:
+ return True
+ return False
+
+ def object_id(self):
+ return ("qos-store-%s-%d" % (self.intf, self.source))
+
+
class VppQosEgressMap(VppObject):
""" QoS Egress Map(ping) configuration """