From 67bed0c2b94bf7431adc44a6218b175ad6dc333a Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Wed, 21 Jun 2017 09:54:15 +0100 Subject: ovs: Update OVS to use DPDK 17.02 Versions of VSPERF tools were updated to use OVS with DPDK 17.02 support by default. Currently used VPP version uses DPDK 17.02 already. VSPERF was updated to support new path to the dpdk devbind tool. JIRA: VSPERF-516 Change-Id: I004d0531553c974d604635d50f601cd4326f2f7d Signed-off-by: Martin Klozik Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Sridhar Rao Reviewed-by: Trevor Cooper --- conf/02_vswitch.conf | 2 +- src/package-list.mk | 4 ++-- tools/systeminfo.py | 3 ++- vnfs/qemu/qemu.py | 12 ++++++------ 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index 54ae6fa7..6a6027a9 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -53,7 +53,7 @@ PATHS['dpdk'] = { # To use vfio set: # 'modules' : ['uio', 'vfio-pci'], 'modules' : ['uio', os.path.join(RTE_TARGET, 'kmod/igb_uio.ko')], - 'bind-tool': 'tools/dpdk*bind.py', + 'bind-tool': '*tools/dpdk*bind.py', 'testpmd': os.path.join(RTE_TARGET, 'app', 'testpmd'), }, 'bin': { diff --git a/src/package-list.mk b/src/package-list.mk index a8188f50..5abb6018 100644 --- a/src/package-list.mk +++ b/src/package-list.mk @@ -13,11 +13,11 @@ # dpdk section # DPDK_URL ?= git://dpdk.org/dpdk DPDK_URL ?= http://dpdk.org/git/dpdk -DPDK_TAG ?= v16.07 +DPDK_TAG ?= v17.02 # OVS section OVS_URL ?= https://github.com/openvswitch/ovs -OVS_TAG ?= ed26e3ea9995ba632e681d5990af5ee9814f650e +OVS_TAG ?= cc3a32f3b6891168cee98812e8f5e3d8a5a52c98 # VPP section VPP_URL ?= https://git.fd.io/vpp diff --git a/tools/systeminfo.py b/tools/systeminfo.py index 20ba7ba7..75b7aa0d 100644 --- a/tools/systeminfo.py +++ b/tools/systeminfo.py @@ -185,7 +185,8 @@ def get_bin_version(binary, regex): :returns: version string or None """ try: - output = subprocess.check_output(binary, shell=True).decode().rstrip('\n') + output = str(subprocess.check_output( + binary, stderr=subprocess.STDOUT, shell=True).decode().rstrip('\n')) except subprocess.CalledProcessError: return None diff --git a/vnfs/qemu/qemu.py b/vnfs/qemu/qemu.py index 20b4d62a..30f073ee 100644 --- a/vnfs/qemu/qemu.py +++ b/vnfs/qemu/qemu.py @@ -373,12 +373,12 @@ class IVnfQemu(IVnf): for nic in self._nics: self.execute_and_wait('ifdown ' + nic['device']) - self.execute_and_wait('./tools/dpdk*bind.py --status') + self.execute_and_wait('./*tools/dpdk*bind.py --status') pci_list = ' '.join([nic['pci'] for nic in self._nics]) - self.execute_and_wait('./tools/dpdk*bind.py -u ' + pci_list) + self.execute_and_wait('./*tools/dpdk*bind.py -u ' + pci_list) self._bind_dpdk_driver(S.getValue( 'GUEST_DPDK_BIND_DRIVER')[self._number], pci_list) - self.execute_and_wait('./tools/dpdk*bind.py --status') + self.execute_and_wait('./*tools/dpdk*bind.py --status') # build and run 'test-pmd' self.execute_and_wait('cd ' + S.getValue('GUEST_OVS_DPDK_DIR')[self._number] + @@ -489,14 +489,14 @@ class IVnfQemu(IVnf): self._bind_dpdk_driver('igb_uio_from_src', pci_slots) return self.execute_and_wait('modprobe uio_pci_generic') - self.execute_and_wait('./tools/dpdk*bind.py -b uio_pci_generic '+ + self.execute_and_wait('./*tools/dpdk*bind.py -b uio_pci_generic '+ pci_slots) elif driver == 'vfio_no_iommu': self.execute_and_wait('modprobe -r vfio') self.execute_and_wait('modprobe -r vfio_iommu_type1') self.execute_and_wait('modprobe vfio enable_unsafe_noiommu_mode=Y') self.execute_and_wait('modprobe vfio-pci') - self.execute_and_wait('./tools/dpdk*bind.py -b vfio-pci ' + + self.execute_and_wait('./*tools/dpdk*bind.py -b vfio-pci ' + pci_slots) elif driver == 'igb_uio_from_src': # build and insert igb_uio and rebind interfaces to it @@ -505,7 +505,7 @@ class IVnfQemu(IVnf): self.execute_and_wait('modprobe uio') self.execute_and_wait('insmod %s/kmod/igb_uio.ko' % S.getValue('RTE_TARGET')) - self.execute_and_wait('./tools/dpdk*bind.py -b igb_uio ' + pci_slots) + self.execute_and_wait('./*tools/dpdk*bind.py -b igb_uio ' + pci_slots) else: self._logger.error( 'Unknown driver for binding specified, defaulting to igb_uio') -- cgit 1.2.3-korg