diff options
Diffstat (limited to 'scripts/automation/regression/stateless_tests')
3 files changed, 42 insertions, 5 deletions
diff --git a/scripts/automation/regression/stateless_tests/stl_client_test.py b/scripts/automation/regression/stateless_tests/stl_client_test.py index ed125cde..1984e49d 100644 --- a/scripts/automation/regression/stateless_tests/stl_client_test.py +++ b/scripts/automation/regression/stateless_tests/stl_client_test.py @@ -297,3 +297,29 @@ class STLClient_Test(CStlGeneral_Test): finally: self.c.set_port_attr(ports = [self.tx_port, self.rx_port], promiscuous = False) + + + # see https://trex-tgn.cisco.com/youtrack/issue/trex-226 + def test_latency_pause_resume (self): + + try: + + s1 = STLStream(name = 'latency', + packet = self.pkt, + mode = STLTXCont(percentage = self.percentage), + flow_stats = STLFlowLatencyStats(pg_id = 1)) + + self.c.add_streams([s1], ports = self.tx_port) + + self.c.clear_stats() + + self.c.start(ports = self.tx_port) + + for i in range(100): + self.c.pause() + self.c.resume() + + self.c.stop() + + except STLError as e: + assert False , '{0}'.format(e) diff --git a/scripts/automation/regression/stateless_tests/stl_general_test.py b/scripts/automation/regression/stateless_tests/stl_general_test.py index 5ae2b326..a5fb905e 100644 --- a/scripts/automation/regression/stateless_tests/stl_general_test.py +++ b/scripts/automation/regression/stateless_tests/stl_general_test.py @@ -67,10 +67,11 @@ class STLBasic_Test(CStlGeneral_Test): def test_connectivity(self): if not self.is_loopback: try: - if CTRexScenario.router_cfg['forceImageReload']: + if CTRexScenario.router_cfg['forceCleanConfig']: CTRexScenario.router.load_clean_config() CTRexScenario.router.configure_basic_interfaces() CTRexScenario.router.config_pbr(mode = "config") + CTRexScenario.router.config_ipv6_pbr(mode = "config") except Exception as e: CTRexScenario.stl_init_error = 'Could not configure device, err: %s' % e self.fail(CTRexScenario.stl_init_error) diff --git a/scripts/automation/regression/stateless_tests/stl_rx_test.py b/scripts/automation/regression/stateless_tests/stl_rx_test.py index 090261ff..d447ad4e 100644 --- a/scripts/automation/regression/stateless_tests/stl_rx_test.py +++ b/scripts/automation/regression/stateless_tests/stl_rx_test.py @@ -29,6 +29,10 @@ class STLRX_Test(CStlGeneral_Test): self.cap = cap drv_name = port_info['driver'] + if drv_name == "rte_ixgbe_pmd": + self.ipv6_support = False + else: + self.ipv6_support = True self.rate_percent = per_driver_params[drv_name][0] self.total_pkts = per_driver_params[drv_name][1] if len(per_driver_params[drv_name]) > 2: @@ -50,6 +54,8 @@ class STLRX_Test(CStlGeneral_Test): ); self.pkt = STLPktBuilder(pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)/('Your_paylaod_comes_here')) + self.ipv6pkt = STLPktBuilder(pkt = Ether()/IPv6(dst="2001:0:4137:9350:8000:f12a:b9c8:2815",src="2001:4860:0:2001::68") + /UDP(dport=12,sport=1025)/('Your_paylaod_comes_here')) self.large_pkt = STLPktBuilder(pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)/('a'*1000)) self.pkt_9k = STLPktBuilder(pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)/('a'*9000)) self.vm_pkt = STLPktBuilder(pkt = Ether()/IP(src="16.0.0.1",dst="48.0.0.1") @@ -249,6 +255,10 @@ class STLRX_Test(CStlGeneral_Test): if self.latency_9k_enable: streams_data.append({'name': 'Latency, 9k packet with field engine', 'pkt': self.vm_9k_pkt, 'lat': True}) + if self.ipv6_support: + streams_data.append({'name': 'IPv6 flow stat. No latency', 'pkt': self.ipv6pkt, 'lat': False}) + streams_data.append({'name': 'IPv6 latency, no field engine', 'pkt': self.ipv6pkt, 'lat': True}) + streams = [] for data in streams_data: if data['lat']: @@ -333,7 +343,7 @@ class STLRX_Test(CStlGeneral_Test): - # check low latency when you have stream of 9K stream + # check low latency when you have stream of 9K stream def test_9k_stream(self): if self.is_virt_nics: self.skip('Skip this for virtual NICs') @@ -353,7 +363,7 @@ class STLRX_Test(CStlGeneral_Test): s_port=random.sample(all_ports, random.randint(1, len(all_ports)) ) s_port=sorted(s_port) if self.speed == 40 : - # the NIC does not support all full rate in case both port works let's filter odd ports + # the NIC does not support all full rate in case both port works let's filter odd ports s_port=list(filter(lambda x: x % 2==0, s_port)) if len(s_port)==0: s_port=[0]; @@ -446,7 +456,7 @@ class STLRX_Test(CStlGeneral_Test): ls=stats['flow_stats'][5+ pid] self.check_stats (stats,ls['rx_pkts']['total'], pkts,"ls['rx_pkts']['total']") self.check_stats (stats,ls['rx_pkts'][dpid], pkts,"ls['rx_pkts'][dpid]") - + self.check_stats (stats,ls['tx_pkts']['total'], pkts,"ls['tx_pkts']['total']") self.check_stats (stats,ls['tx_pkts'][pid], pkts,"ls['tx_pkts'][pid]") @@ -473,7 +483,7 @@ class STLRX_Test(CStlGeneral_Test): print(" test port {0} latency : {1} ".format(port,l)) self.send_1_burst(port,l,100) - + # this test adds more and more latency streams and re-test with incremental def test_incremental_latency_streams (self): if self.is_virt_nics: |