-# Copyright 2015 Intel Corporation.
+# Copyright 2015-2016 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
"""
from core.traffic_controller_rfc2544 import TrafficControllerRFC2544
+from core.vswitch_controller_clean import VswitchControllerClean
from core.vswitch_controller_p2p import VswitchControllerP2P
from core.vswitch_controller_pvp import VswitchControllerPVP
from core.vswitch_controller_pvvp import VswitchControllerPVVP
+from core.vswitch_controller_op2p import VswitchControllerOP2P
from core.vnf_controller import VnfController
+from core.pktfwd_controller import PktFwdController
from tools.load_gen.stress.stress import Stress
from tools.load_gen.stress_ng.stress_ng import StressNg
from tools.load_gen.dummy.dummy import DummyLoadGen
return TrafficControllerRFC2544(trafficgen_class)
-def create_vswitch(deployment_scenario, vswitch_class, bidir=True):
+def create_vswitch(deployment_scenario, vswitch_class, traffic,
+ tunnel_operation=None):
"""Return a new IVSwitchController for the deployment_scenario.
The returned controller is configured with the given vSwitch class.
:param deployment_scenario: The deployment scenario name
:param vswitch_class: Reference to vSwitch class to be used.
+ :param traffic: Dictionary with traffic specific details
+ :param tunnel_operation encapsulation/decapsulation or None
:return: IVSwitchController for the deployment_scenario
"""
deployment_scenario = deployment_scenario.lower()
- if deployment_scenario.find("p2p") >= 0:
- return VswitchControllerP2P(vswitch_class)
+ if deployment_scenario.find("p2p") == 0:
+ return VswitchControllerP2P(vswitch_class, traffic)
elif deployment_scenario.find("pvp") >= 0:
- return VswitchControllerPVP(vswitch_class, bidir)
+ return VswitchControllerPVP(vswitch_class, traffic)
elif deployment_scenario.find("pvvp") >= 0:
- return VswitchControllerPVVP(vswitch_class, bidir)
+ return VswitchControllerPVVP(vswitch_class, traffic)
+ elif deployment_scenario.find("op2p") >= 0:
+ return VswitchControllerOP2P(vswitch_class, traffic, tunnel_operation)
+ elif deployment_scenario.find("clean") >= 0:
+ return VswitchControllerClean(vswitch_class, traffic)
+
def create_vnf(deployment_scenario, vnf_class):
"""Return a new VnfController for the deployment_scenario.
elif loadgen_type.find("stress") >= 0:
return Stress(loadgen_cfg)
+def create_pktfwd(pktfwd_class):
+ """Return a new packet forwarder controller
+
+ The returned controller is configured with the given
+ packet forwarder class.
+ :param pktfwd_class: Reference to packet forwarder class to be used.
+ :return: packet forwarder controller
+ """
+ return PktFwdController(pktfwd_class)