diff options
Diffstat (limited to 'testcases/testcase.py')
-rw-r--r-- | testcases/testcase.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/testcases/testcase.py b/testcases/testcase.py index 5ad91f2a..83e038db 100644 --- a/testcases/testcase.py +++ b/testcases/testcase.py @@ -31,7 +31,10 @@ class TestCase(object): def __init__(self, cfg, results_dir): """Pull out fields from test config - No external actions yet. + :param cfg: A dictionary of string-value pairs describing the test + configuration. Both the key and values strings use well-known + values. + :param results_dir: Where the csv formatted results are written. """ self._logger = logging.getLogger(__name__) self.name = cfg['Name'] @@ -40,6 +43,9 @@ class TestCase(object): self._deployment = cfg['Deployment'] self._collector = cfg['Collector'] self._bidir = cfg['biDirectional'] + self._frame_mod = cfg.get('Frame Modification', None) + if self._frame_mod: + self._frame_mod = self._frame_mod.lower() self._results_dir = results_dir def run(self): @@ -64,12 +70,20 @@ class TestCase(object): self._collector, loader.get_collector_class()) + self._logger.debug("Setup:") collector_ctl.log_cpu_stats() with vswitch_ctl: if vnf_ctl: vnf_ctl.start() traffic = {'traffic_type': self._traffic_type, 'bidir': self._bidir} + vswitch = vswitch_ctl.get_vswitch() + if self._frame_mod == "vlan": + flow = {'table':'2', 'priority':'1000', 'metadata':'2', 'actions': ['push_vlan:0x8100','goto_table:3']} + vswitch.add_flow('br0', flow) + flow = {'table':'2', 'priority':'1000', 'metadata':'1', 'actions': ['push_vlan:0x8100','goto_table:3']} + vswitch.add_flow('br0', flow) + with traffic_ctl: traffic_ctl.send_traffic(traffic) |