NFVBENCH-153 Add support for python3
[nfvbench.git] / nfvbench / traffic_gen / traffic_base.py
index 459af0f..3bff7da 100644 (file)
@@ -16,7 +16,8 @@ import abc
 import sys
 
 from nfvbench.log import LOG
-import traffic_utils
+from . import traffic_utils
+
 
 class Latency(object):
     """A class to hold latency data."""
@@ -26,9 +27,10 @@ class Latency(object):
 
         latency_list: aggregate all latency values from list if not None
         """
-        self.min_usec = sys.maxint
+        self.min_usec = sys.maxsize
         self.max_usec = 0
         self.avg_usec = 0
+        self.hdrh = None
         if latency_list:
             for lat in latency_list:
                 if lat.available():
@@ -40,24 +42,18 @@ class Latency(object):
 
     def available(self):
         """Return True if latency information is available."""
-        return self.min_usec != sys.maxint
+        return self.min_usec != sys.maxsize
 
 
 class TrafficGeneratorException(Exception):
     """Exception for traffic generator."""
 
-    pass
-
-
 class AbstractTrafficGenerator(object):
+
     def __init__(self, traffic_client):
         self.traffic_client = traffic_client
         self.generator_config = traffic_client.generator_config
         self.config = traffic_client.config
-        self.imix_l2_sizes = [64, 594, 1518]
-        self.imix_ratios = [7, 4, 1]
-        self.imix_avg_l2_size = 0
-        self.adjust_imix_min_size(64)
 
     @abc.abstractmethod
     def get_version(self):
@@ -70,7 +66,7 @@ class AbstractTrafficGenerator(object):
         return None
 
     @abc.abstractmethod
-    def create_traffic(self, l2frame_size, rates, bidirectional, latency=True):
+    def create_traffic(self, l2frame_size, rates, bidirectional, latency=True, e2e=False):
         # Must be implemented by sub classes
         return None
 
@@ -107,7 +103,6 @@ class AbstractTrafficGenerator(object):
 
     def clear_streamblock(self):
         """Clear all streams from the traffic generator."""
-        pass
 
     @abc.abstractmethod
     def resolve_arp(self):
@@ -117,7 +112,6 @@ class AbstractTrafficGenerator(object):
                 else a dict of list of dest macs indexed by port#
                 the dest macs in the list are indexed by the chain id
         """
-        pass
 
     @abc.abstractmethod
     def get_macs(self):
@@ -125,7 +119,6 @@ class AbstractTrafficGenerator(object):
 
         return: a list of MAC addresses indexed by the port#
         """
-        pass
 
     @abc.abstractmethod
     def get_port_speed_gbps(self):
@@ -133,12 +126,3 @@ class AbstractTrafficGenerator(object):
 
         return: a list of speed in Gbps indexed by the port#
         """
-        pass
-
-    def adjust_imix_min_size(self, min_size):
-        # assume the min size is always the first entry
-        self.imix_l2_sizes[0] = min_size
-        self.imix_avg_l2_size = sum(
-            [1.0 * imix[0] * imix[1] for imix in zip(self.imix_l2_sizes, self.imix_ratios)]) / sum(
-                self.imix_ratios)
-        traffic_utils.imix_avg_l2_size = self.imix_avg_l2_size