aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/device
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vpp/device')
-rw-r--r--tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot92
-rw-r--r--tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot72
-rw-r--r--tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot78
-rw-r--r--tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot83
-rw-r--r--tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot29
-rw-r--r--tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot37
-rw-r--r--tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot31
-rw-r--r--tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot37
-rw-r--r--tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot68
-rw-r--r--tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot106
-rw-r--r--tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot119
-rw-r--r--tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot123
-rw-r--r--tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot74
-rw-r--r--tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot58
14 files changed, 404 insertions, 603 deletions
diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot
index 6d4cffd834..62ca150935 100644
--- a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot
+++ b/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot
@@ -13,14 +13,11 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | L2BDMACLRN | BASE | ETH | MEMIF | DOCKER
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | container
| ...
@@ -37,81 +34,50 @@
| ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) 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) \
-| ... | src-addr, dst-addr and MAC addresses.pecifications:* RFC792
+| ... | src-addr, dst-addr and MAC addresses.
+| ... | *[Ref] Applicable standard specifications:* RFC792
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
| ${nic_name}= | virtual
-# L2BD
-| ${bd_id1}= | 1
-| ${bd_id2}= | 2
-# Memif
-| ${sock_base}= | memif-DUT1_CNF
+| ${overhead}= | ${0}
# Container
| ${container_engine}= | Docker
| ${container_chain_topology}= | chain_functional
*** Test Cases ***
-| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-device
+| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] Configure two \
-| | ... | L2 bridge-domains (L2BD) with MAC learning enabled on DUT1, each \
-| | ... | with one untagged interface to TG and untagged i/f to docker over \
-| | ... | memif. [Ver] Make TG send ICMPv4 Echo Req in both directions between \
-| | ... | two of its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
-| | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Create bridge domain | ${dut_node} | ${bd_id1}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${bd_id1}
-| | And Add interface to bridge domain | ${dut_node} | ${memif_if1}
-| | ... | ${bd_id1}
-| | And Create bridge domain | ${dut_node} | ${bd_id2}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${bd_id2}
-| | And Add interface to bridge domain | ${dut_node} | ${memif_if2}
-| | ... | ${bd_id2}
-| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | 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-device
+| tc02-eth2p-ethip6-l2bdbase-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] Configure two \
-| | ... | L2 bridge-domains (L2BD) with MAC learning enabled on DUT1, each \
-| | ... | with one untagged interface to TG and untagged i/f to docker over \
-| | ... | memif. [Ver] Make TG send ICMPv4 Echo Req in both directions between \
-| | ... | two of its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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.
+| | ...
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
-| | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Create bridge domain | ${dut_node} | ${bd_id1}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${bd_id1}
-| | And Add interface to bridge domain | ${dut_node} | ${memif_if1}
-| | ... | ${bd_id1}
-| | And Create bridge domain | ${dut_node} | ${bd_id2}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${bd_id2}
-| | And Add interface to bridge domain | ${dut_node} | ${memif_if2}
-| | ... | ${bd_id2}
+| | 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
-| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot
index 12896b335e..7596f96ff2 100644
--- a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot
+++ b/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot
@@ -13,14 +13,11 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/l2/l2_xconnect.robot
-| Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | L2XCFWD | BASE | ETH | MEMIF | DOCKER
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | L2XCFWD | BASE | MEMIF | DOCKER
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | container
| ...
@@ -42,57 +39,44 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
| ${nic_name}= | virtual
-# Memif
-| ${sock_base}= | memif-DUT1_CNF
+| ${overhead}= | ${0}
# Container
| ${container_engine}= | Docker
| ${container_chain_topology}= | chain_functional
*** Test Cases ***
-| tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-device
+| tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT configure \
-| | ... | two L2 cross-connects (L2XC), each with one untagged interface \
-| | ... | to TG and untagged i/f to docker over memif. [Ver] Make \
-| | ... | TG send ICMPv4 Echo Reqs in both directions between two of its \
-| | ... | i/fs to be switched by DUT to and from docker; verify all packets \
-| | ... | are received. [Ref]
+| | ... | [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}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
-| | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${memif_if1}
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${memif_if2}
-| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | When Start containers for test | auto_scale=${False} | pinning=${False}
+| | And Initialize L2 xconnect with memif pairs
+| | Then Send ICMPv4 bidirectionally and verify received packets
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
-| tc02-eth2p-ethip6-l2xcbase-eth-2memif-1dcr-device
+| tc02-eth2p-ethip6-l2xcbase-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT configure\
-| | ... | two L2 cross-connects (L2XC), each with one untagged i/f to TG\
-| | ... | and untagged i/f to docker over memif. [Ver] Make TG send\
-| | ... | ICMPv6 Echo Reqs in both directions between two of its i/fs to\
-| | ... | be switched by DUT to and from docker; verify all packets are\
-| | ... | received. [Ref]
+| | ... | [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.
+| | ...
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
-| | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${memif_if1}
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${memif_if2}
-| | Then Send ICMPv6 bidirectionally and verify received packets | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | When Start containers for test | auto_scale=${False} | pinning=${False}
+| | And Initialize L2 xconnect with memif pairs
+| | Then Send ICMPv6 bidirectionally and verify received packets
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
diff --git a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot
index a91810bed8..7f67fca434 100644
--- a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot
+++ b/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot
@@ -12,18 +12,12 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.IPUtil
-| ...
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/ip/ip4.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP4FWD | BASE | ETH | MEMIF | DOCKER
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | IP4FWD | BASE | MEMIF | DOCKER
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | container
| ...
@@ -46,66 +40,28 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
| ${nic_name}= | virtual
-# IP
-| ${net1}= | 10.0.1.0
-| ${net3}= | 10.0.3.0
-| ${net1_ip1}= | 10.0.1.1
-| ${net1_ip2}= | 10.0.1.2
-| ${net2_ip1}= | 10.0.2.1
-| ${net2_ip2}= | 10.0.2.2
-| ${net3_ip1}= | 10.0.3.1
-| ${net3_ip2}= | 10.0.3.2
-| ${prefix_length}= | 24
-| ${fib_table_2}= | 20
-# Memif
-| ${sock_base}= | memif-DUT1_CNF
+| ${overhead}= | ${0}
# Container
| ${container_engine}= | Docker
| ${container_chain_topology}= | chain_functional
*** Test Cases ***
-| tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-device
+| tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] Configure two VRFs to \
-| | ... | route IPv4 traffic through two memif interfaces. Both interfaces are \
-| | ... | configured with IP addresses from the same network. [Ver] Make TG to \
-| | ... | send ICMPv4 Echo Reqest form one TG interface to another one to be \
-| | ... | switched by DUT1; verify header of received packet.
+| | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\
+| | ... | of its interfaces to be routed by DUT to and from docker; verify\
+| | ... | all packets are received.
+| | ...
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node
-| | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Add Fib Table | ${dut_node} | ${fib_table_2}
-| | And Assign Interface To Fib Table
-| | ... | ${dut_node} | ${memif_if2} | ${fib_table_2}
-| | And Assign Interface To Fib Table
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2}
-| | And Configure IP addresses on interfaces
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length}
-| | ... | ${dut_node} | ${memif_if1} | ${net2_ip1} | ${prefix_length}
-| | ... | ${dut_node} | ${memif_if2} | ${net2_ip2} | ${prefix_length}
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} | ${prefix_length}
-| | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']}
-| | ... | ${memif_if2}
-| | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key}
-| | And Vpp Route Add
-| | ... | ${dut_node} | ${net3} | ${prefix_length}
-| | ... | gateway=${net2_ip2} | interface=${memif_if1}
-| | And Vpp Route Add
-| | ... | ${dut_node} | ${net1} | ${prefix_length}
-| | ... | gateway=${net2_ip1} | interface=${memif_if2} | vrf=${fib_table_2}
-| | VPP Add IP Neighbor
-| | ... | ${dut_node} | ${memif_if1} | ${net2_ip2} | ${memif_if2_mac}
-| | VPP Add IP Neighbor
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac}
+| | When Start containers for test | auto_scale=${False} | pinning=${False}
+| | And Initialize IPv4 routing with memif pairs
| | Then Send packet and verify headers
-| | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
-| | ... | ${tg_to_dut_if2} | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac}
+| | ... | ${tg} | 10.10.10.1 | 20.20.20.1
+| | ... | ${tg_if1} | ${tg_if1_mac} | ${dut1_if1_mac}
+| | ... | ${tg_if2} | ${dut1_if2_mac} | ${tg_if2_mac}
diff --git a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot
index 122e83068f..a645a58792 100644
--- a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot
+++ b/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot
@@ -12,17 +12,12 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.IPUtil
-| ...
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP6FWD | BASE | ETH | MEMIF | DOCKER
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | IP6FWD | BASE | MEMIF | DOCKER
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | container
| ...
@@ -45,69 +40,57 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
| ${nic_name}= | virtual
-# IP
-| ${net1}= | 2001:1::0
-| ${net3}= | 2001:3::0
-| ${net1_ip1}= | 2001:1::1
-| ${net1_ip2}= | 2001:1::2
-| ${net2_ip1}= | 2001:2::1
-| ${net2_ip2}= | 2001:2::2
-| ${net3_ip1}= | 2001:3::1
-| ${net3_ip2}= | 2001:3::2
-| ${prefix_length}= | 64
-| ${fib_table_2}= | 20
-# Memif
-| ${sock_base}= | memif-DUT1_CNF
+| ${overhead}= | ${0}
# Container
| ${container_engine}= | Docker
| ${container_chain_topology}= | chain_functional
*** Test Cases ***
-| tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-device
+| tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-dev
| | [Documentation]
-| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] Configure two VRFs to \
-| | ... | route IPv6 traffic through two memif interfaces. Both interfaces are \
-| | ... | configured with IP addresses from the same network. [Ver] Make TG to \
-| | ... | send ICMPv6 Echo Reqest form one TG interface to another one to be \
-| | ... | switched by DUT1; verify header of received packet.
+| | ... | [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two\
+| | ... | of its interfaces to be routed by DUT to and from docker; verify\
+| | ... | all packets are received.
+| | ...
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Start containers for device test
-| | And Configure interfaces in path up
-| | When Set up memif interfaces on DUT node
-| | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid}
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0}
-| | And Add Fib Table | ${dut_node} | ${fib_table_2} | ipv6=${True}
+| | When Start containers for test | auto_scale=${False} | pinning=${False}
+| | And Set interfaces in path up
+| | And Set up memif interfaces on DUT node
+| | ... | ${dut1} | memif-DUT1_CNF | memif-DUT1_CNF
+| | ... | memif_if1=memif_if1 | memif_if2=memif_if2
+| | ... | rxq=${rxq_count_int} | txq=${rxq_count_int}
+| | And Add Fib Table | ${dut1} | 20 | ipv6=${True}
| | And Assign Interface To Fib Table
-| | ... | ${dut_node} | ${memif_if2} | ${fib_table_2} | ipv6=${True}
+| | ... | ${dut1} | ${memif_if2} | 20 | ipv6=${True}
| | And Assign Interface To Fib Table
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2} | ipv6=${True}
+| | ... | ${dut1} | ${dut1_if2} | 20 | ipv6=${True}
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length}
+| | ... | ${dut1} | ${dut1_if1} | 2001:1::1 | 64
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${memif_if1} | ${net2_ip1} | ${prefix_length}
+| | ... | ${dut1} | ${memif_if1} | 2001:2::1 | 64
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${memif_if2} | ${net2_ip2} | ${prefix_length}
+| | ... | ${dut1} | ${memif_if2} | 2001:2::2 | 64
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} | ${prefix_length}
+| | ... | ${dut1} | ${dut1_if2} | 2001:3::1 | 64
| | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']}
| | ... | ${memif_if2}
| | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key}
| | And Vpp Route Add
-| | ... | ${dut_node} | ${net3} | ${prefix_length}
-| | ... | gateway=${net2_ip2} | interface=${memif_if1}
+| | ... | ${dut1} | 2001:3::0 | 64 | gateway=2001:2::2 | interface=${memif_if1}
| | And Vpp Route Add
-| | ... | ${dut_node} | ${net1} | ${prefix_length}
-| | ... | gateway=${net2_ip1} | interface=${memif_if2} | vrf=${fib_table_2}
+| | ... | ${dut1} | 2001:1::0 | 64 | gateway=2001:2::2 | interface=${memif_if2}
+| | ... | vrf=20
| | VPP Add IP Neighbor
-| | ... | ${dut_node} | ${memif_if1} | ${net2_ip2} | ${memif_if2_mac}
+| | ... | ${dut1} | ${memif_if1} | 2001:2::2 | ${memif_if2_mac}
| | VPP Add IP Neighbor
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac}
+| | ... | ${dut1} | ${dut1_if2} | 2001:3::2 | ${tg_if2_mac}
| | Then Send packet and verify headers
-| | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
-| | ... | ${tg_to_dut_if2} | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac}
+| | ... | ${tg} | 2001:1::1 | 2001:3::2
+| | ... | ${tg_if1} | ${tg_if1_mac} | ${dut1_if1_mac}
+| | ... | ${tg_if2} | ${dut1_if2_mac} | ${tg_if2_mac}
diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot
index b85bd70f96..bf5db490b4 100644
--- a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot
+++ b/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot
@@ -14,10 +14,10 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -36,6 +36,7 @@
| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${58}
| ${tg_spi}= | ${1000}
| ${dut_spi}= | ${1001}
| ${ESP_PROTO}= | ${50}
@@ -46,14 +47,17 @@
| ${ip4_plen}= | ${24}
*** Test Cases ***
-| tc01-eth2p-ethip4ipsectnl-ip4base-device-aes-128-cbc-sha-256-128
+| tc01-eth2p-ethip4ipsectnl-ip4base-dev-aes-128-cbc-sha-256-128
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\
| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ...
+| | Set Test Variable | ${frame_size} | ${106}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv4 IPsec testing
@@ -61,23 +65,26 @@
| | ${auth_alg}= | Integ Alg SHA 256 128
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
| | ... | ${dut_tun_ip} | ${tg_tun_ip}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
| | ... | ${dut_tun_ip}
-| tc02-eth2p-ethip4ipsectnl-ip4base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip4ipsectnl-ip4base-dev-aes-128-cbc-sha-512-256
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\
| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ...
+| | Set Test Variable | ${frame_size} | ${106}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv4 IPsec testing
@@ -85,11 +92,11 @@
| | ${auth_alg}= | Integ Alg SHA 512 256
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
| | ... | ${dut_tun_ip} | ${tg_tun_ip}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
| | ... | ${dut_tun_ip}
diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot
index f37630a0ce..5cf0df6355 100644
--- a/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot
+++ b/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot
@@ -14,10 +14,10 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -36,6 +36,7 @@
| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${58}
| ${tg_spi}= | ${1000}
| ${dut_spi}= | ${1001}
| ${ESP_PROTO}= | ${50}
@@ -46,14 +47,17 @@
| ${ip4_plen}= | ${24}
*** Test Cases ***
-| tc01-eth2p-ethip4ipsectpt-ip4base-device-aes-128-cbc-sha-256-128
+| tc01-eth2p-ethip4ipsectpt-ip4base-dev-aes-128-cbc-sha-256-128
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\
+| | ... | transport mode.
+| | ...
+| | Set Test Variable | ${frame_size} | ${90}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv4 IPsec testing
@@ -61,21 +65,24 @@
| | ${auth_alg}= | Integ Alg SHA 256 128
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-| tc02-eth2p-ethip4ipsectpt-ip4base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip4ipsectpt-ip4base-dev-aes-128-cbc-sha-512-256
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\
+| | ... | transport mode.
+| | ...
+| | Set Test Variable | ${frame_size} | ${90}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv4 IPsec testing
@@ -83,9 +90,9 @@
| | ${auth_alg}= | Integ Alg SHA 512 256
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot
index 5524b4fccc..b8c5ed5bb5 100644
--- a/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot
+++ b/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2019 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:
@@ -14,10 +14,10 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -36,6 +36,7 @@
| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${58}
| ${tg_spi}= | ${1000}
| ${dut_spi}= | ${1001}
| ${ESP_PROTO}= | ${50}
@@ -47,14 +48,17 @@
| ${ip6_plen_rt}= | ${128}
*** Test Cases ***
-| tc01-eth2p-ethip6ipsectnl-ip6base-device-aes-128-cbc-sha-256-128
+| tc01-eth2p-ethip6ipsectnl-ip6base-dev-aes-128-cbc-sha-256-128
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\
| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ...
+| | Set Test Variable | ${frame_size} | ${158}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv6 IPsec testing
@@ -62,23 +66,26 @@
| | ${auth_alg}= | Integ Alg SHA 256 128
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
| | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
| | ... | ${dut_tun_ip}
-| tc02-eth2p-ethip6ipsectnl-ip6base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip6ipsectnl-ip6base-dev-aes-128-cbc-sha-512-256
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\
| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ...
+| | Set Test Variable | ${frame_size} | ${158}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv6 IPsec testing
@@ -86,11 +93,11 @@
| | ${auth_alg}= | Integ Alg SHA 512 256
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
| | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
| | ... | ${dut_tun_ip}
diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot
index a4623eda0d..dd5537016a 100644
--- a/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot
+++ b/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot
@@ -14,10 +14,10 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -36,6 +36,7 @@
| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${58}
| ${tg_spi}= | ${1000}
| ${dut_spi}= | ${1001}
| ${ESP_PROTO}= | ${50}
@@ -47,14 +48,17 @@
| ${ip6_plen_rt}= | ${128}
*** Test Cases ***
-| tc01-eth2p-ethip6ipsectpt-ip6base-device-aes-128-cbc-sha-256-128
+| tc01-eth2p-ethip6ipsectpt-ip6base-dev-aes-128-cbc-sha-256-128
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\
+| | ... | transport mode.
+| | ...
+| | Set Test Variable | ${frame_size} | ${174}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv6 IPsec testing
@@ -62,22 +66,25 @@
| | ${auth_alg}= | Integ Alg SHA 256 128
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
| | ... | is_ipv6=${TRUE}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-| tc02-eth2p-ethip6ipsectpt-ip6base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip6ipsectpt-ip6base-dev-aes-128-cbc-sha-512-256
| | [Documentation]
| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
+| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\
+| | ... | transport mode.
+| | ...
+| | Set Test Variable | ${frame_size} | ${174}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure topology for IPv6 IPsec testing
@@ -85,10 +92,10 @@
| | ${auth_alg}= | Integ Alg SHA 512 256
| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
| | And Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
+| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg}
| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
| | ... | is_ipv6=${TRUE}
| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac}
| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
diff --git a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot b/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot
index 6cf2b324d4..3e7fd03e89 100644
--- a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot
+++ b/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot
@@ -13,25 +13,16 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/ip/ip4.robot
-| Resource | resources/libraries/robot/ip/ip6.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
-| Library | resources.libraries.python.Trace
-| Library | resources.libraries.python.Tap
-| Library | resources.libraries.python.Namespaces
-| Library | resources.libraries.python.IPUtil
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | L2BD | BASE | ETH | TAP
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | L2BD | BASE | TAP
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test | namespace
| Test Teardown | Tear down test | packet_trace | namespace | linux_bridge
| ...
| Documentation | *Tap Interface Traffic Tests*
+| ...
| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links
| ... | between nodes.
| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of
@@ -48,44 +39,33 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
-| ${bid_from_TG}= | 19
-| ${bid_to_TG}= | 20
+| ${overhead}= | ${0}
| ${bid_TAP}= | tapBr
-| ${tap_int1}= | tap0
-| ${tap_int2}= | tap1
*** Test Cases ***
-| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-device_tap-simple-bd
+| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev_tap-simple-bd
| | [Documentation]
-| | ... | [Cfg] On DUT1 configure two L2BD with two if's for each L2BD with MAC\
-| | ... | learning and one L2BD joining two linux-TAP interfaces created by VPP\
-| | ... | located in namespace.
| | ... | [Ver] Packet sent from TG is passed through all L2BD and received\
| | ... | back on TG. Then src_ip, dst_ip and MAC are checked.
| | ...
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
+| | ...
| | 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 Configure path in 2-node circular topology | ${nodes['TG']}
-| | ... | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set interfaces in 2-node circular topology up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1}
-| | ${int2}= | And Add Tap Interface | ${dut_node} | ${tap_int2}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | And Set Interface State | ${dut_node} | ${int2} | up
-| | And Create bridge domain | ${dut_node}
-| | ... | ${bid_from_TG} | learn=${TRUE}
-| | And Create bridge domain | ${dut_node}
-| | ... | ${bid_to_TG} | learn=${TRUE}
-| | And Linux Add Bridge | ${dut_node}
-| | ... | ${bid_TAP} | ${tap_int1} | ${tap_int2}
-| | And Add interface to bridge domain | ${dut_node}
-| | ... | ${int1} | ${bid_to_TG} | 0
-| | And Add interface to bridge domain | ${dut_node}
-| | ... | ${dut_to_tg_if1} | ${bid_to_TG} | 0
-| | And Add interface to bridge domain | ${dut_node}
-| | ... | ${int2} | ${bid_from_TG} | 0
-| | And Add interface to bridge domain | ${dut_node}
-| | ... | ${dut_to_tg_if2} | ${bid_from_TG} | 0
-| | Then Send ICMP packet and verify received packet | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | When Set interfaces in path up
+| | ${int1}= | And Add Tap Interface | ${dut1} | tap0
+| | ${int2}= | And Add Tap Interface | ${dut1} | tap1
+| | And Set Interface State | ${dut1} | ${int1} | up
+| | And Set Interface State | ${dut1} | ${int2} | up
+| | And Create bridge domain | ${dut1} | 19 | learn=${TRUE}
+| | And Create bridge domain | ${dut1} | 20 | learn=${TRUE}
+| | And Linux Add Bridge | ${dut1} | ${bid_TAP} | tap0 | tap1
+| | And Add interface to bridge domain | ${dut1} | ${int1} | 20 | 0
+| | And Add interface to bridge domain | ${dut1} | ${dut1_if1} | 20 | 0
+| | And Add interface to bridge domain | ${dut1} | ${int2} | 19 | 0
+| | And Add interface to bridge domain | ${dut1} | ${dut1_if2} | 19 | 0
+| | Then Send ICMP packet and verify received packet
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
diff --git a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot
index 7568f03765..4d7f189da4 100644
--- a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot
+++ b/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot
@@ -12,23 +12,12 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.IPUtil
-| Library | resources.libraries.python.Namespaces
-| Library | resources.libraries.python.Tap
-| Library | resources.libraries.python.Trace
-| ...
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/ip/ip4.robot
-| Resource | resources/libraries/robot/ip/ip6.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE | TAP
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE | TAP
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test | namespace
| Test Teardown | Tear down test | packet_trace | namespace
| ...
@@ -49,50 +38,50 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${0}
| ${tap1_VPP_ip}= | 16.0.10.1
| ${tap1_NM_ip}= | 16.0.10.2
| ${tap1_NM_mac}= | 02:00:00:00:00:02
-| ${tap_int1}= | tap0
-| ${namespace1}= | nmspace1
| ${dut_ip_address}= | 192.168.0.1
| ${tg_ip_address}= | 192.168.0.2
| ${tg_ip_address_GW}= | 192.168.0.0
| ${prefix}= | 24
*** Test Cases ***
-| tc01-eth2p-ethicmpv4-ip4base-device_tap-no-namespace
+| tc01-eth2p-ethicmpv4-ip4base-dev_tap-no-namespace
| | [Documentation]
| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\
| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP.
| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\
| | ... | received on TG.
| | ...
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
+| | ...
| | 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 Configure path in 2-node circular topology | ${nodes['TG']}
-| | ... | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set interfaces in 2-node circular topology up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
+| | When Set interfaces in path up
+| | ${int1}= | And Add Tap Interface | ${dut1} | tap0
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix}
+| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix}
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | And Set Linux Interface MAC | ${dut_node} | ${tap_int1} | ${tap1_NM_mac}
-| | And Set Linux Interface IP | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix}
-| | And Add Linux Route | ${dut_node}
-| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip}
-| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac}
-| | And VPP Add IP Neighbor | ${dut_node} | ${int1}
-| | ... | ${tap1_NM_ip} | ${tap1_NM_mac}
-| | Then Send ICMP echo request and verify answer | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac}
+| | ... | ${dut1} | ${dut1_if1} | ${dut_ip_address} | ${prefix}
+| | And Set Interface State | ${dut1} | ${int1} | up
+| | And Set Linux Interface MAC | ${dut1} | tap0 | ${tap1_NM_mac}
+| | And Set Linux Interface IP | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix}
+| | And Add Linux Route
+| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip}
+| | And VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if1} | ${tg_ip_address} | ${tg_if1_mac}
+| | And VPP Add IP Neighbor
+| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac}
+| | Then Send ICMP echo request and verify answer
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac}
| | ... | ${tap1_NM_ip} | ${tg_ip_address}
-| tc02-eth2p-ethicmpv4-ip4base-device_tap-namespace
+| tc02-eth2p-ethicmpv4-ip4base-dev_tap-namespace
| | [Documentation]
| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\
| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP in\
@@ -100,31 +89,32 @@
| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\
| | ... | received on TG.
| | ...
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
+| | ...
| | 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 Configure path in 2-node circular topology | ${nodes['TG']}
-| | ... | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set interfaces in 2-node circular topology up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
+| | When Set interfaces in path up
+| | ${int1}= | And Add Tap Interface | ${dut1} | tap0
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix}
+| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix}
| | And VPP Interface Set IP Address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | When Create Namespace | ${dut_node} | ${namespace1}
-| | And Attach Interface To Namespace | ${dut_node}
-| | ... | ${namespace1} | ${tap_int1}
-| | And Set Linux Interface MAC | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_mac} | ${namespace1}
-| | And Set Linux Interface IP | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix} | ${namespace1}
-| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac}
-| | And VPP Add IP Neighbor | ${dut_node} | ${int1}
-| | ... | ${tap1_NM_ip} | ${tap1_NM_mac}
-| | And Add Linux Route | ${dut_node}
-| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | ${namespace1}
-| | Then Send ICMP echo request and verify answer | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac}
+| | ... | ${dut1} | ${dut1_if1} | ${dut_ip_address} | ${prefix}
+| | And Set Interface State | ${dut1} | ${int1} | up
+| | And Create Namespace | ${dut1} | nmspace1
+| | And Attach Interface To Namespace | ${dut1} | nmspace1 | tap0
+| | And Set Linux Interface MAC
+| | ... | ${dut1} | tap0 | ${tap1_NM_mac} | nmspace1
+| | And Set Linux Interface IP
+| | ... | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} | nmspace1
+| | And VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if1} | ${tg_ip_address} | ${tg_if1_mac}
+| | And VPP Add IP Neighbor
+| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac}
+| | And Add Linux Route
+| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | nmspace1
+| | Then Send ICMP echo request and verify answer
+| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac}
| | ... | ${tap1_NM_ip} | ${tg_ip_address}
diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot
index 23a5b76afa..f9b6ebf314 100644
--- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot
+++ b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot
@@ -13,14 +13,11 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/ip/ip4.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -40,98 +37,76 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
-| ${tg_to_dut_if1_ip4}= | 10.10.10.2
-| ${tg_to_dut_if2_ip4}= | 20.20.20.2
-| ${dut_to_tg_if1_ip4}= | 10.10.10.1
-| ${dut_to_tg_if2_ip4}= | 20.20.20.1
-| ${remote_host1_ip4}= | 192.168.0.1
-| ${remote_host2_ip4}= | 192.168.0.2
-| ${remote_host_ip4_prefix}= | 32
+| ${overhead}= | ${0}
*** Test Cases ***
-| tc01-eth2p-ethicmpv4-ip4base-device_echo-req-to-dut-ingress-interface
+| tc01-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-ingress-interface
| | [Documentation]
-| | ... | Make TG send ICMPv4 Echo Req to DUT1 ingress interface. Make TG \
-| | ... | verify ICMP Echo Reply is correct.
+| | ... | [Ver] Make TG send ICMPv4 Echo Req to DUT1 ingress interface.\
+| | ... | Make TG verify ICMP Echo Reply is correct.
| | ...
-| | ${hops}= | Set Variable | ${0}
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
-| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv4 ping packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_to_dut_if1_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
-| | Get interface Ipv4 addresses | ${nodes['DUT1']} | ${dut_to_tg_if1}
+| | When Initialize IPv4 forwarding in circular topology
+| | Then Send IPv4 ping packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1}
+| | ... | 10.10.10.2 | 10.10.10.1 | ${dut1_if1_mac} | ${0}
-| tc02-eth2p-ethicmpv4-ip4base-device_echo-req-to-dut-egress-interface
+| tc02-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-egress-interface
| | [Documentation]
-| | ... | Make TG send ICMPv4 Echo Req towards DUT1 egress interface. Make TG \
-| | ... | verify ICMP Echo Reply is correct.
+| | ... | [Ver] Make TG send ICMPv4 Echo Req towards DUT1 egress interface.\
+| | ... | Make TG verify ICMP Echo Reply is correct.
| | ...
-| | ${hops}= | Set Variable | ${0}
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
-| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv4 ping packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${tg_to_dut_if1_ip4} | ${dut_to_tg_if2_ip4} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
+| | When Initialize IPv4 forwarding in circular topology
+| | Then Send IPv4 ping packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2}
+| | ... | 10.10.10.2 | 20.20.20.1 | ${dut1_if1_mac} | ${0}
-| tc03-eth2p-ethicmpv4-ip4base-device_echo-req-to-tg-interface-for-local-ipv4-address
+| tc03-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-local-ipv4-address
| | [Documentation]
-| | ... | Make TG send ICMPv4 Echo Req between its interfaces across DUT1 for \
-| | ... | locally connected IPv4 addresses. Make TG verify ICMPv4 Echo Replies \
-| | ... | are correct.
+| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\
+| | ... | for locally connected IPv4 addresses. Make TG verify ICMPv4 Echo\
+| | ... | Replies are correct.
| | ...
-| | ${hops}= | Set Variable | ${1}
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
-| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv4 ping packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
-| | ... | ${tg_to_dut_if1_ip4} | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
+| | When Initialize IPv4 forwarding in circular topology
+| | Then Send IPv4 ping packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2}
+| | ... | 10.10.10.2 | 20.20.20.2 | ${dut1_if1_mac} | ${1}
-| tc04-eth2p-ethicmpv4-ip4base-device_echo-req-to-tg-interface-for-remote-host-ipv4-address
+| tc04-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address
| | [Documentation]
-| | ... | Make TG send ICMPv4 Echo Req between its interfaces across DUT1 for \
-| | ... | remote host IPv4 addresses. Make TG verify ICMPv4 Echo Replies are \
-| | ... | correct.
+| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\
+| | ... | for remote host IPv4 addresses. Make TG verify ICMPv4 Echo Replies\
+| | ... | are correct.
| | ...
-| | ${hops}= | Set Variable | ${1}
+| | Set Test Variable | ${frame_size} | ${42}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
-| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
-| | ... | remote_host1_ip4=${remote_host1_ip4}
-| | ... | remote_host2_ip4=${remote_host2_ip4}
-| | ... | remote_host_ip4_prefix=${remote_host_ip4_prefix}
-| | And VPP Get IP tables | ${dut_node}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv4 ping packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
-| | ... | ${remote_host1_ip4} | ${remote_host2_ip4} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
+| | When Initialize IPv4 forwarding in circular topology
+| | ... | remote_host1_ip=192.168.0.1 | remote_host2_ip=192.168.0.2
+| | Then Send IPv4 ping packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2}
+| | ... | 192.168.0.1 | 192.168.0.2 | ${dut1_if1_mac} | ${1}
diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot
index 4851c92b5f..2dda6e054c 100644
--- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot
+++ b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot
@@ -13,14 +13,11 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/ip/ip6.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/shared/traffic.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | IP6FWD | BASE | ETH | IP6BASE
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -40,102 +37,76 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
-| ${tg_to_dut_if1_ip6}= | 2001:1::2
-| ${tg_to_dut_if2_ip6}= | 2001:2::2
-| ${dut_to_tg_if1_ip6}= | 2001:1::1
-| ${dut_to_tg_if2_ip6}= | 2001:2::1
-| ${remote_host1_ip6}= | 3ffe:5f::1
-| ${remote_host2_ip6}= | 3ffe:5f::2
-| ${remote_host_ip6_prefix}= | 128
+| ${overhead}= | ${0}
*** Test Cases ***
-| tc01-eth2p-ethicmpv6-ip6base-device_echo-req-to-dut-ingress-interface
+| tc01-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-ingress-interface
| | [Documentation]
-| | ... | Make TG send ICMPv6 Echo Req to DUT1 ingress interface. Make TG \
-| | ... | verify ICMPv6 Echo Reply is correct.
+| | ... | [Ver ]Make TG send ICMPv6 Echo Req to DUT1 ingress interface.\
+| | ... | Make TG verify ICMPv6 Echo Reply is correct.
| | ...
-| | ${hops}= | Set Variable | ${0}
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
-| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
-| | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv6 echo request packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
-| | Get interface Ipv6 addresses | ${nodes['DUT1']} | ${dut_to_tg_if1}
+| | When Initialize IPv6 forwarding in circular topology
+| | Then Send IPv6 echo request packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1}
+| | ... | 2001:1::2 | 2001:1::1 | ${dut1_if1_mac} | ${0}
-| tc02-eth2p-ethicmpv6-ip6base-device_echo-req-to-dut-egress-interface
+| tc02-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-egress-interface
| | [Documentation]
-| | ... | Make TG send ICMPv6 Echo Req towards DUT1 egress interface. Make TG \
-| | ... | verify ICMPv6 Echo Reply is correct.
+| | ... | [Ver] Make TG send ICMPv6 Echo Req towards DUT1 egress interface.\
+| | ... | Make TG verify ICMPv6 Echo Reply is correct.
| | ...
-| | ${hops}= | Set Variable | ${0}
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
-| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
-| | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv6 echo request packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if2_ip6} | ${dut_to_tg_if1_mac}
-| | ... | ${hops}
+| | When Initialize IPv6 forwarding in circular topology
+| | Then Send IPv6 echo request packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2}
+| | ... | 2001:1::2 | 2001:2::1 | ${dut1_if1_mac} | ${0}
-| tc03-eth2p-ethicmpv6-ip6base-device_echo-req-to-tg-interface-for-local-ipv4-address
+| tc03-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-local-ipv4-address
| | [Documentation]
-| | ... | Make TG send ICMPv6 Echo Req between its interfaces across DUT1 for \
-| | ... | locally connected IPv6 addresses. Make TG verify ICMPv6 Echo Replies \
-| | ... | are correct.
+| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\
+| | ... | for locally connected IPv6 addresses. Make TG verify ICMPv6 Echo\
+| | ... | Replies are correct.
| | ...
-| | ${hops}= | Set Variable | ${1}
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
-| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
-| | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv6 echo request packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
-| | ... | ${tg_to_dut_if1_ip6} | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_mac}
-| | ... | ${hops} | ${dut_to_tg_if2_mac}
+| | When Initialize IPv6 forwarding in circular topology
+| | Then Send IPv6 echo request packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2}
+| | ... | 2001:1::2 | 2001:2::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac}
-| tc04-eth2p-ethicmpv6-ip6base-device_echo-req-to-tg-interface-for-remote-host-ipv4-address
+| tc04-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address
| | [Documentation]
-| | ... | Make TG send ICMPv6 Echo Req between its interfaces across DUT1 for \
-| | ... | remote host IPv6 addresses. Make TG verify ICMPv6 Echo Replies are \
-| | ... | correct.
+| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\
+| | ... | for remote host IPv6 addresses. Make TG verify ICMPv6 Echo Replies\
+| | ... | are correct.
| | ...
-| | ${hops}= | Set Variable | ${1}
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
-| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
-| | ... | remote_host1_ip6=${remote_host1_ip6}
-| | ... | remote_host2_ip6=${remote_host2_ip6}
-| | ... | remote_host_ip6_prefix=${remote_host_ip6_prefix}
-| | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | And VPP Get IP tables | ${dut_node}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send IPv6 echo request packet and verify headers | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
-| | ... | ${remote_host1_ip6} | ${remote_host2_ip6} | ${dut_to_tg_if1_mac}
-| | ... | ${hops} | ${dut_to_tg_if2_mac}
+| | When Initialize IPv6 forwarding in circular topology
+| | ... | remote_host1_ip=3ffe:5f::1 | remote_host2_ip=3ffe:5f::2
+| | Then Send IPv6 echo request packet and verify headers
+| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2}
+| | ... | 3ffe:5f::1 | 3ffe:5f::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac}
diff --git a/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot b/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot
index 44e3f0147e..3e1cee067f 100644
--- a/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot
+++ b/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 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:
@@ -12,17 +12,12 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.L2Util
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | L2BDMACLRN | BASE | ETH | ICMP
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | L2BDMACLRN | BASE | ICMP
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -44,57 +39,38 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
-| ${bd_id}= | 1
+| ${overhead}= | ${0}
*** Test Cases ***
-| tc01-eth2p-ethicmpv4-l2bdbase-device
+| tc01-eth2p-ethicmpv4-l2bdbase-dev
| | [Documentation]
-| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv4-ICMPv4.
-| | ... | [Cfg] Configure L2 bridge-domain (L2BD) with MAC learning enabled on \
-| | ... | DUT1. Add both interfaces towards TG to this L2BD.
-| | ... | [Ver] Make TG send ICMPv4 Echo Req in both directions between two of \
-| | ... | its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure interfaces in path up
-| | And Create bridge domain | ${dut_node} | ${bd_id}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${bd_id}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${bd_id}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
-| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
-| | ...
-| | And VPP get bridge domain data | ${nodes['DUT1']}
-| | And Get L2 Fib Table | ${nodes['DUT1']} | ${bd_id}
+| | When Initialize L2 bridge domain in circular topology
+| | Then Send ICMPv4 bidirectionally and verify received packets
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
-| tc02-eth2p-ethicmpv6-l2bdbase-device
+| tc02-eth2p-ethicmpv6-l2bdbase-dev
| | [Documentation]
-| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv6-ICMPv6.
-| | ... | [Cfg] Configure L2 bridge-domain (L2BD) with MAC learning enabled on \
-| | ... | DUT1. Add both interfaces towards TG to this L2BD.
-| | ... | [Ver] Make TG send ICMPv6 Echo Req in both directions between two of \
-| | ... | its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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.
+| | ...
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | Given Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | And VPP Enable Traces On All Duts | ${nodes}
-| | When Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure interfaces in path up
-| | And Create bridge domain | ${dut_node} | ${bd_id}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${bd_id}
-| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${bd_id}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
+| | When Initialize L2 bridge domain in circular topology
| | Then Send ICMPv6 bidirectionally and verify received packets
-| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
-| | VPP get bridge domain data | ${nodes['DUT1']} | bd_id=${bd_id}
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
diff --git a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot b/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot
index bf1496be46..31407d2ce2 100644
--- a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot
+++ b/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 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:
@@ -13,14 +13,11 @@
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/l2/l2_xconnect.robot
-| Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
| ...
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
-| ... | FUNCTEST | L2XCFWD | BASE | ETH | ICMP
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
+| ... | NIC_Virtual | ETH | L2XCFWD | BASE | ICMP
| ...
-| Suite Setup | Setup suite single link
+| Suite Setup | Setup suite single link | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace
| ...
@@ -42,44 +39,39 @@
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so
| ${nic_name}= | virtual
+| ${overhead}= | ${0}
*** Test Cases ***
-| tc01-eth2p-ethicmpv4-l2xcbase-device
+| tc01-eth2p-ethicmpv4-l2xcbase-dev
| | [Documentation]
-| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv4-ICMPv4.
-| | ... | [Cfg] Configure L2 cross-connects (L2XC) between both interfaces \
-| | ... | towards TG on DUT1.
-| | ... | [Ver] Make TG send ICMPv4 Echo Req in both directions between two of \
-| | ... | its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure interfaces in path up
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
+| | When Initialize L2 xconnect in 2-node circular topology
| | Then Send ICMPv4 bidirectionally and verify received packets
-| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}
-| tc02-eth2p-ethicmpv6-l2xcbase-device
+| tc02-eth2p-ethicmpv6-l2xcbase-dev
| | [Documentation]
-| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv6-ICMPv6.
-| | ... | [Cfg] Configure L2 cross-connects (L2XC) between both interfaces \
-| | ... | towards TG on DUT1.
-| | ... | [Ver] Make TG send ICMPv6 Echo Req in both directions between two of \
-| | ... | its interfaces to be switched by DUT1; verify all packets are \
-| | ... | received.
+| | ... | [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.
+| | ...
+| | Set Test Variable | ${frame_size} | ${62}
+| | Set Test Variable | ${rxq_count_int} | ${1}
| | ...
| | 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 Configure path in 2-node circular topology
-| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Configure interfaces in path up
-| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
-| | And All Vpp Interfaces Ready Wait | ${nodes}
+| | When Initialize L2 xconnect in 2-node circular topology
| | Then Send ICMPv6 bidirectionally and verify received packets
-| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | ... | ${tg} | ${tg_if1} | ${tg_if2}