diff options
Diffstat (limited to 'test/test_vm_tap.py')
-rw-r--r-- | test/test_vm_tap.py | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/test/test_vm_tap.py b/test/test_vm_tap.py deleted file mode 100644 index 6787ca1e3d7..00000000000 --- a/test/test_vm_tap.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python3 -import unittest -from ipaddress import ip_interface -from vpp_qemu_utils import create_namespace -from vpp_iperf import VppIperf -from framework import VppTestCase, VppTestRunner -from config import config - - -class TestTapQemu(VppTestCase): - """Test Tap interfaces inside a QEMU VM. - - Start an iPerf connection stream between QEMU and VPP via - tap v2 interfaces. - - Linux_ns1 -- iperf_client -- tap1 -- VPP-BD -- tap2 -- - -- iperfServer -- Linux_ns2 - """ - - @classmethod - def setUpClass(cls): - super(TestTapQemu, cls).setUpClass() - - @classmethod - def tearDownClass(cls): - super(TestTapQemu, cls).tearDownClass() - - def setUp(self): - """Perform test setup before running QEMU tests. - - 1. Create a namespace for the iPerf Server & Client. - 2. Create 2 tap interfaces in VPP & add them to each namespace. - 3. Add the tap interfaces to a bridge-domain. - """ - super(TestTapQemu, self).setUp() - self.client_namespace = "iprf_client_ns" - self.server_namespace = "iprf_server_ns" - self.client_ip4_prefix = "10.0.0.101/24" - self.server_ip4_prefix = "10.0.0.102/24" - create_namespace(self.client_namespace) - create_namespace(self.server_namespace) - tap1_if_idx = self.create_tap( - 101, self.client_namespace, self.client_ip4_prefix - ) - tap2_if_idx = self.create_tap( - 102, self.server_namespace, self.server_ip4_prefix - ) - self.l2_connect_interfaces(tap1_if_idx, tap2_if_idx) - - def create_tap(self, id, host_namespace, host_ip4_prefix): - result = self.vapi.api( - self.vapi.papi.tap_create_v2, - { - "id": id, - "use_random_mac": True, - "host_namespace_set": True, - "host_namespace": host_namespace, - "host_if_name_set": False, - "host_bridge_set": False, - "host_mac_addr_set": False, - "host_ip4_prefix": ip_interface(host_ip4_prefix), - "host_ip4_prefix_set": True, - }, - ) - sw_if_index = result.sw_if_index - self.vapi.api( - self.vapi.papi.sw_interface_set_flags, - {"sw_if_index": sw_if_index, "flags": 1}, - ) - return sw_if_index - - def dump_vpp_tap_interfaces(self): - return self.vapi.api(self.vapi.papi.sw_interface_tap_v2_dump, {}) - - def dump_bridge_domain_details(self): - return self.vapi.api(self.vapi.papi.bridge_domain_dump, {"bd_id": 1}) - - def l2_connect_interfaces(self, *sw_if_idxs): - for if_idx in sw_if_idxs: - self.vapi.api( - self.vapi.papi.sw_interface_set_l2_bridge, - { - "rx_sw_if_index": if_idx, - "bd_id": 1, - "shg": 0, - "port_type": 0, - "enable": True, - }, - ) - - @unittest.skipUnless(config.extended, "part of extended tests") - def test_tap_iperf(self): - """Start an iperf connection stream between QEMU & VPP via tap.""" - iperf = VppIperf() - iperf.client_ns = self.client_namespace - iperf.server_ns = self.server_namespace - iperf.server_ip = str(ip_interface(self.server_ip4_prefix).ip) - iperf.start() - - -if __name__ == "__main__": - unittest.main(testRunner=VppTestRunner) |