diff options
Diffstat (limited to 'resources/libraries')
-rw-r--r-- | resources/libraries/python/CrossConnectSetup.py | 45 | ||||
-rw-r--r-- | resources/libraries/python/L2Util.py | 24 | ||||
-rw-r--r-- | resources/libraries/robot/l2_xconnect.robot | 2 |
3 files changed, 24 insertions, 47 deletions
diff --git a/resources/libraries/python/CrossConnectSetup.py b/resources/libraries/python/CrossConnectSetup.py deleted file mode 100644 index 3f1f7d42b6..0000000000 --- a/resources/libraries/python/CrossConnectSetup.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Library to set up cross-connect in topology.""" - -from resources.libraries.python.VatExecutor import VatExecutor -from resources.libraries.python.topology import Topology - -__all__ = ['CrossConnectSetup'] - -class CrossConnectSetup(object): - """Crossconnect setup in topology.""" - - def __init__(self): - pass - - @staticmethod - def vpp_setup_bidirectional_cross_connect(node, interface1, interface2): - """Create crossconnect between 2 interfaces on vpp node. - - :param node: Node to add bidirectional crossconnect - :param interface1: first interface - :param interface2: second interface - :type node: dict - :type interface1: str - :type interface2: str - """ - sw_iface1 = Topology().get_interface_sw_index(node, interface1) - sw_iface2 = Topology().get_interface_sw_index(node, interface2) - VatExecutor.cmd_from_template(node, "l2_xconnect.vat", - interface1=sw_iface1, - interface2=sw_iface2) - VatExecutor.cmd_from_template(node, "l2_xconnect.vat", - interface1=sw_iface2, - interface2=sw_iface1) diff --git a/resources/libraries/python/L2Util.py b/resources/libraries/python/L2Util.py index b39515dcee..a89130814c 100644 --- a/resources/libraries/python/L2Util.py +++ b/resources/libraries/python/L2Util.py @@ -15,7 +15,7 @@ from robot.api.deco import keyword from resources.libraries.python.topology import Topology -from resources.libraries.python.VatExecutor import VatExecutor +from resources.libraries.python.VatExecutor import VatExecutor, VatTerminal class L2Util(object): @@ -153,3 +153,25 @@ class L2Util(object): sw_if_id2=sw_if_index2, bd_id=bd_id, learn=int(learn)) + + @staticmethod + def vpp_setup_bidirectional_cross_connect(node, interface1, interface2): + """Create bidirectional cross-connect between 2 interfaces on vpp node. + + :param node: Node to add bidirectional cross-connect + :param interface1: first interface + :param interface2: second interface + :type node: dict + :type interface1: str + :type interface2: str + """ + sw_iface1 = Topology().get_interface_sw_index(node, interface1) + sw_iface2 = Topology().get_interface_sw_index(node, interface2) + vat = VatTerminal(node) + vat.vat_terminal_exec_cmd_from_template('l2_xconnect.vat', + interface1=sw_iface1, + interface2=sw_iface2) + vat.vat_terminal_exec_cmd_from_template('l2_xconnect.vat', + interface1=sw_iface2, + interface2=sw_iface1) + vat.vat_terminal_close() diff --git a/resources/libraries/robot/l2_xconnect.robot b/resources/libraries/robot/l2_xconnect.robot index e4dcddd54f..12601e3683 100644 --- a/resources/libraries/robot/l2_xconnect.robot +++ b/resources/libraries/robot/l2_xconnect.robot @@ -14,7 +14,7 @@ *** Settings *** | Library | resources.libraries.python.VatExecutor -| Library | resources.libraries.python.CrossConnectSetup +| Library | resources.libraries.python.L2Util | Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.TrafficScriptExecutor | Variables | resources/libraries/python/constants.py |