From 83832e7ced8be8b7de394415feaba70c32e3c38d Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Wed, 31 Jul 2019 02:48:02 -0700 Subject: qos: Store function Type: feature store: write a QoS value into the buffer meta-data record: Extract a QoS value from a packet header and store it. mark: Make a change to the content of a packet header by writing a stored QoS value Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f Signed-off-by: Neale Ranns --- test/vpp_qos.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'test/vpp_qos.py') 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 """ -- cgit 1.2.3-korg