diff options
author | Matej Klotton <mklotton@cisco.com> | 2016-07-27 08:57:30 +0200 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2016-07-27 11:06:32 +0000 |
commit | c915202367120c68703c73299d0d38124bb15d12 (patch) | |
tree | c74eafc333bed75496a1f5ebef43a64cde621539 | |
parent | be0db47fd15666eaf318b81d91caca10dd43ee6d (diff) |
CSIT-271: FIX Delete bridge after TAP test
Change-Id: Ic28405eb108feb2b24d77e1dd44c1b3320bd2288
Signed-off-by: Matej Klotton <mklotton@cisco.com>
-rw-r--r-- | resources/libraries/python/L2Util.py | 21 | ||||
-rw-r--r-- | tests/func/tap/tap_interface.robot | 6 |
2 files changed, 22 insertions, 5 deletions
diff --git a/resources/libraries/python/L2Util.py b/resources/libraries/python/L2Util.py index 4832ffac1c..566b69bf1c 100644 --- a/resources/libraries/python/L2Util.py +++ b/resources/libraries/python/L2Util.py @@ -192,18 +192,20 @@ class L2Util(object): interface2=sw_iface1) @staticmethod - def linux_add_bridge(node, br_name, if_1, if_2): + def linux_add_bridge(node, br_name, if_1, if_2, set_up=True): """Bridge two interfaces on linux node. :param node: Node to add bridge on. :param br_name: Bridge name. :param if_1: First interface to be added to the bridge. :param if_2: Second interface to be added to the bridge. + :param set_up: Change bridge interface state to up after create bridge. + Optional. Default: True. :type node: dict :type br_name: str :type if_1: str :type if_2: str - + :type set_up: bool """ cmd = 'brctl addbr {0}'.format(br_name) exec_cmd_no_error(node, cmd, sudo=True) @@ -211,8 +213,9 @@ class L2Util(object): exec_cmd_no_error(node, cmd, sudo=True) cmd = 'brctl addif {0} {1}'.format(br_name, if_2) exec_cmd_no_error(node, cmd, sudo=True) - cmd = 'ip link set dev {0} up'.format(br_name) - exec_cmd_no_error(node, cmd, sudo=True) + if set_up: + cmd = 'ip link set dev {0} up'.format(br_name) + exec_cmd_no_error(node, cmd, sudo=True) @staticmethod def setup_network_namespace(node, namespace_name, interface_name, @@ -244,14 +247,22 @@ class L2Util(object): exec_cmd_no_error(node, cmd, sudo=True) @staticmethod - def linux_del_bridge(node, br_name): + def linux_del_bridge(node, br_name, set_down=True): """Delete bridge from linux node. :param node: Node to delete bridge from. :param br_name: Bridge name. + :param set_down: Change bridge interface state to down before delbr + command. Optional. Default: True. + :type node: str + :type br_name: str + :type set_down: bool ..note:: The network interface corresponding to the bridge must be down before it can be deleted! """ + if set_down: + cmd = 'ip link set dev {0} down'.format(br_name) + exec_cmd_no_error(node, cmd, sudo=True) cmd = 'brctl delbr {0}'.format(br_name) exec_cmd_no_error(node, cmd, sudo=True) diff --git a/tests/func/tap/tap_interface.robot b/tests/func/tap/tap_interface.robot index d32a970aca..e123cc82b7 100644 --- a/tests/func/tap/tap_interface.robot +++ b/tests/func/tap/tap_interface.robot @@ -86,6 +86,12 @@ | | ... | joining two linux-TAP interfaces created by VPP located in namespace. | | ... | [Ver] Packet sent from TG is passed through all L2BD and received | | ... | back on TG. Then src_ip, dst_ip and MAC are checked. +| | ... +| | [Teardown] | Run Keywords +| | ... | Linux Del Bridge | ${dut_node} | ${bid_TAP} | AND +| | ... | Show Packet Trace on All DUTs | ${nodes} | AND +| | ... | Clean Up Namespaces | ${nodes['DUT1']} +| | ... | | Given Path for 2-node testing is set | ${nodes['TG']} | ${nodes['DUT1']} | | ... | ${nodes['TG']} | | And Interfaces in 2-node path are up |