From: Matej Klotton Date: Wed, 27 Jul 2016 06:57:30 +0000 (+0200) Subject: CSIT-271: FIX Delete bridge after TAP test X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=c915202367120c68703c73299d0d38124bb15d12 CSIT-271: FIX Delete bridge after TAP test Change-Id: Ic28405eb108feb2b24d77e1dd44c1b3320bd2288 Signed-off-by: Matej Klotton --- 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