integration: fix ovs/dpdk with DPDK >= 18.02 71/68671/3
authorLukasz Pawlik <lukaszx.pawlik@intel.com>
Fri, 4 Oct 2019 12:04:40 +0000 (13:04 +0100)
committerEmma Finn <emma.finn@intel.com>
Tue, 29 Oct 2019 11:04:31 +0000 (11:04 +0000)
In DPDK >= 18.02 disable-hw-vlan testpmd command line was changed.
Parameter disable-hw-vlan is default and user has to explicitly enable it.
This patch fix testpmd command line parameters. Also in DPDK >= 18.05
igb_uio kernel module was moved to different directory. Compilation of
kernel module only is broken. This patch fix this. Now whole DPDK
project is build.

Change-Id: I6c8c44979192201c42e6a71b55c37a50fa64fd96
Signed-off-by: Lukasz Pawlik <lukaszx.pawlik@intel.com>
conf/04_vnf.conf
conf/integration/01b_dpdk_regression_tests.conf
vnfs/qemu/qemu.py

index 234f11b..cf44a8e 100644 (file)
@@ -208,8 +208,7 @@ GUEST_BRIDGE_IP = ['#IP(1.1.1.5)/16']
 # Note: Testpmd must be executed in interactive mode. It means, that
 # VSPERF won't work correctly if '-i' will be removed.
 GUEST_TESTPMD_PARAMS = ['-c 0x3 -n 4 --socket-mem 512 -- '
-                        '--burst=64 -i --txqflags=0xf00 '
-                        '--disable-hw-vlan']
+                        '--burst=64 -i ']
 
 # packet forwarding mode supported by testpmd; Please see DPDK documentation
 # for comprehensive list of modes supported by your version.
index a637e3e..c43f036 100644 (file)
@@ -587,11 +587,11 @@ INTEGRATION_TESTS = INTEGRATION_TESTS + [
             # there must be separate CPU for each of RX/TX queues
             "GUEST_SMP" : ['5'],
             "GUEST_TESTPMD_PARAMS" : ['-c 0x1F -n 4 --socket-mem 512 -- '
-                                      '--burst=64 -i --txqflags=0xf00 --nb-cores=4 '
+                                      '--burst=64 -i --nb-cores=4 '
                                       # map queue stats to separate regs to verify MQ functionality
                                       '--rx-queue-stats-mapping=\(0,0,0\),\(0,1,1\),\(1,0,2\),\(1,1,3\) '
                                       '--tx-queue-stats-mapping=\(0,0,4\),\(0,1,5\),\(1,0,6\),\(1,1,7\) '
-                                      '--disable-hw-vlan --rxq=2 --txq=2'],
+                                      '--rxq=2 --txq=2'],
             "TRAFFICGEN_DURATION" : 5,
             "TRAFFIC" : {
                 "traffic_type" : "rfc2544_continuous",
index 857793f..a2c8d4b 100644 (file)
@@ -503,11 +503,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(