| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | container
| ...
+| Test Template | Local Template
+| ...
| Documentation | *L2 bridge-domain test cases with memif interface*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \
| ... | with single links between nodes.
| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of \
-| ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply to all \
-| ... | links.
+| ... | IPv4. Both apply to all links.
| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \
| ... | switching. Container is connected to VPP via Memif interface. \
| ... | Container is running same VPP version as running on DUT.
-| ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) Echo Request packets \
+| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets \
| ... | are sent in both directions by TG on links to DUT1 and via container; \
-| ... | on receive TG verifies packets for correctness and their IPv4 (IPv6) \
+| ... | on receive TG verifies packets for correctness and their IPv4 \
| ... | src-addr, dst-addr and MAC addresses.
| ... | *[Ref] Applicable standard specifications:* RFC792
| ${container_engine}= | Docker
| ${container_chain_topology}= | chain_functional
-*** Test Cases ***
-| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-dev
+*** Keywords ***
+| Local Template
| | [Documentation]
| | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\
| | ... | of its interfaces to be switched by DUT to and from docker; verify\
| | ... | all packets are received.
| | ...
-| | Set Test Variable | ${frame_size} | ${42}
-| | Set Test Variable | ${rxq_count_int} | ${1}
+| | ... | *Arguments:*
+| | ... | - frame_size - Framesize in Bytes in integer. Type: integer
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | Given Add PCI devices to all DUTs
-| | And Set Max Rate And Jumbo And Handle Multi Seg
-| | And Apply startup configuration on all VPP DUTs
-| | And VPP Enable Traces On All Duts | ${nodes}
-| | When Start containers for test | auto_scale=${False} | pinning=${False}
-| | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False}
-| | Then Send ICMPv4 bidirectionally and verify received packets
-| | ... | ${tg} | ${tg_if1} | ${tg_if2}
-
-| tc02-eth2p-ethip6-l2bdbase-eth-2memif-1dcr-dev
-| | [Documentation]
-| | ... | [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two\
-| | ... | of its interfaces to be switched by DUT to and from docker; verify\
-| | ... | all packets are received.
+| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | Set Test Variable | ${frame_size} | ${62}
-| | Set Test Variable | ${rxq_count_int} | ${1}
+| | Set Test Variable | \${frame_size}
| | ...
-| | Given Add PCI devices to all DUTs
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
+| | And Add PCI devices to all DUTs
| | And Set Max Rate And Jumbo And Handle Multi Seg
-| | And Apply startup configuration on all VPP DUTs
-| | And VPP Enable Traces On All Duts | ${nodes}
+| | And Apply startup configuration on all VPP DUTs | with_trace=${True}
| | When Start containers for test | auto_scale=${False} | pinning=${False}
| | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False}
-| | Then Send ICMPv6 bidirectionally and verify received packets
+| | Then Send ICMPv4 bidirectionally and verify received packets
| | ... | ${tg} | ${tg_if1} | ${tg_if2}
+
+*** Test Cases ***
+| tc01-64B-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev
+| | [Tags] | 64B
+| | frame_size=${64} | phy_cores=${0}