2019-09-03 10:40:01 +02:00
|
|
|
import unittest
|
|
|
|
import os
|
|
|
|
|
|
|
|
from framework import VppTestCase, VppTestRunner
|
|
|
|
from vpp_devices import VppTAPInterface
|
|
|
|
|
|
|
|
|
|
|
|
def check_tuntap_driver_access():
|
2019-12-16 18:24:24 -05:00
|
|
|
return os.access("/dev/net/tun", os.R_OK and os.W_OK)
|
2019-09-03 10:40:01 +02:00
|
|
|
|
|
|
|
|
2020-01-11 17:57:31 +00:00
|
|
|
@unittest.skip("Requires root")
|
2019-09-03 10:40:01 +02:00
|
|
|
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())
|
|
|
|
|
2020-04-27 01:12:48 -04:00
|
|
|
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))
|
|
|
|
|
2019-09-03 10:40:01 +02:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main(testRunner=VppTestRunner)
|