diff options
| author | songyanchao <[email protected]> | 2024-01-12 09:18:53 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2024-01-12 09:18:53 +0000 |
| commit | daaf9316fb1acd9620ff7a7c592d5567130a873a (patch) | |
| tree | 7876ec6e5aa7f1ceb2f77511ad0658456ba03707 /test | |
| parent | d61f6b7b9c1fd4955074c9a49ecb07a5adb6803f (diff) | |
✨ feat(DPISDN-33): Support non-contiguous configuration for Ef adapter id.
Support non-contiguous configuration for Ef adapter id.
Diffstat (limited to 'test')
| -rw-r--r-- | test/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | test/bfd_test.py | 6 | ||||
| -rw-r--r-- | test/bridge_test.py | 6 | ||||
| -rw-r--r-- | test/classifier_test.py | 18 | ||||
| -rw-r--r-- | test/endpoint_dev_test.py | 6 | ||||
| -rw-r--r-- | test/etherfabric_test.py | 234 | ||||
| -rw-r--r-- | test/health_check_test.py | 6 | ||||
| -rw-r--r-- | test/load_balance_test.py | 6 | ||||
| -rw-r--r-- | test/msgpack_test.py | 18 | ||||
| -rw-r--r-- | test/tera_test.py | 36 | ||||
| -rw-r--r-- | test/vwire_test.py | 12 |
11 files changed, 349 insertions, 1 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fa518bb..d2dacd6 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -75,7 +75,7 @@ add_test( NAME etherfabric_test COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test --interface 0@veth0-ptf0 - virtual_wire_mode tap_mode ef_route_ctx_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" + virtual_wire_mode tap_mode ef_route_ctx_test ef_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" ) # Add health_check test diff --git a/test/bfd_test.py b/test/bfd_test.py index 049a7f9..06ec56f 100644 --- a/test/bfd_test.py +++ b/test/bfd_test.py @@ -26,6 +26,12 @@ iocore = 1 distmode = 2 hashmode = 0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr = 0x600000000000 loglevel = 7 diff --git a/test/bridge_test.py b/test/bridge_test.py index fca9d42..bf1dfff 100644 --- a/test/bridge_test.py +++ b/test/bridge_test.py @@ -45,6 +45,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/classifier_test.py b/test/classifier_test.py index 686a2a7..8d9a4ac 100644 --- a/test/classifier_test.py +++ b/test/classifier_test.py @@ -52,6 +52,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -504,6 +510,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -770,6 +782,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/endpoint_dev_test.py b/test/endpoint_dev_test.py index e9fcce5..fa46b44 100644 --- a/test/endpoint_dev_test.py +++ b/test/endpoint_dev_test.py @@ -25,6 +25,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/etherfabric_test.py b/test/etherfabric_test.py index a974426..2cbfc89 100644 --- a/test/etherfabric_test.py +++ b/test/etherfabric_test.py @@ -25,6 +25,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -74,6 +80,7 @@ sid_end=200 max_rules=256 [ef_adapter:0] +ef_adapter_id=0 mode=virtual-wire listen_device=veth0 """ @@ -123,6 +130,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -172,6 +185,7 @@ sid_end=200 max_rules=256 [ef_adapter:0] +ef_adapter_id=0 mode=tap listen_device=veth0 """ @@ -242,6 +256,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -291,6 +311,7 @@ sid_start=1000 sid_end=2000 [ef_adapter:0] +ef_adapter_id=0 mode=virtual-wire listen_device=veth0 @@ -342,3 +363,216 @@ class IPv4TestForRouteCtx(BaseTest): verify_packets(self, verify_pkt, [0]) finally: mrzcpd.stop() + +start_conf_with_non_contiguous_test = """ +[device] +device = veth0,veth1,veth2,veth3,veth4,veth5 +sz_tunnel = 8192 +sz_buffer = 0 + +[device:veth0] +in_addr=10.254.60.100 +in_mask=255.255.255.0 +promisc = 1 +mtu = 1500 +driver = 2 +role = 3 + +[device:veth1] +promisc = 1 +mtu = 1500 +driver=2 +role=4 + +[device:veth2] +in_addr=10.254.60.101 +in_mask=255.255.255.0 +promisc = 1 +mtu = 1500 +driver = 2 +role = 3 + +[device:veth3] +promisc = 1 +mtu = 1500 +driver=2 +role=4 + +[device:veth4] +in_addr=10.254.60.102 +in_mask=255.255.255.0 +promisc = 1 +mtu = 1500 +driver = 2 +role = 3 + +[device:veth5] +promisc = 1 +mtu = 1500 +driver=2 +role=4 + +[service] +iocore = 1 +distmode = 2 +hashmode = 0 + +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + +[eal] +virtaddr = 0x600000000000 +loglevel = 7 +nohuge = 1 +mem = 65535 + +[keepalive] +check_spinlock = 1 + +[ctrlzone] +ctrlzone0 = tunnat, 64 +ctrlzone1 = vsys, 64 + +[pool] +create_mode = 3 +sz_direct_pktmbuf = 4096 +sz_indirect_pktmbuf = 4096 +sz_cache = 256 +sz_data = 3000 + +[ctrlmsg] +listen_addr = 0.0.0.0 +listen_port = 46789 + +[rpc] +addr = 127.0.0.1 +port = 56789 + +# sid +[ef_adapters] +sid_start=100 +sid_end=200 +max_rules=256 + +[vwires] +sid_start=300 +sid_end=400 +max_rules=256 + +[service_lb] +sid_start=1000 +sid_end=2000 + +# load balance +[load_balance:0] +mode=balance +devices=veth1,normal + +[load_balance:1] +mode=balance +devices=veth3,normal + +[load_balance:2] +mode=balance +devices=veth5,normal + +# adapter +[ef_adapter:0] +ef_adapter_id=0 +mode=virtual-wire +listen_device=veth0 + +[ef_adapter:1] +ef_adapter_id=2 +mode=virtual-wire +listen_device=veth2 + +[ef_adapter:2] +ef_adapter_id=4 +mode=virtual-wire +listen_device=veth4 +""" + +dynamic_conf_with_non_contiguous_test = """ +[classifier_rule:0] +rule_id=1 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1000 +ef_adapter_id=0 + +[classifier_rule:1] +rule_id=2 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1001 +ef_adapter_id=2 + +[classifier_rule:2] +rule_id=2 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1002 +ef_adapter_id=4 +""" + +""" + +--------------+ +----------++-----------+----------+ + | PTF | | Mrzcpd | + +--------------+ +----------++-----------+----------+ +------------+ + | veth0-ptf0 | ---> | veth0 | | veth1 | ---> | veth1-ptf1 | + +--------------+ +----------+ +----------+ +------------+ + | veth2-ptf2 | <-\- | veth2 | | veth3 | ---> | veth3-ptf3 | + +--------------+ +----------+ +----------+ +------------+ + | veth4-ptf4 | ---> | veth4 | | veth5 | ---> | veth5-ptf5 | + +--------------+ +----------+ +----------+ +------------+ +""" +@group("ef_adapter_id_non_contiguous_test") +class EfAdapterIdNonContiguousTest(BaseTest): + # Base test init + def __init__(self): + BaseTest.__init__(self) + + # Dataplane set up + def setUp(self): + self.dataplane = ptf.dataplane_instance + + # Run test + def runTest(self): + try: + # Init & Start mrzcpd + mrzcpd = Mrzcpd(start_conf_with_non_contiguous_test,dynamic_conf_with_non_contiguous_test) + mrzcpd.start() + + send_pkts = [] + verify_pkts = [] + + # Create packets + for i in range(0,3): + tcp_pkt = simple_tcp_packet() + verify_pkts.append(tcp_pkt) + + send_pkts.append(simple_vxlan_packet(eth_src='0a:0a:0a:0a:01:28', + eth_dst='10:70:fd:03:c0:bd', + ip_src='10.254.50.' + str(100 + i), ip_dst='10.254.60.' + str(100 + i), + vxlan_vni=32,inner_frame=tcp_pkt)) + + + # Traverse all ports + for i in range(0, 3): + # Send pkt for the port + send_packet(self, i * 2 , send_pkts[i]) + # Verify pkt for specified port + verify_packets(self, verify_pkts[i], [1 + i*2]) + + finally: + mrzcpd.stop() diff --git a/test/health_check_test.py b/test/health_check_test.py index c32f83a..71a48d9 100644 --- a/test/health_check_test.py +++ b/test/health_check_test.py @@ -23,6 +23,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/load_balance_test.py b/test/load_balance_test.py index 78aa758..f762214 100644 --- a/test/load_balance_test.py +++ b/test/load_balance_test.py @@ -47,6 +47,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/msgpack_test.py b/test/msgpack_test.py index f5e1c9e..d46955f 100644 --- a/test/msgpack_test.py +++ b/test/msgpack_test.py @@ -41,6 +41,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -181,6 +187,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -329,6 +341,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/tera_test.py b/test/tera_test.py index bb11883..2a596f3 100644 --- a/test/tera_test.py +++ b/test/tera_test.py @@ -26,6 +26,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -131,6 +137,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -241,6 +253,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -564,6 +582,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -994,6 +1018,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 @@ -1317,6 +1347,12 @@ iocore=1 distmode=2 hashmode=0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr=0x600000000000 loglevel=7 diff --git a/test/vwire_test.py b/test/vwire_test.py index fa9141d..3d8e7b8 100644 --- a/test/vwire_test.py +++ b/test/vwire_test.py @@ -160,6 +160,12 @@ iocore = 1 distmode = 2 hashmode = 0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr = 0x600000000000 loglevel = 7 @@ -386,6 +392,12 @@ iocore = 1 distmode = 2 hashmode = 0 +[limits] +nr_max_ef_adapters=32 +nr_max_vwires=32 +nr_max_tera_adapters=32 +nr_max_link_dbs=32 + [eal] virtaddr = 0x600000000000 loglevel = 7 |
