Hi,
Currently I use DPDK 20.11.1 LTS along with VPP for RISC-V.
Since DPDK 21.11 LTS is now available I am trying to use it.
However I am getting a lot of errors as lots of macros have changed.
I managed to resolve those errors but there are few errors which I am not
able to resolve.
File names and paths are changed.
File is present in following path but it is not included,
./build-root/build-vpp-native/external/src-dpdk/lib/cryptodev/cryptodev_pmd.h
Also name changed from rte_cryptodev_pmd.h to cryptodev_pmd.h
=======================================================================
[1/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o -MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o.d -o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o -c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c: In function
‘format_dpdk_device’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c:674:34: error:
‘rte_eth_devices’ undeclared (first use in this function); did you mean
‘rte_pci_device’?
674 | ptr2sname
(rte_eth_devices[xd->port_id].tx_pkt_burst));
| ^~~~~~~~~~~~~~~
| rte_pci_device
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c:674:34: note: each
undeclared identifier is reported only once for each function it appears in
[2/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
-MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o.d
-o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
-c /home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev.c
/home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev.c:32:10: fatal
error: cryptodev_pmd.h: No such file or directory
32 | #include <cryptodev_pmd.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
[3/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
-MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o.d
-o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
-c /home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev_op_data_path.c
/home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev_op_data_path.c:30:10:
fatal error: cryptodev_pmd.h: No such file or directory
30 | #include <cryptodev_pmd.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
[4/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o
FAILED: CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o -MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o.d -o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o -c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c: In function
‘dpdk_lib_init’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:615:53: error: passing
argument 1 of ‘rte_intr_cap_multiple’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
615 | if (pci_dev && rte_intr_cap_multiple
(&pci_dev->intr_handle))
|
^~~~~~~~~~~~~~~~~~~~~
| |
| struct
rte_intr_handle **
In file included from
/home/ubuntu/work/vpp/src/plugins/dpdk/device/dpdk.h:33,
from
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:27:
/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include/rte_interrupts.h:436:47:
note: expected ‘struct rte_intr_handle *’ but argument is of type ‘struct
rte_intr_handle **’
436 | rte_intr_cap_multiple(struct rte_intr_handle *intr_handle);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c: In function
‘dpdk_lib_init.constprop’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:615:30: error: call to
‘rte_intr_cap_multiple’ declared with attribute error: Symbol is not public
ABI
615 | if (pci_dev && rte_intr_cap_multiple
(&pci_dev->intr_handle))
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:693: vpp-build] Error 1
make[1]: Leaving directory '/home/ubuntu/work/vpp/build-root'
make: *** [Makefile:564: pkg-deb] Error 2
=======================================================================
Is DPDK 21.11 LTS supported in VPP for X86/ARM?
--
Regards,
Hrishikesh Karanjikar
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20940): https://lists.fd.io/g/vpp-dev/message/20940
Mute This Topic: https://lists.fd.io/mt/89496496/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-