X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_qos.py;h=a7fa9e748aae32d07efe933acecd66dd78c1cead;hb=61717cc38;hp=0577863ef8cadb3fcbea0bfe4a90d86115015836;hpb=5281a9029ea56f397a37ea1cf478ac526882770a;p=vpp.git 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 """