From 9a054248197bdaed71b32e9d9c0ac621bf89c1cd Mon Sep 17 00:00:00 2001 From: Robert Wojciechowicz Date: Wed, 9 Dec 2015 10:07:38 +0000 Subject: 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 Reviewed-by: Dino Simeon Madarang Reviewed-by: Maryam Tahhan Reviewed-by: Brian Castelli --- core/loader/loader.py | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'core/loader') 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() -- cgit 1.2.3-korg