aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-05-13 13:33:45 +0200
committerselias <samelias@cisco.com>2016-05-20 13:52:40 +0200
commit1e7afbe3474d8ae8c5239ae3deee49963d6b1d93 (patch)
tree934ca404b3570a6299ed10eecdad05fb6cca6ff5 /resources/libraries/python/InterfaceUtil.py
parent95bf11e637855dc91e490f526406fa7538a21ac6 (diff)
Add Honeycomb TAP interface test
JIRA: CSIT-75 - add test suite for TAP interface management through Honeycomb - add keywords required for TAP interface tests - move Honeycomb suite setup and teardown to new __init__ file - cleanup unused imports in Honeycomb test case files - modify "...should be empty" keywords to allow more reuse Change-Id: Ie3dc9069678b60c359f69c5a216e452e856a0107 Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/python/InterfaceUtil.py')
-rw-r--r--resources/libraries/python/InterfaceUtil.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py
index 1c1ada8f6c..838ba3bb69 100644
--- a/resources/libraries/python/InterfaceUtil.py
+++ b/resources/libraries/python/InterfaceUtil.py
@@ -490,7 +490,7 @@ class InterfaceUtil(object):
if output["retval"] == 0:
return output["sw_if_index"]
else:
- raise RuntimeError('Unable to create VXLAN interface on node {}'
+ raise RuntimeError('Unable to create VXLAN interface on node {0}'
.format(node))
@staticmethod
@@ -504,7 +504,7 @@ class InterfaceUtil(object):
:type interface: int or str
:return: Dictionary containing data for the given VxLAN interface or if
interface=None, the list of dictionaries with all VxLAN interfaces.
- :rtype dict or list
+ :rtype: dict or list
"""
param = "sw_if_index"
if interface is None:
@@ -544,6 +544,30 @@ class InterfaceUtil(object):
return response[0]
@staticmethod
+ def tap_dump(node, name=None):
+ """Get all TAP interface data from the given node, or data about
+ a specific TAP interface.
+
+ :param node: VPP node to get data from.
+ :param name: Optional name of a specific TAP interface.
+ :type node: dict
+ :type name: str
+ :return: Dictionary of information about a specific TAP interface, or
+ a List of dictionaries containing all TAP data for the given node.
+ :rtype: dict or list
+ """
+ with VatTerminal(node) as vat:
+ response = vat.vat_terminal_exec_cmd_from_template(
+ "tap_dump.vat")
+ if name is None:
+ return response[0]
+ else:
+ for item in response[0]:
+ if name == item['dev_name']:
+ return item
+ return {}
+
+ @staticmethod
def create_subinterface(node, interface, sub_id, outer_vlan_id,
inner_vlan_id, type_subif):
"""Create sub-interface on node.