X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=nfvbench%2Ftraffic_gen%2Ftraffic_base.py;h=3bff7da3e47aa6be38fa98112d11c836e175b03f;hb=4dde3fa8b658508e4f25cf43d6e15db60460412b;hp=459af0fb004c13c7f04fb3cf076d6156fa3bd766;hpb=cd455c418173a978f89bdbb83f79d15c5fa53e03;p=nfvbench.git diff --git a/nfvbench/traffic_gen/traffic_base.py b/nfvbench/traffic_gen/traffic_base.py index 459af0f..3bff7da 100644 --- a/nfvbench/traffic_gen/traffic_base.py +++ b/nfvbench/traffic_gen/traffic_base.py @@ -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