summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2024-01-12 10:17:19 +0000
committersongyanchao <[email protected]>2024-01-12 10:17:19 +0000
commit0bc92bef18678cbde138a175dd85bb4287e0760a (patch)
tree44e644899a6a0b030e66b92f403ab7c3025b354c /test
parentdaaf9316fb1acd9620ff7a7c592d5567130a873a (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.txt4
-rw-r--r--test/classifier_test.py3
-rw-r--r--test/etherfabric_test.py2
-rw-r--r--test/msgpack_test.py3
-rw-r--r--test/tera_test.py259
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()