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>
# 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.
# 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",
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(