summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsongyanchao <[email protected]>2024-01-05 10:15:33 +0000
committersongyanchao <[email protected]>2024-01-05 10:15:33 +0000
commit4117c15c1dfb8be49ca8176facbf3a34c818d916 (patch)
tree62336ab6fcb5d6d36a0c0c19e703c371a5b7803a
parent0e9d87a3083386ea2da7ce82d0088e4ac7dc266a (diff)
🧪 test(TSG-17959): Refine test cases for Tera node.
Refine test cases for Tera node.
-rw-r--r--test/tera_test.py706
1 files changed, 705 insertions, 1 deletions
diff --git a/test/tera_test.py b/test/tera_test.py
index bc7b586..e0d57e4 100644
--- a/test/tera_test.py
+++ b/test/tera_test.py
@@ -4,6 +4,7 @@ from ptf.testutils import *
from scapy.all import *
from mrzcpd import Mrzcpd
from common_pkt import *
+import msgpack
tera_disable_mac_flapping = """
[device]
@@ -80,6 +81,15 @@ vlan_egress=111
mac_flipping=0
"""
+"""
+ +------------+ +-----------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------------------+
+ | | | | Classifier miss |
+ | veth0-ptf0 | ------> | veth0 | -----------------+ |
+ | | <------ | | <----------------+ |
+ +------------+ +------------+----------------------+
+"""
@group("tera_base_test")
class TestForDisableMacFlapping(BaseTest):
@@ -176,7 +186,15 @@ vlan_egress=111
mac_flipping=1
"""
-
+"""
+ +------------+ +-----------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------------------+
+ | | | | Classifier miss |
+ | veth0-ptf0 | ------> | veth0 | -----------------+ |
+ | | <------ | | <----------------+ |
+ +------------+ +------------+----------------------+
+"""
@group("tera_base_test")
class TestForEnableMacFlapping(BaseTest):
def setUp(self):
@@ -367,6 +385,15 @@ vlan_ingress=140
vlan_egress=141
mac_flipping=1
"""
+"""
+ +------------+ +-----------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------------------+
+ | | | | Classifier miss |
+ | veth0-ptf0 | ------> | veth0 | -----------------+ |
+ | | <------ | | <----------------+ |
+ +------------+ +------------+----------------------+
+"""
@group("tera_base_test")
class IPv4TestForMultiEntry(BaseTest):
def setUp(self):
@@ -394,6 +421,15 @@ class IPv4TestForMultiEntry(BaseTest):
finally:
mrzcpd.stop()
+"""
+ +------------+ +-----------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------------------+
+ | | | | Classifier miss |
+ | veth0-ptf0 | ------> | veth0 | -----------------+ |
+ | | <------ | | <----------------+ |
+ +------------+ +------------+----------------------+
+"""
@group("tera_base_test")
class IPv4TestForUnmatchedRules(BaseTest):
def setUp(self):
@@ -423,6 +459,15 @@ class IPv4TestForUnmatchedRules(BaseTest):
finally:
mrzcpd.stop()
+"""
+ +------------+ +-----------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------------------+
+ | | | | Classifier miss |
+ | veth0-ptf0 | ------> | veth0 | -----------------+ |
+ | | <------ | | <----------------+ |
+ +------------+ +------------+----------------------+
+"""
@group("tera_base_test")
class IPv6TestForMultiEntry(BaseTest):
def setUp(self):
@@ -450,6 +495,14 @@ class IPv6TestForMultiEntry(BaseTest):
finally:
mrzcpd.stop()
+"""
+ +------------+ +-----------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+----------+
+ | | | | Drop |
+ | veth0-ptf0 | ------> | veth0 | |
+ +------------+ +------------+----------+
+"""
@group("tera_base_test")
class IPv6TestForUnmatchedRules(BaseTest):
def setUp(self):
@@ -478,3 +531,654 @@ class IPv6TestForUnmatchedRules(BaseTest):
finally:
mrzcpd.stop()
+
+
+tera_with_msgpack = """
+[device]
+device=veth0,veth1
+sz_tunnel=8192
+sz_buffer=0
+
+[device:veth0]
+in_addr=10.254.60.1
+in_mask=255.255.255.0
+gateway=10.10.1.40
+promisc=0
+mtu=1500
+driver=2
+role=3
+
+[device:veth1]
+promisc=1
+mtu=1500
+driver=2
+role=4
+encode=1
+
+[service]
+iocore=1
+distmode=2
+hashmode=0
+
+[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=32
+
+[vwires]
+sid_start=300
+sid_end=400
+max_rules=32
+
+[tera_adapters]
+sid_start=500
+sid_end=600
+max_rules=64
+
+[service_lb]
+sid_start=1000
+sid_end=2000
+
+[tera_adapter:0]
+listen_device=veth0
+vlan_ingress=110
+vlan_egress=111
+mac_flipping=1
+
+[tera_adapter:1]
+listen_device=veth0
+vlan_ingress=112
+vlan_egress=113
+mac_flipping=1
+
+[tera_adapter:2]
+listen_device=veth0
+vlan_ingress=114
+vlan_egress=115
+mac_flipping=1
+
+[tera_adapter:3]
+listen_device=veth0
+vlan_ingress=116
+vlan_egress=117
+mac_flipping=1
+
+[tera_adapter:4]
+listen_device=veth0
+vlan_ingress=118
+vlan_egress=119
+mac_flipping=1
+
+[tera_adapter:5]
+listen_device=veth0
+vlan_ingress=120
+vlan_egress=121
+mac_flipping=1
+
+[tera_adapter:6]
+listen_device=veth0
+vlan_ingress=122
+vlan_egress=123
+mac_flipping=1
+
+[tera_adapter:7]
+listen_device=veth0
+vlan_ingress=124
+vlan_egress=125
+mac_flipping=1
+
+[tera_adapter:8]
+listen_device=veth0
+vlan_ingress=126
+vlan_egress=127
+mac_flipping=1
+
+[tera_adapter:9]
+listen_device=veth0
+vlan_ingress=128
+vlan_egress=129
+mac_flipping=1
+
+[tera_adapter:10]
+listen_device=veth0
+vlan_ingress=130
+vlan_egress=131
+mac_flipping=1
+
+[tera_adapter:11]
+listen_device=veth0
+vlan_ingress=132
+vlan_egress=133
+mac_flipping=1
+
+[tera_adapter:12]
+listen_device=veth0
+vlan_ingress=134
+vlan_egress=135
+mac_flipping=1
+
+[tera_adapter:13]
+listen_device=veth0
+vlan_ingress=136
+vlan_egress=137
+mac_flipping=1
+
+[tera_adapter:14]
+listen_device=veth0
+vlan_ingress=138
+vlan_egress=139
+mac_flipping=1
+
+[tera_adapter:15]
+listen_device=veth0
+vlan_ingress=140
+vlan_egress=141
+mac_flipping=1
+
+# load balance
+[load_balance:0]
+mode=balance
+devices=veth1,normal
+
+[classifier_rule:0]
+rule_id=1
+action=nf_steering
+priority=1
+category=0
+sid=1000
+"""
+"""
+ +------------+ +------------------------------------------+ +------------+
+ | PTF | | MRZCPD | | PTF |
+ +------------+ +------------+--------+--------------------+ +------------+
+ | veth0-ptf0 | ---> | veth0 | ---> | veth1 (serialize) | ---> | veth1-ptf1 |
+ +------------+ +------------+ +--------------------+ +------------+
+"""
+@group("tera_msgpack_test")
+class IPv4TestForIToE(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_msgpack)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ mac_flapping_pkt = simple_udp_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test")
+ msgpack_data = {'port': 0, 'packet_type': 0, 'ol_flags': 1, 'data_len': 100, 'pkt_len': 100, 'dir': 0, 'packet_create_from_nf': 0,
+ 'is_ctrlbuf': 0, 'adapter_type': 2, 'adapter_id': i, 'payload_offset': 0, 'user_0': 0, 'ef_link_id': 0,
+ 'traffic_link_id': 255, 'ef_peer_index': 0, 'port_ingress': 0, 'port_egress': 1, 'session_id': 0, 'cur_sid': 1000,
+ 'sids': [0, 0, 0, 0, 0, 1000, 500+i, 0], 'head': 7, 'tail': 6, 'capacity': 7,
+ 'packet': mac_flapping_pkt.__bytes__()}
+ binary_data = msgpack.dumps(msgpack_data)
+ exp_packets.append(simple_eth_packet(pktlen=14,eth_src="aa:bb:cc:dd:ee:ff",eth_dst="ff:ee:dd:cc:bb:aa",eth_type=0x4d5a) / Raw(load=binary_data))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [1])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_msgpack_test")
+class IPv4TestForEToI(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_msgpack)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ mac_flapping_pkt = simple_udp_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test")
+ msgpack_data = {'port': 0, 'packet_type': 0, 'ol_flags': 1, 'data_len': 100, 'pkt_len': 100, 'dir': 1, 'packet_create_from_nf': 0,
+ 'is_ctrlbuf': 0, 'adapter_type': 2, 'adapter_id': i, 'payload_offset': 0, 'user_0': 0, 'ef_link_id': 0,
+ 'traffic_link_id': 255, 'ef_peer_index': 0, 'port_ingress': 0, 'port_egress': 1, 'session_id': 0, 'cur_sid': 1000,
+ 'sids': [0, 0, 0, 0, 0, 1000, 500+i, 0], 'head': 7, 'tail': 6, 'capacity': 7,
+ 'packet': mac_flapping_pkt.__bytes__()}
+ binary_data = msgpack.dumps(msgpack_data)
+ exp_packets.append(simple_eth_packet(pktlen=14,eth_src="aa:bb:cc:dd:ee:ff",eth_dst="ff:ee:dd:cc:bb:aa",eth_type=0x4d5a) / Raw(load=binary_data))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [1])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_msgpack_test")
+class IPv6TestForIToE(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_msgpack)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ mac_flapping_pkt = simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test")
+ msgpack_data = {'port': 0, 'packet_type': 0, 'ol_flags': 1, 'data_len': 100, 'pkt_len': 100, 'dir': 0, 'packet_create_from_nf': 0,
+ 'is_ctrlbuf': 0, 'adapter_type': 2, 'adapter_id': i, 'payload_offset': 0, 'user_0': 0, 'ef_link_id': 0,
+ 'traffic_link_id': 255, 'ef_peer_index': 0, 'port_ingress': 0, 'port_egress': 1, 'session_id': 0, 'cur_sid': 1000,
+ 'sids': [0, 0, 0, 0, 0, 1000, 500+i, 0], 'head': 7, 'tail': 6, 'capacity': 7,
+ 'packet': mac_flapping_pkt.__bytes__()}
+ binary_data = msgpack.dumps(msgpack_data)
+ exp_packets.append(simple_eth_packet(pktlen=14,eth_src="aa:bb:cc:dd:ee:ff",eth_dst="ff:ee:dd:cc:bb:aa",eth_type=0x4d5a) / Raw(load=binary_data))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [1])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_msgpack_test")
+class IPv6TestForEToI(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_msgpack)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ mac_flapping_pkt = simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test")
+ msgpack_data = {'port': 0, 'packet_type': 0, 'ol_flags': 1, 'data_len': 100, 'pkt_len': 100, 'dir': 1, 'packet_create_from_nf': 0,
+ 'is_ctrlbuf': 0, 'adapter_type': 2, 'adapter_id': i, 'payload_offset': 0, 'user_0': 0, 'ef_link_id': 0,
+ 'traffic_link_id': 255, 'ef_peer_index': 0, 'port_ingress': 0, 'port_egress': 1, 'session_id': 0, 'cur_sid': 1000,
+ 'sids': [0, 0, 0, 0, 0, 1000, 500+i, 0], 'head': 7, 'tail': 6, 'capacity': 7,
+ 'packet': mac_flapping_pkt.__bytes__()}
+ binary_data = msgpack.dumps(msgpack_data)
+ exp_packets.append(simple_eth_packet(pktlen=14,eth_src="aa:bb:cc:dd:ee:ff",eth_dst="ff:ee:dd:cc:bb:aa",eth_type=0x4d5a) / Raw(load=binary_data))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [1])
+
+ finally:
+ mrzcpd.stop()
+
+
+tera_with_nf = """
+[device]
+device=veth0,veth-msgpack-tx,veth-msgpack-rx
+sz_tunnel=8192
+sz_buffer=0
+
+[device:veth0]
+in_addr=10.254.60.1
+in_mask=255.255.255.0
+gateway=10.10.1.40
+promisc=0
+mtu=1500
+driver=2
+role=3
+
+[device:veth-msgpack-tx]
+promisc=1
+mtu=1500
+driver=2
+role=4
+encode=1
+
+[device:veth-msgpack-rx]
+promisc=1
+mtu=1500
+driver=2
+role=4
+encode=1
+
+[service]
+iocore=1
+distmode=2
+hashmode=0
+
+[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=32
+
+[vwires]
+sid_start=300
+sid_end=400
+max_rules=32
+
+[tera_adapters]
+sid_start=500
+sid_end=600
+max_rules=64
+
+[service_lb]
+sid_start=1000
+sid_end=2000
+
+[tera_adapter:0]
+listen_device=veth0
+vlan_ingress=110
+vlan_egress=111
+mac_flipping=1
+
+[tera_adapter:1]
+listen_device=veth0
+vlan_ingress=112
+vlan_egress=113
+mac_flipping=1
+
+[tera_adapter:2]
+listen_device=veth0
+vlan_ingress=114
+vlan_egress=115
+mac_flipping=1
+
+[tera_adapter:3]
+listen_device=veth0
+vlan_ingress=116
+vlan_egress=117
+mac_flipping=1
+
+[tera_adapter:4]
+listen_device=veth0
+vlan_ingress=118
+vlan_egress=119
+mac_flipping=1
+
+[tera_adapter:5]
+listen_device=veth0
+vlan_ingress=120
+vlan_egress=121
+mac_flipping=1
+
+[tera_adapter:6]
+listen_device=veth0
+vlan_ingress=122
+vlan_egress=123
+mac_flipping=1
+
+[tera_adapter:7]
+listen_device=veth0
+vlan_ingress=124
+vlan_egress=125
+mac_flipping=1
+
+[tera_adapter:8]
+listen_device=veth0
+vlan_ingress=126
+vlan_egress=127
+mac_flipping=1
+
+[tera_adapter:9]
+listen_device=veth0
+vlan_ingress=128
+vlan_egress=129
+mac_flipping=1
+
+[tera_adapter:10]
+listen_device=veth0
+vlan_ingress=130
+vlan_egress=131
+mac_flipping=1
+
+[tera_adapter:11]
+listen_device=veth0
+vlan_ingress=132
+vlan_egress=133
+mac_flipping=1
+
+[tera_adapter:12]
+listen_device=veth0
+vlan_ingress=134
+vlan_egress=135
+mac_flipping=1
+
+[tera_adapter:13]
+listen_device=veth0
+vlan_ingress=136
+vlan_egress=137
+mac_flipping=1
+
+[tera_adapter:14]
+listen_device=veth0
+vlan_ingress=138
+vlan_egress=139
+mac_flipping=1
+
+[tera_adapter:15]
+listen_device=veth0
+vlan_ingress=140
+vlan_egress=141
+mac_flipping=1
+
+# load balance
+[load_balance:0]
+mode=balance
+devices=veth-msgpack-tx,normal
+
+[classifier_rule:0]
+rule_id=1
+action=nf_steering
+priority=1
+category=0
+sid=1000
+"""
+"""
+ +------------+ +-----------------------------------------+
+ | PTF | | MRZCPD |
+ +------------+ +------------+--------+-------------------+
+ | | ---> | | ---> | veth-msgpack-tx | --------+
+ + veth0-ptf0 + + veth0 + +-------------------+ |
+ | | <--- | | <--- | veth-msgpack-rx | <-------+
+ +------------+ +------------+ +-------------------+
+"""
+@group("tera_nf_test")
+class IPv4TestForIToE(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_nf)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ exp_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [0])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_nf_test")
+class IPv4TestForEToI(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_nf)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ exp_packets.append(simple_udp_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [0])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_nf_test")
+class IPv6TestForIToE(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_nf)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ exp_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [0])
+
+ finally:
+ mrzcpd.stop()
+
+@group("tera_nf_test")
+class IPv6TestForEToI(BaseTest):
+ def setUp(self):
+ self.dataplane = ptf.dataplane_instance
+
+ def __init__(self):
+ BaseTest.__init__(self)
+ def runTest(self):
+ try:
+ # Init & Start mrzcpd
+ mrzcpd = Mrzcpd(tera_with_nf)
+ mrzcpd.start()
+
+ send_packets=[]
+ for i in range(0,16):
+ send_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:51",eth_src="02:5A:B0:BE:49:52",vlan_vid=111+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ exp_packets=[]
+ for i in range(0,16):
+ exp_packets.append(simple_udpv6_packet(eth_dst="02:5A:B0:BE:49:52",eth_src="02:5A:B0:BE:49:51",vlan_vid=110+i*2, dl_vlan_enable=True,udp_payload="tera test"))
+
+ for i in range(0,16):
+ #print ("send packet %d" % i)
+ send_packet(self, 0, send_packets[i])
+ verify_packets(self, exp_packets[i], [0])
+
+ finally:
+ mrzcpd.stop()