Stateless API: increase delay in remove rx filters to 100ms in case of virtual NICs. 49/5349/1
authorYaroslav Brustinov <[email protected]>
Tue, 3 Jan 2017 13:17:58 +0000 (15:17 +0200)
committerYaroslav Brustinov <[email protected]>
Tue, 3 Jan 2017 13:17:58 +0000 (15:17 +0200)
Regression: increase delay in remove rx filters in trex07 to 100ms in test_all_profiles test.

Change-Id: Ia7dda25c94aeadcaae0b16023f6ea2957a99906f
Signed-off-by: Yaroslav Brustinov <[email protected]>
scripts/automation/regression/stateless_tests/stl_client_test.py
scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_client.py
scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_port.py

index 73dac73..2b42510 100644 (file)
@@ -295,7 +295,10 @@ class STLClient_Test(CStlGeneral_Test):
                     self.c.resume(ports = [self.tx_port, self.rx_port])
                     time.sleep(100 / 1000.0)
 
-                self.c.stop(ports = [self.tx_port, self.rx_port])
+                if CTRexScenario.setup_name == 'trex07':
+                    self.c.stop(ports = [self.tx_port, self.rx_port], rx_delay_ms = 100)
+                else:
+                    self.c.stop(ports = [self.tx_port, self.rx_port])
 
                 stats = self.c.get_stats()
 
index e163d51..e20de3d 100755 (executable)
@@ -2342,7 +2342,7 @@ class STLClient(object):
 
 
     @__api_check(True)
-    def stop (self, ports = None, rx_delay_ms = 10):
+    def stop (self, ports = None, rx_delay_ms = None):
         """
             Stop port(s)
 
@@ -2376,6 +2376,12 @@ class STLClient(object):
         if not rc:
             raise STLError(rc)
 
+        if rx_delay_ms is None:
+            if self.ports[ports[0]].is_virtual(): # assume all ports have same type
+                rx_delay_ms = 100
+            else:
+                rx_delay_ms = 10
+
         # remove any RX filters
         rc = self._remove_rx_filters(ports, rx_delay_ms = rx_delay_ms)
         if not rc:
@@ -2847,7 +2853,7 @@ class STLClient(object):
 
 
     @__api_check(True)
-    def wait_on_traffic (self, ports = None, timeout = None, rx_delay_ms = 10):
+    def wait_on_traffic (self, ports = None, timeout = None, rx_delay_ms = None):
         """
             .. _wait_on_traffic:
 
@@ -2891,6 +2897,12 @@ class STLClient(object):
             if timer.has_expired():
                 raise STLTimeoutError(timeout)
 
+        if rx_delay_ms is None:
+            if self.ports[ports[0]].is_virtual(): # assume all ports have same type
+                rx_delay_ms = 100
+            else:
+                rx_delay_ms = 10
+
         # remove any RX filters
         rc = self._remove_rx_filters(ports, rx_delay_ms = rx_delay_ms)
         if not rc:
index 07587b9..8b6b2e2 100644 (file)
@@ -930,7 +930,10 @@ class Port(object):
         
     def get_rx_filter_mode (self):
         return self.__attr['rx_filter_mode']
-        
+
+    def is_virtual(self):
+        return self.info.get('is_virtual')
+
     def is_l3_mode (self):
         return self.get_layer_cfg()['ipv4']['state'] != 'none'