CSIT/VPP-16.06 Test Report Sandbox
Contents
- 1 Introduction
- 2 Functional tests description
- 3 Functional tests results
- 3.1 Tests
- 3.2 Tests
- 3.3 Tests
- 3.4 Tests
- 3.5 Suites
- 3.6 Bridge Domain
- 3.7 Bridge Domain Untagged
- 3.8 Cop
- 3.9 Cop Whitelist Blacklist
- 3.10 cop whitelist blacklist IPv6
- 3.11 Dhcp
- 3.12 Dhcp Client
- 3.13 Fds Related Tests
- 3.14 Provider Network
- 3.15 Tenant Network
- 3.16 Gre
- 3.17 Gre Encapsulation
- 3.18 Ipv4
- 3.19 Ipv4 Arp Untagged
- 3.20 Ipv4 Iacl Untagged
- 3.21 Ipv4 Untagged
- 3.22 Ipv6
- 3.23 Ipv6 Iacl Untagged
- 3.24 Ipv6 Untagged
- 3.25 L2 Xconnect
- 3.26 L2 Xconnect Untagged
- 3.27 Lisp
- 3.28 Lisp Api Untagged
- 3.29 Lisp Dataplane Untagged
- 3.30 Tagging
- 3.31 Qinq L2 Xconnect
- 3.32 Vxlan
- 3.33 Vxlan Bd Dot1Q
- 3.34 Vxlan Bd Untagged
- 3.35 Vxlan Xconnect Untagged
- 4 Performance tests description
- 5 Performance tests results
- 6 Functional tests environment
- 7 Performance tests environment
- 8 CSIT release notes
Introduction
This report aims to provide a comprehensive and self-explanatory summary of all CSIT test cases that have been executed against FD.io VPP-16.06 code release, driven by the automated test infrastructure developed within the FD.io CSIT project (Continuous System and Integration Testing).
CSIT test cases have been grouped into the following test suites: {editor: use table instead of list below}
- <test_suite_name>: <test_case_name>, [<test_case_name>]
- bridge_domain: bridge_domain_untagged
- cop: cop_whitelist_blacklist, cop_whitelist_blacklist_IPv6
- dhcp: dhcp_client
- fds_related_tests: provider_network, tenant_network
- gre: gre_encapsulation
- honeycomb: interface_management, vxlan, bridge_domain, tap, interface_vhost_user, sub_interface, persistence, vxlan_gpe.
- ipv4: ipv4_arp_untagged, ipv4_iacl_untagged, ipv4_untagged
- ipv6: ipv6_iacl_untagged, ipv6_untagged
- l2_xconnect: l2_xconnect_untagged
- lisp: lisp_api_untagged, lisp_dataplane_untagged
- performance: Long_Bridge_Domain_Intel-X520-DA2, Long_IPv4_Cop_Intel-X520-DA2, Long_IPv4_Intel-X520-DA2, Long_IPv6_Cop_Intel-X520-DA2, Long_IPv6_Intel-X520-DA2, Long_Xconnect_Dot1q_Intel-X520-DA2, Long_Xconnect_Intel-X520-DA2, Short_Bridge_Domain_Intel-X520-DA2, Short_IPv4_Cop_Intel-X520-DA2, Short_IPv4_Intel-X520-DA2, Short_IPv6_Cop_Intel-X520-DA2, Short_IPv6_Intel-X520-DA2, Short_Xconnect_Dot1q_Intel-X520-DA2, Short_Xconnect_Intel-X520-DA2
- tagging: qinq_l2_xconnect
- vxlan: vxlan_bd_dot1q, vxlan_bd_untagged, vxlan_xconnect_untagged
CSIT source code for test cases listed above is available in CSIT branch stable/1606 in directory ./tests/suites/<name_of_the_test_suite>. Local copy of CSIT source code can be obtained by cloning CSIT git repository ("git clone https://gerrit.fd.io/r/csit"). CSIT testing virtual environment can be reproduced using Vagrant by following the instructions in CSIT tutorials.
Following sections provide description of CSIT test cases executed against VPP-16.06 release (vpp branch stable/1606), followed by summary test results and links to more detailed test results data. LF FD.io test environment and VPP DUT configuration specifics are provided later in this report to aid anyone interested in reproducing the complete LF FD.io CSIT testing environment, in either virtual or physical test beds.
Functional tests description
description of topologies tested description of each test case taken from documentation from .robot files(?) reference specs of tested functionality i.e. IETF RFC list of executed test cases and summary of results PASS/FAIL/ISSUE
Functional tests results
Dump of a vpp-csit-verify-virl-1606 job from console in ASCII.
Tests
Suites
Bridge Domain
Bridge Domain Untagged
Name | Documentation | Message | Status |
---|---|---|---|
TC01: DUT reports active interfaces | [Top] TG=DUT1; TG-DUT1-DUT2-TG. [Enc] None. [Cfg] Discovered
active interfaces. [Ver] Report active interfaces on DUT. [Ref] |
PASS | |
TC02: DUT with L2BD (MAC learning) switch ICMPv4 between two TG links | [Top] TG=DUT1. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two i/fs into L2BD with MAC learning. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 in both directions and are correct on receive. [Ref] |
PASS | |
TC03: DUT1 and DUT2 with L2BD (MAC learning) switch between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and DUT2
configure two i/fs into L2BD with MAC learning. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive. [Ref] |
PASS | |
TC04: DUT1 and DUT2 with L2BD (static MACs) switch between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and
DUT2 configure two i/fs into L2BD with static MACs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive. [Ref] |
PASS | |
TC05: DUT1 and DUT2 with L2BD (MAC learn) and SHG switch between four TG links | [Top] TG=DUT1=DUT2=TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and
DUT2 configure four i/fs into L2BD with MAC learning and the same SHG on i/fs towards TG. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive; verify no pkts are switched thru SHG isolated interfaces. [Ref] |
PASS | |
TC06: DUT with two L2BDs (MAC learn) switches ICMPv4 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two L2BDs with MAC learning, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC07: DUT with two L2BDs (MAC learn) switches ICMPv6 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure
two L2BDs with MAC learning, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC08: DUT with two L2BDs (static MACs) switches ICMPv4 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two L2BDs with static MACs, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC09: DUT with two L2BDs (static MACs) switches ICMPv6 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure
two L2BDs with static MACs, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS |
Cop
Cop Whitelist Blacklist
Name | Documentation | Message | Status |
---|---|---|---|
TC01: DUT permits IPv4 pkts with COP whitelist set with IPv4 src-addr | Eth-IPv4-ICMPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv4 addresses and routes in the main routing domain. Add COP whitelist with IPv4 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv4 Echo Req on its interface to DUT1. Make TG verify received ICMPv4 Echo Replies are correct. |
PASS | |
TC02: DUT drops IPv4 pkts with COP blacklist set with IPv4 src-addr | Eth-IPv4-ICMPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv4 addresses and routes in the main routing domain. Add COP blacklist with IPv4 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv4 Echo Req on its interface to DUT1. Make TG verify blacklisted ICMPv4 Echo Replies are dropped. |
PASS |
cop whitelist blacklist IPv6
Name | Documentation | Message | Status |
---|---|---|---|
TC03: DUT permits IPv6 pkts with COP whitelist set with IPv6 src-addr | Eth-IPv6-ICMPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv6 addresses and routes in the main routing domain. Add COP whitelist with IPv6 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv6 Echo Req on its interface to DUT1. Make TG verify received ICMPv6 Echo Replies are correct. |
PASS | |
TC04: DUT drops IPv6 pkts with COP blacklist set with IPv6 src-addr | Eth-IPv6-ICMPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv6 addresses and routes in the main routing domain. Add COP blacklist with IPv6 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv6 Echo Req on its interface to DUT1. Make TG verify blacklisted ICMPv6 Echo Replies are dropped. |
PASS |
Dhcp
Dhcp Client
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends a DHCP DISCOVER | Configure DHCP client on interface to TG without hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends a DHCP DISCOVER with hostname | Configure DHCP client on interface to TG with hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends DHCP REQUEST after OFFER | Configure DHCP client on interface to TG and check if
DHCP REQUEST message contains all required fields. |
PASS | |
VPP doesn't send DHCP REQUEST after OFFER with wrong XID | Configure DHCP client on interface to TG. If server sends
DHCP OFFER with different XID as in DHCP DISCOVER, DHCP REQUEST message shouldn't be sent. |
Expected error 'DHCP REQUEST Rx timeout' but got 'Traffic script execution failed'. | FAIL |
VPP honors DHCPv4 lease time | Send IP configuration to the VPP client via DHCP. Address
is checked with ICMP echo request and there should be no reply for echo request when lease has expired. |
PASS |
Fds Related Tests
Provider Network
Name | Documentation | Message | Status |
---|---|---|---|
Provider network test cases with provider physical networks (VLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Tenant Network
Name | Documentation | Message | Status |
---|---|---|---|
L2 test cases with tenant networks (VXLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Gre
Gre Encapsulation
Name | Documentation | Message | Status |
---|---|---|---|
VPP can route IPv4 traffic from GRE tunnel | Create GRE configuration on 2 DUTs, send IP traffic and
check IP is not changed. |
PASS | |
VPP can encapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send IP traffic and
check IP is correctly encapsulate into GRE. |
PASS | |
VPP can decapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send GRE encapsulated
traffic and check IP is received without GRE headers. |
PASS |
Ipv4
Ipv4 Arp Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends ARP requests for unknown destinations | Setup IP addresses.
Send ICMP packet and check if VPP sends ARP request. |
PASS | |
VPP sends ARP requests for route's next hop IP | Setup IP addresses and route.
Send ICMP packet and check if VPP sends ARP request. |
Traffic script execution failed | FAIL |
Ipv4 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv4 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src ports | Create classify table on VPP, add source TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on MAC src addr | Create classify table on VPP, add source MAC address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS |
Ipv4 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv4 echo request | PASS | ||
TG can route to DUT egress interface | PASS | ||
TG can route to DUT2 through DUT1 | PASS | ||
TG can route to DUT2 egress interface through DUT1 | PASS | ||
TG can route to TG through DUT1 and DUT2 | PASS | ||
VPP can process ICMP echo request from min to 1500B packet size with 1B increment | PASS | ||
VPP responds to ARP request | PASS |
Ipv6
Ipv6 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv6 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src ports | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP can drop packets based on src MAC + IPv6 UDP src+dst port | Create first classify table on VPP, for source MAC address
filtering and second classify table for IPv6 UDP source and destination port filtering. Add MAC address and UDP ports into table and set 'deny' traffic. Check if traffic is dropped. |
PASS |
Ipv6 Ra
Name | Documentation | Message | Status |
---|---|---|---|
VPP transmits RA from IPv6 enabled interface | Setup IPv6 interace and wait for router advertisement packet from this interface to be sent. Subsequently, check received packet for correct contents. | PASS |
Ipv6 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv6 echo request | PASS | ||
VPP can process ICMPv6 echo request from min to 1500B packet size with 1B increment | PASS | ||
TG can route to first DUT egress interface | PASS | ||
TG can route to second DUT through first DUT | PASS | ||
TG can route to second DUT egress interface through first DUT | PASS | ||
TG can route to TG through first and second DUT | PASS | ||
VPP replies to IPv6 Neighbor Solicitation | PASS |
L2 Xconnect
L2 Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
Vpp forwards ICMPv4 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv4 packet. |
PASS | |
Vpp forwards ICMPv6 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv6 packet. |
PASS | |
VPP forwards ICMPv4 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv4 packet. |
PASS | |
VPP forwards ICMPv6 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv6 packet. |
PASS |
Lisp
Lisp Api Untagged
Name | Documentation | Message | Status |
---|---|---|---|
Vpp can enable and disable Lisp | Test lisp enable/disable API.
Enable lisp on the VPP node, check if the lisp on the vpp node is enabled. Then disable lisp on the vpp node and check if the lisp is disabled on the vpp node. |
PASS | |
VPP can add and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
VPP can add, reset and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, then reset locator_set and set it again. Check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
Vpp can add and delete eid address | Test lisp eid API
Set lisp eid IP address on the VPP node, check the configured data and then remove it. Check if all eid IP address was unset from the VPP node. |
PASS | |
Vpp can add and delete lisp map resolver address | Test lisp map resolver address API
Set lisp map resolver address on the VPP node, check the configured data and then remove it. Check if all map resolver address was unset from the VPP node. |
PASS |
Lisp Dataplane Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through LISP | Test IP4 Lisp remote static mapping.
Set IP4 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv6 bidirectionally through LISP | Test IP6 Lisp remote static mapping.
Set IP6 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv4 over IPv6 bidirectionally through LISP | Test IP4 over IP6 in Lisp remote static mapping.
Set IP6 topology and check if the IP4 packet passes through IP6 Lisp topology. |
PASS | |
VPP can pass IPv6 over IPv4 bidirectionally through LISP | Test IP6 over IP4 in Lisp remote static mapping.
Set IP4 topology and check if the IP6 packet passes through IP4 Lisp topology. |
PASS | |
VPP can disable lisp and then re-enable it and everything should work | Test disable and enable Lisp.
Set Lisp and check if lisp work. Then disable Lisp and check if it is disabled. At the end re-enable lisp and check if Lisp is working. |
PASS |
Tagging
Qinq L2 Xconnect
Name | Documentation | Message | Status |
---|---|---|---|
VPP can push and pop two VLAN tags to traffic transferring through xconnect | Push two tags on DUT 1 to traffic sent from TG,
pop two tags on DUT 2 from this traffic and receive untagged traffic on TG. |
PASS |
Vxlan
Vxlan Bd Dot1Q
Name | Documentation | Message | Status |
---|---|---|---|
VPP can encapsulate L2 in VXLAN over IPv4 over Dot1Q | PASS |
Vxlan Bd Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
VPP can pass IPv6 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS |
Vxlan Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN | PASS |
Tests
Suites
Bridge Domain
Bridge Domain Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP reports interfaces | Report VPP interfaces on the given node | PASS | |
Vpp forwards packets via L2 bridge domain 2 ports | Create bridge domain (learning enabled) on one VPP node,
add there two interfaces and check traffic bidirectionally. |
PASS | |
Vpp forwards packets via L2 bridge domain in circular topology | Create bridge domains (learning enabled) on two VPP nodes,
add two interfaces to each bridge domain and check traffic bidirectionally. |
PASS | |
Vpp forwards packets via L2 bridge domain in circular topology with static L2FIB entries | Create bridge domains (learning disabled) on two VPP
nodes, add two interfaces to each bridge domain and set static L2FIB entry on each interface and check traffic bidirectionally. |
PASS | |
Vpp forwards packets via L2 bridge domain with split-horizon groups set in circular topology | Create bridge domains (learning enabled) on two VPP nodes,
add interfaces to each bridge domain where both interfaces toward TG are in the same split-horizon group and check traffic bidirectionally. |
PASS | |
VPP forwards ICMPv4 packets through VM via two L2 bridge domains | Setup and run VM connected to VPP via Vhost-User
interfaces and check ICMPv4 packet forwarding through VM via two L2 bridge domains with learning enabled. |
PASS | |
VPP forwards ICMPv6 packets through VM via two L2 bridge domains | Setup and run VM connected to VPP via Vhost-User
interfaces and check ICMPv6 packet forwarding through VM via two L2 bridge domains with learning enabled. |
PASS | |
VPP forwards ICMPv4 packets through VM via two L2 bridge domains with static L2FIB entries | Setup and run VM connected to VPP via Vhost-User
interfaces and check ICMPv4 packet forwarding through VM via two L2 bridge domains with learning disabled (static L2BFIB entries). |
PASS | |
VPP forwards ICMPv6 packets through VM via two L2 bridge domains with static L2FIB entries | Setup and run VM connected to VPP via Vhost-User
interfaces and check ICMPv6 packet forwarding through VM via two L2 bridge domains with learning disabled (static L2BFIB entries). |
PASS |
Cop
Cop Whitelist Blacklist
Name | Documentation | Message | Status |
---|---|---|---|
VPP permits packets based on IPv4 src addr | COP Whitelist test with basic setup. | PASS | |
VPP drops packets based on IPv4 src addr | COP blacklist test with basic setup. | PASS |
cop whitelist blacklist IPv6
Name | Documentation | Message | Status |
---|---|---|---|
VPP permits packets based on IPv6 src addr | COP Whitelist test with basic setup. | PASS | |
VPP drops packets based on IPv6 src addr | COP blacklist test with basic setup. | PASS |
Dhcp
Dhcp Client
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends a DHCP DISCOVER | Configure DHCP client on interface to TG without hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends a DHCP DISCOVER with hostname | Configure DHCP client on interface to TG with hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends DHCP REQUEST after OFFER | Configure DHCP client on interface to TG and check if
DHCP REQUEST message contains all required fields. |
PASS | |
VPP doesn't send DHCP REQUEST after OFFER with wrong XID | Configure DHCP client on interface to TG. If server sends
DHCP OFFER with different XID as in DHCP DISCOVER, DHCP REQUEST message shouldn't be sent. |
Expected error 'DHCP REQUEST Rx timeout' but got 'Traffic script execution failed'. | FAIL |
VPP honors DHCPv4 lease time | Send IP configuration to the VPP client via DHCP. Address
is checked with ICMP echo request and there should be no reply for echo request when lease has expired. |
PASS |
Fds Related Tests
Provider Network
Name | Documentation | Message | Status |
---|---|---|---|
Provider network test cases with provider physical networks (VLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Tenant Network
Name | Documentation | Message | Status |
---|---|---|---|
L2 test cases with tenant networks (VXLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Gre
Gre Encapsulation
Name | Documentation | Message | Status |
---|---|---|---|
VPP can route IPv4 traffic from GRE tunnel | Create GRE configuration on 2 DUTs, send IP traffic and
check IP is not changed. |
PASS | |
VPP can encapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send IP traffic and
check IP is correctly encapsulate into GRE. |
PASS | |
VPP can decapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send GRE encapsulated
traffic and check IP is received without GRE headers. |
PASS |
Ipv4
Ipv4 Arp Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends ARP requests for unknown destinations | Setup IP addresses.
Send ICMP packet and check if VPP sends ARP request. |
PASS | |
VPP sends ARP requests for route's next hop IP | Setup IP addresses and route.
Send ICMP packet and check if VPP sends ARP request. |
Traffic script execution failed | FAIL |
Ipv4 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv4 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src ports | Create classify table on VPP, add source TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on MAC src addr | Create classify table on VPP, add source MAC address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS |
Ipv4 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv4 echo request | PASS | ||
TG can route to DUT egress interface | PASS | ||
TG can route to DUT2 through DUT1 | PASS | ||
TG can route to DUT2 egress interface through DUT1 | PASS | ||
TG can route to TG through DUT1 and DUT2 | PASS | ||
VPP can process ICMP echo request from min to 1500B packet size with 1B increment | PASS | ||
VPP responds to ARP request | PASS |
Ipv6
Ipv6 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv6 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src ports | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP can drop packets based on src MAC + IPv6 UDP src+dst port | Create first classify table on VPP, for source MAC address
filtering and second classify table for IPv6 UDP source and destination port filtering. Add MAC address and UDP ports into table and set 'deny' traffic. Check if traffic is dropped. |
PASS |
Ipv6 Ra
Name | Documentation | Message | Status |
---|---|---|---|
VPP transmits RA from IPv6 enabled interface | Setup IPv6 interace and wait for router advertisement packet from this interface to be sent. Subsequently, check received packet for correct contents. | PASS |
Ipv6 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv6 echo request | PASS | ||
VPP can process ICMPv6 echo request from min to 1500B packet size with 1B increment | PASS | ||
TG can route to first DUT egress interface | PASS | ||
TG can route to second DUT through first DUT | PASS | ||
TG can route to second DUT egress interface through first DUT | PASS | ||
TG can route to TG through first and second DUT | PASS | ||
VPP replies to IPv6 Neighbor Solicitation | PASS |
L2 Xconnect
L2 Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
TC01: DUT1 and DUT2 with L2XC switch ICMPv4 between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and
DUT2 configure L2 cross-connect (L2XC), each with one interface to TG and one Ethernet interface towards the other DUT. [Ver] Make TG send ICMPv4 Echo Req in both directions between two of its interfaces to be switched by DUT1 and DUT2; verify all packets are received. [Ref] |
PASS | |
TC02: DUT1 and DUT2 with L2XC switch ICMPv6 between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 and
DUT2 configure L2 cross-connect (L2XC), each with one interface to TG and one Ethernet interface towards the other DUT. [Ver] Make TG send ICMPv6 Echo Req in both directions between two of its interfaces to be switched by DUT1 and DUT2; verify all packets are received. [Ref] |
PASS | |
TC03: DUT with two L2XCs switches ICMPv4 between TG and local VM links | [Top] TG=DUT=VM. [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 local VM over vhost-user. [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two of its i/fs to be switched by DUT to and from VM; verify all packets are received. [Ref] |
PASS | |
TC04: DUT with two L2XCs switches ICMPv6 between TG and local VM links | [Top] TG=DUT=VM. [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 local VM over vhost-user. [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two of its i/fs to be switched by DUT to and from VM; verify all packets are received. [Ref] |
PASS |
Lisp
Lisp Api Untagged
Name | Documentation | Message | Status |
---|---|---|---|
Vpp can enable and disable Lisp | Test lisp enable/disable API.
Enable lisp on the VPP node, check if the lisp on the vpp node is enabled. Then disable lisp on the vpp node and check if the lisp is disabled on the vpp node. |
PASS | |
VPP can add and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
VPP can add, reset and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, then reset locator_set and set it again. Check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
Vpp can add and delete eid address | Test lisp eid API
Set lisp eid IP address on the VPP node, check the configured data and then remove it. Check if all eid IP address was unset from the VPP node. |
PASS | |
Vpp can add and delete lisp map resolver address | Test lisp map resolver address API
Set lisp map resolver address on the VPP node, check the configured data and then remove it. Check if all map resolver address was unset from the VPP node. |
PASS |
Lisp Dataplane Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through LISP | Test IP4 Lisp remote static mapping.
Set IP4 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv6 bidirectionally through LISP | Test IP6 Lisp remote static mapping.
Set IP6 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv4 over IPv6 bidirectionally through LISP | Test IP4 over IP6 in Lisp remote static mapping.
Set IP6 topology and check if the IP4 packet passes through IP6 Lisp topology. |
PASS | |
VPP can pass IPv6 over IPv4 bidirectionally through LISP | Test IP6 over IP4 in Lisp remote static mapping.
Set IP4 topology and check if the IP6 packet passes through IP4 Lisp topology. |
PASS | |
VPP can disable lisp and then re-enable it and everything should work | Test disable and enable Lisp.
Set Lisp and check if lisp work. Then disable Lisp and check if it is disabled. At the end re-enable lisp and check if Lisp is working. |
PASS |
Tagging
Qinq L2 Xconnect
Name | Documentation | Message | Status |
---|---|---|---|
VPP can push and pop two VLAN tags to traffic transferring through xconnect | Push two tags on DUT 1 to traffic sent from TG,
pop two tags on DUT 2 from this traffic and receive untagged traffic on TG. |
PASS |
Vxlan
Vxlan Bd Dot1Q
Name | Documentation | Message | Status |
---|---|---|---|
VPP can encapsulate L2 in VXLAN over IPv4 over Dot1Q | PASS |
Vxlan Bd Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
VPP can pass IPv6 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS |
Vxlan Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN | PASS |
Tests
Suites
Bridge Domain
Bridge Domain Untagged
Name | Documentation | Message | Status |
---|---|---|---|
TC01: DUT reports active interfaces | [Top] TG=DUT1; TG-DUT1-DUT2-TG. [Enc] None. [Cfg] Discovered
active interfaces. [Ver] Report active interfaces on DUT. [Ref] |
PASS | |
TC02: DUT with L2BD (MAC learning) switch ICMPv4 between two TG links | [Top] TG=DUT1. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two i/fs into L2BD with MAC learning. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 in both directions and are correct on receive. [Ref] |
PASS | |
TC03: DUT1 and DUT2 with L2BD (MAC learning) switch between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and DUT2
configure two i/fs into L2BD with MAC learning. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive. [Ref] |
PASS | |
TC04: DUT1 and DUT2 with L2BD (static MACs) switch between two TG links | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and
DUT2 configure two i/fs into L2BD with static MACs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive. [Ref] |
PASS | |
TC05: DUT1 and DUT2 with L2BD (MAC learn) and SHG switch between four TG links | [Top] TG=DUT1=DUT2=TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and
DUT2 configure four i/fs into L2BD with MAC learning and the same SHG on i/fs towards TG. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in both directions and are correct on receive; verify no pkts are switched thru SHG isolated interfaces. [Ref] |
PASS | |
TC06: DUT with two L2BDs (MAC learn) switches ICMPv4 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two L2BDs with MAC learning, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC07: DUT with two L2BDs (MAC learn) switches ICMPv6 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure
two L2BDs with MAC learning, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC08: DUT with two L2BDs (static MACs) switches ICMPv4 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure
two L2BDs with static MACs, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS | |
TC09: DUT with two L2BDs (static MACs) switches ICMPv6 between TG and VM links | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure
two L2BDs with static MACs, each with vhost-user i/f to local VM and i/f to TG; configure VM to loop pkts back betwen its two virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are switched thru DUT1 and VM in both directions and are correct on receive. [Ref] |
PASS |
Cop
Cop Whitelist Blacklist
Name | Documentation | Message | Status |
---|---|---|---|
TC01: DUT permits IPv4 pkts with COP whitelist set with IPv4 src-addr | Eth-IPv4-ICMPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv4 addresses and routes in the main routing domain. Add COP whitelist with IPv4 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv4 Echo Req on its interface to DUT1. Make TG verify received ICMPv4 Echo Replies are correct. |
PASS | |
TC02: DUT drops IPv4 pkts with COP blacklist set with IPv4 src-addr | Eth-IPv4-ICMPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv4 addresses and routes in the main routing domain. Add COP blacklist with IPv4 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv4 Echo Req on its interface to DUT1. Make TG verify blacklisted ICMPv4 Echo Replies are dropped. |
PASS |
cop whitelist blacklist IPv6
Name | Documentation | Message | Status |
---|---|---|---|
TC03: DUT permits IPv6 pkts with COP whitelist set with IPv6 src-addr | Eth-IPv6-ICMPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv6 addresses and routes in the main routing domain. Add COP whitelist with IPv6 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv6 Echo Req on its interface to DUT1. Make TG verify received ICMPv6 Echo Replies are correct. |
PASS | |
TC04: DUT drops IPv6 pkts with COP blacklist set with IPv6 src-addr | Eth-IPv6-ICMPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2: On
DUT1 configure interface IPv6 addresses and routes in the main routing domain. Add COP blacklist with IPv6 src-addr matching packets generated by TG. On DUT2 configure L2 xconnect. Make TG send ICMPv6 Echo Req on its interface to DUT1. Make TG verify blacklisted ICMPv6 Echo Replies are dropped. |
PASS |
Dhcp
Dhcp Client
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends a DHCP DISCOVER | Configure DHCP client on interface to TG without hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends a DHCP DISCOVER with hostname | Configure DHCP client on interface to TG with hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends DHCP REQUEST after OFFER | Configure DHCP client on interface to TG and check if
DHCP REQUEST message contains all required fields. |
PASS | |
VPP doesn't send DHCP REQUEST after OFFER with wrong XID | Configure DHCP client on interface to TG. If server sends
DHCP OFFER with different XID as in DHCP DISCOVER, DHCP REQUEST message shouldn't be sent. |
Expected error 'DHCP REQUEST Rx timeout' but got 'Traffic script execution failed'. | FAIL |
VPP honors DHCPv4 lease time | Send IP configuration to the VPP client via DHCP. Address
is checked with ICMP echo request and there should be no reply for echo request when lease has expired. |
PASS |
Fds Related Tests
Provider Network
Name | Documentation | Message | Status |
---|---|---|---|
Provider network test cases with provider physical networks (VLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Tenant Network
Name | Documentation | Message | Status |
---|---|---|---|
L2 test cases with tenant networks (VXLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Gre
Gre Encapsulation
Name | Documentation | Message | Status |
---|---|---|---|
VPP can route IPv4 traffic from GRE tunnel | Create GRE configuration on 2 DUTs, send IP traffic and
check IP is not changed. |
PASS | |
VPP can encapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send IP traffic and
check IP is correctly encapsulate into GRE. |
PASS | |
VPP can decapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send GRE encapsulated
traffic and check IP is received without GRE headers. |
PASS |
Ipv4
Ipv4 Arp Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP sends ARP requests for unknown destinations | Setup IP addresses.
Send ICMP packet and check if VPP sends ARP request. |
PASS | |
VPP sends ARP requests for route's next hop IP | Setup IP addresses and route.
Send ICMP packet and check if VPP sends ARP request. |
Traffic script execution failed | FAIL |
Ipv4 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv4 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src ports | Create classify table on VPP, add source TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on MAC src addr | Create classify table on VPP, add source MAC address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS |
Ipv4 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv4 echo request | PASS | ||
TG can route to DUT egress interface | PASS | ||
TG can route to DUT2 through DUT1 | PASS | ||
TG can route to DUT2 egress interface through DUT1 | PASS | ||
TG can route to TG through DUT1 and DUT2 | PASS | ||
VPP can process ICMP echo request from min to 1500B packet size with 1B increment | PASS | ||
VPP responds to ARP request | PASS |
Ipv6
Ipv6 Iacl Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP drops packets based on IPv6 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src ports | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP can drop packets based on src MAC + IPv6 UDP src+dst port | Create first classify table on VPP, for source MAC address
filtering and second classify table for IPv6 UDP source and destination port filtering. Add MAC address and UDP ports into table and set 'deny' traffic. Check if traffic is dropped. |
PASS |
Ipv6 Ra
Name | Documentation | Message | Status |
---|---|---|---|
VPP transmits RA from IPv6 enabled interface | Setup IPv6 interace and wait for router advertisement packet from this interface to be sent. Subsequently, check received packet for correct contents. | PASS |
Ipv6 Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP replies to ICMPv6 echo request | PASS | ||
VPP can process ICMPv6 echo request from min to 1500B packet size with 1B increment | PASS | ||
TG can route to first DUT egress interface | PASS | ||
TG can route to second DUT through first DUT | PASS | ||
TG can route to second DUT egress interface through first DUT | PASS | ||
TG can route to TG through first and second DUT | PASS | ||
VPP replies to IPv6 Neighbor Solicitation | PASS |
L2 Xconnect
L2 Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
Vpp forwards ICMPv4 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv4 packet. |
PASS | |
Vpp forwards ICMPv6 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv6 packet. |
PASS | |
VPP forwards ICMPv4 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv4 packet. |
PASS | |
VPP forwards ICMPv6 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv6 packet. |
PASS |
Lisp
Lisp Api Untagged
Name | Documentation | Message | Status |
---|---|---|---|
Vpp can enable and disable Lisp | Test lisp enable/disable API.
Enable lisp on the VPP node, check if the lisp on the vpp node is enabled. Then disable lisp on the vpp node and check if the lisp is disabled on the vpp node. |
PASS | |
VPP can add and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
VPP can add, reset and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, then reset locator_set and set it again. Check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
Vpp can add and delete eid address | Test lisp eid API
Set lisp eid IP address on the VPP node, check the configured data and then remove it. Check if all eid IP address was unset from the VPP node. |
PASS | |
Vpp can add and delete lisp map resolver address | Test lisp map resolver address API
Set lisp map resolver address on the VPP node, check the configured data and then remove it. Check if all map resolver address was unset from the VPP node. |
PASS |
Lisp Dataplane Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through LISP | Test IP4 Lisp remote static mapping.
Set IP4 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv6 bidirectionally through LISP | Test IP6 Lisp remote static mapping.
Set IP6 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv4 over IPv6 bidirectionally through LISP | Test IP4 over IP6 in Lisp remote static mapping.
Set IP6 topology and check if the IP4 packet passes through IP6 Lisp topology. |
PASS | |
VPP can pass IPv6 over IPv4 bidirectionally through LISP | Test IP6 over IP4 in Lisp remote static mapping.
Set IP4 topology and check if the IP6 packet passes through IP4 Lisp topology. |
PASS | |
VPP can disable lisp and then re-enable it and everything should work | Test disable and enable Lisp.
Set Lisp and check if lisp work. Then disable Lisp and check if it is disabled. At the end re-enable lisp and check if Lisp is working. |
PASS |
Tagging
Qinq L2 Xconnect
Name | Documentation | Message | Status |
---|---|---|---|
VPP can push and pop two VLAN tags to traffic transferring through xconnect | Push two tags on DUT 1 to traffic sent from TG,
pop two tags on DUT 2 from this traffic and receive untagged traffic on TG. |
PASS |
Vxlan
Vxlan Bd Dot1Q
Name | Documentation | Message | Status |
---|---|---|---|
VPP can encapsulate L2 in VXLAN over IPv4 over Dot1Q | PASS |
Vxlan Bd Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
VPP can pass IPv6 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS |
Vxlan Xconnect Untagged
Name | Documentation | Message | Status |
---|---|---|---|
VPP can pass IPv4 bidirectionally through VXLAN | PASS |
Tests
Suites
Bridge Domain
Bridge Domain Untagged
Name | Documentation | Message | Status |
TC01: DUT reports active interfaces | Report VPP interfaces on DUT | PASS | |
TC02: DUT with L2BD (MAC learning) switch ICMPv4 between two TG links | TG-DUT Eth-IPv4-ICMPv4: On DUT configure L2 bridge-domain
(MAC learning enabled), with two interfaces to TG. Make TG send ICMPv4 Echo Req in both directions between two of its interfaces to be switched by DUT, verify all packets are received. |
PASS | |
TC03: DUT1 and DUT2 with L2BD (MAC learning) switch between two TG links | Eth-IPv4-ICMPv4 on links DUT1-DUT2, TG-DUT1, TG-DUT2: On
DUT1 and DUT2 configure L2 bridge-domain (MAC learning enabled), each with one interface to TG and one Ethernet interface towards the other DUT. Make TG send ICMPv4 Echo Req in both directions between two of its interfaces to be switched by DUT1 and DUT2, verify all packets are received. |
PASS | |
TC04: DUT1 and DUT2 with L2BD (static MACs) switch between two TG links | Eth-IPv4-ICMPv4 on links DUT1-DUT2, TG-DUT1, TG-DUT2: On
DUT1 and DUT2 configure L2 bridge-domain (static MAC entries), each with one interface to TG and one Ethernet interface towards the other DUT. Make TG send ICMPv4 Echo Req in both directions between two of its interfaces to be switched by DUT1 and DUT2, verify all packets are received. |
PASS | |
TC05: DUT1 and DUT2 with L2BD (MAC learn) and SHG switch between four TG links | Eth-IPv4-ICMPv4 on links DUT1-DUT2, TG-DUT1, TG-DUT2: On
DUT1 and DUT2 configure L2 bridge-domain (MAC learning enabled), each with two untagged interfaces to TG and untagged interface towards the other DUT. On each DUT put both interfaces towards TG into the same Split-Horizon-Group (SHG). Make TG send ICMPv4 Echo Reqs between all four of its interfaces to be switched by DUT1 and DUT2, and verify packets are not switched between TG interfaces isolated by SHG on DUT1 and DUT2. |
PASS | |
TC06: DUT with two L2BDs (MAC learn) switches ICMPv4 between TG and VM links | Eth-IPv4-ICMPv4 on links DUT-VM, TG-DUT: On DUT configure
two L2 bridge-domains (MAC learning enabled), each with one untagged interface to TG and untagged interface to local VM over vhost-user. Make TG send ICMPv4 Echo Reqs in both directions between two of its interfaces to be switched by DUT to and from VM, and verify all packets are received. |
PASS | |
TC07: DUT with two L2BDs (MAC learn) switches ICMPv6 between TG and VM links | Eth-IPv6-ICMPv6 on links DUT-VM, TG-DUT: On DUT configure
two L2 bridge-domains (MAC learning enabled), each with one untagged interface to TG and untagged interface to local VM over vhost-user. Make TG send ICMPv6 Echo Reqs in both directions between two of its interfaces to be switched by DUT to and from VM, and verify all packets are received. |
PASS | |
TC08: DUT with two L2BDs (static MACs) switches ICMPv4 between TG and VM links | Eth-IPv6-ICMPv4 on links DUT-VM, TG-DUT: On DUT configure
two L2 bridge-domains (static MAC entries), each with one untagged interface to TG and untagged interface to local VM over vhost-user. Make TG send ICMPv4 Echo Reqs in both directions between two of its interfaces to be switched by DUT to and from VM, and verify all packets are received. |
PASS | |
TC09: DUT with two L2BDs (static MACs) switches ICMPv6 between TG and VM links | Eth-IPv6-ICMPv6 on links DUT-VM, TG-DUT: On DUT configure
two L2 bridge-domains (static MAC entries), each with one untagged interface to TG and untagged interface to local VM over vhost-user. Make TG send ICMPv6 Echo Reqs in both directions between two of its interfaces to be switched by DUT to and from VM, and verify all packets are received. |
PASS |
Name | Documentation | Message | Status |
Cop
Cop Whitelist Blacklist
Name | Documentation | Message | Status |
VPP permits packets based on IPv4 src addr | COP Whitelist test with basic setup. | PASS | |
VPP drops packets based on IPv4 src addr | COP blacklist test with basic setup. | PASS |
cop whitelist blacklist IPv6
Name | Documentation | Message | Status |
VPP permits packets based on IPv6 src addr | COP Whitelist test with basic setup. | PASS | |
VPP drops packets based on IPv6 src addr | COP blacklist test with basic setup. | PASS |
Name | Documentation | Message | Status |
Dhcp
Dhcp Client
Name | Documentation | Message | Status |
VPP sends a DHCP DISCOVER | Configure DHCP client on interface to TG without hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends a DHCP DISCOVER with hostname | Configure DHCP client on interface to TG with hostname
and check if DHCP DISCOVER message contains all required fields with expected values. |
PASS | |
VPP sends DHCP REQUEST after OFFER | Configure DHCP client on interface to TG and check if
DHCP REQUEST message contains all required fields. |
PASS | |
VPP doesn't send DHCP REQUEST after OFFER with wrong XID | Configure DHCP client on interface to TG. If server sends
DHCP OFFER with different XID as in DHCP DISCOVER, DHCP REQUEST message shouldn't be sent. |
Expected error 'DHCP REQUEST Rx timeout' but got 'Traffic script execution failed'. | FAIL |
VPP honors DHCPv4 lease time | Send IP configuration to the VPP client via DHCP. Address
is checked with ICMP echo request and there should be no reply for echo request when lease has expired. |
PASS |
Name | Documentation | Message | Status |
Fds Related Tests
Provider Network
Name | Documentation | Message | Status |
Provider network test cases with provider physical networks (VLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Tenant Network
Name | Documentation | Message | Status |
L2 test cases with tenant networks (VXLAN) | Ping among all ports inside the same network should pass.
a) test l2 connectivity inside every network b) test l2 connectivity between networks |
PASS |
Name | Documentation | Message | Status |
Gre
Gre Encapsulation
Name | Documentation | Message | Status |
VPP can route IPv4 traffic from GRE tunnel | Create GRE configuration on 2 DUTs, send IP traffic and
check IP is not changed. |
PASS | |
VPP can encapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send IP traffic and
check IP is correctly encapsulate into GRE. |
PASS | |
VPP can decapsulate IPv4 traffic in GRE | Create GRE configuration on DUT, send GRE encapsulated
traffic and check IP is received without GRE headers. |
PASS |
Name | Documentation | Message | Status |
Ipv4
Ipv4 Arp Untagged
Name | Documentation | Message | Status |
VPP sends ARP requests for unknown destinations | Setup IP addresses and route.
Send ICMP packet and check if VPP sends ARP request. |
PASS |
Ipv4 Iacl Untagged
Name | Documentation | Message | Status |
VPP drops packets based on IPv4 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src ports | Create classify table on VPP, add source TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv4 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS |
Ipv4 Untagged
Name | Documentation | Message | Status |
VPP replies to ICMPv4 echo request | PASS | ||
TG can route to DUT egress interface | PASS | ||
TG can route to DUT2 through DUT1 | PASS | ||
TG can route to DUT2 egress interface through DUT1 | PASS | ||
TG can route to TG through DUT1 and DUT2 | PASS | ||
VPP can process ICMP echo request from min to 1500B packet size with 1B increment | PASS | ||
VPP responds to ARP request | PASS |
Name | Documentation | Message | Status |
Ipv6
Ipv6 Iacl Untagged
Name | Documentation | Message | Status |
VPP drops packets based on IPv6 source addresses | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 destination addresses | Create classify table on VPP, add destination IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 src-addr and dst-addr | Create classify table on VPP, add source and destination
IP address of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (TCP) | Create classify table on VPP, add mask for TCP port
into table and setup 'deny' traffic and check if TCP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 protocol (UDP) | Create classify table on VPP, add mask for UDP port
into table and setup 'deny' traffic and check if UDP traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src ports | Create classify table on VPP, add source IP address
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP dst ports | Create classify table on VPP, add destination TCP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 TCP src + dst ports | Create classify table on VPP, add source and destination
TCP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src ports | Create classify table on VPP, add source UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP dst ports | Create classify table on VPP, add destination UDP port
of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS | |
VPP drops packets based on IPv6 UDP src + dst ports | Create classify table on VPP, add source and destination
UDP port of traffic into table and setup 'deny' traffic and check if traffic is dropped. |
PASS |
Ipv6 Untagged
Name | Documentation | Message | Status |
VPP replies to ICMPv6 echo request | PASS | ||
VPP can process ICMPv6 echo request from min to 1500B packet size with 1B increment | PASS | ||
TG can route to first DUT egress interface | PASS | ||
TG can route to second DUT through first DUT | PASS | ||
TG can route to second DUT egress interface through first DUT | PASS | ||
TG can route to TG through first and second DUT | PASS | ||
VPP replies to IPv6 Neighbor Solicitation | PASS |
Name | Documentation | Message | Status |
L2 Xconnect
L2 Xconnect Untagged
Name | Documentation | Message | Status |
Vpp forwards ICMPv4 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv4 packet. |
PASS | |
Vpp forwards ICMPv6 packets via L2 xconnect in circular topology | Setup single link path with X-connect
and send ICMPv6 packet. |
PASS | |
VPP forwards ICMPv4 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv4 packet. |
PASS | |
VPP forwards ICMPv6 packets through VM via L2 x-connect | Setup double link path with X-connect via Vhost user
and send ICMPv6 packet. |
PASS |
Name | Documentation | Message | Status |
Lisp
Lisp Api Untagged
Name | Documentation | Message | Status |
VPP can add and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
VPP can add, reset and delete locator_set | Test lisp locator_set API
Set locator_set and locator on the VPP node, then reset locator_set and set it again. Check the configured data and then remove it. Check if all locator_set and locators was unset from the VPP node. |
PASS | |
Vpp can add and delete eid address | Test lisp eid API
Set lisp eid IP address on the VPP node, check the configured data and then remove it. Check if all eid IP address was unset from the VPP node. |
PASS | |
Vpp can add and delete lisp map resolver address | Test lisp map resolver address API
Set lisp map resolver address on the VPP node, check the configured data and then remove it. Check if all map resolver address was unset from the VPP node. |
PASS |
Lisp Dataplane Untagged
Name | Documentation | Message | Status |
VPP can pass IPv4 bidirectionally through LISP | Test IP4 Lisp remote static mapping.
Set IP4 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv6 bidirectionally through LISP | Test IP6 Lisp remote static mapping.
Set IP6 lisp topology and check if packet passes through Lisp topology. |
PASS | |
VPP can pass IPv4 over IPv6 bidirectionally through LISP | Test IP4 over IP6 in Lisp remote static mapping.
Set IP6 topology and check if the IP4 packet passes through IP6 Lisp topology. |
PASS | |
VPP can pass IPv6 over IPv4 bidirectionally through LISP | Test IP6 over IP4 in Lisp remote static mapping.
Set IP4 topology and check if the IP6 packet passes through IP4 Lisp topology. |
PASS |
Name | Documentation | Message | Status |
Tagging
Qinq L2 Xconnect
Name | Documentation | Message | Status |
VPP can push and pop two VLAN tags to traffic transferring through xconnect | Push two tags on DUT 1 to traffic sent from TG,
pop two tags on DUT 2 from this traffic and receive untagged traffic on TG. |
PASS |
Name | Documentation | Message | Status |
Vxlan
Vxlan Bd Dot1Q
Name | Documentation | Message | Status |
VPP can encapsulate L2 in VXLAN over IPv4 over Dot1Q | PASS |
Vxlan Bd Untagged
Name | Documentation | Message | Status |
VPP can pass IPv4 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv4 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
VPP can pass IPv6 bidirectionally through VXLAN using bridge domain | Create VXLAN interface on both VPP nodes. Create one
bridge domain (learning enabled) on both VPP nodes, add VXLAN interface and interface toward TG to bridge domains and check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to the same split-horizon group of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS | |
Vpp forwards ICMPv6 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain | Create two VXLAN interfaces on both VPP nodes. Create one
bridge domain (learning enabled) on the first VPP node, add VXLAN interfaces to different split-horizon groups of the bridge domain where interfaces toward TG are added to. Create two bridge domains (learning enabled) on the second VPP node and add one VXLAN interface and one interface toward TG to each of them. Check traffic bidirectionally. |
PASS |
Vxlan Xconnect Untagged
Name | Documentation | Message | Status |
VPP can pass IPv4 bidirectionally through VXLAN | PASS |
Name | Documentation | Message | Status |
Name | Documentation | Message | Status |
Name | Documentation | Message | Status |
Performance tests description
description of topologies tested description of each test case, test case type taken from documentation from .robot files(?) reference specs of tested functionality i.e. IETF RFC list of executed test cases and summary results long tests - graphs with discovered NDR and PDR rates short tests - list with PASS/FAIL/ISSUE
Performance tests results
Set of graphs from vpp-csit-verify-hw-perf-1606-long job and trending from semiweekly. For more granular view, we can also link to wiki page with console output in ASCII and also links to robot log.html and report.html, if we find a way to host them somewhere.
Functional tests environment
Config Data: VPP (DUT) VPP Running Configuration VPP Startup Configuration VPP Version VPP Compile Parameters VPP Build Script used - pointer if default
Config Data: VM (DUT) VM OS Information
Config Data: Traffic Generator - Scapy TG Version
Test Data: VPP (DUT) VPP telemetry cli Outputs
Test Data: Traffic Generator - Scapy
Performance tests environment
Compute Node Environment for VPP (DUT) Host hardware: cpu, memory, nics Host BIOS Information Host OS Linux distro ver Host OS Linux kernel ver Host OS Linux additional patch references Host OS Qemu ver Config Data: VPP (DUT) NUMA Node Location of VPP Interfaces NIC types DPDK version VPP Version VPP Compile Parameters VPP Build Script used - pointer if default VPP Startup Configuration VPP Running Configuration
Compute Node Environment for Traffic Generator (TG) Host BIOS Information Host OS Linux distro ver Host OS Linux kernel ver Host OS Linux additional patch references
Config Data: Traffic Generator - T-Rex TG Version DPDK version - if applicable TG Compile Parameters TG Build Script used - pointer if default TG Startup Configuration TG Running Configuration TG common API calls?
Test Data: VPP (DUT) VPP Telemetry Outputs collected at NDR and PDR
Test Data: Compute Host (DUT) CPU Perf Counters collected at NDR - not collected today
Test Data: Traffic Generator - T-Rex TG (T-Rex) Outputs During & After Test at 64B NDR TG (T-Rex) Outputs During & After Test at IMIX NDR TG (T-Rex) Outputs During & After Test at 1518 NDR TG (T-Rex) Outputs During & After Test at 9000 NDR
CSIT release notes
jira release notes complete dump of test cases from stable/1606 branch functional performance