diff options
Diffstat (limited to 'vnfs/qemu/qemu.py')
-rw-r--r-- | vnfs/qemu/qemu.py | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/vnfs/qemu/qemu.py b/vnfs/qemu/qemu.py index d3e1b343..fb87ed27 100644 --- a/vnfs/qemu/qemu.py +++ b/vnfs/qemu/qemu.py @@ -46,12 +46,14 @@ class IVnfQemu(IVnf): Initialisation function. """ super(IVnfQemu, self).__init__() - + name, ext = os.path.splitext(S.getValue('LOG_FILE_QEMU')) + name = name + str(self._number) + rename_qemu = "{name}_{uid}{ex}".format(name=name, + uid=S.getValue('LOG_TIMESTAMP'), + ex=ext) self._expect = S.getValue('GUEST_PROMPT_LOGIN')[self._number] self._logger = logging.getLogger(__name__) - self._logfile = os.path.join( - S.getValue('LOG_DIR'), - S.getValue('LOG_FILE_QEMU')) + str(self._number) + self._logfile = os.path.join(S.getValue('RESULTS_PATH'), rename_qemu) self._timeout = S.getValue('GUEST_TIMEOUT')[self._number] self._monitor = '%s/vm%dmonitor' % ('/tmp', self._number) # read GUEST NICs configuration and use only defined NR of NICS @@ -115,10 +117,13 @@ class IVnfQemu(IVnf): self.GuestCommandFilter.prefix = self._log_prefix logger = logging.getLogger() + name, ext = os.path.splitext(S.getValue('LOG_FILE_GUEST_CMDS')) + name = name + str(self._number) + rename_gcmd = "{name}_{uid}{ex}".format(name=name, + uid=S.getValue('LOG_TIMESTAMP'), + ex=ext) cmd_logger = logging.FileHandler( - filename=os.path.join(S.getValue('LOG_DIR'), - S.getValue('LOG_FILE_GUEST_CMDS')) + - str(self._number)) + filename=os.path.join(S.getValue('RESULTS_PATH'), rename_gcmd)) cmd_logger.setLevel(logging.DEBUG) cmd_logger.addFilter(self.GuestCommandFilter()) logger.addHandler(cmd_logger) @@ -393,6 +398,8 @@ class IVnfQemu(IVnf): self.execute_and_wait('./testpmd {}'.format(testpmd_params), 60, "Done") self.execute_and_wait('set fwd ' + self._testpmd_fwd_mode, 20, 'testpmd>') + for entry in S.getValue('GUEST_QUEUE_STATS_MAPPING'): + self.execute_and_wait('set stat_qmap ' + entry, 2, 'testpmd>') self.execute_and_wait('start', 20, 'testpmd>') def _configure_l2fwd(self): @@ -498,11 +505,16 @@ class IVnfQemu(IVnf): pci_slots) elif driver == 'igb_uio_from_src': # build and insert igb_uio and rebind interfaces to it - self.execute_and_wait('make RTE_OUTPUT=$RTE_SDK/$RTE_TARGET -C ' - '$RTE_SDK/lib/librte_eal/linuxapp/igb_uio') + # from DPDK 18.05 Linux kernel driver changed location + # also it is not possible to compile driver without + # passing EXTRA_CFLAGS + self.execute_and_wait("make RTE_OUTPUT=$RTE_SDK/{0} \ + EXTRA_CFLAGS=\"-I$RTE_SDK/{1}/include\" \ + -C $RTE_SDK/kernel/linux/igb_uio"\ + .format(S.getValue('RTE_TARGET'), S.getValue('RTE_TARGET'))) self.execute_and_wait('modprobe uio') - self.execute_and_wait('insmod %s/kmod/igb_uio.ko' % - S.getValue('RTE_TARGET')) + self.execute_and_wait('insmod {}/kmod/igb_uio.ko'\ + .format(S.getValue('RTE_TARGET'))) self.execute_and_wait('./*tools/dpdk*bind.py -b igb_uio ' + pci_slots) else: self._logger.error( |