aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/InterfaceUtil.py
diff options
context:
space:
mode:
authorJuraj Sloboda <jsloboda@cisco.com>2016-02-23 15:03:13 +0100
committerStefan Kobza <skobza@cisco.com>2016-03-07 18:40:42 +0100
commitda8aebf2e722f2c441a03b300de71f9143d010a3 (patch)
tree386aa3af6c6050df29b4b0e850b1098d60b4c7f1 /resources/libraries/python/InterfaceUtil.py
parent8120dcdc84da7ff1dee097240bc1ecf18914397c (diff)
Modify sweep ping test cases
- Write separate sweep ping test cases for jumbo frames - Compute sweep ping end size from reported MTU on DUT interface - Set MTU on TG according to MTU on DUT interface - Log VPP packet traces on IPv4 and IPv6 tests failure - Remove VM_ENV tag from sweep ping test cases for jumbo frames Change-Id: I47aa7977bcff9c4366c67578aef542924a1d055b Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Diffstat (limited to 'resources/libraries/python/InterfaceUtil.py')
-rw-r--r--resources/libraries/python/InterfaceUtil.py40
1 files changed, 39 insertions, 1 deletions
diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py
index 14473ee4d4..aeb54be86a 100644
--- a/resources/libraries/python/InterfaceUtil.py
+++ b/resources/libraries/python/InterfaceUtil.py
@@ -53,7 +53,45 @@ class InterfaceUtil(object):
cmd = 'ip link set {} {}'.format(interface, state)
exec_cmd_no_error(node, cmd, sudo=True)
else:
- raise Exception('Unknown NodeType: "{}"'.format(node['type']))
+ raise Exception('Node {} has unknown NodeType: "{}"'.
+ format(node['host'], node['type']))
+
+ @staticmethod
+ def set_interface_ethernet_mtu(node, interface, mtu):
+ """Set Ethernet MTU for specified interface.
+
+ Function can be used only for TGs.
+
+ :param node: node where the interface is
+ :param interface: interface name
+ :param mtu: MTU to set
+ :type node: dict
+ :type interface: str
+ :type mtu: int
+ :return: nothing
+ """
+ if node['type'] == NodeType.DUT:
+ ValueError('Node {}: Setting Ethernet MTU for interface '
+ 'on DUT nodes not supported', node['host'])
+ elif node['type'] == NodeType.TG:
+ cmd = 'ip link set {} mtu {}'.format(interface, mtu)
+ exec_cmd_no_error(node, cmd, sudo=True)
+ else:
+ raise ValueError('Node {} has unknown NodeType: "{}"'.
+ format(node['host'], node['type']))
+
+ @staticmethod
+ def set_default_ethernet_mtu_on_all_interfaces_on_node(node):
+ """Set default Ethernet MTU on all interfaces on node.
+
+ Function can be used only for TGs.
+
+ :param node: node where to set default MTU
+ :type node: dict
+ :return: nothing
+ """
+ for ifc in node['interfaces'].values():
+ InterfaceUtil.set_interface_ethernet_mtu(node, ifc['name'], 1500)
@staticmethod
def vpp_node_interfaces_ready_wait(node, timeout=10):