Move Send and receive L2 traffic KWs to standalone file. 58/458/6
authorMatej Klotton <mklotton@cisco.com>
Wed, 2 Mar 2016 12:05:13 +0000 (13:05 +0100)
committerStefan Kobza <skobza@cisco.com>
Mon, 7 Mar 2016 16:03:26 +0000 (16:03 +0000)
Change-Id: I3c919a15d5fdbf91ff493d64b768fb69b8c21b65
Signed-off-by: Matej Klotton <mklotton@cisco.com>
resources/libraries/robot/bridge_domain.robot
resources/libraries/robot/l2_traffic.robot [new file with mode: 0644]
resources/libraries/robot/l2_xconnect.robot
resources/traffic_scripts/send_ip_icmp.py
tests/suites/bridge_domain/test.robot
tests/suites/l2_xconnect/l2_xconnect_untagged.robot
tests/suites/vxlan/vxlan_untagged.robot

index 99ba375..819331f 100644 (file)
@@ -12,8 +12,6 @@
 # limitations under the License.
 
 *** Settings ***
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.TrafficScriptExecutor
 | Library | resources.libraries.python.L2Util
 | Library | resources.libraries.python.InterfaceUtil
 
 | | Run Keyword If | ${learn} == ${FALSE}
 | | ... | Vpp Add L2fib Entry | ${node} | ${mac} | ${if2} | ${1}
 | | All Vpp Interfaces Ready Wait | ${nodes}
-
-| Send and receive traffic
-| | [Documentation] | Send traffic from source interface to destination interface
-| | [Arguments] | ${tg_node} | ${src_int} | ${dst_int}
-| | ${src_mac}= | Get Interface Mac | ${tg_node} | ${src_int}
-| | ${dst_mac}= | Get Interface Mac | ${tg_node} | ${dst_int}
-| | ${src_ip}= | Set Variable | 192.168.100.1
-| | ${dst_ip}= | Set Variable | 192.168.100.2
-| | ${args}= | Traffic Script Gen Arg | ${dst_int} | ${src_int} | ${src_mac}
-| |          | ...                    | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | send_ip_icmp.py | ${tg_node} | ${args}
diff --git a/resources/libraries/robot/l2_traffic.robot b/resources/libraries/robot/l2_traffic.robot
new file mode 100644 (file)
index 0000000..2ba53d5
--- /dev/null
@@ -0,0 +1,29 @@
+# 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.
+
+*** Settings ***
+| Documentation | Keywords for send and receive different types of traffic through L2 network.
+| Library | resources.libraries.python.topology.Topology
+| Library | resources.libraries.python.TrafficScriptExecutor
+
+*** Keywords ***
+| Send and receive ICMPv4
+| | [Documentation] | Send ICMPv4 echo request from source interface to destination interface.
+| | [Arguments] | ${tg_node} | ${src_int} | ${dst_int}
+| | ${src_mac}= | Get Interface Mac | ${tg_node} | ${src_int}
+| | ${dst_mac}= | Get Interface Mac | ${tg_node} | ${dst_int}
+| | ${src_ip}= | Set Variable | 192.168.100.1
+| | ${dst_ip}= | Set Variable | 192.168.100.2
+| | ${args}= | Traffic Script Gen Arg | ${dst_int} | ${src_int} | ${src_mac}
+| |          | ...                    | ${dst_mac} | ${src_ip} | ${dst_ip}
+| | Run Traffic Script On Node | send_ip_icmp.py | ${tg_node} | ${args}
index 12601e3..0983181 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-
-| Library | resources.libraries.python.VatExecutor
 | Library | resources.libraries.python.L2Util
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.TrafficScriptExecutor
-| Variables | resources/libraries/python/constants.py
 
 *** Keywords ***
-
 | L2 setup xconnect on DUT
 | | [Documentation] | Setup Bidirectional Cross Connect on DUTs
 | | [Arguments] | ${node} | ${if1} | ${if2} |
 | | Vpp Setup Bidirectional Cross Connect | ${node} | ${if1} | ${if2}
-
-| Send and receive traffic
-| | [Documentation] | Send traffic from source interface to destination interface
-| | [Arguments] | ${tg_node} | ${src_int} | ${dst_int}
-| | ${src_mac}= | Get Interface Mac | ${tg_node} | ${src_int}
-| | ${dst_mac}= | Get Interface Mac | ${tg_node} | ${dst_int}
-| | ${src_ip}= | Set Variable | 192.168.100.1
-| | ${dst_ip}= | Set Variable | 192.168.100.2
-| | ${args}= | Traffic Script Gen Arg | ${dst_int} | ${src_int} | ${src_mac}
-| |          | ...                    | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | send_ip_icmp.py | ${tg_node} | ${args}
index 5e365eb..f797bda 100755 (executable)
@@ -40,8 +40,8 @@ def main():
 
     # Create empty ip ICMP packet and add padding before sending
     pkt_raw = Ether(src=src_mac, dst=dst_mac) / \
-                    IP(src=src_ip, dst=dst_ip) / \
-                    ICMP()
+              IP(src=src_ip, dst=dst_ip) / \
+              ICMP()
 
     # Send created packet on one interface and receive on the other
     sent_packets.append(pkt_raw)
@@ -51,7 +51,7 @@ def main():
 
     # Check whether received packet contains layers Ether, IP and ICMP
     if ether is None:
-        raise RuntimeError('ICMPv6 echo reply Rx timeout')
+        raise RuntimeError('ICMP echo Rx timeout')
 
     if not ether.haslayer(IP):
         raise RuntimeError(
index a7f1104..9695b7f 100644 (file)
 # 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.
+
 *** Settings ***
 | Resource | resources/libraries/robot/default.robot
 | Resource | resources/libraries/robot/interfaces.robot
 | Resource | resources/libraries/robot/bridge_domain.robot
-| Force Tags | HW_ENV | VM_ENV
+| Resource | resources/libraries/robot/l2_traffic.robot
 | Library | resources.libraries.python.topology.Topology
 | Library | resources.libraries.python.NodePath
 | Variables | resources/libraries/python/topology.py
+| Force Tags | HW_ENV | VM_ENV
 | Suite Setup | Setup all TGs before traffic script
 | Test Setup | Setup all DUTs before test
 
 *** Test Cases ***
-
 | VPP reports interfaces
 | | VPP reports interfaces on | ${nodes['DUT1']}
 
@@ -35,8 +36,8 @@
 | | ${bd_if1} | ${tmp}= | First Ingress Interface
 | | ${bd_if2} | ${tmp}= | Last Egress Interface
 | | Vpp l2bd forwarding setup | ${nodes['DUT1']} | ${bd_if1} | ${bd_if2}
-| | Send and receive traffic | ${nodes['TG']} | ${tg_if1} | ${tg_if2}
-| | Send and receive traffic | ${nodes['TG']} | ${tg_if2} | ${tg_if1}
+| | Send and receive ICMPv4 | ${nodes['TG']} | ${tg_if1} | ${tg_if2}
+| | Send and receive ICMPv4 | ${nodes['TG']} | ${tg_if2} | ${tg_if1}
 
 | Vpp forwards packets via L2 bridge domain in circular topology
 | | [Tags] | 3_NODE_SINGLE_LINK_TOPO
@@ -51,8 +52,8 @@
 | | ${tg_if2} | ${tg}= | Next Interface
 | | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
 | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
-| | Send and receive traffic | ${tg} | ${tg_if1} | ${tg_if2}
-| | Send and receive traffic | ${tg} | ${tg_if2} | ${tg_if1}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if1} | ${tg_if2}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if2} | ${tg_if1}
 
 | Vpp forwards packets via L2 bridge domain in circular topology with static L2FIB entries
 | | [Tags] | 3_NODE_SINGLE_LINK_TOPO
@@ -70,5 +71,5 @@
 | | ...                       | ${mac}
 | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} | ${FALSE}
 | | ...                       | ${mac}
-| | Send and receive traffic | ${tg} | ${tg_if1} | ${tg_if2}
-| | Send and receive traffic | ${tg} | ${tg_if2} | ${tg_if1}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if1} | ${tg_if2}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if2} | ${tg_if1}
index 0dd3251..cf32bfa 100644 (file)
@@ -12,9 +12,9 @@
 # limitations under the License.
 
 *** Settings ***
-
 | Resource | resources/libraries/robot/default.robot
 | Resource | resources/libraries/robot/l2_xconnect.robot
+| Resource | resources/libraries/robot/l2_traffic.robot
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.NodePath
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
@@ -23,7 +23,6 @@
 
 
 *** Test Cases ***
-
 | Vpp forwards packets via L2 xconnect in circular topology
 | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
 | | Compute Path
@@ -36,5 +35,5 @@
 | | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2}
 | | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2}
 | | All Vpp Interfaces Ready Wait | ${nodes}
-| | Send and receive traffic | ${tg} | ${tg_if1} | ${tg_if2}
-| | Send and receive traffic | ${tg} | ${tg_if2} | ${tg_if1}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if1} | ${tg_if2}
+| | Send and receive ICMPv4 | ${tg} | ${tg_if2} | ${tg_if1}
index fe44282..45d57a9 100644 (file)
@@ -14,8 +14,8 @@
 *** Settings ***
 | Documentation | VXLAN tunnel untagged traffic tests
 | Resource | resources/libraries/robot/default.robot
-| Resource | resources/libraries/robot/bridge_domain.robot
 | Resource | resources/libraries/robot/vxlan.robot
+| Resource | resources/libraries/robot/l2_traffic.robot
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | EXPECTED_FAILING
 | Suite Setup | Run Keywords | Setup all DUTs before test
 | ...         | AND          | Setup all TGs before traffic script
@@ -24,4 +24,4 @@
 
 *** Test Cases ***
 | VPP can encapsulate L2 in VXLAN over V4
-| | Send and receive traffic | ${nodes['TG']} | ${tgs_to_dut1} | ${tgs_to_dut2}
+| | Send and receive ICMPv4 | ${nodes['TG']} | ${tgs_to_dut1} | ${tgs_to_dut2}