blob: 0e5b315963e2695fe4b8fd79565e9fe6af92ab84 [file] [log] [blame]
Jakub Grajciar5de4fb72019-09-03 10:40:01 +02001import unittest
2import os
3
4from framework import VppTestCase, VppTestRunner
5from vpp_devices import VppTAPInterface
6
7
8def check_tuntap_driver_access():
Paul Vinciguerrade35cdb2019-12-16 18:24:24 -05009 return os.access("/dev/net/tun", os.R_OK and os.W_OK)
Jakub Grajciar5de4fb72019-09-03 10:40:01 +020010
11
Andrew Yourtchenkof63bf6a2020-01-11 17:57:31 +000012@unittest.skip("Requires root")
Jakub Grajciar5de4fb72019-09-03 10:40:01 +020013class TestTAP(VppTestCase):
14 """ TAP Test Case """
15
16 def test_tap_add_del(self):
17 """Create TAP interface"""
18 tap0 = VppTAPInterface(self, tap_id=0)
19 tap0.add_vpp_config()
20 self.assertTrue(tap0.query_vpp_config())
21
Paul Vinciguerra073d74d2020-04-27 01:12:48 -040022 def test_tap_dump(self):
23 """ Test api dump w/ and w/o sw_if_index filtering"""
24 MAX_INSTANCES = 10
25 tap_instances = []
26 for instance in range(MAX_INSTANCES):
27 i = VppTAPInterface(self, tap_id=instance)
28 i.add_vpp_config()
29 tap_instances.append(i)
30 details = self.vapi.sw_interface_tap_v2_dump()
31 self.assertEqual(MAX_INSTANCES, len(details))
32 details = self.vapi.sw_interface_tap_v2_dump(
33 tap_instances[5].sw_if_index)
34 self.assertEqual(1, len(details))
35
Jakub Grajciar5de4fb72019-09-03 10:40:01 +020036
37if __name__ == '__main__':
38 unittest.main(testRunner=VppTestRunner)