summaryrefslogtreecommitdiffstats
path: root/core/loader
diff options
context:
space:
mode:
Diffstat (limited to 'core/loader')
-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()