From 073d74d0ba9a6110ed73a38df668c47ceb3ca776 Mon Sep 17 00:00:00 2001 From: Paul Vinciguerra Date: Mon, 27 Apr 2020 01:12:48 -0400 Subject: tap: implement sw_interface_tap_v2_dump filtering by sw_if_index Type: feature Change-Id: I6f607f383dc77a71e8712124f7613b38b4ac065a Signed-off-by: Paul Vinciguerra --- test/test_tap.py | 14 ++++++++++++++ test/vpp_devices.py | 14 +++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'test') diff --git a/test/test_tap.py b/test/test_tap.py index b47b1a275a0..0e5b315963e 100644 --- a/test/test_tap.py +++ b/test/test_tap.py @@ -19,6 +19,20 @@ class TestTAP(VppTestCase): tap0.add_vpp_config() self.assertTrue(tap0.query_vpp_config()) + def test_tap_dump(self): + """ Test api dump w/ and w/o sw_if_index filtering""" + MAX_INSTANCES = 10 + tap_instances = [] + for instance in range(MAX_INSTANCES): + i = VppTAPInterface(self, tap_id=instance) + i.add_vpp_config() + tap_instances.append(i) + details = self.vapi.sw_interface_tap_v2_dump() + self.assertEqual(MAX_INSTANCES, len(details)) + details = self.vapi.sw_interface_tap_v2_dump( + tap_instances[5].sw_if_index) + self.assertEqual(1, len(details)) + if __name__ == '__main__': unittest.main(testRunner=VppTestRunner) diff --git a/test/vpp_devices.py b/test/vpp_devices.py index 7e18eca65a9..9e272cafe32 100644 --- a/test/vpp_devices.py +++ b/test/vpp_devices.py @@ -14,16 +14,14 @@ class VppTAPInterface(VppInterface): self._mac_addr = mac_addr def get_vpp_dump(self): - dump = self._test.vapi.sw_interface_tap_v2_dump() - for entry in dump: - if entry.sw_if_index == self.sw_if_index: - return entry + dump = self._test.vapi.sw_interface_tap_v2_dump( + sw_if_index=self.sw_if_index) + return dump def add_vpp_config(self): - use_random_mac = True if self._mac_addr else False reply = self._test.vapi.tap_create_v2( id=self._tap_id, - use_random_mac=use_random_mac, + use_random_mac=bool(self._mac_addr), mac_address=self._mac_addr) self.set_sw_if_index(reply.sw_if_index) self._test.registry.register(self, self.test.logger) @@ -33,9 +31,7 @@ class VppTAPInterface(VppInterface): def query_vpp_config(self): dump = self.get_vpp_dump() - if dump: - return True - return False + return bool(dump) def object_id(self): return "tap-%s" % self._tap_id -- cgit 1.2.3-korg