62ca15093580d3ee3db088e512e42e2942972abb
[csit.git] / tests / vpp / device / container_memif / eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot
1 # Copyright (c) 2019 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15 | Resource | resources/libraries/robot/shared/default.robot
16 | ...
17 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
18 | ... | NIC_Virtual | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER
19 | ...
20 | Suite Setup | Setup suite single link | scapy
21 | Test Setup | Setup test
22 | Test Teardown | Tear down test | packet_trace | container
23 | ...
24 | Documentation | *L2 bridge-domain test cases with memif interface*
25 | ...
26 | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \
27 | ... | with single links between nodes.
28 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of \
29 | ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply to all \
30 | ... | links.
31 | ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \
32 | ... | switching. Container is connected to VPP via Memif interface. \
33 | ... | Container is running same VPP version as running on DUT.
34 | ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) Echo Request packets \
35 | ... | are sent in both directions by TG on links to DUT1 and via container; \
36 | ... | on receive TG verifies packets for correctness and their IPv4 (IPv6) \
37 | ... | src-addr, dst-addr and MAC addresses.
38 | ... | *[Ref] Applicable standard specifications:* RFC792
39
40 *** Variables ***
41 | @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
42 | ${nic_name}= | virtual
43 | ${overhead}= | ${0}
44 # Container
45 | ${container_engine}= | Docker
46 | ${container_chain_topology}= | chain_functional
47
48 *** Test Cases ***
49 | tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-dev
50 | | [Documentation]
51 | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\
52 | | ... | of its interfaces to be switched by DUT to and from docker; verify\
53 | | ... | all packets are received.
54 | | ...
55 | | Set Test Variable | ${frame_size} | ${42}
56 | | Set Test Variable | ${rxq_count_int} | ${1}
57 | | ...
58 | | Given Add PCI devices to all DUTs
59 | | And Set Max Rate And Jumbo And Handle Multi Seg
60 | | And Apply startup configuration on all VPP DUTs
61 | | And VPP Enable Traces On All Duts | ${nodes}
62 | | When Start containers for test | auto_scale=${False} | pinning=${False}
63 | | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False}
64 | | Then Send ICMPv4 bidirectionally and verify received packets
65 | | ... | ${tg} | ${tg_if1} | ${tg_if2}
66
67 | tc02-eth2p-ethip6-l2bdbase-eth-2memif-1dcr-dev
68 | | [Documentation]
69 | | ... | [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two\
70 | | ... | of its interfaces to be switched by DUT to and from docker; verify\
71 | | ... | all packets are received.
72 | | ...
73 | | Set Test Variable | ${frame_size} | ${62}
74 | | Set Test Variable | ${rxq_count_int} | ${1}
75 | | ...
76 | | Given Add PCI devices to all DUTs
77 | | And Set Max Rate And Jumbo And Handle Multi Seg
78 | | And Apply startup configuration on all VPP DUTs
79 | | And VPP Enable Traces On All Duts | ${nodes}
80 | | When Start containers for test | auto_scale=${False} | pinning=${False}
81 | | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False}
82 | | Then Send ICMPv6 bidirectionally and verify received packets
83 | | ... | ${tg} | ${tg_if1} | ${tg_if2}