From e416893a597959509c7f667c140c271c0bb78c14 Mon Sep 17 00:00:00 2001 From: Naveen Joy Date: Tue, 4 Oct 2022 14:22:05 -0700 Subject: tests: tapv2, tunv2 and af_packet interface tests for vpp Tests gso/gro-coalesce features on tapv2, tunv2 and af_packet interfaces to ensure that packet transmission is enabled correctly for various MTU sizes and interface combinations in bridged and routed topologies for IPv4 and IPv6. Interface tests are dynamically generated at run time from the config file vm_test_config.py. Type: test Change-Id: I5f9d8cc80d20b4e34011fc8a87e35659bd9613bc Signed-off-by: Naveen Joy --- test/vm_test_config.py | 292 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 292 insertions(+) create mode 100644 test/vm_test_config.py (limited to 'test/vm_test_config.py') diff --git a/test/vm_test_config.py b/test/vm_test_config.py new file mode 100644 index 00000000000..83534a8cc8c --- /dev/null +++ b/test/vm_test_config.py @@ -0,0 +1,292 @@ +#!/usr/bin/env python3 + +## Virtual Interface Test configuration for VM tests ## + +test_config = { + "client_namespace": "iprf_client_ns", + "server_namespace": "iprf_server_ns", + "mtus": [9001, 9000, 2048, 2049, 1500, 512], + "ip_versions": [4, 6], + "af_packet": { + "iprf_client_interface_on_linux": "hostintclient", + "iprf_server_interface_on_linux": "hostintserver", + "iprf_client_interface_on_vpp": "vppclientout", + "iprf_server_interface_on_vpp": "vppserverout", + }, + "L2": { + "client_ip4_prefix": "10.0.0.101/24", + "server_ip4_prefix": "10.0.0.102/24", + "client_ip6_prefix": "2001:1::1/64", + "server_ip6_prefix": "2001:1::2/64", + }, + "L3": { + "client_ip4_prefix": "10.0.0.101/24", + "vpp_client_ip4_prefix": "10.0.0.102/24", + "server_ip4_prefix": "10.0.1.102/24", + "vpp_server_ip4_prefix": "10.0.1.101/24", + "ip4_vrf": 1, + "client_ip6_prefix": "2001:1::1/64", + "vpp_client_ip6_prefix": "2001:1::2/64", + "server_ip6_prefix": "2001:2::2/64", + "vpp_server_ip6_prefix": "2001:2::1/64", + "ip6_vrf": 2, + }, + # Test Filter + # Comma separated test id's or range(s) of test id's to run (default=all) + # e.g. "1,3-4,19-23" runs tests with ID's 1, 3, 4, 19, 20, 21, 22 & 23 only + "tests_to_run": "", + "tests": [ + { + "id": 1, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 2, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 1, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 3, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 1, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 4, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 1, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 5, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 1, + "x_connect_mode": "L2", + }, + { + "id": 6, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 1, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 1, + "x_connect_mode": "L2", + }, + { + "id": 7, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 1, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 1, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 8, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 1, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 1, + "server_if_gro": 0, + "x_connect_mode": "L2", + }, + { + "id": 9, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 1, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 1, + "x_connect_mode": "L2", + }, + { + "id": 10, + "client_if_type": "tap", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 0, + "server_if_type": "tun", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 1, + "x_connect_mode": "L3", + }, + { + "id": 11, + "client_if_type": "tun", + "client_if_version": 2, + "client_if_gso": 0, + "client_if_gro": 0, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "server_if_gro": 1, + "x_connect_mode": "L3", + }, + { + "id": 12, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 0, + "server_if_type": "af_packet", + "server_if_version": 3, + "server_if_gso": 0, + "x_connect_mode": "L2", + }, + { + "id": 13, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 0, + "server_if_type": "af_packet", + "server_if_version": 3, + "server_if_gso": 0, + "x_connect_mode": "L3", + }, + { + "id": 14, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 1, + "server_if_type": "af_packet", + "server_if_version": 3, + "server_if_gso": 1, + "x_connect_mode": "L2", + }, + { + "id": 15, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 1, + "server_if_type": "af_packet", + "server_if_version": 3, + "server_if_gso": 1, + "x_connect_mode": "L3", + }, + { + "id": 16, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 1, + "server_if_type": "af_packet", + "server_if_version": 3, + "server_if_gso": 0, + "x_connect_mode": "L2", + }, + { + "id": 17, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 1, + "server_if_type": "tap", + "server_if_version": 2, + "server_if_gso": 0, + "x_connect_mode": "L2", + }, + { + "id": 18, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 1, + "server_if_type": "tun", + "server_if_version": 2, + "server_if_gso": 0, + "x_connect_mode": "L3", + }, + { + "id": 19, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 1, + "server_if_type": "af_packet", + "server_if_version": 2, + "server_if_gso": 1, + "x_connect_mode": "L3", + }, + { + "id": 20, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 0, + "server_if_type": "af_packet", + "server_if_version": 2, + "server_if_gso": 0, + "x_connect_mode": "L2", + }, + { + "id": 21, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 0, + "server_if_type": "tun", + "server_if_version": 2, + "server_if_gro": 1, + "x_connect_mode": "L3", + }, + { + "id": 22, + "client_if_type": "af_packet", + "client_if_version": 3, + "client_if_gso": 0, + "server_if_type": "af_packet", + "server_if_version": 2, + "server_if_gso": 1, + "x_connect_mode": "L2", + }, + { + "id": 23, + "client_if_type": "af_packet", + "client_if_version": 2, + "client_if_gso": 1, + "server_if_type": "af_packet", + "server_if_version": 2, + "server_if_gso": 1, + "x_connect_mode": "L2", + }, + ], +} -- cgit 1.2.3-korg