aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/network_services/traffic_profile/test_rfc2544.py7
-rw-r--r--yardstick/network_services/traffic_profile/rfc2544.py35
2 files changed, 19 insertions, 23 deletions
diff --git a/tests/unit/network_services/traffic_profile/test_rfc2544.py b/tests/unit/network_services/traffic_profile/test_rfc2544.py
index b63a805f3..2366b8124 100644
--- a/tests/unit/network_services/traffic_profile/test_rfc2544.py
+++ b/tests/unit/network_services/traffic_profile/test_rfc2544.py
@@ -258,9 +258,10 @@ class TestRFC2544Profile(unittest.TestCase):
def test_execute_latency(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
- traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [-1]
- traffic_generator.pub_ports = [1]
+ traffic_generator.networks = {
+ "private_0": ["xe0"],
+ "public_0": ["xe1"],
+ }
traffic_generator.client = \
mock.Mock(return_value=True)
r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
diff --git a/yardstick/network_services/traffic_profile/rfc2544.py b/yardstick/network_services/traffic_profile/rfc2544.py
index 6a0ecaf99..3dc08df69 100644
--- a/yardstick/network_services/traffic_profile/rfc2544.py
+++ b/yardstick/network_services/traffic_profile/rfc2544.py
@@ -151,34 +151,29 @@ class RFC2544Profile(TrexProfile):
return samples
def execute_latency(self, generator=None, samples=None):
- if generator is None:
- generator = self.generator
+ if generator is not None and self.generator is None:
+ self.generator = generator
if samples is None:
- samples = generator.generate_samples()
+ samples = self.generator.generate_samples()
self.pps, multiplier = self.calculate_pps(samples)
self.ports = []
self.pg_id = self.params['traffic_profile'].get('pg_id', 1)
- priv_ports = generator.priv_ports
- pub_ports = generator.pub_ports
- for index, (priv_port, pub_port) in enumerate(zip(priv_ports, pub_ports), 1):
- profile_data = self.params.get('private_{}'.format(index), '')
- self.ports.append(priv_port)
- generator.client.add_streams(self.get_streams(profile_data),
- ports=priv_port)
-
- profile_data = self.params.get('public_{}'.format(index), '')
- if not profile_data or generator.correlated_traffic:
+ for vld_id, intfs in sorted(self.generator.networks.items()):
+ profile_data = self.params.get(vld_id)
+ if not profile_data:
continue
+ # correlated traffic doesn't use public traffic?
+ if vld_id.startswith("public") and self.generator.rfc2544_helper.correlated_traffic:
+ continue
+ for intf in intfs:
+ port = self.generator.vnfd_helper.port_num(intf)
+ self.ports.append(port)
+ self.generator.client.add_streams(self.get_streams(profile_data), ports=port)
- pub_port = generator.pub_ports[index]
- self.ports.append(pub_port)
- generator.client.add_streams(self.get_streams(profile_data),
- ports=pub_port)
-
- generator.start_client(ports=self.ports, mult=str(multiplier),
- duration=120, force=True)
+ self.generator.start_client(ports=self.ports, mult=str(multiplier),
+ duration=120, force=True)
self.first_run = False
def calculate_pps(self, samples):