# limitations under the License.
*** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
-| ...
+| Resource | resources/libraries/robot/shared/default.robot
+|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY
-| ... | VHOST | VM | VHOST_1024 | VTS
-| ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model
-| ... | L3 | ${nic_name}
-| ... | AND | Set up performance test suite with ACL
-| Suite Teardown | Tear down 3-node performance topology
-| ...
-| Test Setup | Set up performance test
-| Test Teardown | Tear down performance test with vhost
-| ...
+| ... | VHOST | VM | VHOST_1024 | VTS | DRV_VFIO_PCI
+|
+| Suite Setup | Setup suite single link | performance
+| Suite Teardown | Tear down suite | performance
+| Test Setup | Setup test
+| Test Teardown | Tear down test | performance | vhost
+|
| Test Template | Local Template
-| ...
+|
| Documentation | *RFC2544: Packet throughput L2BD test cases with VXLANoIPv4
| ... | and vhost*
-| ...
+|
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
| ... | *[Ref] Applicable standard specifications:* RFC2544, RFC7348.
*** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
+| ${nic_driver}= | vfio-pci
+| ${osi_layer}= | L3
| ${overhead}= | ${50}
| ${nf_dtcr}= | ${1}
| ${nf_dtc}= | ${1}
| ${dut1_bd_id2}= | 2
| ${dut2_bd_id1}= | 1
# Traffic profile:
-| ${traffic_profile}= | trex-sl-ethip4-vxlansrc253
+| ${traffic_profile}=
+| ... | trex-sl-ethip4vxlan-ip4src${nf_chains}udpsrcrnd
| ${acl_type}= | ${EMPTY}
*** Keywords ***
| | ... | [Cfg] DUT runs L2BD switching config.
| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\
-| | ...
+| |
| | ... | *Arguments:*
| | ... | - frame_size - L2 Frame Size [B]. Type: integer
| | ... | - phy_cores - Number of worker threads to be used. Type: integer
| | ... | - rxq - Number of Rx queues to be used. Type: integer
| | ... | - acl_type - FIXME.
-| | ...
+| |
| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
-| | ...
+| |
| | Set Test Variable | \${frame_size}
-| | ...
-| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
-| | Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| |
+| | Given Set Max Rate And Jumbo
+| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq}
+| | And Pre-initialize layer driver | ${nic_driver}
| | And Apply startup configuration on all VPP DUTs
-| | &{vxlan1} = | Create Dictionary | vni=24 | vtep=172.17.0.2
-| | &{vxlan2} = | Create Dictionary | vni=24 | vtep=172.27.0.2
+| | When Initialize layer driver | ${nic_driver}
+| | And Initialize layer interface
+| | &{vxlan1} = | Create Dictionary | vni=0 | vtep=172.17.0.2
+| | &{vxlan2} = | Create Dictionary | vni=0 | vtep=172.27.0.2
| | @{dut1_vxlans} = | Create List | ${vxlan1}
| | @{dut2_vxlans} = | Create List | ${vxlan2}
-| | Set interfaces in path up
| | When Init L2 bridge domains with single DUT with Vhost-User and VXLANoIPv4 in 3-node circular topology
| | ... | 172.16.0.1 | 16 | 172.26.0.1 | 16 | 172.16.0.2 | 172.26.0.2
| | ... | ${dut1_vxlans} | ${dut2_vxlans} | 172.17.0.0 | 16 | 172.27.0.0 | 16