blob: 57014e4ecb3d260abe815f5286f4dece101f720a [file] [log] [blame]
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)