summaryrefslogtreecommitdiffstats
path: root/core/loader/loader.py
diff options
context:
space:
mode:
authorRobert Wojciechowicz <robertx.wojciechowicz@intel.com>2015-12-09 10:07:38 +0000
committerMaryam Tahhan <maryam.tahhan@intel.com>2016-01-21 09:41:05 +0000
commit9a054248197bdaed71b32e9d9c0ac621bf89c1cd (patch)
treec186250f91e658845cd8f3a985517c33a9ba0220 /core/loader/loader.py
parent7caf7a6be0fae6b341181b3e6286372e2e93b4b8 (diff)
Add testpmd as vswitch class
The purpose of using testpmd instead of OVS is to get the baseline of the DUT when performing hardware offloading operations. There are supported different checksum calculation and txq flags settings. Change-Id: I93c9b45dcb31eaa1f610b7e061f3dd5936b0e6ec JIRA: VSPERF-193 Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com> Reviewed-by: Dino Simeon Madarang <dino.simeonx.madarang@intel.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Diffstat (limited to 'core/loader/loader.py')
-rwxr-xr-xcore/loader/loader.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/core/loader/loader.py b/core/loader/loader.py
index 39b50f09..0d9c83a6 100755
--- a/core/loader/loader.py
+++ b/core/loader/loader.py
@@ -21,6 +21,7 @@ from tools.pkt_gen.trafficgen import ITrafficGenerator
from tools.collectors.collector import ICollector
from vswitches.vswitch import IVSwitch
from vnfs.vnf.vnf import IVnf
+from tools.pkt_fwd.pkt_fwd import IPktFwd
class Loader(object):
"""Loader class - main object context holder.
@@ -57,6 +58,11 @@ class Loader(object):
settings.getValue('VNF'),
IVnf)
+ self._pktfwd_loader = LoaderServant(
+ settings.getValue('PKTFWD_DIR'),
+ settings.getValue('PKTFWD'),
+ IPktFwd)
+
def get_trafficgen(self):
"""Returns a new instance configured traffic generator.
@@ -109,7 +115,7 @@ class Loader(object):
:return: Dictionary of collectors.
- key: name of the class which implements ICollector,
- - value: Type of traffic generator which implements ICollector.
+ - value: Type of collector which implements ICollector.
"""
return self._metrics_loader.get_classes()
@@ -140,7 +146,7 @@ class Loader(object):
:return: Dictionary of vswitches.
- key: name of the class which implements IVSwitch,
- - value: Type of traffic generator which implements IVSwitch.
+ - value: Type of vswitch which implements IVSwitch.
"""
return self._vswitch_loader.get_classes()
@@ -182,3 +188,33 @@ class Loader(object):
"""
return self._vnf_loader.get_classes_printable()
+ def get_pktfwd(self):
+ """Returns instance of currently configured packet forwarder implementation.
+
+ :return: IPktFwd implementation if available, None otherwise.
+ """
+ return self._pktfwd_loader.get_class()()
+
+ def get_pktfwd_class(self):
+ """Returns type of currently configured packet forwarder implementation.
+
+ :return: Type of IPktFwd implementation if available.
+ None otherwise.
+ """
+ return self._pktfwd_loader.get_class()
+
+ def get_pktfwds(self):
+ """Returns dictionary of all available packet forwarders.
+
+ :return: Dictionary of packet forwarders.
+ - key: name of the class which implements IPktFwd,
+ - value: Type of packet forwarder which implements IPktFwd.
+ """
+ return self._pktfwd_loader.get_classes()
+
+ def get_pktfwds_printable(self):
+ """Returns all available packet forwarders in printable format.
+
+ :return: String containing printable list of packet forwarders.
+ """
+ return self._pktfwd_loader.get_classes_printable()