*** Settings ***
| Resource | resources/libraries/robot/vm/qemu.robot
+| Resource | resources/libraries/robot/vm/double_qemu_setup.robot
| Variables | resources/libraries/python/topology.py
| Variables | resources/libraries/python/VatHistory.py
| Library | resources.libraries.python.topology.Topology
| Library | resources.libraries.python.TGSetup
| Library | resources.libraries.python.L2Util
| Library | resources.libraries.python.Tap
-| Library | resources.libraries.python.VppConfigGenerator
| Library | resources.libraries.python.VppCounters
| Library | resources.libraries.python.VPPUtil
+| Library | resources.libraries.python.Trace
| Library | Collections
*** Keywords ***
| | :FOR | ${dut} | IN | @{duts}
| | | Run keyword | ${dut}.Add DPDK Cryptodev | ${count}
+| Add crypto SW device on all DUTs
+| | [Documentation] | Add required number of crypto SW devices to VPP startup
+| | ... | configuration on all DUTs.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${count} - Number of SW crypto devices. Type: integer
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Add SW cryptodev on all DUTs \| ${4} \|
+| | ...
+| | [Arguments] | ${count}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Run keyword | ${dut}.Add DPDK SW Cryptodev | ${count}
+
| Apply startup configuration on all VPP DUTs
| | [Documentation] | Write startup configuration and restart VPP on all DUTs.
| | ...
+| | ... | *Arguments:*
+| | ... | - ${restart_vpp} - Whether to restart VPP (Optional). Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Apply startup configuration on all VPP DUTs \| ${False} \|
+| | ...
+| | [Arguments] | ${restart_vpp}=${True}
+| | ...
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
-| | | Run keyword | ${dut}.Apply Config
-| | Update All Interface Data On All Nodes | ${nodes} | skip_tg=${TRUE}
+| | | Run keyword | ${dut}.Apply Config | restart_vpp=${restart_vpp}
+| | 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\
| Tear down functional test
| | [Documentation] | Common test teardown for functional tests.
| | ...
+| | Remove All Added Ports On All DUTs From Topology | ${nodes}
| | Show Packet Trace on All DUTs | ${nodes}
| | Show VAT History On All DUTs | ${nodes}
| | Vpp Show Errors On All DUTs | ${nodes}
| Tear down LISP functional test
| | [Documentation] | Common test teardown for functional tests with LISP.
| | ...
+| | Remove All Added Ports On All DUTs From Topology | ${nodes}
| | Show Packet Trace on All DUTs | ${nodes}
| | Show VAT History On All DUTs | ${nodes}
| | Show Vpp Settings | ${nodes['DUT1']}
| | ...
| | [Arguments] | ${vm_node}
| | ...
+| | Remove All Added Ports On All DUTs From Topology | ${nodes}
| | Show Packet Trace on All DUTs | ${nodes}
| | Show VAT History On All DUTs | ${nodes}
| | Show Vpp Settings | ${nodes['DUT1']}
| | Linux Del Bridge | ${nodes['DUT1']} | ${bid_TAP}
| | Clean Up Namespaces | ${nodes['DUT1']}
+| Tear down FDS functional test
+| | [Documentation] | Common test teardown for FDS functional tests.
+| | ...
+| | ... | *Arguments:*
+| | ... | - dut1_node - Node Nr.1 where to clean qemu. Type: dictionary
+| | ... | - qemu_node1 - VM Nr.1 node info dictionary. Type: string
+| | ... | - dut2_node - Node Nr.2 where to clean qemu. Type: dictionary
+| | ... | - qemu_node2 - VM Nr.2 node info dictionary. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Tear down FDS functional test \| ${dut1_node} \| ${qemu_node1}\
+| | ... | \| ${dut2_node} \| ${qemu_node2} \|
+| | ...
+| | [Arguments] | ${dut1_node} | ${qemu_node1} | ${dut2_node}
+| | ... | ${qemu_node2}
+| | ...
+| | Tear down functional test
+| | Tear down QEMU | ${dut1_node} | ${qemu_node1} | qemu_node1
+| | Tear down QEMU | ${dut2_node} | ${qemu_node2} | qemu_node2
+
| Stop VPP Service on DUT
| | [Documentation] | Stop the VPP service on the specified node.
| | ...
| | ... | \| Start VPP Service on DUT \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | Start VPP Service | ${node}
\ No newline at end of file
+| | Start VPP Service | ${node}