format(node['host'], stdout + stderr))
raise Exception('DUT test setup script failed at node {}'.
format(node['host']))
+
+ @staticmethod
+ def get_vpp_pid(node):
+ """Get PID of running VPP process.
+
+ :param node: DUT node.
+ :type node: dict
+ :return: PID
+ :rtype: int
+ :raises RuntimeError if it is not possible to get the PID.
+ """
+
+ ssh = SSH()
+ ssh.connect(node)
+ ret_code, stdout, stderr = ssh.exec_command('pidof vpp')
+
+ logger.trace(stdout)
+ logger.trace(stderr)
+
+ if int(ret_code) != 0:
+ logger.debug('Not possible to get PID of VPP process on node: '
+ '"{1}"'.format(node['host'], stdout + stderr))
+ raise RuntimeError('Not possible to get PID of VPP process on node:'
+ ' {}'.format(node['host']))
+
+ if len(stdout.splitlines()) != 1:
+ raise RuntimeError("More then one VPP PID found on node {0}".
+ format(node['host']))
+ return int(stdout)
+
+ @staticmethod
+ def get_vpp_pids(nodes):
+ """Get PID of running VPP process on all DUTs.
+
+ :param nodes: DUT nodes.
+ :type nodes: dict
+ :return: PIDs
+ :rtype: dict
+ """
+
+ pids = dict()
+ for node in nodes.values():
+ if node['type'] == NodeType.DUT:
+ pids[node['host']] = DUTSetup.get_vpp_pid(node)
+ return pids
vat = VatExecutor()
vat.execute_script("show_errors_verbose.vat", node, json_out=False)
+ @staticmethod
+ def vpp_show_errors_on_all_duts(nodes, verbose=False):
+ """Show errors on all DUTs.
+
+ :param nodes: VPP nodes
+ :param verbose: If True show verbose output.
+ :type nodes: dict
+ :type verbose: bool
+ """
+
+ for node in nodes.values():
+ if node['type'] == NodeType.DUT:
+ if verbose:
+ VppCounters.vpp_show_errors_verbose(node)
+ else:
+ VppCounters.vpp_show_errors(node)
+
@staticmethod
def vpp_show_runtime(node):
"""Run "show runtime" CLI command.
| | :FOR | ${dut} | IN | @{duts}
| | | Apply Config | ${nodes['${dut}']}
| | Update All Interface Data On All Nodes | ${nodes} | skip_tg=${TRUE}
+
+| Save VPP PIDs
+| | [Documentation] | Get PIDs of VPP processes from all DUTs in topology and
+| | ... | set it as a test variable. The PIDs are stored as dictionary items
+| | ... | where the key is the host and the value is the PID.
+| | ...
+| | ${setup_vpp_pids}= | Get VPP PIDs | ${nodes}
+| | Set Test Variable | ${setup_vpp_pids}
+
+| Check VPP PID in Teardown
+| | [Documentation] | Check if the VPP PIDs on all DUTs are the same at the end
+| | ... | of test as they were at the begining. If they are not, only a message
+| | ... | is printed on console and to log. The test will not fail.
+| | ...
+| | ${teardown_vpp_pids}= | Get VPP PIDs | ${nodes}
+| | ${err_msg}= | Catenate | \nThe VPP PIDs are not equal!\nTest Setup VPP PIDs:
+| | ... | ${setup_vpp_pids}\nTest Teardown VPP PIDs: ${teardown_vpp_pids}
+| | ${rc} | ${msg}= | Run keyword and ignore error
+| | ... | Dictionaries Should Be Equal
+| | ... | ${setup_vpp_pids} | ${teardown_vpp_pids}
+| | Run Keyword And Return If | '${rc}'=='FAIL' | Log | ${err_msg}
+| | ... | console=yes | level=WARN
+
+| Func Test Setup
+| | [Documentation] | Common test setup for functional tests.
+| | ...
+| | Setup all DUTs before test
+| | Save VPP PIDs
+| | Setup all TGs before traffic script
+| | Update All Interface Data On All Nodes | ${nodes}
+
+| Func Test Teardown
+| | [Documentation] | Common test teardown for functional tests.
+| | ...
+| | Show Packet Trace on All DUTs | ${nodes}
+| | Show vpp trace dump on all DUTs
+| | Vpp Show Errors On All DUTs | ${nodes}
+| | Check VPP PID in Teardown
| Resource | resources/libraries/robot/qemu.robot
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 bridge-domain test cases*
| ...
| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links
| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| TC07: DUT with two L2BDs (MAC learn) switches ICMPv6 between TG and VM links
| | [Documentation]
| | Then Send and receive ICMPv6 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| TC08: DUT with two L2BDs (static MACs) switches ICMPv4 between TG and VM links
| | [Documentation]
| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| TC09: DUT with two L2BDs (static MACs) switches ICMPv6 between TG and VM links
| | [Documentation]
| | ... | virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are
| | ... | switched thru DUT1 and VM in both directions and are correct on
| | ... | receive. [Ref]
+| | ...
| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | VPP_VM_ENV
+| | ...
+| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
+| | ...
| | Given Path for 2-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Interfaces in 2-node path are up
| | ... | ${sock2}
| | Then Send and receive ICMPv6 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
-| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
| Resource | resources/libraries/robot/l2_xconnect.robot
| Variables | resources/libraries/python/IPv4NodeAddress.py | ${nodes}
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *COP Security IPv4 Blacklist and Whitelist Tests*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/l2_xconnect.robot
| Variables | resources/libraries/python/IPv6NodesAddr.py | ${nodes}
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *COP Security IPv6 Blacklist and Whitelist Tests*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/ipv4.robot
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *DHCP Client related test cases*
*** Variables ***
| Resource | resources/libraries/robot/ipv4.robot
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *DHCP proxy test cases*
| ...
| ... | *[Top] Network Topologies:* TG = DUT
| Resource | resources/libraries/robot/ipv6.robot
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *DHCPv6 proxy test cases*
| ...
| ... | *[Top] Network Topologies:* TG = DUT
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | SKIP_PATCH
| Test Setup | Run Keywords | Setup all DUTs before test
+| ... | AND | Save VPP PIDs
| ... | AND | Setup all TGs before traffic script
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| ... | AND | Show vpp trace dump on all DUTs
| ... | qemu_node1
| ... | AND | Qemu Teardown | ${dut2_node} | ${qemu_node2}
| ... | qemu_node2
+| ... | AND | Check VPP PID in Teardown
| Documentation | *Provider network FDS related.*
| ...
| ... | Test suite uses 3-node topology TG - DUT1 - DUT2 - TG
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | SKIP_PATCH
| Test Setup | Run Keywords | Setup all DUTs before test
+| ... | AND | Save VPP PIDs
| ... | AND | Setup all TGs before traffic script
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| ... | AND | Show vpp trace dump on all DUTs
| ... | qemu_node1
| ... | AND | Qemu Teardown | ${dut2_node} | ${qemu_node2}
| ... | qemu_node2
+| ... | AND | Check VPP PID in Teardown
| Documentation | *Tenant network FDS related.*
| ...
| ... | Test suite uses 3-node topology TG - DUT1 - DUT2 - TG
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
| Force Tags | VM_ENV | HW_ENV
-| Test Setup | Run Keywords
-| ... | Setup all DUTs before test | AND
-| ... | Setup all TGs before traffic script
-| Test Teardown | Run Keywords
-| ... | Show Packet Trace on All DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *GREoIPv4 test cases*
| ...
| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Classify.Classify
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPv4 routing with ingress ACL test cases*
| ...
| ... | Encapsulations: Eth-IPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2. IPv4
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Classify.Classify
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPv6 routing with ingress ACL test cases*
| ...
| ... | Encapsulations: Eth-IPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2. IPv6
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Classify.Classify
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
| ... | 3_NODE_DOUBLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Ingress ACL test cases*
| ...
| ... | *[Top] Network Topologies:* TG - DUT1 - DUT2 - TG
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv4 IPsec testing
| Test Teardown | Run Keywords | VPP IPsec Show | ${dut_node}
-| ... | AND | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show Vpp Errors on All DUTs
-| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Func Test Teardown
| Documentation | *IPv4 IPsec transport mode test suite.*
| ...
| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv6 IPsec testing
| Test Teardown | Run Keywords | VPP IPsec Show | ${dut_node}
-| ... | AND | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show Vpp Errors on All DUTs
-| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Func Test Teardown
| Documentation | *IPv6 IPsec transport mode test suite.*
| ...
| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv4 IPsec testing
| Test Teardown | Run Keywords | VPP IPsec Show | ${dut_node}
-| ... | AND | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show Vpp Errors on All DUTs
-| ... | AND | Show Vpp Trace Dump on All DUTs
+| ... | AND | Func Test Teardown
| Documentation | *IPv4 IPsec tunnel mode test suite.*
| ...
| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv6 IPsec testing
| Test Teardown | Run Keywords | VPP IPsec Show | ${dut_node}
-| ... | AND | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show Vpp Errors on All DUTs
-| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Func Test Teardown
| Documentation | *IPv6 IPsec tunnel mode test suite.*
| ...
| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\
| Resource | resources/libraries/robot/l2_xconnect.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Run Keywords
-| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPv4 ARP test cases*
| ...
| ... | RFC826 ARP: Eth-IPv4 and Eth-ARP on links TG-DUT1, TG-DUT2, DUT1-DUT2:
| Resource | resources/libraries/robot/ipv4.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Ipv4 Multipath routing test cases*
| ...
| ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\
| Library | resources.libraries.python.Trace
| Library | resources.libraries.python.ProxyArp
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords
-| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *RFC1027 Proxy ARP test cases*
| ...
| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with
| Resource | resources/libraries/robot/interfaces.robot
| Resource | resources/libraries/robot/ipv4.robot
| Force Tags | HW_ENV
-| Suite Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| ... | AND | Setup DUT nodes for IPv4 testing
-| Test Setup | Clear interface counters on all vpp nodes in topology | ${nodes}
+| Suite Setup | Run Keywords
+| ... | Setup all DUTs before test | AND
+| ... | Setup all TGs before traffic script | AND
+| ... | Update All Interface Data On All Nodes | ${nodes} | AND
+| ... | Setup DUT nodes for IPv4 testing
+| Test Setup | Run Keywords | Save VPP PIDs | AND
+| ... | Clear interface counters on all vpp nodes in topology | ${nodes}
| Test Teardown | Run Keywords
| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| ... | Show vpp trace dump on all DUTs | AND
+| ... | Check VPP PID in Teardown
| Documentation | *IPv4 routing test cases*
| ...
| ... | RFC791 IPv4, RFC826 ARP, RFC792 ICMPv4. Encapsulations: Eth-IPv4-ICMPv4
| | ... | step of 10Bytes. Make TG verify ICMPv4 Echo Replies are correct.
| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
| | [Setup] | Setup MTU on TG based on MTU on DUT | ${nodes['TG']} | ${nodes['DUT1']}
-| | [Teardown] | Set default Ethernet MTU on all interfaces on node | ${nodes['TG']}
+| | [Teardown] | Run keywords
+| | ... | Set default Ethernet MTU on all interfaces on node | ${nodes['TG']}
+| | ... | AND | Check VPP PID in Teardown
| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']}
| | Compute Path
| | ${dut_port} | ${dut_node}= | Last Interface
| Resource | resources/libraries/robot/ipv6.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Ipv6 Multipath routing test cases*
| ...
| ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\
| Resource | resources/libraries/robot/ipv6.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup All TGs Before Traffic Script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup All DUTs Before Test
-| Test Teardown | Run Keywords
-| ... | Show Packet Trace On All DUTs | ${nodes} | AND
-| ... | Show VPP Trace Dump On All DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPv6 Router Advertisement test cases*
| ...
| ... | RFC4861 Neighbor Discovery. Encapsulations: Eth-IPv6-RA on links
| Resource | resources/libraries/robot/default.robot
| Variables | resources/libraries/python/IPv6NodesAddr.py | ${nodes}
| Force Tags | HW_ENV
-| Suite Setup | Run Keywords | Setup ipv6 to all dut in topology | ${nodes} | ${nodes_ipv6_addr}
-| ... | AND | Vpp nodes ra suppress link layer | ${nodes}
-| ... | AND | Vpp nodes setup ipv6 routing | ${nodes} | ${nodes_ipv6_addr}
-| ... | AND | Setup all TGs before traffic script
-| Test Setup | Clear interface counters on all vpp nodes in topology | ${nodes}
+| Suite Setup | Run Keywords
+| ... | Setup ipv6 to all dut in topology | ${nodes} | ${nodes_ipv6_addr} | AND
+| ... | Vpp nodes ra suppress link layer | ${nodes} | AND
+| ... | Vpp nodes setup ipv6 routing | ${nodes} | ${nodes_ipv6_addr} | AND
+| ... | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Save VPP PIDs | AND
+| ... | Clear interface counters on all vpp nodes in topology | ${nodes}
| Test Teardown | Run Keywords
| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| ... | Show vpp trace dump on all DUTs | AND
+| ... | Check VPP PID in Teardown
| Documentation | *IPv6 routing test cases*
| ...
| ... | RFC2460 IPv6, RFC4443 ICMPv6, RFC4861 Neighbor Discovery.
| | ... | step of 10Bytes. Make TG verify ICMPv6 Echo Replies are correct.
| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
| | [Setup] | Setup MTU on TG based on MTU on DUT | ${nodes['TG']} | ${nodes['DUT1']}
-| | [Teardown] | Set default Ethernet MTU on all interfaces on node | ${nodes['TG']}
+| | [Teardown] | Run keywords
+| | ... | Set default Ethernet MTU on all interfaces on node | ${nodes['TG']}
+| | ... | AND | Check VPP PID in Teardown
| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']}
| | Compute Path
| | ${dut_port} | ${dut_node}= | Last Interface
| Library | resources.libraries.python.Trace
| Library | resources.libraries.python.NodePath
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 cross-connect test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology with
| | When All Vpp Interfaces Ready Wait | ${nodes}
| | Then Send and receive ICMPv4 bidirectionally
| | ... | ${tg_node} | ${tg_to_dut1} | ${tg_to_dut2}
-| | [Teardown] | Run Keyword | Show vpp trace dump on all DUTs
| TC02: DUT1 and DUT2 with L2XC switch ICMPv6 between two TG links
| | [Documentation]
| | When All Vpp Interfaces Ready Wait | ${nodes}
| | Then Send and receive ICMPv6 bidirectionally
| | ... | ${tg_node} | ${tg_to_dut1} | ${tg_to_dut2}
-| | [Teardown] | Run Keyword | Show vpp trace dump on all DUTs
| TC03: DUT with two L2XCs switches ICMPv4 between TG and local VM links
| | [Documentation]
| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
-| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Check VPP PID in Teardown
| TC04: DUT with two L2XCs switches ICMPv6 between TG and local VM links
| | [Documentation]
| | Then Send and receive ICMPv6 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
| | ... | ${tg_to_dut_if2}
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
-| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Check VPP PID in Teardown
| Variables | resources/test_data/lisp/api/lisp_api_resources.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *API test cases*
| ...
| ... | *[Top] Network Topologies:* DUT1 1-node topology.
| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IP AFI independent functional tests.*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
+| Test Setup | Func Test Setup
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Check VPP PID in Teardown
| ...
| Documentation | *IPv4-ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf)
| ...
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
-| | ... | AND | Show VPP Settings | ${dut1_node}
-| | ... | AND | Show VPP Settings | ${dut2_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Show VPP Settings | ${dut2_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
-| | ... | AND | Show VPP Settings | ${dut1_node}
-| | ... | AND | Show VPP Settings | ${dut2_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Show VPP Settings | ${dut2_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| Variables | resources/test_data/lisp/ipv4_lispgpe_ipv6/ipv4_lispgpe_ipsec_ipv6.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| ...
| Documentation | *IPv6 - ip4-ipsec-lispgpe-ip6 - main fib, virt2lisp, phy2lisp*
| ...
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
+| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
+| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| Variables | resources/test_data/lisp/ipv6_lispgpe_ipv4/ipv6_lispgpe_ipsec_ipv4.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
+| Test Setup | Func Test Setup
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Check VPP PID in Teardown
| ...
| Documentation | *IPv6 - ip4-ipsec-lispgpe-ip6 - main fib, vrf, virt2lisp,\
| ... | phy2lisp*
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| | ... | AND | Show vpp trace dump on all DUTs
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| Variables | resources/test_data/lisp/ipv6_lispgpe_ipv6/ipv6_lispgpe_ipsec_ipv6.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Vpp All Ra Suppress Link Layer | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | Show VPP Settings | ${nodes['DUT1']}
-| ... | AND | Show VPP Settings | ${nodes['DUT2']}
+| Test Teardown | Func Test Teardown
| ...
| Documentation | *IPv6 - ip6-ipsec-lispgpe-ip6 - main fib,
| ... | vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp*
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
-| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
+| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| | ... | received packets are correct.
| | ... | [Ref] RFC6830, RFC4303.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
-| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
-| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Show vpp trace dump on all DUTs
+| | ... | AND | VPP Show Errors | ${nodes['DUT1']}
+| | ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Show VPP Settings | ${dut1_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | ${encr_alg}= | Crypto Alg AES CBC 128
| | ${auth_alg}= | Integ Alg SHA1 96
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
+| Test Setup | Func Test Setup
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Check VPP PID in Teardown
| ...
| Documentation | *ip4-lispgpe-ip4 encapsulation test cases*
| ...
| | ... | received packets are correct.
| | ... | [Ref] RFC6830.
| | ...
-| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| | ... | AND | Show vpp trace dump on all DUTs
-| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
-| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | And Interfaces in 3-node path are up
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *LISP static adjacency test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
| | ... | AND | Show vpp trace dump on all DUTs
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO
| ... | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *LISP static adjacency test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| ... | AND | Vpp All Ra Suppress Link Layer | ${nodes}
+| Test Setup | Run Keywords | Func Test Setup
+| ... | AND | Vpp All Ra Suppress Link Layer | ${nodes}
| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
-| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Show vpp trace dump on all DUTs
+| ... | AND | Show Vpp Settings | ${nodes['DUT1']}
+| ... | AND | Show Vpp Settings | ${nodes['DUT2']}
+| ... | AND | Check VPP PID in Teardown
| ...
| Documentation | *ip6-lispgpe-ip6 encapsulation test cases*
| ...
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT1']}
| | ... | AND | Show Vpp Settings | ${nodes['DUT2']}
| | ... | AND | Stop and Clear QEMU | ${dut1_node} | ${vm_node}
+| | ... | AND | Check VPP PID in Teardown
| | ...
| | Given Path for 3-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| ...
| Documentation | *ip4-lispgpe-ip4 encapsulation test cases*
| ...
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP
| ...
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
-| ... | AND | VPP Show Errors | ${nodes['DUT1']}
-| ... | AND | VPP Show Errors | ${nodes['DUT2']}
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| ...
| Documentation | *l2-lispgpe-ip6 encapsulation test cases*
| ...
| Force Tags | 3_NODE_DOUBLE_LINK_TOPO | VM_ENV | HW_ENV
| Resource | resources/libraries/robot/policer.robot
| Library | resources.libraries.python.Trace
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv4 policer testing
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Teardown | Func Test Teardown
| Documentation | *IPv4 policer test cases*
| ...
| ... | *[Top] Network topologies:* TG=DUT1 2-node topology with two links\
| Force Tags | 3_NODE_DOUBLE_LINK_TOPO | VM_ENV | HW_ENV
| Resource | resources/libraries/robot/policer.robot
| Library | resources.libraries.python.Trace
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Setup Topology for IPv6 policer testing
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Teardown | Func Test Teardown
| Documentation | *IPv6 policer test cases*
| ...
| ... | *[Top] Network topologies:* TG=DUT1 2-node topology with two links\
| Resource | resources/libraries/robot/l2_xconnect.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
-
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Source RPF check on IPv4 test cases*
| ...
| ... | *[Top] Network Topologies:* TG - DUT1 - DUT2 - TG
| Resource | resources/libraries/robot/map.robot
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Show Packet Trace on All DUTs | ${nodes}
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Lightweight 4 over 6 test cases*
| ...
| ... | LW4o6 is a subset of MAP-E, with per-subscriber rules. It uses the
| Resource | resources/libraries/robot/map.robot
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
-| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
| Variables | resources/test_data/softwire/map_e_domains.py | ${5}
-| Suite Setup | Run Keywords
-| ... | Setup All DUTs Before Test | AND
-| ... | Setup All TGs Before Traffic Script
-| Test Setup | Run Keywords
-| ... | Setup All DUTs Before Test | AND
-| ... | Setup All TGs Before Traffic Script
-| Test Teardown | Run Keywords
-| ... | Show Packet Trace On All DUTs | ${nodes} | AND
-| ... | Show Vpp Trace Dump On All DUTs
+| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Test for Basic mapping rule for MAP-E*\
| ... | *[Top] Network Topologies:* TG - DUT1 - TG with two links between the
| ... | nodes.
# TODO: replace setup when VPP-312 fixed
#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup All DUTs Before Test | AND
-| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Func Test Setup | AND
| | ... | Set Interfaces IP Addresses And Routes
| | [Template] | Check MAP Configuration With Traffic Script
# |=================|===============|================|============|=============|==========|================|==========|==================================|
# TODO: replace setup when VPP-312 fixed
#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup All DUTs Before Test | AND
-| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Func Test Setup | AND
| | ... | Set Interfaces IP Addresses And Routes
| | [Template] | Check MAP Configuration With Traffic Script
# |===================|===============|================|============|=============|==========|================|==========|==================================|
# TODO: replace setup when VPP-312 fixed
#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup All DUTs Before Test | AND
-| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Func Test Setup | AND
| | ... | Set Interfaces IP Addresses And Routes
| | [Template] | Check MAP Configuration With Traffic Script
# |===================|===============|================|============|=============|==========|================|==========|===================================|
# TODO: replace setup when VPP-312 fixed
#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup All DUTs Before Test | AND
-| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Func Test Setup | AND
| | ... | Set Interfaces IP Addresses And Routes
| | [Template] | Check MAP Configuration With Traffic Script
# |===================|=========================|================|============|=============|==========|================|==========|
# TODO: replace setup when VPP-312 fixed
#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup All DUTs Before Test | AND
-| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Func Test Setup | AND
| | ... | Set Interfaces IP Addresses And Routes
| | [Template] | Check MAP Configuration With Traffic Script
# |===================|=========================|================|============|=============|==========|================|==========|
| | [Teardown] | Run Keywords
| | ... | Map Del Domain | ${dut_node} | ${domain_index} | AND
| | ... | Show Packet Trace On All DUTs | ${nodes} | AND
-| | ... | Clear Packet Trace On All DUTs | ${nodes}
+| | ... | Clear Packet Trace On All DUTs | ${nodes} | AND
+| | ... | Check VPP PID in Teardown
| Check Encapsulation With Traffic Script
| | [Arguments] | ${ipv4_dst} | ${dst_port} | ${ipv6_dst}
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Suite Setup | Run Keywords
-| ... | Setup all DUTs before test | AND
-| ... | Setup all TGs before traffic script
-| Test Teardown | Run Keywords
-| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| Test Setup | Run Keywords | Func Test Setup
+| ... | AND | Set interfaces IP addresses and routes
+| Test Teardown | Func Test Teardown
| Documentation | *Test for Basic mapping rule for MAP-T*\
| ... | *[Top] Network Topologies:* TG - DUT1 - TG with two links between the
| ... | nodes.
| TC01: MAP-T test
| | [Documentation] |
| | ... | Test to check map-t address translation.
-| | [Setup] | Set interfaces IP addresses and routes
| | [Template] | Check MAP-T configuration with traffic script
# |===================|===============|================|============|=============|==========|===========|================|==========|
# | ipv4_pfx | ipv6_dst_pfx | ipv6_src_pfx | ea_bit_len | psid_offset | psid_len | ipv4_src | ipv4_dst | dst_port |
| | [Teardown] | Run Keywords
| | ... | Map Del Domain | ${dut_node} | ${domain_index} | AND
| | ... | Show packet trace on all DUTs | ${nodes} | AND
-| | ... | Clear packet trace on all DUTs | ${nodes}
+| | ... | Clear packet trace on all DUTs | ${nodes} | AND
+| | ... | Check VPP PID in Teardown
| Library | resources.libraries.python.Namespaces
| Library | resources.libraries.python.IPUtil
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| ... | AND | Clean Up Namespaces | ${nodes['DUT1']}
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
+| Test Setup | Run Keywords | Func Test Setup
| ... | AND | Clean Up Namespaces | ${nodes['DUT1']}
+| Test Teardown | Run Keywords | Func Test Teardown
+| ... | AND | Clean Up Namespaces | ${nodes['DUT1']}
| Documentation | *Tap Interface Traffic Tests*
| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links
| ... | between nodes.
| | [Teardown] | Run Keywords
| | ... | Linux Del Bridge | ${dut_node} | ${bid_TAP} | AND
| | ... | Show Packet Trace on All DUTs | ${nodes} | AND
-| | ... | Clean Up Namespaces | ${nodes['DUT1']}
+| | ... | Clean Up Namespaces | ${nodes['DUT1']} | AND
+| | ... | Check VPP PID in Teardown
| | ...
| | Given Path for 2-node testing is set | ${nodes['TG']} | ${nodes['DUT1']}
| | ... | ${nodes['TG']}
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | EXPECTED_FAILING
# TODO: Remove EXPECTED_FAILING tag once functionality is implemented (VPP-204)
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPFIX ipv4 test cases*
| ...
| ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with
| Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | EXPECTED_FAILING
# TODO: Remove EXPECTED_FAILING tag once functionality is implemented (VPP-204)
-| Suite Setup | Run Keywords | Setup all TGs before traffic script
-| ... | AND | Update All Interface Data On All Nodes | ${nodes}
-| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes}
-| ... | AND | Vpp Show Errors | ${nodes['DUT1']}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *IPFIX ipv6 test cases*
| ...
| ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with
| Library | resources.libraries.python.telemetry.SPAN
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | EXPECTED_FAILING
# TODO: Remove EXPECTED_FAILING tag once functionality is implemented (VPP-185)
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keyword If Test Failed | Run Keywords
-| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *SPAN test suite*
| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two
| ... | links between nodes.
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 cross-connect with QinQ test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology with
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 bridge domain with VLAN tag rewrite test cases - IPv4*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 bridge domain with VLAN tag rewrite test cases - IPv6*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 cross-connect with VLAN tag rewrite test cases - IPv4*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | VM_ENV
-| Test Setup | Setup all DUTs before test
-| Suite Setup | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *L2 cross-connect with VLAN tag rewrite test cases - IPv6*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Library | resources.libraries.python.Trace
| Library | resources.libraries.python.IPUtil
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Show Packet Trace on All DUTs | ${nodes}
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Vpn routed forwarding - baseline IPv4*
| ... | *[Top] Network Topologies:* TG=DUT1=DUT2=TG 3-node topology with two
| ... | links in between nodes.
| Library | resources.libraries.python.Trace
| Library | resources.libraries.python.IPUtil
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *Vpn routed forwarding - baseline IPv6*
| ... | *[Top] Network Topologies:* TG=DUT1=DUT2=TG 3-node topology with two
| ... | links in between nodes.
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *RFC7348 VXLAN: Bridge-domain with VXLAN over VLAN test cases*
| ...
| ... | *[Top] Network topologies:* TG-DUT1-DUT2-TG 3-node circular topology with
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *RFC7348 VXLAN: Bridge-domain with VXLAN test cases*
| ...
| ... | *[Top] Network topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| Resource | resources/libraries/robot/l2_traffic.robot
| Library | resources.libraries.python.Trace
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV
-| Test Setup | Run Keywords | Setup all DUTs before test
-| ... | AND | Setup all TGs before traffic script
-| Test Teardown | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
-| ... | AND | Show vpp trace dump on all DUTs
+| Test Setup | Func Test Setup
+| Test Teardown | Func Test Teardown
| Documentation | *RFC7348 VXLAN: L2 cross-connect with VXLAN test cases*
| ...
| ... | *[Top] Network topologies:* TG-DUT1-DUT2-TG 3-node circular topology