| import unittest |
| import os |
| |
| from framework import VppTestCase, VppTestRunner |
| from vpp_devices import VppTAPInterface |
| |
| |
| def check_tuntap_driver_access(): |
| return os.access("/dev/net/tun", os.R_OK and os.W_OK) |
| |
| |
| @unittest.skip("Requires root") |
| class TestTAP(VppTestCase): |
| """ TAP Test Case """ |
| |
| def test_tap_add_del(self): |
| """Create TAP interface""" |
| tap0 = VppTAPInterface(self, tap_id=0) |
| 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) |