diff options
| author | songyanchao <[email protected]> | 2024-01-12 10:17:19 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2024-01-12 10:17:19 +0000 |
| commit | 0bc92bef18678cbde138a175dd85bb4287e0760a (patch) | |
| tree | 44e644899a6a0b030e66b92f403ab7c3025b354c /test | |
| parent | daaf9316fb1acd9620ff7a7c592d5567130a873a (diff) | |
✨ feat(DPISDN-33): Support non-contiguous configuration for Tera adapter id.
Support non-contiguous configuration for Tera adapter id.
Diffstat (limited to 'test')
| -rw-r--r-- | test/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | test/classifier_test.py | 3 | ||||
| -rw-r--r-- | test/etherfabric_test.py | 2 | ||||
| -rw-r--r-- | test/msgpack_test.py | 3 | ||||
| -rw-r--r-- | test/tera_test.py | 259 |
5 files changed, 268 insertions, 3 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d2dacd6..58ec534 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -42,7 +42,7 @@ add_test( NAME vwire_test COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 --interface 2@veth2-ptf2 --interface 3@veth3-ptf3 --interface 4@veth4-ptf4 --interface 5@veth5-ptf5 --interface 6@veth6-ptf6 --interface 7@veth7-ptf7 --interface 8@veth8-ptf8 --interface 9@veth9-ptf9 --interface 10@veth10-ptf10 --interface 11@veth11-ptf11 --interface 12@veth12-ptf12 --interface 13@veth13-ptf13 --interface 14@veth14-ptf14 --interface 15@veth15-ptf15 --interface 16@veth16-ptf16 --interface 17@veth17-ptf17 --interface 18@veth18-ptf18 --interface 19@veth19-ptf19 --interface 20@veth20-ptf20 --interface 21@veth21-ptf21 --interface 22@veth22-ptf22 --interface 23@veth23-ptf23 - vwire_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" + vwire_test id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" ) # Add bfd test @@ -115,5 +115,5 @@ add_test( NAME tera_test COMMAND /usr/local/bin/ptf --test-dir ${CMAKE_SOURCE_DIR}/test --interface 0@veth0-ptf0 --interface 1@veth1-ptf1 - tera_base_test tera_mpack_test tera_nf_test tera_route_ctx_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" + tera_base_test tera_mpack_test tera_nf_test tera_route_ctx_test tera_adapter_id_non_contiguous_test --test-params "source_dir='${CMAKE_SOURCE_DIR}'" ) diff --git a/test/classifier_test.py b/test/classifier_test.py index 8d9a4ac..82e525c 100644 --- a/test/classifier_test.py +++ b/test/classifier_test.py @@ -99,6 +99,7 @@ max_rules=256 # vwire [vwire:0] +vwire_id=0 interface_int=veth4 interface_ext=veth5 @@ -557,6 +558,7 @@ max_rules=256 # vwire [vwire:0] +vwire_id=0 interface_int=veth2 interface_ext=veth3 @@ -833,6 +835,7 @@ sid_end=600 max_rules=64 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 diff --git a/test/etherfabric_test.py b/test/etherfabric_test.py index 2cbfc89..61f2e17 100644 --- a/test/etherfabric_test.py +++ b/test/etherfabric_test.py @@ -531,7 +531,7 @@ ef_adapter_id=4 +--------------+ +----------++-----------+----------+ +------------+ | veth0-ptf0 | ---> | veth0 | | veth1 | ---> | veth1-ptf1 | +--------------+ +----------+ +----------+ +------------+ - | veth2-ptf2 | <-\- | veth2 | | veth3 | ---> | veth3-ptf3 | + | veth2-ptf2 | ---> | veth2 | | veth3 | ---> | veth3-ptf3 | +--------------+ +----------+ +----------+ +------------+ | veth4-ptf4 | ---> | veth4 | | veth5 | ---> | veth5-ptf5 | +--------------+ +----------+ +----------+ +------------+ diff --git a/test/msgpack_test.py b/test/msgpack_test.py index d46955f..a92b6ff 100644 --- a/test/msgpack_test.py +++ b/test/msgpack_test.py @@ -87,6 +87,7 @@ max_rules=256 # vwire [vwire:0] +vwire_id=0 interface_int=veth0 interface_ext=veth1 @@ -233,6 +234,7 @@ max_rules=256 # vwire [vwire:0] +vwire_id=0 interface_int=veth0 interface_ext=veth1 @@ -387,6 +389,7 @@ max_rules=256 # vwire [vwire:0] +vwire_id=0 interface_int=veth0 interface_ext=veth1 diff --git a/test/tera_test.py b/test/tera_test.py index 2a596f3..56b58f3 100644 --- a/test/tera_test.py +++ b/test/tera_test.py @@ -81,6 +81,7 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 @@ -192,6 +193,7 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth1 vlan_int=110 vlan_ext=111 @@ -308,96 +310,112 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 mac_flipping=1 [tera_adapter:1] +tera_adapter_id=1 listen_device=veth0 vlan_int=112 vlan_ext=113 mac_flipping=1 [tera_adapter:2] +tera_adapter_id=2 listen_device=veth0 vlan_int=114 vlan_ext=115 mac_flipping=1 [tera_adapter:3] +tera_adapter_id=3 listen_device=veth0 vlan_int=116 vlan_ext=117 mac_flipping=1 [tera_adapter:4] +tera_adapter_id=4 listen_device=veth0 vlan_int=118 vlan_ext=119 mac_flipping=1 [tera_adapter:5] +tera_adapter_id=5 listen_device=veth0 vlan_int=120 vlan_ext=121 mac_flipping=1 [tera_adapter:6] +tera_adapter_id=6 listen_device=veth0 vlan_int=122 vlan_ext=123 mac_flipping=1 [tera_adapter:7] +tera_adapter_id=7 listen_device=veth0 vlan_int=124 vlan_ext=125 mac_flipping=1 [tera_adapter:8] +tera_adapter_id=8 listen_device=veth0 vlan_int=126 vlan_ext=127 mac_flipping=1 [tera_adapter:9] +tera_adapter_id=9 listen_device=veth0 vlan_int=128 vlan_ext=129 mac_flipping=1 [tera_adapter:10] +tera_adapter_id=10 listen_device=veth0 vlan_int=130 vlan_ext=131 mac_flipping=1 [tera_adapter:11] +tera_adapter_id=11 listen_device=veth0 vlan_int=132 vlan_ext=133 mac_flipping=1 [tera_adapter:12] +tera_adapter_id=12 listen_device=veth0 vlan_int=134 vlan_ext=135 mac_flipping=1 [tera_adapter:13] +tera_adapter_id=13 listen_device=veth0 vlan_int=136 vlan_ext=137 mac_flipping=1 [tera_adapter:14] +tera_adapter_id=14 listen_device=veth0 vlan_int=138 vlan_ext=139 mac_flipping=1 [tera_adapter:15] +tera_adapter_id=15 listen_device=veth0 vlan_int=140 vlan_ext=141 @@ -637,96 +655,112 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 mac_flipping=1 [tera_adapter:1] +tera_adapter_id=1 listen_device=veth0 vlan_int=112 vlan_ext=113 mac_flipping=1 [tera_adapter:2] +tera_adapter_id=2 listen_device=veth0 vlan_int=114 vlan_ext=115 mac_flipping=1 [tera_adapter:3] +tera_adapter_id=3 listen_device=veth0 vlan_int=116 vlan_ext=117 mac_flipping=1 [tera_adapter:4] +tera_adapter_id=4 listen_device=veth0 vlan_int=118 vlan_ext=119 mac_flipping=1 [tera_adapter:5] +tera_adapter_id=5 listen_device=veth0 vlan_int=120 vlan_ext=121 mac_flipping=1 [tera_adapter:6] +tera_adapter_id=6 listen_device=veth0 vlan_int=122 vlan_ext=123 mac_flipping=1 [tera_adapter:7] +tera_adapter_id=7 listen_device=veth0 vlan_int=124 vlan_ext=125 mac_flipping=1 [tera_adapter:8] +tera_adapter_id=8 listen_device=veth0 vlan_int=126 vlan_ext=127 mac_flipping=1 [tera_adapter:9] +tera_adapter_id=9 listen_device=veth0 vlan_int=128 vlan_ext=129 mac_flipping=1 [tera_adapter:10] +tera_adapter_id=10 listen_device=veth0 vlan_int=130 vlan_ext=131 mac_flipping=1 [tera_adapter:11] +tera_adapter_id=11 listen_device=veth0 vlan_int=132 vlan_ext=133 mac_flipping=1 [tera_adapter:12] +tera_adapter_id=12 listen_device=veth0 vlan_int=134 vlan_ext=135 mac_flipping=1 [tera_adapter:13] +tera_adapter_id=13 listen_device=veth0 vlan_int=136 vlan_ext=137 mac_flipping=1 [tera_adapter:14] +tera_adapter_id=14 listen_device=veth0 vlan_int=138 vlan_ext=139 mac_flipping=1 [tera_adapter:15] +tera_adapter_id=15 listen_device=veth0 vlan_int=140 vlan_ext=141 @@ -1073,96 +1107,112 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 mac_flipping=1 [tera_adapter:1] +tera_adapter_id=1 listen_device=veth0 vlan_int=112 vlan_ext=113 mac_flipping=1 [tera_adapter:2] +tera_adapter_id=2 listen_device=veth0 vlan_int=114 vlan_ext=115 mac_flipping=1 [tera_adapter:3] +tera_adapter_id=3 listen_device=veth0 vlan_int=116 vlan_ext=117 mac_flipping=1 [tera_adapter:4] +tera_adapter_id=4 listen_device=veth0 vlan_int=118 vlan_ext=119 mac_flipping=1 [tera_adapter:5] +tera_adapter_id=5 listen_device=veth0 vlan_int=120 vlan_ext=121 mac_flipping=1 [tera_adapter:6] +tera_adapter_id=6 listen_device=veth0 vlan_int=122 vlan_ext=123 mac_flipping=1 [tera_adapter:7] +tera_adapter_id=7 listen_device=veth0 vlan_int=124 vlan_ext=125 mac_flipping=1 [tera_adapter:8] +tera_adapter_id=8 listen_device=veth0 vlan_int=126 vlan_ext=127 mac_flipping=1 [tera_adapter:9] +tera_adapter_id=9 listen_device=veth0 vlan_int=128 vlan_ext=129 mac_flipping=1 [tera_adapter:10] +tera_adapter_id=10 listen_device=veth0 vlan_int=130 vlan_ext=131 mac_flipping=1 [tera_adapter:11] +tera_adapter_id=11 listen_device=veth0 vlan_int=132 vlan_ext=133 mac_flipping=1 [tera_adapter:12] +tera_adapter_id=12 listen_device=veth0 vlan_int=134 vlan_ext=135 mac_flipping=1 [tera_adapter:13] +tera_adapter_id=13 listen_device=veth0 vlan_int=136 vlan_ext=137 mac_flipping=1 [tera_adapter:14] +tera_adapter_id=14 listen_device=veth0 vlan_int=138 vlan_ext=139 mac_flipping=1 [tera_adapter:15] +tera_adapter_id=15 listen_device=veth0 vlan_int=140 vlan_ext=141 @@ -1402,96 +1452,112 @@ sid_start=1000 sid_end=2000 [tera_adapter:0] +tera_adapter_id=0 listen_device=veth0 vlan_int=110 vlan_ext=111 mac_flipping=1 [tera_adapter:1] +tera_adapter_id=1 listen_device=veth0 vlan_int=112 vlan_ext=113 mac_flipping=1 [tera_adapter:2] +tera_adapter_id=2 listen_device=veth0 vlan_int=114 vlan_ext=115 mac_flipping=1 [tera_adapter:3] +tera_adapter_id=3 listen_device=veth0 vlan_int=116 vlan_ext=117 mac_flipping=1 [tera_adapter:4] +tera_adapter_id=4 listen_device=veth0 vlan_int=118 vlan_ext=119 mac_flipping=1 [tera_adapter:5] +tera_adapter_id=5 listen_device=veth0 vlan_int=120 vlan_ext=121 mac_flipping=1 [tera_adapter:6] +tera_adapter_id=6 listen_device=veth0 vlan_int=122 vlan_ext=123 mac_flipping=1 [tera_adapter:7] +tera_adapter_id=7 listen_device=veth0 vlan_int=124 vlan_ext=125 mac_flipping=1 [tera_adapter:8] +tera_adapter_id=8 listen_device=veth0 vlan_int=126 vlan_ext=127 mac_flipping=1 [tera_adapter:9] +tera_adapter_id=9 listen_device=veth0 vlan_int=128 vlan_ext=129 mac_flipping=1 [tera_adapter:10] +tera_adapter_id=10 listen_device=veth0 vlan_int=130 vlan_ext=131 mac_flipping=1 [tera_adapter:11] +tera_adapter_id=11 listen_device=veth0 vlan_int=132 vlan_ext=133 mac_flipping=1 [tera_adapter:12] +tera_adapter_id=12 listen_device=veth0 vlan_int=134 vlan_ext=135 mac_flipping=1 [tera_adapter:13] +tera_adapter_id=13 listen_device=veth0 vlan_int=136 vlan_ext=137 mac_flipping=1 [tera_adapter:14] +tera_adapter_id=14 listen_device=veth0 vlan_int=138 vlan_ext=139 mac_flipping=1 [tera_adapter:15] +tera_adapter_id=15 listen_device=veth0 vlan_int=140 vlan_ext=141 @@ -1637,3 +1703,196 @@ class IPv6TestForRouteCtxEtoI(BaseTest): finally: mrzcpd.stop() + + +start_conf_with_non_contiguous_test = """ +[device] +device = veth0,veth1,veth2,veth3 +sz_tunnel = 8192 +sz_buffer = 0 + +[device:veth0] +promisc = 0 +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=4 + +[device:veth3] +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=veth2,normal + +[load_balance:2] +mode=balance +devices=veth3,normal + +# adapter +[tera_adapter:0] +tera_adapter_id=0 +listen_device=veth0 +vlan_int=110 +vlan_ext=111 +mac_flipping=1 + +[tera_adapter:1] +tera_adapter_id=2 +listen_device=veth0 +vlan_int=112 +vlan_ext=113 +mac_flipping=1 + +[tera_adapter:2] +tera_adapter_id=4 +listen_device=veth0 +vlan_int=114 +vlan_ext=115 +mac_flipping=1 +""" + +dynamic_conf_with_non_contiguous_test = """ +[classifier_rule:0] +rule_id=1 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1000 +tera_adapter_id=0 + +[classifier_rule:1] +rule_id=2 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1001 +tera_adapter_id=2 + +[classifier_rule:2] +rule_id=2 +ruleset_type=classifier +action=nf_steering +priority=1 +category=0 +sid=1002 +tera_adapter_id=4 +""" + +""" + +--------------+ +----------++-----------+----------+ + | PTF | | Mrzcpd | + +--------------+ +----------++-----------+----------+ +------------+ + | | | | | veth1 | ---> | veth1-ptf1 | + | | | | +----------+ +------------+ + | veth0-ptf0 | ---> | veth0 | | veth2 | ---> | veth2-ptf2 | + | | | | +----------+ +------------+ + | | ---> | | | veth3 | ---> | veth3-ptf3 | + +--------------+ +----------+ +----------+ +------------+ +""" + +@group("tera_adapter_id_non_contiguous_test") +class TeraAdapterIdNonContiguousTest(BaseTest): + def setUp(self): + self.dataplane = ptf.dataplane_instance + + def __init__(self): + BaseTest.__init__(self) + def runTest(self): + try: + # Init & Start mrzcpd + mrzcpd = Mrzcpd(start_conf_with_non_contiguous_test,dynamic_conf_with_non_contiguous_test) + mrzcpd.start() + + send_packets=[] + for i in range(0,3): + send_packets.append(simple_vlan_udp_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=110+i*2,udp_payload="tera test")) + + exp_packets=[] + for i in range(0,3): + exp_packets.append(simple_vlan_udp_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=111+i*2,udp_payload="tera test")) + + for i in range(0,3): + print ("send packet %d" % i) + send_packet(self, 0, send_packets[i]) + verify_packets(self, exp_packets[i], [1+i]) + + finally: + mrzcpd.stop() |
